From 5ae93c57e88cacfd9aa265c1c63edd702f66706b Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sun, 19 Nov 2023 23:30:36 -0800 Subject: [PATCH 01/25] Abstract room-keeping This is a partial implementation of #282, only including the InMemoryRoomAccessor --- .../Database/GameDatabaseContext.Levels.cs | 2 +- .../Endpoints/ApiV3/InstanceApiEndpoints.cs | 2 +- .../Endpoints/ApiV3/MatchingApiEndpoints.cs | 8 +- .../Endpoints/LegacyApi/LegacyApiEndpoints.cs | 2 +- Refresh.GameServer/Services/MatchService.cs | 75 ++++++--------- .../Types/Matching/IRoomAccessor.cs | 59 ++++++++++++ .../Matching/MatchMethods/CreateRoomMethod.cs | 3 +- .../Matching/MatchMethods/FindRoomMethod.cs | 4 +- .../MatchMethods/UpdatePlayersInRoomMethod.cs | 2 - .../MatchMethods/UpdateRoomDataMethod.cs | 3 +- .../RoomAccessors/InMemoryRoomAccessor.cs | 91 +++++++++++++++++++ .../Tests/Matching/MatchingTests.cs | 39 +++++--- 12 files changed, 215 insertions(+), 75 deletions(-) create mode 100644 Refresh.GameServer/Types/Matching/IRoomAccessor.cs create mode 100644 Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs diff --git a/Refresh.GameServer/Database/GameDatabaseContext.Levels.cs b/Refresh.GameServer/Database/GameDatabaseContext.Levels.cs index 7d824fc6..aa2d078e 100644 --- a/Refresh.GameServer/Database/GameDatabaseContext.Levels.cs +++ b/Refresh.GameServer/Database/GameDatabaseContext.Levels.cs @@ -279,7 +279,7 @@ public DatabaseList GetDeveloperLevels(int count, int skip, LevelFilt [Pure] public DatabaseList GetBusiestLevels(int count, int skip, MatchService service, GameUser? user, LevelFilterSettings levelFilterSettings) { - IOrderedEnumerable> rooms = service.Rooms + IOrderedEnumerable> rooms = service.RoomAccessor.GetAllRooms() .Where(r => r.LevelType == RoomSlotType.Online && r.HostId.Id != null) // if playing online level and host exists on server .GroupBy(r => this.GetLevelById(r.LevelId)) .OrderBy(r => r.Sum(room => room.PlayerIds.Count)); diff --git a/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs b/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs index d0e147b2..4a252daf 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs @@ -39,7 +39,7 @@ public ApiResponse GetStatistics(RequestContext context, ActiveUsers = database.GetActiveUserCount(), TotalPhotos = database.GetTotalPhotoCount(), TotalEvents = database.GetTotalEventCount(), - CurrentRoomCount = match.Rooms.Count(), + CurrentRoomCount = match.RoomAccessor.GetAllRooms().Count(), CurrentIngamePlayersCount = match.TotalPlayers, RequestStatistics = requestStatistics, }; diff --git a/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs b/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs index 1b957c55..3ad68a1c 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs @@ -26,7 +26,7 @@ public ApiResponse GetRoomByUsername(RequestContext context GameUser? user = database.GetUserByUsername(username); if (user == null) return ApiNotFoundError.UserMissingError; - GameRoom? room = service.GetRoomByPlayer(user); + GameRoom? room = service.RoomAccessor.GetRoomByUser(user); if(room == null) return ApiNotFoundError.Instance; return ApiGameRoomResponse.FromOld(room); @@ -42,7 +42,7 @@ public ApiResponse GetRoomByUserUuid(RequestContext context GameUser? user = database.GetUserByUuid(uuid); if (user == null) return ApiNotFoundError.UserMissingError; - GameRoom? room = service.GetRoomByPlayer(user); + GameRoom? room = service.RoomAccessor.GetRoomByUser(user); if(room == null) return ApiNotFoundError.Instance; return ApiGameRoomResponse.FromOld(room); @@ -58,7 +58,7 @@ public ApiResponse GetRoomByUuid(RequestContext context, Ma bool parsed = ObjectId.TryParse(uuid, out ObjectId objectId); if (!parsed) return ApiValidationError.ObjectIdParseError; - GameRoom? room = service.Rooms.FirstOrDefault(r => r.RoomId == objectId); + GameRoom? room = service.RoomAccessor.GetAllRooms().FirstOrDefault(r => r.RoomId == objectId); if(room == null) return ApiNotFoundError.Instance; return ApiGameRoomResponse.FromOld(room); @@ -69,6 +69,6 @@ public ApiResponse GetRoomByUuid(RequestContext context, Ma public ApiListResponse GetRooms(RequestContext context, MatchService service) { (int skip, int count) = context.GetPageData(true); - return new DatabaseList(ApiGameRoomResponse.FromOldList(service.Rooms), skip, count); + return new DatabaseList(ApiGameRoomResponse.FromOldList(service.RoomAccessor.GetAllRooms()), skip, count); } } \ No newline at end of file diff --git a/Refresh.GameServer/Endpoints/LegacyApi/LegacyApiEndpoints.cs b/Refresh.GameServer/Endpoints/LegacyApi/LegacyApiEndpoints.cs index bb908e8d..5c782a43 100644 --- a/Refresh.GameServer/Endpoints/LegacyApi/LegacyApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/LegacyApi/LegacyApiEndpoints.cs @@ -55,7 +55,7 @@ public RichPresenceConfiguration GetRichPresenceConfiguration(RequestContext con GameUser? user = database.GetUserByLegacyId(id); if (user == null) return null; - GameRoom? room = match.GetRoomByPlayer(user); + GameRoom? room = match.RoomAccessor.GetRoomByUser(user); if (room == null) return null; List playerIds = new(); diff --git a/Refresh.GameServer/Services/MatchService.cs b/Refresh.GameServer/Services/MatchService.cs index 6c356fe7..8d49b76f 100644 --- a/Refresh.GameServer/Services/MatchService.cs +++ b/Refresh.GameServer/Services/MatchService.cs @@ -9,38 +9,27 @@ using Refresh.GameServer.Database; using Refresh.GameServer.Types.Matching; using Refresh.GameServer.Types.Matching.MatchMethods; +using Refresh.GameServer.Types.Matching.RoomAccessors; using Refresh.GameServer.Types.UserData; namespace Refresh.GameServer.Services; -public partial class MatchService : EndpointService +public partial class MatchService(Logger logger) : EndpointService(logger) { private FrozenSet _matchMethods = null!; // initialized in Initialize() - private readonly List _rooms = new(); + public IRoomAccessor RoomAccessor { get; private set; } = null!; //initialized in Initialize() private readonly Dictionary _forceMatches = new(); - public IEnumerable Rooms - { - get - { - this.RemoveExpiredRooms(); - return this._rooms.AsReadOnly(); - } - } - - public int TotalPlayers => this._rooms.SelectMany(r => r.PlayerIds).Count(); - public int TotalPlayersInPod => this._rooms + public int TotalPlayers => this.RoomAccessor.GetAllRooms().SelectMany(r => r.PlayerIds).Count(); + public int TotalPlayersInPod => this.RoomAccessor.GetAllRooms() .Where(r => r.LevelType == RoomSlotType.Pod) .SelectMany(r => r.PlayerIds) .Count(); - public MatchService(Logger logger) : base(logger) - {} - public GameRoom GetOrCreateRoomByPlayer(GameUser player, TokenPlatform platform, TokenGame game, NatType natType) { - GameRoom? room = this.GetRoomByPlayer(player, platform, game); + GameRoom? room = this.RoomAccessor.GetRoomByUser(player, platform, game); // ReSharper disable once ConvertIfStatementToNullCoalescingExpression if (room == null) @@ -52,14 +41,13 @@ public GameRoom GetOrCreateRoomByPlayer(GameUser player, TokenPlatform platform, public GameRoom CreateRoomByPlayer(GameUser player, TokenPlatform platform, TokenGame game, NatType natType) { GameRoom room = new(player, platform, game, natType); - this._rooms.Add(room); - + this.RoomAccessor.AddRoom(room); return room; } public GameRoom SplitUserIntoNewRoom(GameUser player, TokenPlatform platform, TokenGame game, NatType natType) { - GameRoom? room = this.GetRoomByPlayer(player, platform, game); + GameRoom? room = this.RoomAccessor.GetRoomByUser(player, platform, game); if (room == null) { return this.CreateRoomByPlayer(player, platform, game, natType); @@ -67,51 +55,42 @@ public GameRoom SplitUserIntoNewRoom(GameUser player, TokenPlatform platform, To // Remove player from old room room.PlayerIds.RemoveAll(i => i.Id == player.UserId); + // Update the room on the room accessor + this.RoomAccessor.UpdateRoom(room); + return this.CreateRoomByPlayer(player, platform, game, natType); } - public GameRoom? GetRoomByPlayer(GameUser player) - { - this.RemoveExpiredRooms(); - return this._rooms.FirstOrDefault(r => r.PlayerIds.Select(s => s.Id).Contains(player.UserId)); - } - - public GameRoom? GetRoomByPlayer(GameUser player, TokenPlatform platform, TokenGame game) - { - this.RemoveExpiredRooms(); - return this._rooms.FirstOrDefault(r => r.PlayerIds.Select(s => s.Id).Contains(player.UserId) && - r.Platform == platform && - r.Game == game); - } - public int GetPlayerCountForLevel(RoomSlotType type, int id) { - return this._rooms.Where(r => r.LevelType == type && r.LevelId == id) + return this.RoomAccessor.GetAllRooms().Where(r => r.LevelType == type && r.LevelId == id) .Sum(r => r.PlayerIds.Count); } public void AddPlayerToRoom(GameUser player, GameRoom targetRoom, TokenPlatform platform, TokenGame game) { - GameRoom? playersRoom = this.GetRoomByPlayer(player, platform, game); + GameRoom? playersRoom = this.RoomAccessor.GetRoomByUser(player, platform, game); if (playersRoom == null) return; // TODO: error? if (targetRoom == playersRoom) return; - - foreach (GameRoom room in this._rooms) room.PlayerIds.RemoveAll(i => i.Id == player.UserId); + + foreach (GameRoom room in this.RoomAccessor.GetAllRooms()) + { + int removed = room.PlayerIds.RemoveAll(i => i.Id == player.UserId); + if(removed > 0) this.RoomAccessor.UpdateRoom(room); + } targetRoom.PlayerIds.Add(new GameRoomPlayer(player.Username, player.UserId)); + this.RoomAccessor.UpdateRoom(targetRoom); } public void AddPlayerToRoom(string username, GameRoom targetRoom) { - foreach (GameRoom room in this._rooms) room.PlayerIds.RemoveAll(i => i.Username == username); + foreach (GameRoom room in this.RoomAccessor.GetAllRooms()) + { + int removed = room.PlayerIds.RemoveAll(i => i.Username == username); + if(removed > 0) this.RoomAccessor.UpdateRoom(room); + } targetRoom.PlayerIds.Add(new GameRoomPlayer(username, null)); - } - - public void RemoveExpiredRooms() - { - int removed = this._rooms.RemoveAll(r => r.IsExpired); - if (removed == 0) return; - - this.Logger.LogDebug(BunkumCategory.Matching, $"Removed {removed} expired rooms"); + this.RoomAccessor.UpdateRoom(targetRoom); } public override void Initialize() @@ -134,6 +113,8 @@ public override void Initialize() this._matchMethods = matchMethods.ToFrozenSet(); this.Logger.LogDebug(BunkumCategory.Service, "Discovered {0} match method types", this._matchMethods.Count); + + this.RoomAccessor = new InMemoryRoomAccessor(this.Logger); } private IMatchMethod? TryGetMatchMethod(string method) diff --git a/Refresh.GameServer/Types/Matching/IRoomAccessor.cs b/Refresh.GameServer/Types/Matching/IRoomAccessor.cs new file mode 100644 index 00000000..dcd54416 --- /dev/null +++ b/Refresh.GameServer/Types/Matching/IRoomAccessor.cs @@ -0,0 +1,59 @@ +using MongoDB.Bson; +using Refresh.GameServer.Authentication; +using Refresh.GameServer.Endpoints.ApiV3.ApiTypes; +using Refresh.GameServer.Endpoints.ApiV3.DataTypes.Response; +using Refresh.GameServer.Types.UserData; + +namespace Refresh.GameServer.Types.Matching; + +/// +/// A simple transactional room accessor, rooms returned should be considered read only, and changes must be committed to the IRoomAccessor through UpdateRoom. +/// +public interface IRoomAccessor +{ + /// + /// Gets all currently open rooms. + /// + /// All open rooms + public IEnumerable GetAllRooms(); + /// + /// Gets a room by its UUID. + /// + /// The UUID of the room + /// The found room + public GameRoom? GetRoomByUuid(ObjectId uuid); + /// + /// Adds a room to the list of open rooms, removes any old rooms by same UUID. + /// + /// The room to add + public void AddRoom(GameRoom room); + /// + /// Removes a room from the list of open rooms by its UUID. + /// + /// The UUID to remove + public void RemoveRoom(ObjectId uuid); + /// + /// Updates any existing room by the same UUID with the new information. + /// + /// + public void UpdateRoom(GameRoom room); + + /// + /// Gets a room by a user. + /// + /// The user to search for + /// The found room, or null if not found + public GameRoom? GetRoomByUser(GameUser user, TokenPlatform? platform = null, TokenGame? game = null) => this.GetRoomByUserUuid(user.UserId); + /// + /// Gets a room by a user's UUID. + /// + /// The user UUID to search for + /// The found room, or null if not found + public GameRoom? GetRoomByUserUuid(ObjectId uuid, TokenPlatform? platform = null, TokenGame? game = null); + /// + /// Gets a room by a user's username. + /// + /// The username to search for + /// The found room, or null if not found + public GameRoom? GetRoomByUsername(string username, TokenPlatform? platform = null, TokenGame? game = null); +} \ No newline at end of file diff --git a/Refresh.GameServer/Types/Matching/MatchMethods/CreateRoomMethod.cs b/Refresh.GameServer/Types/Matching/MatchMethods/CreateRoomMethod.cs index 0257b102..38135b12 100644 --- a/Refresh.GameServer/Types/Matching/MatchMethods/CreateRoomMethod.cs +++ b/Refresh.GameServer/Types/Matching/MatchMethods/CreateRoomMethod.cs @@ -22,7 +22,6 @@ public Response Execute(MatchService service, Logger logger, GameDatabaseContext room = service.SplitUserIntoNewRoom(user, token.TokenPlatform, token.TokenGame, natType); } - room.LastContact = DateTimeOffset.Now; if (body.RoomState != null) room.RoomState = body.RoomState.Value; // LBP likes to send both Slot and Slots interchangeably, handle that case here @@ -43,6 +42,8 @@ public Response Execute(MatchService service, Logger logger, GameDatabaseContext { room.RoomMood = (RoomMood)mood; } + + service.RoomAccessor.UpdateRoom(room); return OK; } diff --git a/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs b/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs index e4b5f389..e862c132 100644 --- a/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs +++ b/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs @@ -20,7 +20,7 @@ public Response Execute(MatchService service, Logger logger, GameDatabaseContext Token token, SerializedRoomData body) { - GameRoom? usersRoom = service.GetRoomByPlayer(user, token.TokenPlatform, token.TokenGame); + GameRoom? usersRoom = service.RoomAccessor.GetRoomByUser(user, token.TokenPlatform, token.TokenGame); if (usersRoom == null) return BadRequest; // user should already have a room. int? levelId = null; @@ -37,7 +37,7 @@ public Response Execute(MatchService service, Logger logger, GameDatabaseContext //TODO: add user option to filter rooms by language - List rooms = service.Rooms.Where(r => r.RoomId != usersRoom.RoomId && + List rooms = service.RoomAccessor.GetAllRooms().Where(r => r.RoomId != usersRoom.RoomId && r.Platform == usersRoom.Platform && (levelId == null || r.LevelId == levelId)) .OrderByDescending(r => r.RoomMood) diff --git a/Refresh.GameServer/Types/Matching/MatchMethods/UpdatePlayersInRoomMethod.cs b/Refresh.GameServer/Types/Matching/MatchMethods/UpdatePlayersInRoomMethod.cs index 22f9a68f..8389e28c 100644 --- a/Refresh.GameServer/Types/Matching/MatchMethods/UpdatePlayersInRoomMethod.cs +++ b/Refresh.GameServer/Types/Matching/MatchMethods/UpdatePlayersInRoomMethod.cs @@ -19,8 +19,6 @@ public Response Execute(MatchService service, Logger logger, GameDatabaseContext if (body.Players == null) return BadRequest; GameRoom room = service.GetOrCreateRoomByPlayer(user, token.TokenPlatform, token.TokenGame, body.NatType == null ? NatType.Open : body.NatType[0]); - room.LastContact = DateTimeOffset.Now; - foreach (string playerUsername in body.Players) { GameUser? player = database.GetUserByUsername(playerUsername); diff --git a/Refresh.GameServer/Types/Matching/MatchMethods/UpdateRoomDataMethod.cs b/Refresh.GameServer/Types/Matching/MatchMethods/UpdateRoomDataMethod.cs index 265a6904..2146918f 100644 --- a/Refresh.GameServer/Types/Matching/MatchMethods/UpdateRoomDataMethod.cs +++ b/Refresh.GameServer/Types/Matching/MatchMethods/UpdateRoomDataMethod.cs @@ -18,7 +18,6 @@ public Response Execute(MatchService service, Logger logger, GameRoom room = service.GetOrCreateRoomByPlayer(user, token.TokenPlatform, token.TokenGame, body.NatType == null ? NatType.Open : body.NatType[0]); if (room.HostId.Id != user.UserId) return Unauthorized; - room.LastContact = DateTimeOffset.Now; if (body.RoomState != null) room.RoomState = body.RoomState.Value; // LBP likes to send both Slot and Slots interchangeably, handle that case here @@ -39,6 +38,8 @@ public Response Execute(MatchService service, Logger logger, { room.RoomMood = (RoomMood)mood; } + + service.RoomAccessor.UpdateRoom(room); return OK; } diff --git a/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs b/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs new file mode 100644 index 00000000..12a232f2 --- /dev/null +++ b/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs @@ -0,0 +1,91 @@ +using Bunkum.Core; +using MongoDB.Bson; +using NotEnoughLogs; +using Refresh.GameServer.Authentication; + +namespace Refresh.GameServer.Types.Matching.RoomAccessors; + +public class InMemoryRoomAccessor(Logger logger) : IRoomAccessor +{ + private readonly List _rooms = []; + + /// + /// Removes all expired rooms from the list + /// + private void RemoveExpiredRooms() + { + int removed = this._rooms.RemoveAll(r => r.IsExpired); + if (removed == 0) return; + logger.LogDebug(BunkumCategory.Matching, $"Removed {removed} expired rooms"); + } + + /// + public IEnumerable GetAllRooms() + { + lock (this._rooms) + { + this.RemoveExpiredRooms(); + //Return a copy of the rooms, since List is not thread safe in C# + return new List(this._rooms); + } + } + + /// + public GameRoom? GetRoomByUuid(ObjectId uuid) + { + lock (this._rooms) + { + this.RemoveExpiredRooms(); + return this._rooms.FirstOrDefault(r => r.RoomId == uuid); + } + } + + /// + public void AddRoom(GameRoom room) + { + lock (this._rooms) + { + this.RemoveExpiredRooms(); + + //Remove any existing rooms that match the UUID, this is just a precaution against duplicate rooms + this._rooms.RemoveAll(r => r.RoomId == room.RoomId); + //Update last contact time + room.LastContact = DateTimeOffset.Now; + this._rooms.Add(room); + } + } + + /// + public void RemoveRoom(ObjectId uuid) + { + lock (this._rooms) + { + this.RemoveExpiredRooms(); + this._rooms.RemoveAll(r => r.RoomId == uuid); + } + } + + /// + //NOTE: we forward this to `AddRoom`, since that does the same logic we would + public void UpdateRoom(GameRoom room) => this.AddRoom(room); + + /// + public GameRoom? GetRoomByUserUuid(ObjectId uuid, TokenPlatform? platform = null, TokenGame? game = null) + { + lock (this._rooms) + { + this.RemoveExpiredRooms(); + return this._rooms.FirstOrDefault(r => r.PlayerIds.Any(p => p.Id == uuid) && (platform == null || r.Platform == platform) && (game == null || r.Game == game)); + } + } + + /// + public GameRoom? GetRoomByUsername(string username, TokenPlatform? platform = null, TokenGame? game = null) + { + lock (this._rooms) + { + this.RemoveExpiredRooms(); + return this._rooms.FirstOrDefault(r => r.PlayerIds.Any(p => p.Username == username) && (platform == null || r.Platform == platform) && (game == null || r.Game == game)); + } + } +} \ No newline at end of file diff --git a/RefreshTests.GameServer/Tests/Matching/MatchingTests.cs b/RefreshTests.GameServer/Tests/Matching/MatchingTests.cs index f7d07cd7..a8e23f5e 100644 --- a/RefreshTests.GameServer/Tests/Matching/MatchingTests.cs +++ b/RefreshTests.GameServer/Tests/Matching/MatchingTests.cs @@ -38,11 +38,11 @@ public void CreatesRooms() GameRoom? room1; GameRoom? room2; - Assert.That(room1 = match.GetRoomByPlayer(user1), Is.Not.Null); - Assert.That(room2 = match.GetRoomByPlayer(user2), Is.Not.Null); + Assert.That(room1 = match.RoomAccessor.GetRoomByUser(user1), Is.Not.Null); + Assert.That(room2 = match.RoomAccessor.GetRoomByUser(user2), Is.Not.Null); - Assert.That(match.GetRoomByPlayer(user1, token1.TokenPlatform, token1.TokenGame), Is.Not.Null); - Assert.That(match.GetRoomByPlayer(user2, token2.TokenPlatform, token2.TokenGame), Is.Not.Null); + Assert.That(match.RoomAccessor.GetRoomByUser(user1, token1.TokenPlatform, token1.TokenGame), Is.Not.Null); + Assert.That(match.RoomAccessor.GetRoomByUser(user2, token2.TokenPlatform, token2.TokenGame), Is.Not.Null); Debug.Assert(room1 != null); Debug.Assert(room2 != null); @@ -234,10 +234,11 @@ public void HostCanSetPlayersInRoom() }; match.ExecuteMethod("UpdatePlayersInRoom", roomData, context.Database, user1, token1); - GameRoom room = match.Rooms.First(); + GameRoom? room = match.RoomAccessor.GetRoomByUser(user1); Assert.Multiple(() => { - Assert.That(room.PlayerIds, Has.Count.EqualTo(2)); + Assert.That(room, Is.Not.Null); + Assert.That(room!.PlayerIds, Has.Count.EqualTo(2)); Assert.That(room.PlayerIds.FirstOrDefault(r => r.Id == user1.UserId), Is.Not.Null); Assert.That(room.PlayerIds.FirstOrDefault(r => r.Id == user2.UserId), Is.Not.Null); }); @@ -276,14 +277,22 @@ public void PlayersCanLeaveAndSplitIntoNewRoom() user2.Username, }; - match.ExecuteMethod("UpdatePlayersInRoom", roomData, context.Database, user1, token1); - GameRoom user1Room = match.Rooms.First(); - Assert.That(user1Room.PlayerIds.FirstOrDefault(r => r.Id == user2.UserId), Is.Not.Null); - - match.ExecuteMethod("CreateRoom", roomData, context.Database, user2, token2); - GameRoom user2Room = match.Rooms.Last(); - Assert.That(user1Room.PlayerIds.FirstOrDefault(r => r.Id == user2.UserId), Is.Null); - Assert.That(user2Room.PlayerIds.First().Id, Is.EqualTo(user2.UserId)); - + { + match.ExecuteMethod("UpdatePlayersInRoom", roomData, context.Database, user1, token1); + GameRoom? user1Room = match.RoomAccessor.GetRoomByUser(user1); + Assert.That(user1Room, Is.Not.Null); + Assert.That(user1Room!.PlayerIds.FirstOrDefault(r => r.Id == user2.UserId), Is.Not.Null); + } + + { + match.ExecuteMethod("CreateRoom", roomData, context.Database, user2, token2); + GameRoom? user1Room = match.RoomAccessor.GetRoomByUser(user1); + GameRoom? user2Room = match.RoomAccessor.GetRoomByUser(user2); + Assert.That(user1Room, Is.Not.Null); + Assert.That(user2Room, Is.Not.Null); + Assert.That(user1Room!.PlayerIds.FirstOrDefault(r => r.Id == user2.UserId), Is.Null); + Assert.That(user2Room!.PlayerIds.First().Id, Is.EqualTo(user2.UserId)); + } + } } \ No newline at end of file From b0c8c488a5f12d1dc5a2359ab61485e3b87b896c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 04:09:36 +0000 Subject: [PATCH 02/25] Bump Bunkum.HealthChecks.RealmDatabase, Bunkum.HealthChecks, Bunkum, Bunkum.Protocols.Http and Bunkum.RealmDatabase Bumps Bunkum.HealthChecks.RealmDatabase, Bunkum.HealthChecks, [Bunkum](https://github.com/LittleBigRefresh/Bunkum), [Bunkum.Protocols.Http](https://github.com/LittleBigRefresh/Bunkum) and [Bunkum.RealmDatabase](https://github.com/LittleBigRefresh/Bunkum). These dependencies needed to be updated together. Updates `Bunkum.HealthChecks.RealmDatabase` from 4.4.1 to 4.4.3 Updates `Bunkum.HealthChecks` from 4.4.1 to 4.4.3 Updates `Bunkum` from 4.4.1 to 4.4.3 - [Commits](https://github.com/LittleBigRefresh/Bunkum/compare/v4.4.1...v4.4.3) Updates `Bunkum.Protocols.Http` from 4.4.1 to 4.4.3 - [Commits](https://github.com/LittleBigRefresh/Bunkum/compare/v4.4.1...v4.4.3) Updates `Bunkum.RealmDatabase` from 4.4.1 to 4.4.3 - [Commits](https://github.com/LittleBigRefresh/Bunkum/compare/v4.4.1...v4.4.3) --- updated-dependencies: - dependency-name: Bunkum.HealthChecks.RealmDatabase dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: Bunkum.HealthChecks dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: Bunkum dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: Bunkum.Protocols.Http dependency-type: direct:production update-type: version-update:semver-patch - dependency-name: Bunkum.RealmDatabase dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Refresh.GameServer/Refresh.GameServer.csproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index f8af318b..1d92a9cb 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -51,12 +51,12 @@ - - + + - - - + + + From f165378e8c02400b77425a274412fbca7f44cf62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Dec 2023 04:10:07 +0000 Subject: [PATCH 03/25] Bump NUnit from 4.0.0 to 4.0.1 Bumps [NUnit](https://github.com/nunit/nunit) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/nunit/nunit/releases) - [Changelog](https://github.com/nunit/nunit/blob/master/CHANGES.md) - [Commits](https://github.com/nunit/nunit/compare/v4.0.0...v4.0.1) --- updated-dependencies: - dependency-name: NUnit dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- RefreshTests.GameServer/RefreshTests.GameServer.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RefreshTests.GameServer/RefreshTests.GameServer.csproj b/RefreshTests.GameServer/RefreshTests.GameServer.csproj index 68c7440f..48a2f5bb 100644 --- a/RefreshTests.GameServer/RefreshTests.GameServer.csproj +++ b/RefreshTests.GameServer/RefreshTests.GameServer.csproj @@ -12,7 +12,7 @@ - + all From d57ff61259a0522abcdabf0a11b78b746d11b206 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Mon, 18 Dec 2023 19:22:08 -0800 Subject: [PATCH 04/25] Implement addendum https://github.com/LittleBigRefresh/Refresh/issues/282#issuecomment-1819716641 --- .../Types/Matching/IRoomAccessor.cs | 57 ++++++++++++- .../RoomAccessors/InMemoryRoomAccessor.cs | 79 +++++++++++++++++++ .../Types/Matching/RoomStatistics.cs | 13 +++ 3 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 Refresh.GameServer/Types/Matching/RoomStatistics.cs diff --git a/Refresh.GameServer/Types/Matching/IRoomAccessor.cs b/Refresh.GameServer/Types/Matching/IRoomAccessor.cs index dcd54416..a75265bb 100644 --- a/Refresh.GameServer/Types/Matching/IRoomAccessor.cs +++ b/Refresh.GameServer/Types/Matching/IRoomAccessor.cs @@ -1,7 +1,6 @@ using MongoDB.Bson; using Refresh.GameServer.Authentication; -using Refresh.GameServer.Endpoints.ApiV3.ApiTypes; -using Refresh.GameServer.Endpoints.ApiV3.DataTypes.Response; +using Refresh.GameServer.Types.Levels; using Refresh.GameServer.Types.UserData; namespace Refresh.GameServer.Types.Matching; @@ -37,6 +36,60 @@ public interface IRoomAccessor /// /// public void UpdateRoom(GameRoom room); + + /// + /// Returns the current match statistics + /// + /// The room statistics + public RoomStatistics GetStatistics(); + /// + /// Get the count of players that are playing a specific game + /// + /// The game to check + /// The amount of players + public ushort GetPlayersInGame(TokenGame game); + /// + /// Gets the count of players that are playing on a specific platform + /// + /// The platform to check + /// The amount of players + public ushort GetPlayersOnPlatform(TokenPlatform platform); + + /// + /// Gets all the rooms that are on a particular level + /// + /// The type of level + /// The level ID + /// The found rooms + public IEnumerable GetRoomsInLevel(RoomSlotType type, int levelId); + /// + /// Gets all the rooms that are on a particular level + /// + /// The level to check + /// The found rooms + public IEnumerable GetRoomsInLevel(GameLevel level) => this.GetRoomsInLevel( + level.Source switch + { + GameLevelSource.User => RoomSlotType.Online, + GameLevelSource.Story => RoomSlotType.Story, + _ => throw new ArgumentOutOfRangeException(), + }, + level.LevelId + ); + + /// + /// Get all rooms that are open on a particular game and platform + /// + /// The game to check + /// The platform to check + /// The found rooms + public IEnumerable GetRoomsByGameAndPlatform(TokenGame game, TokenPlatform platform); + /// + /// Get all rooms that are open on a particular game and platform, corresponding to the passed token + /// + /// The token to get the game/platform from + /// The found rooms + public IEnumerable GetRoomsByGameAndPlatform(Token token) => this.GetRoomsByGameAndPlatform(token.TokenGame, token.TokenPlatform); /// /// Gets a room by a user. diff --git a/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs b/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs index 12a232f2..7a0c3ee0 100644 --- a/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs +++ b/Refresh.GameServer/Types/Matching/RoomAccessors/InMemoryRoomAccessor.cs @@ -69,6 +69,85 @@ public void RemoveRoom(ObjectId uuid) //NOTE: we forward this to `AddRoom`, since that does the same logic we would public void UpdateRoom(GameRoom room) => this.AddRoom(room); + /// + public RoomStatistics GetStatistics() + { + lock (this._rooms) + { + //Clear all expired rooms + this.RemoveExpiredRooms(); + + Dictionary perGame = new(); + Dictionary perPlatform = new(); + foreach (GameRoom room in this._rooms) + { + perGame.TryAdd(room.Game, 0); + perPlatform.TryAdd(room.Platform, 0); + + perGame[room.Game] += (ushort)room.PlayerIds.Count; + perPlatform[room.Platform] += (ushort)room.PlayerIds.Count; + } + + return new RoomStatistics + { + PlayerCount = (ushort)this._rooms.Sum(r => r.PlayerIds.Count), + PlayersInPodCount = (ushort)this._rooms.Count(r => r.LevelType == RoomSlotType.Pod), + RoomCount = (ushort)this._rooms.Count, + PerGame = perGame, + PerPlatform = perPlatform, + }; + } + } + + /// + public ushort GetPlayersInGame(TokenGame game) + { + lock (this._rooms) + { + //Clear all expired rooms + this.RemoveExpiredRooms(); + + return (ushort)this._rooms.Sum(r => r.PlayerIds.Count); + } + } + + /// + public ushort GetPlayersOnPlatform(TokenPlatform platform) + { + lock (this._rooms) + { + //Clear all expired rooms + this.RemoveExpiredRooms(); + + return (ushort)this._rooms.Where(r => r.Platform == platform).Sum(r => r.PlayerIds.Count); + } + } + + /// + public IEnumerable GetRoomsInLevel(RoomSlotType type, int levelId) + { + lock (this._rooms) + { + //Clear all expired rooms + this.RemoveExpiredRooms(); + + //Return a copy of the room list + return this._rooms.Where(r => r.LevelId == levelId && r.LevelType == type).ToList(); + } + } + + /// + public IEnumerable GetRoomsByGameAndPlatform(TokenGame game, TokenPlatform platform) { + lock (this._rooms) + { + //Clear all expired rooms + this.RemoveExpiredRooms(); + + //Return a copy of the room list + return this._rooms.Where(r => r.Game == game && r.Platform == platform).ToList(); + } + } + /// public GameRoom? GetRoomByUserUuid(ObjectId uuid, TokenPlatform? platform = null, TokenGame? game = null) { diff --git a/Refresh.GameServer/Types/Matching/RoomStatistics.cs b/Refresh.GameServer/Types/Matching/RoomStatistics.cs new file mode 100644 index 00000000..95875dd1 --- /dev/null +++ b/Refresh.GameServer/Types/Matching/RoomStatistics.cs @@ -0,0 +1,13 @@ +using Refresh.GameServer.Authentication; + +namespace Refresh.GameServer.Types.Matching; + +[JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))] +public class RoomStatistics +{ + public ushort PlayerCount { get; set; } + public ushort PlayersInPodCount { get; set; } + public ushort RoomCount { get; set; } + public Dictionary PerGame { get; set; } + public Dictionary PerPlatform { get; set; } +} \ No newline at end of file From 77f2402bfb204232ca6eba033b6e898a80d078bf Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Mon, 18 Dec 2023 19:30:15 -0800 Subject: [PATCH 05/25] Fixes + Optimizations --- .../Endpoints/ApiV3/InstanceApiEndpoints.cs | 2 +- .../Endpoints/ApiV3/MatchingApiEndpoints.cs | 2 +- Refresh.GameServer/Services/MatchService.cs | 10 +++------- .../Types/Matching/MatchMethods/FindRoomMethod.cs | 9 +++++---- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs b/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs index 4a252daf..860e73da 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs @@ -39,7 +39,7 @@ public ApiResponse GetStatistics(RequestContext context, ActiveUsers = database.GetActiveUserCount(), TotalPhotos = database.GetTotalPhotoCount(), TotalEvents = database.GetTotalEventCount(), - CurrentRoomCount = match.RoomAccessor.GetAllRooms().Count(), + CurrentRoomCount = match.RoomAccessor.GetStatistics().RoomCount, CurrentIngamePlayersCount = match.TotalPlayers, RequestStatistics = requestStatistics, }; diff --git a/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs b/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs index 3ad68a1c..d5e25243 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/MatchingApiEndpoints.cs @@ -58,7 +58,7 @@ public ApiResponse GetRoomByUuid(RequestContext context, Ma bool parsed = ObjectId.TryParse(uuid, out ObjectId objectId); if (!parsed) return ApiValidationError.ObjectIdParseError; - GameRoom? room = service.RoomAccessor.GetAllRooms().FirstOrDefault(r => r.RoomId == objectId); + GameRoom? room = service.RoomAccessor.GetRoomByUuid(objectId); if(room == null) return ApiNotFoundError.Instance; return ApiGameRoomResponse.FromOld(room); diff --git a/Refresh.GameServer/Services/MatchService.cs b/Refresh.GameServer/Services/MatchService.cs index 8d49b76f..d72443e9 100644 --- a/Refresh.GameServer/Services/MatchService.cs +++ b/Refresh.GameServer/Services/MatchService.cs @@ -21,11 +21,8 @@ public partial class MatchService(Logger logger) : EndpointService(logger) public IRoomAccessor RoomAccessor { get; private set; } = null!; //initialized in Initialize() private readonly Dictionary _forceMatches = new(); - public int TotalPlayers => this.RoomAccessor.GetAllRooms().SelectMany(r => r.PlayerIds).Count(); - public int TotalPlayersInPod => this.RoomAccessor.GetAllRooms() - .Where(r => r.LevelType == RoomSlotType.Pod) - .SelectMany(r => r.PlayerIds) - .Count(); + public int TotalPlayers => this.RoomAccessor.GetStatistics().PlayerCount; + public int TotalPlayersInPod => this.RoomAccessor.GetStatistics().PlayersInPodCount; public GameRoom GetOrCreateRoomByPlayer(GameUser player, TokenPlatform platform, TokenGame game, NatType natType) { @@ -63,8 +60,7 @@ public GameRoom SplitUserIntoNewRoom(GameUser player, TokenPlatform platform, To public int GetPlayerCountForLevel(RoomSlotType type, int id) { - return this.RoomAccessor.GetAllRooms().Where(r => r.LevelType == type && r.LevelId == id) - .Sum(r => r.PlayerIds.Count); + return this.RoomAccessor.GetRoomsInLevel(type, id).Sum(r => r.PlayerIds.Count); } public void AddPlayerToRoom(GameUser player, GameRoom targetRoom, TokenPlatform platform, TokenGame game) diff --git a/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs b/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs index e862c132..3c6753e5 100644 --- a/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs +++ b/Refresh.GameServer/Types/Matching/MatchMethods/FindRoomMethod.cs @@ -36,10 +36,11 @@ public Response Execute(MatchService service, Logger logger, GameDatabaseContext } //TODO: add user option to filter rooms by language - - List rooms = service.RoomAccessor.GetAllRooms().Where(r => r.RoomId != usersRoom.RoomId && - r.Platform == usersRoom.Platform && - (levelId == null || r.LevelId == levelId)) + + List rooms = service.RoomAccessor.GetRoomsByGameAndPlatform(token.TokenGame, token.TokenPlatform) + .Where(r => + r.RoomId != usersRoom.RoomId && + (levelId == null || r.LevelId == levelId)) .OrderByDescending(r => r.RoomMood) .ToList(); From 63c85744653fdeb71a4ebb2b639fbe2592a97799 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Thu, 21 Dec 2023 10:45:05 -0800 Subject: [PATCH 06/25] Address review comments --- Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs | 7 +++++-- Refresh.GameServer/Endpoints/Game/PresenceEndpoints.cs | 4 ++-- Refresh.GameServer/Services/MatchService.cs | 3 --- Refresh.GameServer/Types/Matching/RoomStatistics.cs | 2 ++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs b/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs index 860e73da..30ca7801 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/InstanceApiEndpoints.cs @@ -6,6 +6,7 @@ using Refresh.GameServer.Endpoints.ApiV3.ApiTypes; using Refresh.GameServer.Endpoints.ApiV3.DataTypes.Response; using Refresh.GameServer.Services; +using Refresh.GameServer.Types.Matching; using Refresh.GameServer.Types.RichPresence; namespace Refresh.GameServer.Endpoints.ApiV3; @@ -31,6 +32,8 @@ public ApiResponse GetStatistics(RequestContext context, { requestStatistics = ApiRequestStatisticsResponse.FromOld(database.GetRequestStatistics())!; } + + RoomStatistics statistics = match.RoomAccessor.GetStatistics(); return new ApiStatisticsResponse { @@ -39,8 +42,8 @@ public ApiResponse GetStatistics(RequestContext context, ActiveUsers = database.GetActiveUserCount(), TotalPhotos = database.GetTotalPhotoCount(), TotalEvents = database.GetTotalEventCount(), - CurrentRoomCount = match.RoomAccessor.GetStatistics().RoomCount, - CurrentIngamePlayersCount = match.TotalPlayers, + CurrentRoomCount = statistics.RoomCount, + CurrentIngamePlayersCount = statistics.PlayerCount, RequestStatistics = requestStatistics, }; } diff --git a/Refresh.GameServer/Endpoints/Game/PresenceEndpoints.cs b/Refresh.GameServer/Endpoints/Game/PresenceEndpoints.cs index 8ceed016..49dd53e3 100644 --- a/Refresh.GameServer/Endpoints/Game/PresenceEndpoints.cs +++ b/Refresh.GameServer/Endpoints/Game/PresenceEndpoints.cs @@ -14,11 +14,11 @@ public class PresenceEndpoints : EndpointGroup { [GameEndpoint("playersInPodCount")] [MinimumRole(GameUserRole.Restricted)] - public int TotalPlayersInPod(RequestContext context, MatchService match) => match.TotalPlayersInPod; + public int TotalPlayersInPod(RequestContext context, MatchService match) => match.RoomAccessor.GetStatistics().PlayersInPodCount; [GameEndpoint("totalPlayerCount")] [MinimumRole(GameUserRole.Restricted)] - public int TotalPlayers(RequestContext context, MatchService match) => match.TotalPlayers; + public int TotalPlayers(RequestContext context, MatchService match) => match.RoomAccessor.GetStatistics().PlayerCount; [GameEndpoint("planetStats", HttpMethods.Get, ContentType.Xml)] [MinimumRole(GameUserRole.Restricted)] diff --git a/Refresh.GameServer/Services/MatchService.cs b/Refresh.GameServer/Services/MatchService.cs index d72443e9..3a0a0dad 100644 --- a/Refresh.GameServer/Services/MatchService.cs +++ b/Refresh.GameServer/Services/MatchService.cs @@ -21,9 +21,6 @@ public partial class MatchService(Logger logger) : EndpointService(logger) public IRoomAccessor RoomAccessor { get; private set; } = null!; //initialized in Initialize() private readonly Dictionary _forceMatches = new(); - public int TotalPlayers => this.RoomAccessor.GetStatistics().PlayerCount; - public int TotalPlayersInPod => this.RoomAccessor.GetStatistics().PlayersInPodCount; - public GameRoom GetOrCreateRoomByPlayer(GameUser player, TokenPlatform platform, TokenGame game, NatType natType) { GameRoom? room = this.RoomAccessor.GetRoomByUser(player, platform, game); diff --git a/Refresh.GameServer/Types/Matching/RoomStatistics.cs b/Refresh.GameServer/Types/Matching/RoomStatistics.cs index 95875dd1..251b5658 100644 --- a/Refresh.GameServer/Types/Matching/RoomStatistics.cs +++ b/Refresh.GameServer/Types/Matching/RoomStatistics.cs @@ -2,6 +2,8 @@ namespace Refresh.GameServer.Types.Matching; +#nullable disable + [JsonObject(NamingStrategyType = typeof(CamelCaseNamingStrategy))] public class RoomStatistics { From e2e2e37a4e7bc91a700839dd0cf17954c5276db4 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Fri, 22 Dec 2023 11:48:55 -0800 Subject: [PATCH 07/25] PublishEndpoints: Verify level icon GUIDs are valid texture GUIDs If the level icon GUID is for example a model, the game will crash. --- .../Endpoints/Game/Levels/PublishEndpoints.cs | 21 ++++-- Refresh.GameServer/Refresh.GameServer.csproj | 7 ++ Refresh.GameServer/RefreshGameServer.cs | 1 + .../Resources/ResourceHelper.cs | 12 +++ .../Services/GuidCheckerService.cs | 53 +++++++++++++ .../GameServer/TestRefreshGameServer.cs | 1 + .../Tests/Levels/PublishEndpointsTests.cs | 74 ++++++++++++++++++- 7 files changed, 160 insertions(+), 9 deletions(-) create mode 100644 Refresh.GameServer/Resources/ResourceHelper.cs create mode 100644 Refresh.GameServer/Services/GuidCheckerService.cs diff --git a/Refresh.GameServer/Endpoints/Game/Levels/PublishEndpoints.cs b/Refresh.GameServer/Endpoints/Game/Levels/PublishEndpoints.cs index 3dd8397b..8848f1b6 100644 --- a/Refresh.GameServer/Endpoints/Game/Levels/PublishEndpoints.cs +++ b/Refresh.GameServer/Endpoints/Game/Levels/PublishEndpoints.cs @@ -25,8 +25,10 @@ public class PublishEndpoints : EndpointGroup /// The level to verify /// The user that is attempting to upload /// A logger instance + /// The associated GuidCheckerService with the request + /// The game the level is being submitted from /// Whether or not validation succeeded - private static bool VerifyLevel(GameLevelRequest body, GameUser user, Logger logger) + private static bool VerifyLevel(GameLevelRequest body, GameUser user, Logger logger, GuidCheckerService guidChecker, TokenGame game) { if (body.Title.Length > 256) { @@ -43,15 +45,22 @@ private static bool VerifyLevel(GameLevelRequest body, GameUser user, Logger log return false; } + //If the icon hash is a GUID hash, verify its a valid texture GUID + if (body.IconHash.StartsWith('g')) + { + if (!guidChecker.IsTextureGuid(game, long.Parse(body.IconHash.AsSpan()[1..]))) + return false; + } + return true; } [GameEndpoint("startPublish", ContentType.Xml, HttpMethods.Post)] [NullStatusCode(BadRequest)] - public SerializedLevelResources? StartPublish(RequestContext context, GameUser user, GameDatabaseContext database, GameLevelRequest body, CommandService command, IDataStore dataStore) + public SerializedLevelResources? StartPublish(RequestContext context, GameUser user, GameDatabaseContext database, GameLevelRequest body, CommandService command, IDataStore dataStore, GuidCheckerService guidChecker, Token token) { //If verifying the request fails, return null - if (!VerifyLevel(body, user, context.Logger)) return null; + if (!VerifyLevel(body, user, context.Logger, guidChecker, token.TokenGame)) return null; List hashes = new(); hashes.AddRange(body.XmlResources); @@ -74,11 +83,11 @@ private static bool VerifyLevel(GameLevelRequest body, GameUser user, Logger log } [GameEndpoint("publish", ContentType.Xml, HttpMethods.Post)] - public Response PublishLevel(RequestContext context, GameUser user, Token token, GameDatabaseContext database, GameLevelRequest body, CommandService command, IDataStore dataStore) + public Response PublishLevel(RequestContext context, GameUser user, Token token, GameDatabaseContext database, GameLevelRequest body, CommandService command, IDataStore dataStore, GuidCheckerService guidChecker) { //If verifying the request fails, return null - if (!VerifyLevel(body, user, context.Logger)) return BadRequest; - + if (!VerifyLevel(body, user, context.Logger, guidChecker, token.TokenGame)) return BadRequest; + GameLevel level = body.ToGameLevel(user); level.GameVersion = token.TokenGame; diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index 1d92a9cb..abdfa6fd 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -80,4 +80,11 @@ Analyzer + + + + + + + diff --git a/Refresh.GameServer/RefreshGameServer.cs b/Refresh.GameServer/RefreshGameServer.cs index 820adc71..f0d1b35f 100644 --- a/Refresh.GameServer/RefreshGameServer.cs +++ b/Refresh.GameServer/RefreshGameServer.cs @@ -127,6 +127,7 @@ protected virtual void SetupServices() this._server.AddService(); this._server.AddService(); this._server.AddService(); + this._server.AddService(); this._server.AddAutoDiscover(serverBrand: $"{this._config!.InstanceName} (Refresh)", baseEndpoint: GameEndpointAttribute.BaseRoute.Substring(0, GameEndpointAttribute.BaseRoute.Length - 1), usesCustomDigestKey: true, diff --git a/Refresh.GameServer/Resources/ResourceHelper.cs b/Refresh.GameServer/Resources/ResourceHelper.cs new file mode 100644 index 00000000..2e50094a --- /dev/null +++ b/Refresh.GameServer/Resources/ResourceHelper.cs @@ -0,0 +1,12 @@ +using System.Reflection; + +namespace Refresh.GameServer.Resources; + +public static class ResourceHelper +{ + public static Stream StreamFromResource(string name) + { + Assembly assembly = Assembly.GetExecutingAssembly(); + return assembly.GetManifestResourceStream(name)!; + } +} \ No newline at end of file diff --git a/Refresh.GameServer/Services/GuidCheckerService.cs b/Refresh.GameServer/Services/GuidCheckerService.cs new file mode 100644 index 00000000..e33d8da9 --- /dev/null +++ b/Refresh.GameServer/Services/GuidCheckerService.cs @@ -0,0 +1,53 @@ +using Bunkum.Core.Services; +using NotEnoughLogs; +using Refresh.GameServer.Authentication; +using Refresh.GameServer.Resources; + +namespace Refresh.GameServer.Services; + +public class GuidCheckerService : EndpointService +{ + private readonly HashSet _validMainlineTextureGuids= []; + private readonly HashSet _validVitaTextureGuids = []; + + internal GuidCheckerService(Logger logger) : base(logger) + { + //Get the resource streams for the LBP3 and LBPV files + using Stream lbpStream = ResourceHelper.StreamFromResource("Refresh.GameServer.Resources.lbp3.txt"); + using Stream vitaStream = ResourceHelper.StreamFromResource("Refresh.GameServer.Resources.lbpv.txt"); + + //Read the files into their respective hash sets + ReadStream(lbpStream, this._validMainlineTextureGuids); + ReadStream(vitaStream, this._validVitaTextureGuids); + } + + // ReSharper disable once SuggestBaseTypeForParameter MOVING TO ISet IS SLOWER AT RUNTIME PLS STOP RIDER + private static void ReadStream(Stream stream, HashSet set) + { + StreamReader reader = new(stream); + + //Read all the lines + while (reader.ReadLine() is {} line) + { + //Parse out and add each line to the set + set.Add(long.Parse(line)); + } + } + + /// + /// Returns whether or not the GUID is a valid texture GUID for the respective game + /// + /// + /// + /// + /// + public bool IsTextureGuid(TokenGame game, long guid) => game switch + { + TokenGame.LittleBigPlanet1 => this._validMainlineTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanet2 => this._validMainlineTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanet3 => this._validMainlineTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanetVita => this._validVitaTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanetPSP => true, + _ => throw new ArgumentOutOfRangeException(nameof(game), game, null), + }; +} \ No newline at end of file diff --git a/RefreshTests.GameServer/GameServer/TestRefreshGameServer.cs b/RefreshTests.GameServer/GameServer/TestRefreshGameServer.cs index bd7c36d5..0454bf57 100644 --- a/RefreshTests.GameServer/GameServer/TestRefreshGameServer.cs +++ b/RefreshTests.GameServer/GameServer/TestRefreshGameServer.cs @@ -71,6 +71,7 @@ protected override void SetupServices() this._server.AddService(); this._server.AddService(); this._server.AddService(); + this._server.AddService(); } [Pure] diff --git a/RefreshTests.GameServer/Tests/Levels/PublishEndpointsTests.cs b/RefreshTests.GameServer/Tests/Levels/PublishEndpointsTests.cs index 755b2009..ea8ac9dd 100644 --- a/RefreshTests.GameServer/Tests/Levels/PublishEndpointsTests.cs +++ b/RefreshTests.GameServer/Tests/Levels/PublishEndpointsTests.cs @@ -28,7 +28,7 @@ public void PublishLevel() { LevelId = 0, Title = "TEST LEVEL", - IconHash = "g0", + IconHash = "g719", Description = "DESCRIPTION", Location = new GameLocation(), GameVersion = 0, @@ -244,6 +244,74 @@ public void CantPublishLevelWithInvalidRootResource() Assert.That(message.StatusCode, Is.EqualTo(BadRequest)); } + [TestCase(TokenGame.LittleBigPlanet1)] + [TestCase(TokenGame.LittleBigPlanet2)] + [TestCase(TokenGame.LittleBigPlanet3)] + [TestCase(TokenGame.LittleBigPlanetVita)] + public void CantPublishLevelWithInvalidIconGuid(TokenGame game) + { + using TestContext context = this.GetServer(); + GameUser user = context.CreateUser(); + + using HttpClient client = context.GetAuthenticatedClient(TokenType.Game, game, TokenPlatform.PS3, user); + + GameLevelRequest level = new() + { + LevelId = 0, + Title = "Normal Title!", + IconHash = "g0", + Description = "Normal Description", + Location = new GameLocation(), + GameVersion = 0, + RootResource = "I AM INVALID!!!", + PublishDate = 0, + UpdateDate = 0, + MinPlayers = 0, + MaxPlayers = 0, + EnforceMinMaxPlayers = false, + SameScreenGame = false, + SkillRewards = new List(), + }; + + HttpResponseMessage message = client.PostAsync("/lbp/startPublish", new StringContent(level.AsXML())).Result; + Assert.That(message.StatusCode, Is.EqualTo(BadRequest)); + + message = client.PostAsync("/lbp/publish", new StringContent(level.AsXML())).Result; + Assert.That(message.StatusCode, Is.EqualTo(BadRequest)); + } + + public void CanPublishLevelWithInvalidIconGuidPsp() + { + using TestContext context = this.GetServer(); + GameUser user = context.CreateUser(); + + using HttpClient client = context.GetAuthenticatedClient(TokenType.Game, TokenGame.LittleBigPlanetPSP, TokenPlatform.PS3, user); + + GameLevelRequest level = new() + { + LevelId = 0, + Title = "Normal Title!", + IconHash = "g0", + Description = "Normal Description", + Location = new GameLocation(), + GameVersion = 0, + RootResource = "I AM INVALID!!!", + PublishDate = 0, + UpdateDate = 0, + MinPlayers = 0, + MaxPlayers = 0, + EnforceMinMaxPlayers = false, + SameScreenGame = false, + SkillRewards = new List(), + }; + + HttpResponseMessage message = client.PostAsync("/lbp/startPublish", new StringContent(level.AsXML())).Result; + Assert.That(message.StatusCode, Is.EqualTo(OK)); + + message = client.PostAsync("/lbp/publish", new StringContent(level.AsXML())).Result; + Assert.That(message.StatusCode, Is.EqualTo(OK)); + } + [Test] public void CantPublishLevelWithMissingRootResource() { @@ -256,7 +324,7 @@ public void CantPublishLevelWithMissingRootResource() { LevelId = 0, Title = "Normal Title!", - IconHash = "g0", + IconHash = "g719", Description = "Normal Description", Location = new GameLocation(), GameVersion = 0, @@ -291,7 +359,7 @@ public void CantRepublishOtherUsersLevel() { LevelId = 0, Title = "TEST LEVEL", - IconHash = "g0", + IconHash = "g719", Description = "DESCRIPTION", Location = new GameLocation(), GameVersion = 0, From 518bbac81fe83b0a3855c84a71e22c1e5ddc1f1a Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Fri, 22 Dec 2023 16:16:37 -0800 Subject: [PATCH 08/25] I didnt actually commit the databases oops --- Refresh.GameServer/Resources/lbp3.txt | 41005 ++++++++++++++++++++++++ Refresh.GameServer/Resources/lbpv.txt | 13006 ++++++++ 2 files changed, 54011 insertions(+) create mode 100644 Refresh.GameServer/Resources/lbp3.txt create mode 100644 Refresh.GameServer/Resources/lbpv.txt diff --git a/Refresh.GameServer/Resources/lbp3.txt b/Refresh.GameServer/Resources/lbp3.txt new file mode 100644 index 00000000..50b36f0c --- /dev/null +++ b/Refresh.GameServer/Resources/lbp3.txt @@ -0,0 +1,41005 @@ +1000004 +1000035 +1000039 +1000047 +1000048 +1000056 +1000057 +1000058 +1000059 +1000070 +1000077 +1000079 +1000221 +1000224 +1000227 +1000230 +1000233 +1000238 +1000239 +1000241 +1000242 +1000243 +1000252 +1000263 +1000265 +1000266 +1000267 +1000268 +1000285 +1000312 +1000359 +1000372 +1000377 +1000378 +1000379 +1000386 +1000603 +1000604 +1000605 +1000606 +1000607 +1000608 +1000609 +1000610 +1000692 +1000693 +1000696 +1000760 +1000768 +1000769 +1000782 +1000977 +1000985 +1000988 +1000989 +1000992 +1000996 +1001101 +1001102 +1001103 +1001104 +1001105 +1001106 +1001107 +1001283 +1001521 +1001523 +1001524 +1001644 +1001654 +1001744 +1001745 +1001746 +1001747 +1001748 +1001749 +1001751 +1001785 +1002244 +1002245 +1002246 +1002247 +1002248 +1002249 +1002250 +1002251 +1002252 +1002253 +1002275 +1002277 +1002302 +1002303 +1002304 +1002305 +1002339 +1002444 +1002476 +1002477 +1002478 +1002503 +1002602 +1002603 +1002604 +1002605 +1002606 +1002607 +1002608 +1002609 +1002610 +1002611 +1002612 +1002613 +1002614 +1002615 +1002616 +1002617 +1002618 +1002619 +1002620 +1002621 +1002622 +1002623 +1002624 +1002625 +1002626 +1002627 +1002628 +1002629 +1002630 +1002631 +1002632 +1002633 +1002634 +1002635 +1002636 +1002637 +1002649 +1002650 +1002651 +1003149 +1003196 +1003204 +1003205 +1003206 +1003220 +1003222 +1003223 +1003224 +1003225 +1003226 +100327 +100328 +10033 +100330 +100332 +100333 +100336 +100337 +10035 +1003572 +1003573 +1003574 +1003575 +1003576 +1003577 +1003578 +10036 +1003607 +1003608 +1003610 +1003611 +1003672 +1003673 +1003674 +1003675 +1003676 +1003688 +1003689 +1003690 +1003691 +1003692 +10037 +1003753 +1003754 +1003755 +1003756 +1003769 +1003770 +1003771 +1003772 +1003773 +1003774 +1003775 +1003798 +1003799 +10038 +100380 +1003800 +100381 +1003832 +1003833 +1003834 +1003835 +1003870 +1003875 +1003876 +1003877 +1003878 +1003879 +100388 +1003880 +1003881 +1003882 +1003883 +1003884 +1003885 +1003886 +1003887 +1003888 +10039 +100392 +1003937 +1003938 +1003939 +1003940 +1003944 +1003945 +1003946 +1003947 +1003948 +1003949 +1003950 +1003951 +1003953 +1003954 +1003955 +1003956 +1003957 +1003959 +1003975 +1003976 +1003977 +1003978 +1003979 +1003980 +10040 +1004084 +10041 +1004145 +1004186 +1004187 +1004188 +1004197 +10042 +1004214 +1004226 +1004298 +1004299 +10043 +1004388 +10044 +1004495 +10045 +1004510 +1004511 +1004512 +1004513 +100453 +100455 +100456 +1004569 +1004570 +1004571 +1004572 +100458 +100459 +10046 +100462 +100465 +100467 +100468 +100469 +100470 +100471 +100472 +100473 +100475 +100476 +100477 +100478 +100479 +100480 +10050 +1005044 +1005045 +1005046 +1005047 +1005048 +1005050 +100507 +100508 +10051 +1005200 +1005336 +1005583 +100560 +100561 +1005629 +1005631 +1005634 +1005635 +1005637 +1005638 +1005640 +100569 +100570 +100571 +100572 +1005732 +1005733 +1005734 +1005735 +1005779 +1005787 +1005788 +1005789 +1005790 +1005791 +1005792 +1005793 +1005794 +1005795 +1005796 +1005797 +100590 +1005946 +100597 +100608 +100611 +1006110 +1006111 +1006113 +1006115 +100612 +1006120 +1006121 +1006125 +100613 +100614 +100615 +100616 +100617 +100618 +100619 +100620 +100621 +100622 +100623 +100624 +100626 +100660 +100662 +100674 +100678 +100702 +100717 +100718 +100728 +100729 +100730 +100731 +100732 +100733 +100734 +100738 +100739 +100740 +100741 +1007568 +1007569 +100757 +1007570 +1007576 +1007579 +100758 +1007581 +1007582 +1007583 +1007584 +1007585 +1007586 +1007587 +1007588 +1007589 +100761 +1007630 +1007770 +1007771 +1007772 +1007801 +1007802 +1007803 +1007804 +1007805 +1007806 +1007811 +100833 +100834 +100847 +1008511 +1008993 +1008998 +10094 +10095 +10097 +1009708 +1010045 +1010170 +1010361 +1010362 +1010363 +1010364 +1010365 +1010366 +1010377 +10104 +10106 +1010694 +1010695 +1010698 +1010699 +1010742 +10108 +10109 +1010955 +1010956 +1010958 +10110 +101100 +101102 +1011034 +1011057 +101106 +101107 +101108 +101109 +101110 +1011100 +101111 +101112 +101113 +101116 +10112 +1011242 +1011243 +1011244 +1011245 +1011248 +1011272 +1011273 +10113 +101132 +101133 +101134 +101135 +101136 +101137 +10114 +1011452 +1011456 +1011461 +10115 +1011503 +1011504 +1011506 +1011507 +1011508 +1011509 +1011510 +1011511 +1011512 +1011535 +10116 +101168 +10117 +1011740 +101176 +10118 +101182 +101185 +1011896 +1011897 +1011898 +1011899 +10119 +1011900 +1011901 +1011902 +1011903 +1011904 +1011905 +101195 +101198 +1011989 +101199 +1011999 +10120 +101200 +1012000 +1012001 +1012002 +101201 +1012050 +1012051 +1012052 +1012053 +1012054 +1012055 +1012056 +1012061 +1012062 +101208 +101220 +101221 +1012312 +1012313 +1012319 +1012320 +1012325 +1012326 +1012329 +1012360 +10124 +101246 +1012493 +10125 +1012509 +1012589 +1012590 +1012591 +1012594 +1012623 +1012624 +1012627 +1012717 +101295 +101296 +1013125 +1013126 +10132 +1013228 +1013285 +101334 +101335 +1013364 +1013365 +1013380 +1013383 +101343 +101351 +101369 +1013694 +1013695 +1013696 +1013697 +101370 +1013701 +1013702 +1013708 +1013709 +1013716 +1013718 +1013726 +1013736 +101378 +101381 +101382 +101394 +101396 +10140 +101406 +101407 +101409 +1014208 +1014303 +1014304 +1014305 +1014335 +1014341 +101447 +101463 +101465 +101467 +101469 +101471 +101472 +10148 +101481 +101482 +1014823 +101483 +1014833 +101484 +101485 +101486 +101489 +101490 +101492 +101493 +101494 +101495 +101496 +101497 +101498 +101499 +101500 +101503 +101505 +101506 +101507 +101508 +101509 +1015346 +101540 +1015415 +101542 +1015520 +1015525 +1015526 +1015529 +101556 +101557 +101558 +101587 +101588 +101608 +101610 +101623 +1016239 +1016241 +101626 +101633 +1016342 +1016343 +101635 +101639 +101655 +101657 +101667 +1016821 +1016828 +101685 +1016902 +1016903 +1016904 +1016907 +1016908 +1016912 +1016915 +1016917 +1016918 +1016919 +1016922 +1016923 +1016931 +1016932 +1016933 +1016942 +1016943 +1016944 +1016945 +1016946 +1016947 +1016948 +101696 +1016972 +1016973 +1016974 +1016977 +1016978 +1016979 +101698 +1016982 +1016983 +1016985 +1016986 +1016988 +101699 +1016991 +1016992 +1016995 +1016996 +1016997 +1017003 +1017004 +1017007 +1017008 +1017009 +1017014 +1017015 +1017016 +1017018 +1017019 +1017020 +1017021 +1017022 +1017023 +1017025 +1017027 +1017028 +1017029 +1017031 +1017052 +1017056 +1017057 +1017059 +1017070 +1017076 +10171 +101710 +1017111 +1017129 +1017130 +1017131 +1017132 +1017133 +1017147 +1017148 +1017151 +1017152 +1017155 +1017156 +1017159 +1017160 +1017161 +1017166 +1017173 +1017174 +1017177 +1017178 +1017216 +1017218 +1017279 +1017280 +1017281 +1017282 +1017283 +1017284 +1017285 +1017294 +1017328 +1017329 +1017341 +1017351 +1017352 +1017353 +1017354 +1017360 +1017367 +1017368 +1017369 +1017370 +1017371 +1017372 +1017373 +1017374 +1017375 +1017376 +1017378 +1017379 +1017381 +1017382 +1017383 +1017384 +1017385 +1017387 +1017388 +1017389 +1017390 +1017391 +1017392 +1017393 +1017394 +1017395 +1017396 +1017397 +1017398 +1017399 +1017401 +1017402 +1017403 +1017404 +1017405 +1017406 +1017407 +1017408 +1017409 +1017410 +1017411 +1017412 +1017413 +1017414 +1017415 +1017416 +1017417 +1017418 +1017419 +1017420 +1017421 +1017422 +1017423 +1017424 +1017425 +1017426 +1017427 +1017428 +1017429 +1017430 +1017431 +1017432 +1017433 +1017434 +1017435 +1017436 +1017437 +1017438 +1017439 +1017440 +1017441 +1017442 +1017443 +1017444 +1017445 +1017446 +1017447 +1017527 +1017528 +101757 +101758 +101759 +101760 +101761 +101762 +101763 +101764 +101765 +1017651 +1017652 +1017653 +1017654 +1017655 +1017656 +1017657 +1017658 +101766 +101767 +1017676 +1017679 +101768 +1017681 +1017682 +101769 +101770 +101771 +101772 +101773 +1017794 +1017795 +1017806 +1017807 +1017808 +1017809 +1017810 +1017811 +1017812 +1017813 +1017814 +1017815 +1017816 +1017817 +1017818 +1017839 +1017840 +1017841 +1017842 +1017843 +1017844 +1017845 +1017846 +1017869 +1017932 +1017980 +1017981 +1017982 +1017985 +1017986 +1017987 +1017991 +1017992 +1017995 +1017996 +1017998 +1017999 +1018000 +1018001 +1018002 +1018003 +1018014 +1018016 +1018100 +1018101 +1018108 +1018151 +1018152 +1018153 +1018156 +1018157 +1018169 +1018184 +1018189 +1018190 +1018191 +1018192 +1018193 +1018194 +1018195 +1018223 +1018226 +1018241 +1018242 +1018244 +1018251 +1018253 +1018351 +101841 +101842 +1018432 +101844 +101845 +101846 +1018561 +1018562 +1018563 +1018564 +1018565 +1018566 +1018567 +1018568 +1018638 +1018641 +1018643 +1018646 +1018693 +1018694 +1018695 +1018696 +1018697 +10187 +1018707 +101874 +101875 +101877 +101878 +101880 +101882 +1018828 +1018829 +101883 +101885 +1018851 +101886 +101888 +101889 +1018895 +1018901 +1018902 +1018903 +1018904 +1018905 +1018906 +1018907 +1018908 +1018909 +101891 +1018910 +101892 +101893 +1018957 +1018958 +1018959 +1018960 +1018961 +1018962 +1018963 +1018964 +1018965 +1018966 +1018967 +1018968 +1018986 +1019076 +1019077 +1019078 +1019079 +1019113 +1019115 +1019144 +1019192 +1019193 +1019194 +1019197 +1019198 +1019201 +1019202 +1019209 +1019210 +1019213 +1019216 +1019218 +1019219 +1019220 +1019221 +1019222 +101932 +101933 +1019330 +101935 +101936 +101938 +1019382 +101939 +101940 +1019408 +1019410 +1019412 +1019413 +101942 +1019420 +1019423 +101943 +101944 +1019449 +101946 +1019460 +1019461 +1019462 +1019463 +1019464 +1019465 +101947 +101949 +101951 +1019514 +101952 +101954 +101955 +101956 +101957 +101959 +101960 +1019615 +101962 +1019621 +1019622 +101963 +101964 +101965 +101967 +1019677 +1019678 +1019679 +101968 +1019680 +1019681 +1019682 +1019684 +1019685 +1019686 +101969 +101970 +101971 +101972 +101974 +101975 +1019759 +101976 +1019779 +101978 +101979 +101980 +101981 +1019919 +1019983 +1019984 +1019985 +1019988 +1019989 +1019990 +1019994 +1019997 +1019998 +1019999 +102000 +1020000 +1020005 +1020006 +1020007 +1020008 +102001 +1020010 +1020011 +1020012 +1020013 +1020014 +1020015 +102002 +102003 +1020037 +1020038 +1020039 +102007 +1020071 +1020072 +102008 +102009 +102010 +102011 +102012 +102014 +102015 +1020159 +1020160 +102019 +102020 +102021 +102022 +102023 +102024 +102025 +102026 +102027 +102028 +102029 +102030 +102031 +102032 +102033 +1020337 +102034 +102035 +102036 +102037 +1020372 +1020373 +1020374 +1020375 +1020378 +1020379 +102038 +1020380 +1020382 +1020383 +1020384 +102039 +102040 +102041 +1020419 +1020479 +1020481 +1020483 +1020485 +1020580 +1020608 +1020770 +1020846 +102085 +102088 +102089 +1020943 +1020960 +1020963 +1020965 +1021059 +102110 +102121 +102130 +1021358 +1021359 +1021360 +10216 +1021709 +1021710 +1021792 +1021832 +1021917 +1021937 +1021939 +1021941 +10220 +1022033 +1022042 +102208 +102209 +102210 +102211 +102212 +102213 +102214 +102215 +102216 +1022169 +102217 +1022172 +1022174 +1022175 +1022178 +1022179 +102218 +1022182 +1022183 +1022185 +1022186 +1022187 +1022188 +1022189 +102219 +1022190 +102220 +102221 +102222 +102223 +102224 +102225 +102226 +102227 +1022306 +1022329 +1022330 +1022331 +1022339 +1022340 +1022341 +1022342 +1022343 +1022344 +1022345 +1022571 +1022572 +1022573 +1022574 +1022575 +1022576 +1022577 +1022578 +1022668 +10229 +102305 +102306 +102307 +1023081 +1023082 +1023083 +10231 +102315 +102317 +1023178 +1023202 +1023203 +1023204 +1023205 +1023206 +1023207 +102323 +1023256 +1023258 +1023259 +102326 +1023260 +1023262 +1023263 +1023439 +102349 +10235 +1023503 +1023504 +1023505 +1023506 +1023507 +1023510 +1023511 +1023512 +1023525 +1023549 +1023607 +1023648 +1023754 +1023755 +1023767 +1023777 +1023809 +1023817 +1023842 +1023885 +1023953 +102414 +1024181 +1024241 +1024242 +1024254 +1024264 +1024469 +1024470 +1024471 +10245 +10246 +1024675 +1024676 +102481 +10249 +102493 +102494 +102495 +102496 +102497 +102498 +102499 +102500 +102501 +102502 +102503 +102515 +1025169 +102517 +102519 +1025205 +1025206 +1025207 +1025208 +1025234 +1025236 +1025239 +1025242 +1025245 +1025249 +1025250 +1025251 +1025252 +1025253 +1025254 +1025262 +102528 +102529 +102530 +102531 +102532 +1025329 +102533 +1025330 +1025331 +102534 +102535 +102536 +102537 +102538 +1025521 +1025522 +1025523 +1025524 +1025525 +1025526 +102562 +102563 +102564 +102565 +102566 +1025699 +1025700 +1025745 +1025746 +1025747 +1025937 +102598 +102600 +102601 +102606 +1026093 +1026094 +1026096 +1026098 +1026099 +1026100 +1026101 +1026102 +1026103 +1026104 +1026105 +1026106 +1026140 +1026141 +1026142 +1026143 +1026144 +1026145 +1026146 +1026147 +102620 +102621 +102624 +102626 +102629 +102630 +1026525 +1026526 +1026527 +1026537 +1026538 +1026561 +1026562 +1026587 +1026604 +1026605 +102669 +102681 +1026897 +1026898 +1026899 +1026900 +1026901 +1026902 +1026903 +1026904 +102692 +102695 +1026955 +102696 +1026965 +102697 +102702 +102705 +1027100 +102712 +102713 +1027131 +102718 +102726 +102729 +1027582 +1027620 +1027653 +1027654 +102766 +102768 +102777 +102778 +102780 +102785 +102817 +10282 +102827 +102839 +102861 +102864 +1028643 +102865 +102882 +102891 +1028939 +1028940 +1028942 +1028943 +1028945 +1028946 +1028949 +1028950 +1028953 +1028954 +1028957 +1028960 +1028964 +1028965 +1028966 +1028967 +1028968 +1028969 +1028970 +1028971 +1028972 +1028973 +102931 +102937 +1029376 +102952 +1029576 +102962 +102964 +102966 +1029752 +1029753 +1029754 +1029755 +1029756 +102979 +1029814 +1029815 +1029816 +1029817 +1029818 +1029819 +1029820 +1029821 +1029822 +1029823 +1029832 +1029833 +1029899 +1029900 +1029901 +1029902 +1029903 +1029904 +1029905 +1029906 +102992 +10301 +1030117 +1030118 +1030196 +1030425 +1030426 +1030427 +1030429 +1030430 +1030431 +1030432 +1030433 +1030463 +1030464 +1030496 +1030497 +1030498 +1030499 +1030500 +1030501 +1030502 +1030503 +1030504 +1030542 +1030544 +103055 +103056 +103057 +103058 +103059 +1030599 +103060 +1030600 +1030609 +103061 +1030612 +1030613 +1030616 +1030617 +103062 +1030620 +1030621 +1030624 +1030629 +103063 +1030630 +1030632 +1030633 +103064 +103065 +103066 +103067 +103068 +103069 +103070 +103071 +103072 +103073 +103074 +103075 +103076 +103077 +103078 +103079 +103080 +103081 +103082 +103083 +1030839 +103084 +1030840 +1030841 +1030844 +1030845 +1030846 +1030849 +103085 +1030850 +1030851 +1030853 +1030854 +1030855 +1030858 +1030859 +103086 +1030860 +1030863 +1030864 +1030865 +1030868 +1030869 +103087 +1030872 +1030873 +1030874 +1030877 +1030878 +1030879 +103088 +1030882 +1030883 +1030886 +1030887 +103089 +1030890 +1030891 +1030894 +1030895 +10309 +103090 +1030900 +1030901 +1030904 +1030907 +1030908 +1030909 +103091 +1030916 +1030917 +103092 +1030920 +1030921 +1030925 +1030926 +1030927 +103093 +1030930 +1030931 +1030933 +1030934 +1030935 +1030938 +1030939 +103094 +1030942 +1030943 +1030944 +1030947 +1030948 +1030949 +103095 +1030952 +1030953 +1030956 +1030957 +103096 +1030960 +1030961 +1030962 +1030963 +1030964 +1030965 +1030966 +1030967 +1030968 +1030969 +103097 +1030970 +1030971 +1030972 +1030973 +1030974 +1030975 +1030976 +1030977 +1030978 +1030979 +103098 +1030980 +1030981 +1030982 +1030983 +1030984 +1030985 +1030986 +1030987 +103099 +103100 +103101 +1031010 +1031011 +1031012 +1031013 +103102 +1031022 +1031023 +1031024 +103103 +103104 +1031045 +1031046 +103105 +103106 +103107 +103108 +103109 +103110 +103111 +103112 +103113 +103114 +103115 +103116 +1031629 +103185 +1031932 +1031933 +1031936 +1031943 +103197 +10320 +1032069 +1032213 +1032214 +1032215 +1032223 +1032224 +1032225 +103225 +103227 +1032295 +1032296 +1032297 +103232 +103235 +103236 +1032444 +1032445 +1032446 +1032447 +1032448 +1032449 +1032450 +1032470 +1032471 +1032472 +1032496 +1032497 +1032498 +1032503 +1032505 +1032529 +1032530 +1032582 +1032585 +10326 +10327 +103296 +103305 +103306 +103308 +10331 +10332 +1033215 +10333 +103339 +10334 +103342 +10335 +10336 +10339 +10340 +1034044 +1034046 +1034049 +10341 +1034107 +1034108 +1034110 +1034112 +1034113 +1034115 +1034117 +1034118 +1034135 +1034136 +1034157 +1034158 +1034159 +1034160 +1034161 +1034162 +1034163 +1034167 +1034172 +1034173 +1034174 +1034175 +1034189 +10342 +1034281 +1034284 +1034285 +1034286 +1034287 +1034288 +10343 +103438 +10344 +10345 +1034522 +1034523 +1034524 +1034559 +1034664 +1034665 +1034666 +1034671 +103468 +10347 +103471 +103472 +1034762 +1034773 +1034774 +1034775 +1034776 +1034777 +1034778 +1034779 +1034785 +1034786 +1034787 +1034788 +103479 +10348 +1034853 +1034854 +1034856 +1034860 +1034868 +1034869 +10349 +1034940 +1034967 +1034975 +1034982 +1034994 +1034999 +10350 +1035000 +1035001 +1035002 +1035009 +1035037 +1035038 +1035039 +1035040 +1035056 +10351 +103523 +103527 +1035270 +1035271 +1035272 +103530 +1035594 +1035605 +1035606 +1035609 +1035867 +1035868 +1035869 +1035870 +1035909 +1035910 +1035912 +1035915 +1035916 +1035917 +1036043 +1036044 +1036046 +1036056 +1036101 +1036102 +1036105 +103623 +103624 +103625 +103639 +103640 +10365 +1036559 +1036560 +10367 +10368 +1036809 +1036810 +1036811 +1036812 +1036815 +1036817 +1036818 +1037009 +1037010 +1037043 +1037060 +1037061 +1037062 +1037063 +1037099 +1037100 +1037136 +103724 +10373 +1037301 +1037490 +1037599 +1037834 +1037835 +1037838 +1037840 +1037841 +1037842 +1037843 +1037844 +1037846 +1037892 +1037893 +1037899 +1037959 +1037965 +1037967 +1037969 +1037971 +1037974 +1037975 +1037978 +1037986 +1037988 +1037989 +1037991 +1037994 +1037996 +1037998 +1038102 +1038103 +1038105 +103839 +1038436 +1038437 +1038438 +1038439 +1038440 +1038441 +1038442 +1038443 +1038444 +1038445 +1038446 +1038447 +1038448 +1038449 +1038450 +1038451 +1038452 +1038453 +1038454 +1038455 +1038456 +1038457 +1038458 +1038459 +1038460 +1038461 +1038462 +1038463 +1038464 +1038465 +1038466 +1038467 +1038468 +1038469 +1038470 +1038471 +1038472 +1038473 +1038474 +1038475 +1038476 +1038477 +1038478 +1038479 +1038480 +1038481 +1038482 +1038483 +1038488 +1038578 +1038712 +1038713 +1038715 +1038716 +1038717 +1038718 +1038719 +1038720 +1038721 +1038723 +1038724 +1038725 +1038726 +1038727 +1038728 +1038729 +1038730 +1038731 +1038732 +1038733 +1038734 +1038735 +1038736 +1038738 +1038740 +1038741 +1038742 +1038743 +1038744 +1038745 +1038747 +1038748 +1038749 +103877 +1038894 +1038896 +1038899 +1039038 +1039039 +103904 +1039040 +1039041 +1039075 +1039076 +1039077 +1039078 +1039149 +1039150 +1039151 +1039152 +1039193 +1039195 +1039196 +1039197 +103928 +1039361 +1039362 +1039363 +1039365 +1039473 +1039617 +103978 +1039792 +1039794 +1039795 +103985 +104007 +104010 +104013 +1040147 +1040149 +1040151 +1040153 +104019 +104022 +104024 +1040249 +104029 +1040341 +104036 +1040378 +104039 +1040696 +1040697 +1040698 +10407 +10408 +10409 +1041016 +1041091 +1041092 +10415 +1041541 +1041547 +1041566 +1041567 +10416 +1041830 +1041831 +1041832 +1041833 +1041840 +1041841 +1041842 +1041843 +1042596 +1042598 +1042680 +1042751 +104308 +1043081 +104310 +1043109 +1043110 +1043111 +1043112 +1043124 +1043136 +1043233 +1043234 +1043235 +1043236 +1043237 +1043238 +1043400 +1043402 +1043404 +1043406 +1043408 +1043410 +1043412 +1043426 +1043427 +1043474 +1043475 +1043476 +1043518 +1043520 +1043521 +1043522 +1043523 +1043524 +1043525 +1043526 +1043527 +1043529 +1043530 +1043531 +1043532 +1043568 +1043569 +1043574 +1043575 +1043578 +1043579 +1043580 +104374 +1043768 +1043785 +1043834 +104389 +1043910 +1043913 +1043914 +1043990 +1043992 +1044019 +1044149 +1044193 +1044281 +1044331 +1044332 +1044456 +1045576 +10456 +1045620 +1045776 +1045783 +1045877 +1046001 +1046002 +1046003 +1046004 +1046005 +1046006 +1046007 +1046008 +1046009 +1046010 +1046011 +1046012 +1046013 +1046014 +1046015 +1046016 +1046018 +1046019 +1046020 +1046022 +1046023 +1046026 +1046027 +1046028 +1046029 +1046092 +1046125 +1046126 +1046127 +1046172 +1046173 +1046334 +1046337 +1046387 +1046440 +1046455 +1046511 +1046630 +1046742 +1046743 +1046744 +1046745 +1046746 +1046747 +1046748 +1046749 +1046750 +1046751 +1046754 +1046755 +1046756 +1046757 +1046758 +1046770 +1046771 +1046772 +1046773 +1046779 +1046781 +1046782 +1046783 +1046784 +1046793 +1046794 +1046795 +1046796 +1046797 +1046801 +1046802 +1046803 +1046804 +1046805 +1046811 +1046812 +1046813 +1046814 +1046815 +1046820 +1046821 +1046822 +1046823 +1046824 +1046834 +1046835 +1046836 +1046837 +1046838 +1046900 +1046908 +1046909 +1046910 +1046911 +1046912 +1046913 +1046914 +1046961 +1046963 +1046965 +1046967 +1046968 +1046970 +1046972 +1046973 +1046977 +1046978 +1046980 +1046981 +1046983 +1046985 +1046986 +1046988 +1046989 +1046991 +1046994 +1046995 +1046998 +1046999 +1047002 +1047005 +1047006 +1047007 +1047009 +1047011 +1047013 +1047017 +1047022 +1047023 +1047025 +1047026 +1047128 +1047129 +1047130 +1047178 +1047179 +1047180 +1047181 +1047182 +1047402 +1047403 +1047543 +1047574 +1047575 +1047605 +1047606 +1047607 +1047608 +1047609 +1047610 +1047711 +1047716 +1047800 +1048043 +1048208 +1048209 +1048213 +1048214 +1048215 +1048217 +1048218 +1048222 +1048223 +1048224 +1048227 +1048228 +1048231 +1048232 +1048242 +1048243 +1048244 +1048245 +1048246 +1048247 +1048255 +1048285 +1048287 +1048329 +1048444 +1048515 +1048516 +1048517 +1048519 +1048520 +1048521 +1048539 +1048540 +1048541 +1048542 +1048547 +1048574 +1048575 +1048576 +1048642 +1048643 +1048644 +1048683 +1048766 +1048767 +1048827 +1048828 +1048829 +1048830 +1048867 +1048868 +1048870 +1048871 +1048873 +1048881 +1048882 +1048883 +1048884 +1048891 +1048892 +1048907 +1048908 +1048909 +1048936 +1048937 +1048942 +1048943 +1048949 +1048953 +1049008 +1049009 +1049010 +1049011 +1049033 +1049034 +1049035 +1049037 +1049040 +1049041 +1049044 +1049048 +1049049 +1049058 +1049116 +1049117 +1049118 +1049119 +1049120 +1049166 +1049167 +1049168 +1049181 +1049184 +1049192 +1049196 +1049209 +1049253 +1049322 +1049391 +1049392 +1049393 +1049395 +1049398 +1049458 +1049504 +1049505 +1049508 +1049509 +1049512 +1049513 +1049516 +1049517 +1049520 +1049521 +1049528 +1049531 +1049540 +1049542 +1049544 +1049545 +1049546 +1049550 +1049560 +1049581 +1049582 +1049583 +1049584 +1049585 +1049586 +1049587 +1049601 +1049603 +1049607 +1049628 +1049629 +1049630 +1049650 +1049658 +1049805 +1049822 +1049835 +1049868 +1049869 +1049870 +1049871 +1049872 +1049873 +1049874 +1049875 +1049876 +1049877 +1049883 +1049884 +1049885 +1049929 +1049932 +1049933 +1049936 +1049940 +1049941 +1049942 +1049944 +1049945 +10500 +1050082 +1050083 +1050084 +1050085 +10501 +1050104 +10502 +1050208 +1050225 +1050226 +1050227 +1050235 +1050236 +1050239 +1050240 +1050245 +1050266 +1050267 +10504 +1050504 +1050516 +10506 +1050627 +10507 +1050828 +1050830 +1050831 +1050832 +1050833 +1050834 +1050988 +1050989 +1050990 +1050991 +1050992 +10511 +10512 +1051253 +10513 +1051310 +10514 +1051467 +105149 +10515 +105151 +1051569 +10516 +1051688 +10517 +105174 +105179 +105181 +105185 +105186 +105187 +105189 +10519 +105190 +105191 +105194 +10520 +105211 +105212 +105213 +105216 +10522 +105222 +105224 +1052250 +1052254 +1052255 +1052287 +1052288 +1052289 +1052290 +1052291 +1052292 +10523 +10524 +10525 +105268 +105269 +10527 +10528 +105286 +105288 +105289 +10529 +105290 +105291 +105292 +105293 +105294 +10530 +10531 +10532 +10533 +10534 +10538 +105385 +105387 +105395 +105398 +105399 +105405 +105408 +105412 +105413 +105423 +105435 +105436 +105437 +105442 +105443 +105447 +105452 +105457 +105458 +105459 +105460 +105475 +105477 +105498 +105500 +1055413 +1055414 +1055498 +1055499 +10555 +1055503 +1055532 +1055533 +1055534 +1055535 +1055536 +1055537 +1055538 +1055539 +1055555 +1055556 +1055557 +1055558 +1055560 +1055561 +1055562 +1055568 +105565 +105566 +105568 +10557 +105575 +105576 +105580 +105581 +105582 +105600 +105601 +105602 +105604 +105605 +105606 +105607 +105608 +105609 +105614 +105616 +105617 +105619 +105620 +105623 +105624 +10563 +105633 +105638 +105639 +105640 +1056773 +105724 +105726 +105727 +105728 +105730 +105731 +105733 +105734 +105736 +105737 +105738 +105739 +10574 +105740 +105741 +105742 +105743 +105746 +105757 +105758 +105759 +105760 +105761 +105762 +105763 +105765 +105766 +105767 +105769 +105770 +105771 +105774 +105775 +105776 +105777 +105778 +105779 +105780 +105781 +105782 +105783 +105799 +105814 +105817 +105820 +10586 +1058683 +1058684 +1058685 +1058686 +1058687 +1058740 +1058953 +1058954 +1058955 +1058956 +1058957 +105896 +1058966 +1058967 +1058968 +105897 +1058972 +1058973 +1058974 +1058979 +105898 +1058980 +1058981 +1058982 +105900 +105901 +105908 +105909 +105910 +105911 +1059123 +1059127 +1059128 +1059129 +1059130 +1059131 +1059132 +1059133 +1059134 +1059142 +1059144 +1059145 +1059147 +1059148 +1059150 +1059153 +1059155 +1059156 +1059158 +1059161 +1059162 +1059165 +1059167 +1059168 +1059172 +1059175 +1059176 +1059177 +1059178 +1059180 +1059182 +1059183 +1059187 +1059188 +1059189 +1059190 +1059191 +1059192 +1059193 +1059194 +1059196 +1059199 +1059200 +1059201 +1059203 +1059205 +1059206 +1059207 +1059208 +1059209 +1059210 +1059211 +1059212 +1059213 +1059216 +1059217 +105922 +105923 +105924 +105925 +1059279 +1059280 +1059281 +1059283 +1059284 +1059285 +1059286 +1059288 +1059290 +1059291 +1059292 +1059293 +1059294 +1059297 +1059298 +105930 +1059300 +1059301 +1059302 +1059303 +1059306 +1059307 +1059308 +1059311 +1059312 +1059313 +1059314 +1059316 +1059317 +105935 +105954 +1059552 +1059553 +1059554 +1059556 +1059557 +1059559 +1059560 +1059562 +1059563 +1059564 +1059566 +1059567 +1059568 +1059570 +1059571 +1059572 +1059575 +1059576 +1059578 +1059580 +1059582 +1059585 +1059586 +1059600 +1059601 +1059602 +105963 +1059638 +1059655 +1059659 +1059772 +1059774 +1059776 +1059778 +1059780 +1059782 +1059784 +1059786 +1059788 +1059790 +1059794 +1059796 +1059797 +1059803 +105982 +105984 +105987 +105989 +105994 +1059980 +1059981 +1059982 +1059983 +1059984 +1059985 +1059986 +1059987 +1059988 +1059989 +1059990 +1059991 +1059992 +1059993 +1059994 +1059995 +1059996 +1059997 +1059998 +1059999 +106000 +1060000 +1060001 +1060002 +1060003 +1060004 +1060005 +1060006 +1060007 +1060008 +1060009 +106001 +1060010 +1060011 +1060012 +1060013 +1060014 +1060015 +1060016 +1060017 +1060018 +1060019 +106002 +1060020 +1060021 +1060022 +1060023 +1060024 +1060025 +1060026 +1060027 +1060028 +1060029 +1060030 +1060031 +1060032 +1060033 +1060034 +1060035 +1060036 +1060037 +1060038 +1060039 +1060040 +1060041 +1060042 +1060044 +1060045 +1060046 +1060047 +1060048 +1060049 +1060050 +1060051 +1060052 +1060053 +1060054 +1060055 +1060056 +1060057 +1060058 +1060059 +106006 +1060060 +1060061 +1060062 +1060063 +1060064 +1060065 +1060066 +1060067 +1060068 +1060069 +106020 +106024 +1060255 +1060256 +1060257 +106026 +1060260 +1060265 +1060276 +1060277 +1060278 +106029 +1060304 +1060305 +1060308 +1060309 +1060314 +1060315 +1060318 +1060319 +1060326 +1060328 +1060329 +1060330 +1060331 +1060332 +1060333 +1060334 +1060346 +1060349 +1060350 +1060351 +1060352 +106040 +106043 +106044 +1060442 +1060446 +1060448 +1060449 +1060451 +1060466 +106050 +106051 +106053 +106055 +1060564 +1060565 +1060566 +1060567 +1060569 +106057 +1060571 +1060572 +1060573 +1060574 +1060575 +1060577 +1060578 +1060579 +106058 +1060582 +1060583 +1060584 +1060587 +1060588 +1060592 +1060593 +1060596 +1060597 +1060598 +1060605 +106061 +1060617 +106062 +106063 +106064 +106065 +106066 +106067 +1060679 +106068 +1060681 +1060682 +1060683 +1060684 +1060685 +1060686 +1060687 +1060688 +1060689 +106069 +1060690 +1060691 +1060692 +1060693 +1060694 +106070 +1060703 +1060707 +1060708 +1060709 +106071 +1060710 +1060711 +1060712 +1060713 +1060714 +1060715 +106072 +106073 +106074 +106075 +106076 +106077 +106078 +1060785 +106079 +1060797 +1060798 +106080 +106081 +106082 +1060862 +1060863 +1060953 +1060962 +1060972 +1060974 +1061127 +1061128 +106137 +1061633 +1061638 +1061639 +1061640 +1061643 +1061648 +1061650 +1061655 +1061656 +1061663 +1061666 +1061668 +1061669 +106167 +1061670 +1061671 +1061672 +1061674 +1061675 +1061676 +1061677 +1061678 +1061679 +106168 +1061680 +1061681 +106169 +106170 +106171 +1061713 +1061714 +1061716 +1061717 +1061718 +106172 +106173 +106174 +1061746 +1061747 +1061748 +106175 +1061750 +106176 +106177 +106178 +1061785 +1061786 +1061789 +106179 +1061796 +1061797 +106180 +106181 +106182 +106183 +106184 +106185 +106186 +1061888 +1061889 +1061890 +1061899 +1061900 +1061901 +1061904 +1061905 +1061906 +1061910 +1061912 +1061913 +1061914 +1061915 +1061922 +1061927 +1061928 +1061929 +1061933 +1061934 +1061935 +1061938 +1061939 +1061940 +1061943 +1061944 +1061945 +1061948 +1061949 +1061950 +1061951 +1061953 +1061954 +1061955 +1061956 +1061957 +1061958 +106205 +106206 +106207 +106208 +106209 +1062101 +1062102 +1062103 +1062104 +106212 +1062152 +1062153 +1062154 +1062155 +1062156 +106220 +1062204 +106221 +106222 +106224 +106225 +106226 +106230 +106231 +106240 +106241 +106245 +106246 +106248 +106249 +106250 +1062633 +1062636 +1062648 +1062652 +1062659 +106268 +106269 +106270 +106271 +106272 +106273 +106274 +106275 +106276 +106277 +106278 +1062783 +1062784 +106279 +106281 +106282 +1062826 +1062827 +1062828 +1062831 +106288 +106289 +106290 +106291 +106292 +106293 +106294 +1062941 +1062942 +1062943 +1062944 +1062945 +1062946 +1062947 +1062948 +1062949 +106295 +106296 +106305 +106306 +106307 +106308 +106309 +106310 +1063125 +1063126 +1063127 +1063128 +1063130 +1063131 +1063149 +1063157 +1063167 +1063184 +1063188 +1063191 +1063198 +1063201 +1063203 +106321 +1063336 +1063337 +1063338 +1063340 +1063341 +1063342 +1063343 +1063346 +1063347 +1063348 +1063349 +106335 +1063352 +1063353 +1063354 +1063355 +1063359 +1063360 +1063361 +1063379 +1063382 +1063387 +1063393 +1063396 +1063397 +1063401 +1063405 +1063427 +1063432 +1063434 +1063568 +1063572 +1063573 +1063576 +1063577 +1063578 +1063579 +1063581 +1063589 +1063630 +1063784 +1063835 +1063851 +1063852 +1063858 +1063928 +1063929 +1063930 +1063931 +1063932 +1063934 +1063935 +1063936 +1063937 +1063938 +1063939 +1063940 +1063941 +1063942 +1063943 +1063944 +1063945 +1063946 +1063947 +1063948 +1063949 +1063950 +1063951 +1063952 +1063953 +1063954 +1063956 +1063957 +1063958 +1063960 +1063961 +1063962 +1063963 +1063964 +1063965 +1063966 +1063967 +1064056 +1064057 +1064058 +1064059 +1064060 +1064061 +1064062 +1064063 +1064064 +1064065 +1064067 +1064112 +1064189 +1064190 +1064191 +1064192 +1064193 +1064194 +1064195 +1064196 +1064197 +1064198 +1064199 +1064200 +1064201 +1064202 +1064203 +1064204 +1064205 +1064206 +1064207 +1064208 +1064209 +1064210 +1064211 +1064212 +1064213 +1064251 +1064254 +1064255 +1064256 +1064257 +1064258 +1064259 +1064301 +1064302 +1064305 +1064306 +1064309 +1064310 +1064311 +1064314 +1064315 +1064316 +1064319 +1064321 +1064322 +1064323 +1064324 +1064325 +1064326 +1064327 +1064328 +1064353 +1064354 +1064355 +1064356 +1064366 +1064371 +1064376 +1064377 +1064378 +1064387 +1064388 +1064392 +1064393 +1064394 +1064397 +10644 +1064401 +1064406 +1064408 +1064409 +1064410 +1064411 +1064412 +1064418 +1064431 +1064432 +1064441 +1064442 +1064447 +1064448 +1064471 +1064480 +1064483 +1064486 +1064495 +1064498 +1064500 +1064501 +1064502 +1064504 +1064505 +1064506 +1064507 +1064508 +1064509 +1064512 +1064513 +1064514 +1064518 +1064519 +1064520 +1064523 +1064526 +1064527 +1064528 +1064531 +1064533 +1064534 +1064535 +1064536 +1064537 +1064538 +1064569 +1064570 +1064571 +1064572 +1064573 +1064577 +1064578 +1064580 +1064594 +1064599 +1064625 +1064680 +1064783 +1064784 +1064785 +1064786 +1064787 +1064901 +1064905 +1064917 +1064918 +1064919 +1064920 +1064921 +1064928 +1064929 +1064930 +1064935 +1064936 +1064937 +1064938 +1064940 +1064943 +1064944 +1064945 +1064946 +1064976 +1064977 +1064978 +1064995 +1064996 +1064998 +1064999 +1065007 +1065008 +1065009 +106501 +1065010 +106502 +106503 +106504 +1065059 +1065065 +1065066 +1065067 +1065068 +1065069 +106510 +1065133 +1065142 +1065169 +1065170 +1065171 +1065175 +1065176 +1065177 +1065180 +1065181 +1065182 +1065185 +1065202 +1065203 +1065204 +1065205 +1065206 +1065208 +1065209 +1065215 +1065216 +1065217 +1065220 +1065222 +1065225 +1065226 +106525 +1065256 +1065258 +1065259 +106526 +106529 +106530 +106538 +1065394 +1065397 +1065398 +1065399 +10654 +1065400 +1065401 +1065405 +1065408 +1065413 +1065414 +1065416 +106542 +1065423 +1065424 +1065425 +1065427 +1065428 +1065430 +1065433 +1065434 +1065460 +1065468 +1065470 +106595 +106596 +106597 +106598 +106599 +106600 +106601 +106602 +106603 +106604 +106605 +106606 +106607 +106608 +106609 +106610 +106611 +106612 +106613 +106614 +106615 +106616 +106617 +1066517 +1066518 +1066588 +1066589 +1066590 +1066610 +1066622 +1066623 +1066653 +1066661 +1066670 +1066671 +1066672 +1066673 +1066674 +1066676 +1066680 +1066681 +1066682 +1066683 +1066684 +1066685 +1066686 +1066687 +1066688 +1066689 +1066690 +1066691 +1066692 +1066693 +1066694 +1066695 +1066698 +1066699 +1066701 +1066703 +1066704 +1066705 +1066706 +1066710 +1066711 +1066712 +1066824 +1066825 +1066839 +1066840 +1066843 +1066844 +1066847 +1066848 +1066851 +1066852 +1066855 +1066858 +1066859 +1066885 +1066886 +1066887 +1066888 +1066889 +1066890 +1066891 +1066892 +1066893 +1066894 +1066895 +1066906 +1066907 +1066908 +1066941 +1066970 +1066971 +1066972 +1066975 +1066976 +1066980 +1066983 +1066984 +1066985 +1066986 +1066989 +1066990 +1066993 +1066994 +1066997 +1066998 +1066999 +1067000 +1067001 +1067002 +1067003 +1067022 +1067024 +1067040 +1067045 +1067048 +1067073 +1067076 +1067093 +1067114 +1067148 +1067181 +1067182 +1067183 +1067184 +1067185 +1067186 +1067187 +1067188 +1067189 +1067190 +1067191 +1067192 +1067196 +1067197 +1067198 +1067202 +1067203 +1067204 +1067208 +1067211 +1067212 +1067213 +1067214 +1067216 +1067217 +1067220 +1067221 +1067222 +1067223 +1067224 +1067241 +1067242 +1067243 +1067244 +1067245 +1067251 +1067356 +1067357 +1067358 +1067461 +1067462 +1067465 +1067466 +1067467 +1067468 +1067469 +1067470 +1067475 +1067476 +1067482 +1067493 +1067571 +106758 +10676 +1067601 +1067602 +1067607 +1067615 +1067678 +1067679 +1067680 +1067681 +1067682 +1067683 +1067684 +1067685 +1067686 +1067687 +1067688 +1067689 +1067690 +1067692 +1067693 +1067694 +1067695 +1067696 +1067697 +1067698 +1067699 +1067700 +1067702 +1067729 +10678 +1067802 +1067803 +1067808 +1067886 +1067887 +1067888 +1067901 +1067945 +1067946 +1067947 +1067948 +1067949 +1067950 +1067951 +1067952 +1067953 +1067954 +1068121 +1068122 +1068123 +1068124 +1068125 +1068126 +1068146 +1068151 +1068152 +1068153 +1068154 +1068155 +1068156 +1068157 +1068159 +1068172 +1068175 +1068177 +1068178 +1068179 +1068180 +1068181 +10682 +1068269 +1068271 +1068272 +1068289 +1068291 +1068304 +1068305 +1068307 +1068310 +1068311 +1068313 +1068314 +1068315 +1068316 +1068317 +1068319 +1068320 +1068329 +1068374 +1068404 +1068405 +1068406 +1068407 +1068408 +1068423 +1068424 +1068425 +1068426 +1068441 +1068478 +1068479 +1068480 +1068483 +1068484 +1068485 +1068488 +1068489 +1068491 +1068492 +1068493 +1068494 +1068495 +1068496 +1068497 +1068498 +1068499 +1068500 +1068501 +1068507 +1068508 +1068509 +1068510 +1068511 +1068512 +1068513 +1068514 +1068515 +1068516 +1068517 +1068518 +1068519 +1068520 +1068521 +1068522 +1068523 +1068524 +1068525 +1068526 +1068527 +1068528 +1068529 +1068530 +1068531 +1068532 +1068533 +1068534 +1068536 +1068537 +1068573 +1068574 +1068576 +1068582 +1068583 +1068584 +1068585 +1068586 +1068587 +1068588 +1068589 +1068599 +1068600 +1068601 +1068602 +1068603 +1068656 +1068657 +1068658 +1068687 +1068692 +1068703 +1068704 +1068963 +1068982 +1068983 +1068984 +1068989 +1068990 +1068992 +1069087 +1069088 +1069090 +1069091 +1069092 +1069093 +1069094 +1069095 +1069096 +1069097 +1069137 +1069159 +1069160 +1069161 +1069162 +1069171 +1069172 +1069194 +1069195 +1069246 +1069330 +1069331 +1069336 +1069339 +1069341 +1069342 +1069349 +1069350 +1069416 +1069417 +1069418 +1069419 +1069435 +1069439 +1069442 +1069445 +1069448 +1069449 +1069451 +1069452 +1069453 +1069454 +1069455 +1069456 +1069470 +1069471 +1069475 +1069476 +1069487 +1069488 +1069520 +1069521 +1069531 +1069554 +1069555 +1069559 +1069560 +1069563 +1069564 +1069567 +1069568 +1069571 +1069572 +1069574 +1069575 +1069576 +1069577 +1069578 +1069579 +106965 +106966 +1069669 +1069672 +1069675 +1069678 +1069679 +1069682 +1069684 +1069685 +1069686 +1069687 +1069688 +1069689 +10697 +1069709 +1069751 +1069754 +1069763 +1069764 +1069767 +1069768 +1069769 +1069770 +1069771 +1069772 +1069780 +10698 +106982 +106983 +106984 +106985 +1069853 +1069855 +1069856 +106986 +1069865 +1069866 +1069867 +1069868 +1069869 +106987 +1069873 +1069874 +1069875 +1069876 +1069877 +1069879 +106988 +1069880 +1069881 +1069882 +1069883 +1069884 +1069885 +1069886 +1069887 +1069888 +106989 +1069893 +1069945 +107000 +107001 +107002 +107003 +107004 +107005 +107006 +107007 +107010 +107011 +107012 +107013 +107014 +1070147 +1070148 +1070149 +107015 +1070150 +107018 +107019 +107020 +107021 +1070259 +1070267 +1070268 +1070276 +107030 +107031 +107032 +1070328 +1070329 +107033 +1070330 +1070331 +1070339 +107034 +107035 +1070352 +107036 +1070362 +1070366 +107037 +1070370 +1070371 +1070372 +1070373 +1070375 +1070378 +1070379 +107038 +1070380 +1070381 +1070383 +1070387 +107039 +1070391 +1070392 +1070393 +1070396 +1070397 +1070398 +1070399 +107040 +1070400 +107041 +107042 +107043 +1070431 +1070432 +1070435 +1070436 +1070439 +107044 +1070442 +1070443 +1070444 +1070447 +107045 +107046 +1070465 +1070466 +1070467 +1070468 +1070469 +107047 +1070470 +107048 +107049 +1070490 +1070491 +107050 +1070502 +1070503 +1070507 +1070508 +107051 +1070511 +1070512 +1070515 +1070516 +1070518 +107052 +1070521 +1070529 +107053 +1070530 +1070531 +1070532 +1070533 +1070534 +1070546 +1070553 +1070554 +1070589 +1070602 +1070635 +1070636 +107064 +107065 +107066 +1070699 +1070700 +1070704 +1070707 +1070710 +1070713 +1070715 +1070716 +1070717 +1070718 +1070719 +1070722 +1070918 +1070919 +1070967 +1070968 +1070969 +1070970 +1070971 +107098 +107100 +1071000 +1071001 +1071005 +1071006 +107101 +1071010 +1071011 +1071012 +1071015 +1071016 +1071017 +107102 +1071020 +1071022 +1071023 +1071024 +1071025 +1071026 +1071027 +1071028 +107105 +1071068 +1071069 +1071070 +1071071 +1071072 +1071074 +1071075 +1071076 +1071077 +1071090 +1071091 +1071092 +1071093 +107114 +107116 +1071189 +1071202 +1071203 +1071205 +1071206 +1071346 +1071347 +1071351 +1071352 +1071354 +1071356 +1071357 +1071358 +1071359 +1071376 +1071401 +1071402 +1071403 +1071404 +1071405 +1071406 +1071407 +1071408 +1071409 +1071410 +1071411 +1071412 +1071414 +1071415 +1071416 +1071417 +1071418 +1071419 +1071420 +1071426 +1071437 +1071439 +1071440 +107151 +107152 +107153 +107154 +107155 +1071559 +107156 +107159 +107161 +107162 +107164 +1071658 +1071659 +1071661 +107167 +1071677 +1071678 +1071681 +107169 +1071691 +1071692 +1071697 +107170 +1071708 +1071709 +107171 +1071711 +1071714 +1071717 +1071722 +1071725 +107174 +1071746 +1071748 +107175 +107176 +107177 +1071774 +1071775 +107178 +107179 +1071792 +1071796 +1071801 +1071814 +1071815 +1071821 +1071864 +1071868 +1071869 +1071870 +1071871 +1071872 +1071873 +1071874 +1071875 +1071876 +1071877 +1071878 +1071880 +1071882 +1071883 +1071884 +1071887 +1071888 +1071889 +1071891 +1071892 +1071894 +1071895 +1071927 +107194 +107195 +107196 +107197 +107198 +107199 +107200 +1072005 +1072006 +1072008 +107201 +1072010 +107202 +1072020 +1072022 +1072026 +107203 +107204 +1072043 +107205 +1072067 +1072075 +1072080 +107210 +1072147 +1072153 +107216 +1072161 +107217 +107218 +1072187 +1072188 +1072189 +107219 +1072190 +1072191 +1072192 +1072194 +1072195 +1072196 +1072198 +1072199 +107220 +1072200 +1072201 +1072202 +1072203 +1072204 +1072205 +1072206 +107221 +107223 +1072232 +1072233 +1072236 +1072237 +1072238 +107224 +1072241 +1072242 +1072243 +1072246 +1072247 +1072248 +107225 +1072251 +1072252 +107226 +1072266 +1072267 +1072268 +1072271 +1072272 +1072286 +1072310 +1072313 +1072329 +1072331 +1072332 +1072333 +1072334 +1072335 +1072336 +1072337 +1072374 +1072376 +1072379 +1072436 +1072458 +1072459 +107246 +1072460 +1072461 +1072462 +1072463 +1072464 +107247 +107248 +1072484 +1072485 +1072486 +107250 +1072555 +1072557 +1072560 +1072561 +1072562 +1072563 +1072564 +1072565 +1072566 +1072568 +107257 +1072619 +1072622 +1072639 +1072748 +1072749 +1072750 +1072760 +1072761 +1072762 +1072766 +1072782 +1072794 +1072795 +1072796 +1072798 +1072799 +1072800 +1072801 +1072810 +1072813 +1072818 +1072820 +1072821 +1072828 +107283 +1072841 +1072856 +1072857 +1072863 +1072864 +1072869 +1072871 +1072872 +1072874 +1072877 +1072880 +1072881 +1072882 +1072884 +1072885 +1072895 +10729 +1072947 +1072948 +1072959 +1072979 +1072989 +107299 +1072993 +1072996 +1072999 +10730 +107300 +1073002 +1073004 +1073005 +1073006 +1073008 +1073009 +1073010 +1073011 +1073012 +1073013 +1073014 +1073015 +1073016 +107302 +107303 +1073032 +1073034 +1073035 +1073037 +107304 +1073061 +1073063 +1073066 +1073082 +107309 +1073091 +10731 +1073119 +1073120 +1073121 +1073122 +1073123 +1073125 +1073136 +1073137 +1073139 +1073142 +1073143 +1073146 +1073147 +1073150 +1073151 +1073154 +1073155 +1073156 +1073158 +1073159 +1073160 +1073161 +1073162 +1073167 +1073177 +1073192 +10732 +1073236 +1073237 +1073240 +10733 +1073326 +1073332 +1073334 +1073335 +1073336 +1073337 +107334 +1073344 +1073346 +1073347 +1073350 +1073353 +1073354 +107336 +1073360 +1073362 +1073365 +1073369 +107337 +1073373 +1073375 +107338 +10734 +1073433 +1073434 +1073435 +1073436 +1073439 +1073440 +107350 +107351 +107352 +107353 +107354 +107355 +107356 +107357 +107358 +107359 +1073592 +107360 +107361 +107362 +107363 +1073631 +1073632 +1073633 +1073635 +107364 +1073642 +107365 +107366 +107367 +1073676 +107368 +107369 +1073690 +1073691 +1073692 +10737 +107370 +1073701 +107371 +1073711 +1073712 +1073719 +107372 +107373 +107374 +1073749 +107375 +1073752 +107376 +107377 +107378 +1073783 +107379 +107380 +1073802 +1073803 +107381 +1073813 +107382 +107383 +107384 +1073843 +107385 +1073850 +107386 +107387 +107388 +107389 +107390 +107391 +107392 +107393 +107394 +107395 +107396 +107397 +107398 +107399 +10740 +107400 +107401 +107402 +107403 +107404 +1074045 +1074046 +1074048 +107405 +1074051 +1074052 +1074054 +1074059 +107406 +1074061 +1074067 +107407 +1074071 +107408 +107409 +10741 +107410 +107411 +107412 +107413 +107414 +1074146 +1074149 +107415 +107416 +107417 +107418 +1074185 +1074186 +1074189 +107419 +1074191 +1074199 +10742 +107420 +1074202 +1074204 +1074205 +1074206 +1074208 +1074209 +107421 +1074211 +1074212 +1074213 +1074215 +1074216 +1074219 +107422 +107423 +1074230 +1074232 +1074238 +107424 +107425 +107426 +107427 +107428 +107429 +10743 +107430 +107431 +107432 +107433 +107434 +1074395 +1074396 +1074397 +1074398 +1074399 +1074400 +1074401 +1074402 +1074403 +1074404 +1074405 +1074406 +1074407 +1074408 +1074409 +1074410 +1074411 +1074413 +1074414 +1074415 +1074416 +1074470 +1074471 +1074472 +1074475 +1074476 +1074479 +1074480 +1074481 +1074484 +1074485 +1074486 +1074504 +1074505 +1074514 +1074515 +1074516 +1074517 +1074518 +1074527 +1074529 +1074558 +1074592 +10746 +1074602 +107461 +107463 +107464 +1074640 +1074641 +1074644 +1074648 +1074649 +107465 +1074651 +107466 +107467 +1074670 +1074677 +10747 +107472 +107477 +107479 +10748 +107482 +10749 +10750 +1075072 +1075073 +1075074 +1075079 +1075080 +1075081 +1075082 +1075083 +1075084 +1075086 +1075087 +1075096 +1075097 +1075098 +10751 +107514 +1075151 +1075157 +1075196 +1075235 +1075236 +1075238 +1075239 +107524 +1075244 +1075245 +1075246 +107525 +1075253 +1075258 +107526 +1075261 +1075263 +1075264 +1075267 +1075268 +107527 +1075270 +1075271 +1075273 +1075275 +107528 +1075280 +107529 +10753 +107530 +107531 +107532 +107537 +107538 +1075386 +107539 +1075392 +1075395 +1075396 +1075397 +10754 +1075401 +1075402 +1075403 +1075408 +1075409 +107541 +1075411 +1075412 +1075415 +1075416 +1075417 +1075420 +1075421 +1075422 +1075425 +1075426 +1075427 +1075430 +1075431 +1075433 +1075434 +1075435 +1075436 +1075437 +1075438 +1075439 +107544 +1075440 +1075441 +1075442 +107545 +107546 +107550 +1075513 +1075514 +1075515 +1075516 +107553 +1075547 +1075587 +1075590 +1075592 +10756 +1075688 +1075689 +10757 +1075715 +1075716 +1075717 +1075722 +1075723 +1075724 +1075727 +1075728 +1075729 +1075774 +1075830 +1075833 +1075834 +1075835 +1075846 +1075847 +10759 +1075952 +1075954 +1076023 +1076024 +1076046 +1076063 +1076142 +1076162 +1076220 +1076348 +1076349 +1076421 +1076422 +1076423 +1076516 +1076517 +1076547 +1076560 +1076564 +1076566 +107661 +107663 +1076634 +1076635 +1076692 +1076781 +1076782 +1076783 +1076784 +1076785 +1076786 +1076787 +1076788 +1076789 +1076790 +1076791 +1076792 +1076793 +1076794 +1076795 +1076796 +1076797 +1076798 +1076799 +1076800 +1076801 +1076841 +1076842 +1076849 +1076850 +1076853 +1076854 +1076856 +1076857 +1076858 +1076859 +1076860 +1076861 +1076862 +1076909 +1076910 +1076911 +1076914 +1076915 +1076916 +1076919 +1076920 +1076921 +1076923 +1076925 +1076927 +1076928 +1076934 +1076935 +1076936 +1076937 +1076938 +1077021 +1077049 +1077058 +1077071 +1077083 +1077091 +1077099 +1077124 +1077127 +1077201 +10773 +1077601 +1077602 +1077603 +1077606 +1077607 +1077608 +1077611 +1077612 +1077613 +1077616 +1077617 +1077618 +1077624 +1077625 +1077626 +1077631 +1077632 +1077633 +1077634 +1077635 +1077636 +1077759 +1077760 +1077764 +1077765 +1077768 +1077769 +1077772 +1077773 +1077776 +1077777 +1077780 +1077781 +1077784 +1077785 +1077786 +1077788 +1077789 +1077790 +1077792 +1077800 +1077801 +1077802 +1077803 +1077804 +1077813 +1077814 +1077824 +1077930 +1077931 +1077932 +1077933 +1077934 +1077935 +1077936 +1077937 +1077938 +1077939 +1077940 +1077941 +1077942 +1077943 +1077944 +1077945 +1077946 +1077947 +1077948 +1077949 +1077950 +1078076 +1078077 +1078078 +1078079 +1078080 +1078081 +1078095 +1078137 +1078138 +1078205 +1078207 +107822 +107823 +1078239 +1078240 +107825 +107826 +1078268 +107827 +1078270 +1078271 +1078279 +107828 +1078281 +1078282 +1078283 +1078284 +1078285 +1078286 +1078287 +1078288 +1078289 +107829 +1078290 +1078291 +1078292 +1078293 +1078294 +1078295 +107830 +1078303 +1078308 +107831 +107832 +107833 +107834 +107842 +107843 +1078434 +1078435 +1078436 +107844 +107845 +10786 +1078612 +107866 +107867 +107868 +1078680 +1078681 +1078682 +1078684 +1078685 +1078686 +1078688 +1078689 +107869 +1078697 +10787 +107870 +1078746 +1078747 +1078755 +107876 +1078770 +1078771 +1078775 +1078776 +1078779 +1078782 +1078785 +1078786 +1078789 +1078790 +1078793 +1078796 +1078797 +10788 +1078800 +1078801 +1078804 +1078805 +1078807 +1078808 +1078809 +1078810 +1078811 +1078812 +1078813 +1078814 +1078815 +1078816 +1078817 +1078874 +107891 +1078959 +1078960 +1078961 +1078962 +1078964 +1078965 +1078966 +1078967 +1079002 +1079003 +1079004 +1079005 +1079006 +1079015 +1079045 +1079063 +1079064 +1079065 +1079066 +1079067 +1079068 +1079069 +1079081 +1079082 +1079083 +1079142 +1079184 +1079223 +1079228 +1079234 +1079235 +1079524 +1079525 +107953 +107954 +1079542 +107955 +107957 +10796 +1079635 +1079636 +1079639 +107964 +1079640 +1079643 +1079644 +1079647 +1079648 +1079651 +1079652 +1079655 +1079656 +1079657 +1079659 +1079660 +1079672 +1079682 +1079683 +1079684 +1079685 +1079686 +1079687 +1079689 +1079737 +1079746 +1079747 +107975 +1079781 +1079782 +1079783 +1079784 +1079785 +1079787 +1079788 +1079789 +1079790 +1079822 +1079824 +1079826 +1079838 +1079874 +1079875 +1079878 +1079879 +1079882 +1079883 +1079886 +1079887 +1079894 +1079895 +1079896 +1079897 +1079898 +1079942 +1079943 +1079945 +1080048 +108005 +108007 +108009 +108016 +108018 +108020 +108022 +108024 +108025 +108026 +108027 +108028 +108029 +108030 +108031 +108032 +1080338 +1080339 +108034 +108035 +1080354 +1080355 +108036 +108037 +1080375 +108038 +1080409 +1080424 +1080452 +1080467 +1080473 +1080474 +1080475 +1080476 +108049 +108051 +108053 +108055 +108059 +108071 +108073 +108075 +108077 +1080776 +1080778 +108079 +1080790 +108081 +108084 +108086 +108087 +108089 +108091 +108093 +108114 +108116 +108118 +108124 +108126 +108128 +108130 +108132 +108134 +1081353 +1081355 +1081356 +1081357 +1081383 +1081384 +1081387 +1081388 +1081389 +1081401 +1081402 +1081403 +1081405 +108142 +1081423 +1081425 +1081426 +1081427 +108143 +1081435 +108144 +1081443 +1081444 +1081445 +108145 +10815 +1081520 +1081521 +1081522 +1081523 +1081524 +1081525 +1081526 +1081527 +1081528 +1081529 +1081530 +1081531 +1081532 +1081533 +1081534 +1081535 +1081536 +1081537 +1081538 +1081541 +1081555 +1081561 +1081567 +1081569 +1081571 +1081573 +1081574 +1081575 +1081576 +1081577 +1081579 +1081580 +1081583 +1081609 +1081613 +1081614 +1081615 +1081616 +1081617 +108162 +1081620 +1081621 +1081624 +1081641 +1081644 +1081645 +1081647 +1081648 +1081649 +1081650 +1081651 +1081652 +108166 +1081690 +1081691 +108173 +108174 +108175 +108182 +1081858 +1081859 +1081860 +1081861 +1081873 +1081876 +1081877 +1081883 +1081884 +1081885 +1081886 +1081887 +108197 +10820 +1082002 +1082003 +1082004 +1082005 +108203 +108204 +108205 +108206 +1082066 +1082067 +1082101 +1082103 +1082161 +1082163 +1082164 +1082165 +1082186 +1082187 +108223 +1082237 +1082238 +108224 +1082259 +1082276 +1082277 +1082279 +1082280 +1082282 +1082283 +1082285 +1082286 +1082297 +1082298 +1082301 +1082302 +1082303 +1082304 +1082305 +1082306 +108233 +108236 +108241 +108242 +108245 +1082485 +1082486 +1082487 +1082488 +1082489 +108249 +1082490 +1082491 +1082492 +1082493 +1082494 +1082495 +1082496 +1082500 +1082501 +1082502 +1082515 +1082517 +1082518 +1082519 +1082520 +108253 +108264 +108271 +108274 +108276 +108278 +108279 +108280 +108281 +108282 +108283 +108284 +108285 +108286 +108287 +1082894 +108290 +1082904 +108291 +108292 +108293 +1082931 +1082932 +1082933 +1082936 +1082939 +108294 +1082940 +1082941 +1082944 +1082947 +1082948 +1082949 +108295 +1082952 +1082953 +1082954 +1082957 +1082958 +1082959 +108296 +1082962 +1082963 +1082964 +1082965 +1082966 +1082967 +1082968 +108297 +1082975 +108298 +108299 +1082990 +108301 +1083039 +1083041 +1083045 +108307 +108308 +108309 +108311 +108312 +1083218 +1083219 +1083220 +1083221 +1083222 +1083223 +1083224 +1083225 +1083226 +1083227 +1083228 +1083229 +1083241 +1083242 +1083243 +1083244 +1083245 +108332 +108351 +108354 +108358 +10836 +1083641 +1083642 +1083643 +1083644 +1083645 +1083646 +1083729 +1083730 +1083731 +1083732 +1083733 +108379 +108388 +108389 +108390 +108399 +1084011 +108409 +108411 +108412 +108414 +108425 +108426 +108428 +1084389 +108440 +1084412 +1084413 +1084456 +1084459 +1084460 +1084463 +1084466 +1084467 +1084470 +1084471 +1084474 +1084475 +1084477 +1084478 +1084479 +1084480 +1084481 +1084482 +1084483 +1084497 +1084498 +108467 +1084692 +1084697 +1084776 +1084777 +1084779 +1084782 +1084783 +1084784 +1084785 +1084786 +1084803 +1084833 +1084835 +1084836 +1084837 +1084838 +1084854 +1084855 +108503 +108505 +10852 +1085272 +1085273 +1085274 +108528 +1085281 +108529 +10853 +1085321 +1085322 +1085327 +1085328 +1085329 +1085335 +1085338 +1085339 +1085340 +1085341 +1085353 +1085354 +1085355 +1085359 +1085374 +1085375 +1085378 +1085379 +1085382 +1085383 +1085385 +1085386 +1085387 +1085388 +10854 +1085408 +1085459 +1085460 +10855 +1085501 +1085518 +1085782 +1085825 +1085826 +1085827 +1085828 +1085829 +1085830 +108632 +108633 +108634 +108635 +108636 +108637 +108638 +108639 +1086953 +1086954 +1086955 +1086957 +1086959 +1086960 +1086961 +1086962 +1086963 +1086964 +1086965 +1086966 +1086967 +1086968 +1086980 +1086981 +1086982 +1086985 +108699 +1086998 +1086999 +108700 +1087003 +1087004 +1087006 +1087007 +108701 +1087011 +1087012 +1087015 +1087016 +1087018 +1087019 +108702 +1087020 +1087021 +1087022 +1087023 +1087024 +1087025 +1087026 +1087027 +1087028 +1087070 +1087071 +1087072 +108709 +10871 +1087103 +1087104 +1087105 +1087106 +1087107 +1087108 +1087109 +108711 +1087110 +1087111 +1087112 +1087113 +1087114 +1087123 +1087124 +1087125 +108714 +108715 +10872 +108720 +108721 +108725 +1087259 +108726 +1087260 +1087261 +1087262 +1087269 +108727 +108728 +108729 +108730 +108731 +108732 +108734 +108735 +1087357 +1087372 +1087373 +1087374 +1087375 +1087377 +108738 +108739 +108740 +1087405 +1087410 +1087417 +1087418 +1087419 +1087430 +1087431 +1087432 +1087433 +1087445 +1087446 +1087447 +1087449 +1087468 +1087470 +1087602 +1087603 +1087608 +1087612 +1087613 +1087616 +1087617 +1087620 +1087621 +1087624 +1087626 +1087629 +1087630 +1087633 +1087634 +1087635 +1087638 +1087639 +1087640 +1087641 +1087642 +1087643 +1087644 +1087648 +1087652 +1087662 +1087663 +1087664 +1087665 +1087666 +1087667 +1087668 +1087712 +1087719 +1087720 +1087727 +1087963 +1088149 +1088324 +1088325 +1088326 +1088327 +1088328 +1088329 +1088359 +1088385 +1088410 +1088412 +1088434 +1088435 +1088523 +1088702 +10888 +1088801 +1088802 +1088803 +1088806 +1088809 +1088810 +1088811 +1088812 +1088813 +1088814 +1088815 +1088832 +1088833 +1088834 +1088835 +1088836 +1088837 +1088838 +1088839 +1088840 +1088841 +1088842 +10889 +1088905 +1088907 +10895 +10896 +10900 +10901 +10902 +1090298 +1090302 +1090306 +1090307 +1090324 +1090325 +1090326 +1090327 +1090328 +1090329 +1090330 +1090331 +1090332 +1090333 +1090334 +1090336 +1090337 +1090338 +1090339 +1090340 +1090341 +1090342 +1090343 +1090344 +10905 +1090510 +1090511 +1090512 +1090513 +1090514 +1090515 +1090516 +1090517 +1090518 +1090519 +10906 +1091695 +1091696 +10917 +10918 +1091885 +1091887 +1091894 +1091896 +10919 +1092004 +1092123 +1092124 +1092125 +1092317 +1092319 +1092320 +1092327 +1092343 +1092345 +1092506 +1092507 +1092508 +1092509 +1092510 +1092511 +1092512 +1092513 +1092516 +1092519 +1092522 +1092525 +1092527 +1092530 +1092533 +1092543 +1092544 +1092545 +1092546 +1092547 +1092558 +1092576 +1092578 +1092583 +10926 +1092614 +1092618 +1092621 +1092622 +1092624 +1092625 +1092628 +1092629 +1092633 +1092634 +1092637 +1092639 +1092640 +1092641 +1092642 +1092643 +1092644 +1092645 +1092656 +1092657 +1092660 +1092661 +1092662 +1092666 +1092668 +10929 +10934 +1093911 +1094551 +1094552 +1094553 +1094555 +1094556 +1094557 +1094558 +1094559 +1094560 +1094561 +10948 +10949 +1095063 +1095064 +1095065 +1095069 +1095070 +1095071 +1095074 +1095075 +1095076 +1095079 +1095080 +1095081 +1095093 +1095094 +1095095 +10951 +1095181 +10952 +1095353 +1095354 +1095355 +1095356 +1095357 +1095358 +1095359 +10954 +10955 +1095550 +1095551 +1095552 +1095553 +1095554 +1095555 +1095556 +1095559 +1095562 +1095565 +1095568 +1095571 +1095574 +1095577 +1095580 +1095585 +1095597 +1095599 +10957 +1095748 +1095749 +1095750 +1095776 +1095777 +10958 +10960 +10961 +1096437 +1096438 +1096439 +1096440 +1096441 +10965 +10978 +1097920 +1097921 +10980 +1098013 +1098014 +1098015 +1098017 +1098018 +1098021 +1098022 +1098025 +1098026 +1098027 +1098030 +1098035 +1098038 +1098039 +1098040 +1098043 +1098044 +1098045 +1098050 +1098058 +1098059 +1098060 +1098061 +1098062 +1098063 +1098064 +1098065 +10982 +10983 +1098388 +10984 +10985 +1098541 +1098542 +1098543 +1098544 +1098546 +1098547 +1098552 +1098553 +1098554 +1098555 +1098556 +1098557 +1098576 +1098577 +1098596 +1098597 +10986 +1098603 +1098604 +1098605 +1098896 +1098897 +1098898 +1098899 +1098900 +1098930 +1098931 +1098932 +1098933 +1098934 +1098935 +10994 +1099442 +1099443 +1099444 +1099445 +1099449 +1099450 +1099451 +1099454 +1099455 +1099456 +1099457 +1099460 +1099461 +1099462 +1099470 +1099471 +1099473 +1099476 +1099477 +1099478 +1099480 +1099481 +1099482 +1099483 +1099484 +1099485 +1099486 +10996 +1099631 +10997 +10998 +10999 +1099956 +1099981 +1100009 +1100010 +1100011 +1100012 +1100015 +1100016 +1100019 +1100020 +1100046 +1100047 +1100048 +1100049 +1100106 +11002 +1100384 +1100385 +1100399 +1100400 +1100417 +1100418 +1100436 +1100437 +1100439 +1100440 +1100441 +1100442 +1100443 +1100678 +1100680 +1100681 +1100682 +1100685 +1100686 +1100687 +1100690 +1100691 +1100692 +1100695 +1100696 +1100697 +1100701 +1100702 +1100703 +1100706 +1100707 +1100709 +1100710 +1100711 +1100712 +1100713 +1100714 +1100715 +1100716 +1100726 +1100727 +11008 +1100954 +1100973 +1101488 +1101489 +1101490 +1101491 +1101492 +1101493 +1102115 +1102116 +1102117 +1102135 +1102136 +1102137 +1102142 +1102143 +1102144 +1102183 +1102184 +1102185 +1102186 +1102187 +1102188 +1102240 +1102241 +1102242 +1102490 +1102491 +1102492 +1102493 +1102495 +1102817 +1102972 +1103010 +1103106 +1103116 +1103117 +1103122 +1103123 +1103125 +1103126 +1103128 +1103129 +1103130 +1103131 +1103134 +1103135 +1103138 +1103139 +1103141 +1103142 +1103143 +1103144 +1103145 +1103146 +1103368 +1103763 +1103764 +1103765 +1103766 +1103779 +1104846 +1104851 +1104852 +1104853 +1104856 +1104857 +1104858 +1104861 +1104862 +1104863 +1104866 +1104867 +1104868 +1104869 +1104870 +11054 +1105569 +11059 +1105924 +1105925 +1105929 +1105930 +1105933 +1105934 +1105940 +1105944 +1105945 +1105948 +1105949 +1105956 +1105957 +1105960 +1105961 +1105979 +1105980 +1105981 +1105982 +1105983 +1105984 +1105985 +1105986 +1105987 +1105988 +1105989 +1105998 +1106051 +1106063 +1106064 +1106065 +1106076 +1106077 +1106078 +1106081 +1106082 +1106083 +1106086 +1106087 +1106088 +1106091 +1106092 +1106093 +1106095 +1106096 +1106097 +1106101 +1106102 +1106103 +1106107 +1106108 +1106110 +1106111 +1106112 +1106114 +1106115 +1106116 +1106117 +1106118 +1106119 +1106120 +1106121 +1106122 +1106123 +1106154 +1106157 +1106232 +1106234 +1106244 +1106245 +1106246 +1106250 +1106251 +1106252 +1106253 +1106256 +1106257 +1106258 +1106260 +1106261 +1106262 +1106263 +1106264 +1106265 +1106275 +1106285 +1106286 +1106287 +1106369 +1106370 +1106371 +1106509 +1106593 +1106618 +1106619 +1106620 +1106621 +1106622 +1106623 +1106624 +1106625 +1106626 +1106627 +1106628 +1106629 +1106630 +1106631 +1106646 +1106672 +1106673 +1106674 +1106675 +11067 +1106777 +11068 +1106863 +11072 +11074 +1107560 +1107587 +1107952 +1107965 +1108168 +1108169 +1108170 +1108171 +1108172 +1108173 +1108174 +1108175 +1108176 +1108177 +1108178 +1108179 +1108180 +1108181 +1108182 +1108183 +1108184 +1108185 +1108186 +1108187 +1108188 +1108189 +1108190 +1108191 +1108192 +1108193 +1108194 +1108195 +1108196 +1108197 +1108198 +1108199 +1108200 +1108201 +1108202 +1108203 +1108204 +1108205 +1108206 +1108207 +1108208 +1108226 +1108391 +1108392 +1108393 +1108421 +1108422 +1108423 +1108424 +1108425 +1108426 +1108431 +1108432 +1108433 +1108434 +1108438 +1108439 +1108440 +1108514 +1108515 +1108516 +1108517 +1108518 +1108519 +1108520 +1108521 +1108522 +1108524 +1108525 +1108526 +1108547 +1108548 +1108549 +1108552 +1108553 +1108554 +1108557 +1108558 +1108559 +1108562 +1108563 +1108564 +1108567 +1108568 +1108569 +1108572 +1108573 +1108576 +1108577 +1108578 +1108947 +1109015 +1109017 +1109022 +1109023 +1109024 +1109025 +1109026 +1109137 +1109138 +1109139 +1109141 +1109142 +1109143 +1109145 +1109146 +1109147 +1109148 +1109149 +1109150 +1109151 +1109154 +1109155 +1109156 +1109159 +1109160 +1109163 +1109166 +1109167 +1109168 +1109171 +1109183 +1109210 +1109540 +1109542 +1109543 +1109544 +1109659 +1109776 +1109777 +1109778 +1109782 +1109783 +1109784 +1109786 +1109787 +1109788 +1109791 +1109792 +1109793 +1109798 +1109799 +1109800 +1109801 +1109802 +1109803 +1109804 +1109805 +1109806 +1109807 +1109808 +1109809 +1109810 +1109811 +1109817 +1109818 +1109819 +1109820 +1109821 +1109836 +1109837 +1109838 +1109839 +1109840 +1109841 +1109842 +1109843 +1109844 +1109845 +1109846 +1109847 +1109848 +1109849 +1109850 +1109851 +1109852 +1109918 +1109929 +1109930 +1109931 +1109934 +1109935 +1109936 +1109939 +1109940 +1109941 +1109944 +1109945 +1109946 +1109949 +1109950 +1109951 +1109954 +1109955 +1109956 +1109960 +1109961 +1109962 +1109964 +1109965 +1109966 +1109967 +1109968 +1109969 +1109970 +1109971 +1109972 +1109973 +11100 +1110041 +1110042 +1110043 +1110140 +1110141 +1110142 +11103 +11104 +1110406 +1110418 +1110423 +1110424 +1110425 +1110426 +1110427 +1110428 +1110430 +1110431 +1110432 +1110433 +1110434 +1110435 +1110436 +1110437 +1110438 +1110439 +1110440 +1110441 +1110442 +1110443 +1110444 +1110445 +1110446 +1110447 +1110448 +1110449 +1110450 +1110451 +1110452 +1110453 +1110454 +1110455 +1110456 +1110457 +11105 +1110529 +1110530 +1110531 +1110532 +1110533 +1110534 +1110535 +1110536 +1110537 +1110538 +1110539 +1110540 +1110541 +1110542 +1110543 +1110544 +1110545 +1110546 +1110547 +1110548 +1110549 +1110550 +1110551 +1110552 +1110553 +1110554 +11106 +1110620 +1110629 +1110699 +11107 +1110700 +1110701 +1110702 +1110703 +1110704 +1110705 +1110707 +1110708 +1110709 +1110713 +1110714 +1110715 +1110719 +1110720 +1110721 +1110722 +1110725 +1110726 +1110727 +1110728 +1110731 +1110734 +1110735 +1110736 +1110740 +1110741 +1110742 +1110743 +1110774 +1110824 +1110826 +1111043 +1111044 +1111045 +1111046 +1111047 +1111048 +1111049 +1111050 +1111051 +1111052 +1111055 +1111056 +1111057 +1111060 +1111063 +1111064 +1111065 +1111068 +1111069 +1111070 +1111071 +1111074 +1111075 +1111076 +1111080 +1111081 +1111082 +1111085 +1111086 +1111087 +11111 +1111135 +1111136 +1111137 +1111139 +1111141 +1111142 +1111143 +1111145 +1111146 +1111147 +1111150 +1111151 +1111152 +1111155 +1111156 +1111157 +1111160 +1111161 +1111162 +1111164 +1111165 +1111166 +1111168 +1111169 +1111170 +1111188 +11112 +1111213 +1111214 +1111215 +1111216 +1111218 +1111219 +1111220 +1111223 +1111224 +1111225 +1111228 +1111229 +1111230 +1111232 +1111233 +1111234 +1111235 +1111236 +1111324 +1111327 +1111328 +1111329 +1111330 +1111331 +1111370 +1111371 +1111372 +1111374 +1111375 +1111376 +1111377 +1111382 +1111383 +1111384 +1111387 +1111390 +1111391 +1111392 +1111395 +1111396 +1111397 +1111400 +1111401 +1111403 +1111404 +1111406 +1111407 +1111412 +1111413 +1111414 +1111429 +1111432 +1111471 +1111472 +1111473 +1111474 +1111475 +1111476 +1111477 +1111478 +1111479 +1111480 +1111481 +1111482 +1111496 +1111497 +1111498 +1111500 +1111501 +1111502 +1111503 +1111504 +1111505 +1111509 +1111510 +1111541 +1111544 +1111545 +1111546 +1111547 +1111548 +1111550 +1111551 +1111553 +1111554 +1111566 +1111567 +1111568 +1111571 +1111575 +1111578 +1111579 +1111582 +1111583 +1111584 +1111586 +1111588 +1111589 +1111591 +1111594 +1111597 +1111600 +1111601 +1111602 +1111605 +1111606 +1111608 +1111610 +1111611 +1111612 +1111613 +1111614 +1111615 +1111616 +1111617 +1111618 +1111629 +1111670 +1111671 +1111674 +1111675 +1111678 +1111679 +1111682 +1111683 +1111694 +1111697 +1111701 +1111702 +1111704 +1111705 +1111706 +1111707 +1111726 +1111729 +1111732 +1111735 +1111736 +1111737 +1111738 +1111739 +1111742 +1111751 +1111752 +1111753 +1111758 +1111759 +1111760 +1111788 +1111789 +1111790 +1111793 +1111794 +1111795 +1111798 +1111799 +1111800 +1111802 +1111803 +1111804 +1111807 +1111808 +1111809 +1111811 +1111812 +1111813 +1111815 +1111816 +1111817 +1111818 +1111819 +1111820 +1111822 +1111823 +1111826 +1111827 +1111831 +1111832 +1111833 +1111834 +1111841 +1111842 +1111843 +1111844 +1111849 +1111871 +1111873 +1111874 +1111875 +1111880 +1111881 +1111882 +1111891 +1111893 +11119 +1111909 +1111912 +1111913 +1111916 +1111918 +1111926 +1111938 +1111941 +1111943 +1111949 +1111950 +1111953 +1111954 +1111958 +1111959 +1111960 +1111961 +1111962 +1111963 +1111966 +1111976 +1111982 +1111986 +1111989 +1111992 +1111996 +1111997 +1111998 +1111999 +1112000 +1112009 +1112010 +1112011 +1112032 +1112033 +1112034 +1112035 +1112036 +1112051 +1112067 +1112089 +1112090 +1112091 +1112092 +1112093 +1112094 +1112095 +1112096 +1112097 +1112098 +1112099 +1112100 +1112101 +1112102 +1112103 +1112170 +1112171 +1112172 +1112175 +1112176 +1112177 +1112178 +1112180 +1112181 +1112182 +1112185 +1112186 +1112188 +1112189 +1112190 +1112193 +1112194 +1112195 +1112197 +1112198 +1112199 +11122 +1112200 +1112202 +1112203 +1112204 +1112213 +1112214 +1112215 +1112216 +1112217 +1112218 +1112221 +1112222 +1112223 +1112238 +1112319 +1112320 +1112322 +1112324 +1112325 +1112327 +1112330 +1112333 +1112342 +1112359 +1112361 +1112362 +1112381 +1112453 +1112455 +1112456 +1112459 +1112460 +1112461 +1112464 +1112465 +1112466 +1112472 +1112473 +1112474 +1112493 +1112494 +1112495 +1112496 +1112497 +11125 +1112511 +1112512 +1112513 +1112514 +1112515 +1112516 +1112517 +1112518 +1112519 +1112520 +1112521 +1112522 +1112523 +1112524 +1112525 +1112534 +1112535 +1112536 +1112548 +1112549 +1112550 +1112551 +1112552 +1112553 +1112554 +1112562 +1112576 +1112578 +1112579 +1112580 +1112581 +1112597 +1112598 +11126 +1112614 +1112615 +1112616 +1112617 +1112619 +1112620 +1112621 +1112622 +1112623 +1112624 +1112625 +1112626 +1112627 +1112628 +1112629 +1112630 +1112631 +1112632 +1112633 +1112634 +1112635 +1112636 +1112637 +1112638 +1112639 +1112640 +1112643 +1112644 +1112645 +1112646 +1112647 +1112648 +1112649 +1112650 +1112651 +1112652 +1112653 +1112654 +1112655 +1112656 +1112657 +1112658 +1112659 +1112660 +1112661 +1112662 +1112663 +1112664 +1112665 +1112666 +1112667 +1112668 +1112669 +1112670 +1112671 +1112672 +1112673 +1112674 +1112676 +1112677 +1112678 +1112680 +1112681 +1112696 +1112697 +1112698 +1112699 +1112781 +1112782 +1112786 +1112787 +1112791 +1112792 +1112793 +1112797 +1112799 +1112801 +1112802 +1112803 +1112804 +1112805 +1112806 +1112808 +1112809 +1112820 +1112821 +1112832 +1112860 +1112861 +1112863 +1112864 +1112865 +1112866 +1112867 +1112868 +1112869 +1112870 +1112871 +1112872 +1112873 +1112874 +1112875 +1112876 +1112877 +1112878 +1112889 +1112890 +1112891 +1112892 +1112893 +1112894 +1112914 +1112915 +1112916 +1112917 +1112918 +1112919 +1112920 +1112924 +1112925 +1112926 +1112927 +1112928 +1112929 +1112930 +1112931 +1112932 +1112933 +1112934 +1112935 +1112936 +1112937 +1112938 +1112951 +1112995 +1112998 +1112999 +1113075 +1113084 +1113085 +1113086 +1113087 +1113139 +1113140 +1113141 +1113142 +1113143 +1113144 +1113145 +1113147 +1113148 +1113150 +1113151 +1113153 +1113154 +1113155 +1113156 +1113157 +1113158 +1113159 +1113160 +1113161 +1113162 +1113163 +1113164 +1113165 +1113166 +1113167 +1113168 +1113169 +1113170 +1113171 +1113480 +1113481 +1113482 +1113486 +1113487 +1113488 +1113496 +1113497 +1113498 +1113501 +1113502 +1113503 +1113506 +1113507 +1113508 +1113512 +1113513 +1113515 +1113516 +1113517 +1113518 +1113528 +1113531 +1113532 +1113533 +1113534 +1113673 +1113674 +1113679 +1113680 +1113681 +1113682 +1113683 +1113684 +1113685 +1113686 +1113687 +1113689 +1113690 +1113691 +1113700 +1113701 +1113702 +1113703 +1113712 +1113753 +1113754 +1113755 +1113756 +1113757 +1113758 +1113762 +1113764 +1113770 +1113771 +1113772 +1113773 +1113774 +1113775 +1113776 +1113780 +1113781 +1113782 +1113783 +1113784 +1113785 +1113786 +1113787 +1113788 +1113789 +1113790 +1113791 +1113792 +1113793 +1113803 +1113804 +1113806 +11139 +1113904 +1113905 +1113907 +1113908 +1113909 +1113910 +1113911 +1113912 +1113913 +1113914 +1113915 +1113916 +1113918 +1113919 +1113920 +1113921 +1113922 +1113924 +1113925 +1113926 +1113927 +1113928 +1113929 +1113930 +1113931 +1113940 +1113972 +1113973 +1113974 +1113975 +1113976 +1113984 +1113985 +1113986 +1113987 +1113988 +1113989 +1113990 +1113991 +1113992 +1113993 +1113994 +1113995 +1114031 +1114035 +1114062 +1114064 +1114065 +1114066 +1114070 +1114071 +1114072 +1114078 +1114079 +1114080 +1114083 +1114084 +1114085 +1114087 +1114088 +1114089 +1114092 +1114093 +1114094 +1114095 +1114096 +11141 +1114134 +1114135 +11142 +1114239 +1114240 +1114241 +1114242 +1114243 +1114244 +1114245 +1114246 +1114247 +1114248 +1114249 +1114250 +1114251 +1114252 +1114253 +1114254 +1114255 +1114256 +1114273 +1114274 +1114275 +1114276 +1114277 +1114278 +1114312 +1114313 +1114314 +1114317 +1114324 +1114325 +1114326 +1114328 +1114333 +1114334 +1114335 +1114336 +1114339 +1114340 +1114341 +1114343 +1114346 +1114347 +1114348 +1114356 +1114361 +1114379 +1114384 +1114385 +1114386 +1114387 +1114391 +1114396 +1114414 +1114415 +1114416 +1114418 +1114424 +1114425 +1114427 +1114435 +1114436 +1114437 +1114438 +1114452 +1114453 +1114454 +1114463 +1114464 +1114467 +1114484 +1114486 +1114487 +1114488 +1114492 +1114493 +1114494 +11145 +1114508 +1114509 +1114510 +1114511 +1114534 +1114535 +1114536 +1114537 +1114543 +1114544 +1114545 +1114548 +1114551 +1114552 +1114555 +1114557 +1114565 +1114573 +1114576 +1114578 +1114580 +1114583 +1114592 +1114593 +1114594 +1114597 +1114630 +1114633 +1114658 +1114659 +1114660 +1114661 +1114662 +1114663 +1114664 +1114665 +1114666 +1114667 +1114668 +1114669 +1114670 +1114671 +1114672 +1114673 +1114674 +1114675 +1114676 +11147 +1114723 +1114724 +1114725 +1114760 +1114762 +1114763 +1114768 +1114769 +1114770 +1114771 +1114774 +1114775 +1114785 +1114786 +1114787 +1114788 +1114789 +1114791 +1114792 +1114793 +1114794 +1114795 +1114799 +11148 +1114800 +1114801 +1114855 +1114856 +1114857 +1114859 +1114860 +1114861 +1114865 +1114866 +1114867 +1114870 +1114871 +1114872 +1114875 +1114876 +1114877 +1114880 +1114881 +1114882 +1114884 +1114885 +1114886 +1114887 +1114888 +1114889 +1114925 +1114926 +1114927 +1114928 +1114929 +1114930 +1114931 +1114932 +1114933 +1114934 +1114935 +1114936 +1114937 +1114938 +1114939 +1114940 +1114941 +1114942 +1114943 +1114944 +1114945 +1114977 +1114978 +1114979 +1114980 +1114994 +1115026 +1115027 +1115028 +1115029 +1115030 +1115031 +1115032 +1115065 +1115101 +1115133 +1115134 +1115135 +1115140 +1115171 +1115175 +1115176 +1115177 +1115180 +1115183 +1115184 +1115185 +1115188 +1115189 +1115190 +1115193 +1115194 +1115195 +1115198 +1115199 +1115200 +1115203 +1115204 +1115207 +1115208 +1115209 +1115211 +1115212 +1115213 +1115214 +1115215 +1115216 +1115217 +1115218 +1115219 +1115220 +1115258 +1115337 +1115338 +1115339 +1115341 +1115342 +1115343 +1115351 +1115352 +1115353 +1115497 +1115498 +1115499 +1115500 +1115502 +1115503 +1115504 +1115505 +1115507 +1115508 +1115510 +1115511 +1115512 +1115515 +1115524 +1115525 +1115526 +1115527 +1115530 +1115531 +1115532 +1115533 +1115541 +1115542 +1115545 +1115546 +1115547 +1115548 +1115554 +1115555 +1115556 +1115557 +1115560 +1115561 +1115562 +1115563 +1115565 +1115566 +1115567 +1115572 +1115573 +1115574 +1115575 +1115576 +1115577 +1115578 +1115579 +1115580 +1115581 +1115582 +1115597 +1115598 +1115599 +11156 +1115601 +1115637 +1115638 +1115639 +1115646 +1115648 +1115649 +1115650 +1115651 +1115652 +11157 +1115898 +1115899 +1115900 +1115901 +1115902 +1115903 +1115904 +11162 +11163 +1116414 +1116415 +1116416 +1116417 +1116418 +1116419 +1116420 +1116421 +1116422 +1116423 +1116424 +1116425 +1116426 +1116427 +1116428 +1116429 +1116430 +1116431 +1116432 +1116433 +1116434 +1116435 +1116436 +1116437 +1116438 +1116439 +1116440 +1116441 +1116442 +1116443 +1116444 +1116445 +1116446 +1116447 +1116448 +1116449 +1116450 +1116451 +1116452 +1116453 +1116454 +1116455 +1116456 +1116457 +1116458 +1116459 +1116553 +1116554 +1116555 +1116556 +1116557 +1116558 +1116559 +1116560 +1116561 +1116562 +1116563 +1116564 +1116565 +1116566 +1116567 +1116568 +1116569 +1116570 +1116571 +1116593 +1116594 +11170 +11196 +11198 +11199 +11200 +11206 +11214 +11215 +11216 +11221 +11225 +11301 +11302 +11304 +11305 +11307 +11308 +11309 +11311 +11314 +11318 +11320 +11330 +11345 +11347 +11363 +11371 +11372 +11382 +11387 +11399 +11462 +11476 +11477 +11489 +11490 +11495 +11498 +11502 +11512 +11513 +11516 +11517 +11520 +11522 +11523 +11531 +11532 +11541 +11545 +11549 +11550 +11553 +11554 +11564 +11565 +11579 +11581 +11600 +11601 +11602 +11606 +11626 +11627 +11644 +11645 +11646 +11647 +11649 +11651 +11655 +11656 +11657 +11658 +11659 +11678 +11679 +11684 +11688 +11689 +11690 +11691 +11692 +11700 +11705 +11708 +11714 +11715 +11716 +11727 +11731 +11741 +11742 +11743 +11746 +11747 +11749 +11752 +11753 +11754 +11755 +11756 +11773 +11780 +11781 +118136 +118137 +118138 +118141 +118143 +118146 +118147 +118149 +118150 +118151 +118152 +118153 +118154 +11816 +11818 +118202 +118249 +11831 +118358 +118359 +118361 +118363 +118364 +118365 +118366 +118367 +118368 +118369 +118370 +118371 +118372 +118373 +118374 +118375 +118376 +118377 +118378 +118379 +118380 +118381 +118382 +118383 +118384 +118385 +118386 +118387 +118388 +118389 +11839 +118390 +118391 +118392 +118393 +118394 +118395 +118396 +118397 +11840 +11843 +11844 +11847 +11848 +11849 +11852 +118566 +118569 +118570 +118571 +118643 +118644 +118645 +118646 +118647 +118648 +118649 +118650 +118651 +118652 +118653 +118654 +118655 +118656 +118657 +118658 +118659 +118660 +118661 +118662 +118663 +118664 +118665 +118666 +118667 +118668 +118669 +118670 +118671 +118672 +118673 +118674 +118675 +118676 +118677 +118679 +118686 +118687 +118688 +118693 +118694 +118695 +118696 +118697 +118710 +118711 +118713 +118776 +118797 +118857 +118858 +118867 +11888 +11892 +118940 +11895 +118953 +118966 +118993 +118994 +118995 +118996 +118997 +118998 +118999 +119001 +119002 +119003 +119004 +119005 +119026 +119027 +119028 +119029 +119030 +119031 +119032 +119033 +119034 +119035 +119036 +119037 +119038 +11905 +119069 +119083 +119105 +119106 +119107 +119108 +119113 +119118 +119120 +119121 +119122 +119242 +119243 +119244 +119248 +119285 +119287 +119288 +119317 +11934 +119344 +119345 +11935 +119351 +11937 +119413 +119414 +119415 +119416 +119417 +119418 +119419 +119420 +119440 +119441 +119442 +119443 +119444 +119445 +119446 +119447 +119448 +119450 +119451 +119452 +119453 +119454 +119455 +119456 +119457 +119458 +119459 +119460 +119462 +119463 +11947 +11953 +11957 +11966 +119881 +119882 +119883 +119887 +119924 +119925 +119926 +119927 +119928 +119929 +11993 +119942 +11995 +120033 +120034 +12038 +12039 +12040 +12042 +12044 +12045 +120831 +120833 +120870 +120871 +120872 +120873 +120874 +120875 +120876 +120877 +120878 +120880 +120881 +120882 +120883 +120884 +120885 +120886 +120887 +120888 +120889 +120890 +120891 +120893 +120894 +120895 +120897 +120898 +120899 +120900 +120901 +120902 +120903 +120904 +120906 +120907 +120908 +120909 +120910 +120911 +120912 +120924 +120938 +120944 +120947 +120948 +120949 +120950 +120951 +120952 +120953 +120954 +120955 +120956 +120957 +120958 +120959 +120960 +120961 +120962 +120963 +120964 +120965 +120966 +120967 +120968 +120969 +120970 +120971 +120972 +120973 +120974 +120975 +120976 +120977 +120978 +120979 +120980 +120981 +120982 +120983 +120984 +120985 +120986 +120987 +120988 +120989 +120990 +120991 +120992 +120993 +120994 +120995 +120996 +120997 +120998 +120999 +121000 +121001 +121002 +121003 +121004 +121005 +121006 +121007 +121008 +121009 +121010 +121100 +121319 +121320 +121321 +121322 +121323 +121324 +121325 +121326 +121327 +121328 +121330 +121331 +121332 +121333 +12134 +121364 +121365 +121369 +121371 +121374 +121388 +121391 +121393 +121394 +121436 +121437 +121438 +121439 +121441 +121442 +121443 +121455 +121457 +121458 +121460 +121461 +121462 +121463 +121464 +121465 +121466 +12149 +12150 +121502 +121503 +121504 +121507 +121508 +121509 +12151 +121510 +121511 +121512 +121514 +121515 +121516 +121517 +121518 +12152 +121521 +121522 +121523 +121524 +121525 +12153 +121566 +121567 +121568 +121569 +121570 +121571 +121572 +121573 +121574 +121575 +121576 +121577 +121578 +121579 +121580 +121581 +121582 +121583 +121584 +121585 +121586 +12159 +12160 +12161 +12162 +12164 +12165 +12166 +12171 +121806 +121807 +121808 +121809 +121810 +121811 +121812 +121868 +121886 +121887 +121890 +121898 +121900 +121910 +121955 +121956 +121957 +121958 +121959 +121960 +121961 +121962 +121963 +121964 +121965 +12201 +12202 +12203 +12206 +12207 +122163 +122177 +122203 +122204 +122205 +122206 +122207 +122208 +122209 +122210 +122211 +122212 +122214 +122215 +122216 +122217 +122219 +122220 +122221 +122222 +122223 +122224 +122225 +122227 +122228 +122229 +122230 +122231 +122233 +122234 +122235 +122237 +122238 +122239 +122240 +122241 +122242 +122244 +122245 +122246 +122247 +122248 +122249 +122250 +122251 +122252 +122253 +122254 +122255 +122256 +122257 +122258 +122259 +12226 +122261 +122262 +122263 +122264 +122265 +122266 +122267 +122268 +122269 +12227 +122270 +122272 +122273 +122274 +122275 +122276 +122277 +122278 +122279 +122280 +122281 +122294 +122295 +122296 +122297 +122298 +122300 +122301 +122302 +122303 +122304 +122305 +12239 +12240 +12241 +122418 +12242 +12246 +12249 +122564 +122565 +122605 +122606 +122607 +122608 +122609 +122610 +122611 +122698 +122699 +122700 +122701 +122702 +122703 +122704 +122705 +122706 +122707 +122708 +122709 +122711 +122712 +122713 +122714 +122715 +122716 +122717 +122718 +12272 +122722 +122812 +122934 +12294 +122991 +12300 +12301 +12303 +12306 +12309 +123091 +123095 +12310 +123108 +123124 +123125 +123126 +123127 +123131 +12314 +12318 +123207 +123210 +123211 +123332 +123353 +123354 +123355 +123373 +123374 +123375 +123376 +123384 +12347 +12362 +12363 +12370 +12371 +12372 +123851 +123872 +123886 +123892 +12391 +12393 +12394 +12396 +12397 +123989 +12399 +123991 +123994 +123995 +123997 +12400 +124005 +124007 +124008 +124009 +124010 +124018 +124019 +12402 +124020 +12403 +124032 +124034 +124035 +124040 +12405 +124050 +124055 +124058 +12406 +124062 +124076 +124077 +124078 +124079 +12408 +124080 +12409 +124253 +124254 +124255 +124257 +124258 +124259 +124260 +124261 +124262 +124263 +124264 +124265 +124266 +124267 +124269 +124271 +124272 +124273 +124274 +124275 +124276 +124277 +124278 +124280 +124282 +124284 +124286 +124287 +124289 +124291 +124293 +124294 +124295 +124296 +124298 +124300 +124302 +124305 +124307 +124309 +124310 +124312 +124318 +12432 +124320 +124321 +124323 +124325 +124326 +124327 +124328 +124329 +12433 +124331 +124333 +12434 +124341 +124342 +124344 +124346 +124347 +124348 +124349 +124350 +124351 +124352 +124353 +124355 +124357 +124358 +124359 +124360 +124362 +124363 +124365 +124367 +124374 +124375 +124420 +124421 +124422 +124423 +124424 +124425 +124426 +124427 +124428 +124432 +124445 +124448 +124449 +124454 +124456 +124482 +12449 +124490 +124492 +124494 +124495 +124496 +124497 +124498 +124499 +12450 +124507 +12452 +124520 +124521 +124523 +124530 +12456 +124564 +124570 +124571 +124578 +124581 +124596 +12467 +12468 +12474 +124746 +124747 +124753 +124754 +124755 +124756 +124757 +124758 +124759 +12476 +124760 +124761 +124762 +124763 +124764 +124765 +124766 +124767 +124768 +124769 +12477 +124770 +124771 +124773 +124774 +124775 +124776 +124785 +124787 +12479 +12480 +124852 +124853 +124854 +124855 +12495 +124972 +125133 +125134 +125135 +125136 +125137 +125153 +125154 +125155 +125156 +125157 +12518 +12519 +125195 +125196 +125197 +125198 +125199 +12524 +125286 +12531 +12532 +12533 +125331 +125332 +125333 +125334 +125335 +125336 +125337 +125338 +125339 +12534 +125374 +125390 +125429 +125445 +125461 +125462 +125466 +125467 +125468 +125469 +125470 +125471 +125472 +125473 +125474 +125475 +125476 +125478 +125479 +125480 +125481 +125482 +125483 +125484 +125485 +125486 +125487 +125488 +125490 +125491 +125492 +125493 +125494 +125495 +125498 +12550 +125500 +125501 +125502 +125503 +125504 +125505 +125512 +125516 +12555 +125621 +12563 +125697 +125715 +125723 +125745 +125747 +125748 +125754 +12576 +12578 +125781 +125835 +125836 +125837 +125838 +125839 +125840 +125841 +125910 +125928 +125932 +125990 +12600 +126013 +126015 +126016 +12602 +126031 +126183 +126188 +126208 +126211 +126215 +126216 +126217 +126218 +126219 +126220 +126221 +126222 +126223 +126224 +126225 +126226 +126228 +126229 +126231 +126232 +126233 +126234 +126235 +126236 +126237 +126238 +126239 +126240 +126241 +126242 +126243 +126244 +126245 +126246 +126247 +126248 +126250 +126251 +126252 +126253 +126254 +126255 +126256 +126257 +126469 +126470 +126471 +126474 +126475 +126477 +126478 +126479 +126482 +126484 +126486 +126487 +126488 +126490 +126492 +126494 +126499 +126502 +126504 +126511 +126512 +126514 +126516 +12653 +126531 +126532 +126534 +126539 +126541 +126543 +126546 +126549 +126551 +126552 +126554 +126556 +126557 +126565 +126566 +126568 +126570 +126573 +126575 +126576 +126578 +126580 +126583 +126584 +126585 +126588 +12659 +126590 +12660 +126660 +126661 +126662 +126663 +126664 +126665 +126666 +126667 +126668 +126669 +126670 +126671 +126672 +126673 +126676 +126677 +126678 +126679 +126697 +126698 +12688 +12690 +12691 +126912 +126913 +126914 +126915 +12692 +126937 +126944 +12695 +126985 +127054 +127060 +127066 +12709 +127103 +127106 +127107 +127118 +12713 +127130 +127133 +127136 +127137 +127138 +127139 +127140 +127160 +12725 +12726 +127313 +127314 +127333 +127334 +127338 +127342 +127344 +127350 +127357 +127363 +127364 +127503 +127526 +127530 +127541 +127548 +127553 +127559 +127564 +127865 +127866 +127870 +127873 +127875 +127877 +127898 +127903 +127905 +127906 +127911 +127912 +127913 +127925 +127929 +127931 +127937 +127945 +127953 +12807 +128089 +128096 +128112 +128119 +128125 +128200 +128204 +128205 +128206 +128207 +128208 +128214 +128253 +128317 +128318 +128319 +128320 +128321 +128322 +128323 +128324 +128325 +128326 +128327 +128328 +128329 +12833 +128330 +128331 +128332 +128333 +128334 +128335 +128336 +128337 +128338 +128339 +12834 +128340 +128341 +128342 +128343 +128353 +12836 +128371 +128380 +128392 +128395 +12841 +12845 +128479 +128480 +128481 +128482 +128483 +128484 +128485 +128486 +128487 +128488 +128489 +128490 +128491 +128492 +128493 +128494 +128495 +128496 +128497 +128498 +128499 +128500 +128501 +128502 +128503 +128504 +128505 +128506 +128537 +128539 +128540 +128541 +128567 +128568 +128570 +128572 +128573 +128574 +128577 +128622 +128624 +128702 +128734 +128751 +128753 +128755 +128757 +128759 +128812 +128814 +128819 +128821 +128825 +128827 +128829 +128831 +128833 +128835 +128837 +128847 +128849 +128851 +128853 +128937 +128938 +128939 +128940 +128941 +128942 +128943 +128944 +128945 +128946 +128947 +128948 +129002 +12916 +12917 +12918 +129226 +129227 +129228 +129290 +129304 +129305 +129343 +129344 +129345 +129348 +129349 +129396 +129398 +129399 +129402 +129403 +129408 +129415 +129426 +129453 +129455 +129459 +129587 +129607 +129611 +129794 +129822 +129823 +129844 +129845 +129867 +129868 +129986 +129988 +129991 +130013 +130014 +130016 +130017 +130019 +130057 +130258 +130323 +130324 +130325 +130326 +130327 +130328 +130329 +130330 +130331 +130332 +130333 +130334 +130335 +130337 +130339 +130341 +130343 +130345 +130347 +130349 +130351 +130353 +130355 +130357 +130359 +130361 +130363 +130365 +130367 +130369 +130371 +130396 +130397 +130398 +130399 +130400 +130554 +130610 +130747 +130752 +130785 +130865 +130866 +130901 +130902 +130903 +130908 +130909 +130912 +130915 +130916 +130927 +130928 +130930 +130932 +130935 +130936 +130939 +130940 +130941 +130943 +130944 +130973 +130979 +131005 +131006 +131007 +131008 +131009 +131010 +131011 +131012 +131013 +131014 +131015 +131016 +131017 +131018 +131019 +131020 +131021 +131022 +131023 +131024 +131025 +131026 +131027 +131028 +131029 +131030 +131031 +131032 +131033 +131034 +131035 +131036 +131037 +131038 +131039 +131040 +131041 +131042 +131043 +131044 +131045 +131046 +131047 +131048 +131049 +13105 +131050 +131051 +131052 +131053 +131054 +131055 +131056 +131072 +131075 +131077 +131078 +131082 +131083 +131092 +13110 +131101 +131103 +131105 +131109 +131110 +131111 +13114 +13117 +13118 +131201 +131205 +131206 +131207 +131226 +131229 +131230 +13124 +13125 +13126 +13127 +13128 +131282 +131285 +131287 +131289 +13129 +13130 +131305 +131306 +131307 +131308 +131309 +131310 +131311 +131312 +131313 +131314 +131315 +131316 +131317 +131318 +131319 +131321 +131323 +131332 +131333 +131334 +131336 +131337 +131339 +131341 +131342 +131343 +131344 +131346 +131347 +131348 +131349 +131350 +131351 +131353 +131355 +131357 +131359 +131372 +131373 +131374 +131375 +131376 +131386 +131387 +131388 +131389 +131390 +131391 +131392 +131393 +131394 +131395 +131396 +131397 +131398 +131400 +131402 +131404 +131406 +131408 +131410 +131412 +131414 +131416 +131434 +131435 +131436 +131437 +131449 +131450 +131451 +131452 +131453 +131454 +131455 +131456 +131458 +131460 +131462 +131464 +131466 +131468 +131470 +131472 +131474 +131476 +131480 +131482 +131484 +131486 +131488 +131490 +131492 +131494 +131526 +131536 +131537 +131539 +131540 +131541 +131543 +131545 +131547 +131549 +131564 +131565 +131566 +131567 +131568 +131581 +131597 +131600 +131601 +131635 +131636 +131638 +131645 +131647 +131687 +131710 +131711 +131716 +131723 +131731 +131735 +131885 +131895 +131936 +13196 +132145 +132240 +132243 +132321 +132329 +132330 +132331 +132332 +132343 +132373 +132452 +132458 +132459 +13255 +13256 +13257 +132795 +13280 +13295 +13296 +13297 +13299 +133067 +13308 +13309 +13310 +133183 +133184 +133223 +133224 +133248 +133251 +133483 +133484 +133485 +133486 +133487 +133488 +133489 +133490 +133536 +133537 +133548 +133587 +134413 +134584 +134585 +134586 +134587 +134588 +134589 +134592 +134593 +134594 +134595 +134596 +134598 +134599 +136996 +136997 +138548 +138661 +138762 +138905 +138958 +138959 +138980 +138981 +138982 +138983 +138988 +138989 +138990 +138991 +139014 +139028 +139145 +139318 +139367 +1398 +1399 +140063 +140064 +140076 +140591 +140592 +140829 +140959 +141163 +141164 +141165 +141166 +141167 +141168 +141396 +141405 +141408 +141509 +141510 +141512 +141727 +141728 +141729 +141732 +141734 +141744 +141746 +141748 +142277 +142787 +142944 +143023 +143024 +143025 +143026 +143027 +143028 +143037 +143038 +143039 +143040 +143041 +143042 +143043 +143044 +143045 +143046 +143047 +143048 +143049 +143050 +143051 +143052 +143053 +143054 +143055 +143056 +143057 +143058 +143059 +143060 +143061 +143062 +143063 +143064 +143126 +143127 +143303 +143708 +143997 +144088 +144090 +144206 +144207 +144208 +144209 +144210 +144211 +144212 +144213 +144214 +144455 +144696 +144697 +144698 +144699 +144795 +144809 +144872 +144895 +144898 +144935 +144983 +145447 +145586 +145684 +145685 +145749 +145781 +145816 +145893 +146024 +146025 +146036 +146058 +146261 +146267 +146273 +146425 +146685 +146940 +146948 +147275 +147293 +147294 +147555 +147556 +147558 +147559 +147563 +147565 +147588 +147598 +147599 +147609 +147642 +147643 +147645 +147671 +147778 +147779 +147780 +147781 +147783 +147784 +147785 +147786 +147787 +147788 +147789 +147790 +147791 +147792 +148435 +148436 +148469 +148493 +149722 +149747 +150663 +150717 +150725 +150827 +150966 +151224 +151225 +151226 +151230 +151232 +151233 +151234 +151235 +151236 +151239 +151240 +151241 +151243 +151244 +151245 +151246 +151247 +151248 +151249 +151250 +151251 +151253 +151254 +151255 +151256 +151257 +151258 +151263 +151264 +151273 +151274 +151275 +151277 +151280 +151281 +151282 +151286 +151290 +151291 +151292 +151297 +151299 +151300 +151302 +151304 +151305 +151310 +151314 +151316 +151317 +151319 +151322 +151323 +151324 +151326 +151328 +151330 +151331 +151332 +151336 +151337 +151342 +151343 +151346 +151349 +151351 +151352 +151353 +151355 +151356 +151357 +151358 +151359 +151363 +151364 +151365 +151366 +151367 +151369 +151371 +151372 +151374 +151376 +151377 +151382 +151383 +151384 +151385 +151387 +151388 +151389 +151390 +151395 +151396 +151398 +151399 +151400 +151402 +151403 +151404 +151405 +151406 +151407 +151408 +151409 +151410 +151412 +151414 +151415 +151416 +151417 +151418 +151421 +151422 +151423 +151424 +151426 +151429 +151430 +151431 +151433 +151435 +151436 +151437 +151438 +151440 +151441 +151443 +151444 +151446 +151448 +151449 +151452 +151453 +151454 +151455 +151457 +151458 +151459 +151488 +151490 +151638 +151647 +151783 +151851 +151958 +151966 +151967 +151968 +152042 +152048 +152070 +152718 +15296 +15298 +15299 +15300 +15312 +15316 +15318 +153205 +153206 +15323 +15339 +15340 +15341 +15358 +15359 +15360 +15361 +15362 +15363 +15364 +15365 +15366 +15367 +15368 +15369 +153968 +154641 +154820 +154821 +154823 +154825 +154827 +154828 +154829 +154831 +154832 +154843 +154845 +154846 +154848 +154849 +154850 +154852 +154853 +154854 +154855 +154856 +154858 +154859 +154860 +154874 +154889 +154898 +154916 +154919 +154925 +15524 +15525 +155389 +155390 +155391 +155403 +155407 +155408 +155587 +155589 +155590 +155592 +155595 +155596 +155597 +155606 +155607 +155616 +155617 +155618 +155619 +155620 +155621 +155622 +155624 +155626 +155631 +155633 +155636 +155653 +155659 +155661 +155663 +155664 +156006 +156012 +1564 +156687 +156688 +156737 +15682 +15683 +15691 +15692 +15693 +15694 +15695 +15696 +15698 +15699 +15700 +15701 +15702 +15706 +15707 +15708 +15709 +15710 +15711 +15712 +15713 +15714 +15715 +15728 +15730 +15731 +15732 +157336 +157337 +157338 +157339 +15735 +15736 +15737 +15738 +15739 +15740 +15741 +15742 +15743 +157432 +15744 +15745 +15746 +15747 +15748 +15749 +15750 +15751 +15752 +15753 +15754 +15755 +15756 +15759 +15761 +157641 +15765 +15767 +15773 +15774 +15812 +15818 +15823 +15824 +15827 +15828 +15831 +15832 +15844 +15847 +15869 +158718 +158719 +158720 +158721 +158722 +158723 +158724 +158725 +158726 +158742 +15877 +159033 +159034 +159035 +159277 +15950 +159777 +160116 +160438 +16047 +16065 +16093 +16145 +16146 +16148 +161815 +16184 +16190 +16204 +16205 +16206 +162066 +162067 +162069 +16207 +16208 +162087 +162088 +162089 +16209 +16210 +16211 +16212 +16213 +16214 +162147 +162148 +162150 +162151 +162152 +162154 +162156 +162158 +162159 +162160 +162162 +162163 +162164 +162166 +162167 +162168 +162170 +162171 +162173 +162174 +162175 +162176 +162178 +162179 +162181 +162182 +162184 +162207 +162208 +162209 +162210 +162211 +162212 +162219 +162220 +162221 +162224 +162225 +162226 +162230 +162231 +162232 +162246 +162248 +162249 +162251 +162253 +162254 +162255 +162257 +162259 +162260 +162261 +162262 +162271 +162281 +162282 +162283 +162300 +162301 +162302 +16237 +162516 +16262 +16263 +1631 +163100 +163108 +16324 +16325 +16326 +16344 +16345 +16346 +16358 +16359 +16364 +16371 +16372 +16394 +16395 +16399 +16406 +16407 +164152 +164153 +164154 +164159 +164160 +164161 +1643 +164558 +164559 +164560 +1646 +1647 +16477 +16497 +165209 +16534 +16535 +16536 +16537 +16538 +16540 +16541 +16544 +16547 +16548 +16553 +16555 +16556 +16557 +16558 +16570 +16578 +16579 +16581 +16582 +16583 +16584 +16585 +16587 +16588 +16589 +165932 +165933 +165934 +165935 +166024 +16603 +166034 +16604 +166041 +16606 +166064 +166066 +166098 +16614 +16615 +166215 +166216 +166217 +166226 +166228 +166229 +166230 +166231 +166235 +166236 +166237 +166238 +166239 +166240 +166241 +166243 +166244 +166245 +166246 +166261 +16627 +16630 +16631 +166315 +16632 +16633 +166331 +16634 +166354 +166360 +16644 +16651 +16677 +1668 +16682 +16697 +1670 +16701 +1671 +1672 +1673 +1674 +1675 +16751 +16752 +16754 +16769 +1677 +16770 +16771 +1678 +16789 +1679 +16790 +16791 +1680 +1681 +1682 +1683 +16834 +1684 +16843 +16845 +16850 +16851 +1686 +16865 +16866 +16867 +16872 +16873 +16874 +16876 +16881 +16884 +16885 +16886 +16888 +16889 +16890 +16903 +16910 +16911 +16912 +16913 +16914 +16915 +16916 +16923 +16928 +16930 +16931 +16932 +16933 +16934 +16937 +16938 +16943 +16944 +169441 +16949 +16950 +16953 +16958 +16959 +16961 +169626 +16964 +16965 +16966 +16969 +16970 +169841 +169842 +169843 +169844 +169845 +169847 +169882 +169883 +169884 +169885 +169886 +169887 +169888 +169889 +17000 +17001 +17003 +17008 +17011 +17015 +17019 +17023 +17024 +17037 +17038 +17039 +17044 +170495 +170508 +170534 +170555 +170562 +17060 +17061 +17062 +17064 +17083 +170902 +17098 +1712 +1714 +1720 +17200 +17202 +172020 +1721 +17210 +17213 +17220 +17221 +17222 +17232 +1724 +1725 +1726 +17264 +17267 +17268 +1727 +17274 +17275 +17276 +17277 +1728 +17288 +17290 +172905 +172906 +172907 +172908 +172909 +172957 +172958 +172959 +172960 +172962 +172963 +172964 +17304 +1731 +17310 +17311 +17312 +17314 +1732 +173302 +173303 +173304 +173305 +1734 +173512 +173659 +17370 +17375 +173754 +17378 +17381 +17385 +173855 +173870 +173871 +17390 +17393 +173959 +1740 +17401 +174026 +174027 +174028 +174029 +174030 +174031 +17404 +174057 +17406 +174087 +174088 +174089 +174090 +174091 +174092 +174094 +174095 +174096 +174097 +174098 +174099 +1741 +174100 +174101 +174102 +174108 +174109 +174110 +174111 +174112 +174113 +174122 +174123 +174124 +174125 +174130 +174145 +174146 +174162 +174175 +174178 +174183 +174195 +174196 +174198 +174200 +174202 +174204 +174205 +174206 +174207 +174242 +174243 +174245 +174246 +174249 +174251 +174253 +174256 +174258 +174259 +174260 +174261 +174262 +174265 +174269 +174278 +174280 +174281 +174283 +174284 +174290 +174292 +174293 +174294 +17430 +174300 +174302 +174303 +174310 +174316 +174318 +174375 +174376 +174384 +174385 +174388 +1744 +174402 +174403 +174404 +174405 +174435 +174436 +174448 +17445 +174453 +174454 +174455 +174456 +174466 +17448 +174485 +174490 +174491 +174493 +174494 +174498 +174499 +17450 +174500 +174504 +174505 +174507 +174515 +174518 +174519 +174525 +174526 +17453 +174530 +174533 +174536 +174540 +174556 +174557 +174558 +174559 +174560 +174562 +174563 +174564 +174565 +174566 +174567 +174569 +174570 +174571 +174572 +174573 +174574 +174575 +174576 +174577 +17458 +174588 +174589 +174590 +174598 +1746 +174602 +174607 +174608 +174610 +174613 +174614 +174615 +174617 +174619 +174622 +174623 +174632 +174633 +174636 +174639 +174643 +174647 +174651 +174657 +174659 +17467 +174670 +174677 +17468 +174683 +174687 +174689 +17469 +174690 +1747 +17471 +174710 +174711 +174712 +174718 +174719 +174721 +174723 +174728 +174729 +174731 +174733 +174742 +17475 +17476 +17477 +174780 +17479 +1748 +17481 +174869 +1749 +174921 +174925 +174926 +174927 +174928 +174929 +174931 +174932 +174933 +174936 +174937 +174938 +174939 +174940 +174941 +174942 +174943 +174944 +174946 +174947 +174948 +174949 +174950 +174971 +174976 +174986 +174998 +1750 +175003 +175004 +175005 +175007 +175010 +175016 +17502 +17504 +175043 +175044 +17506 +175061 +175062 +175092 +175095 +175097 +1751 +175101 +175102 +175103 +175104 +175105 +175106 +175107 +175108 +175109 +175110 +175111 +175112 +175113 +175114 +175115 +175116 +175117 +175118 +175119 +175120 +175121 +175122 +175123 +175124 +175125 +175126 +175127 +175128 +175129 +17513 +175130 +175161 +175176 +175180 +1752 +17520 +175220 +175221 +17524 +17527 +1753 +17530 +175345 +175346 +175347 +175348 +175349 +175350 +175351 +175353 +175354 +175356 +175357 +175359 +175360 +175395 +1754 +17540 +17541 +17543 +175468 +175472 +175473 +175474 +175475 +175476 +175477 +175478 +175479 +175480 +175481 +17549 +1755 +1756 +175669 +17567 +175671 +175676 +175679 +17568 +175680 +17569 +1757 +17571 +175737 +17574 +17576 +17584 +17586 +175861 +175862 +175864 +175866 +175867 +175868 +175869 +175870 +175871 +175872 +175873 +175874 +175875 +175876 +175877 +175878 +175879 +175881 +175882 +175883 +175884 +175886 +175887 +175888 +175889 +175890 +175891 +175893 +175894 +175895 +175896 +175897 +175899 +175900 +175901 +175902 +175903 +175904 +175905 +175907 +175908 +175909 +175911 +175912 +175914 +175915 +175916 +175917 +175919 +175921 +175922 +175926 +175929 +175930 +175931 +175932 +175933 +175934 +175937 +175938 +175943 +175945 +175946 +175947 +175950 +175951 +175952 +175953 +175954 +175956 +175957 +175959 +175960 +175961 +175962 +175963 +175964 +175965 +175966 +175967 +175968 +175969 +175970 +175971 +175972 +175973 +175974 +175975 +175976 +17598 +175981 +175982 +175983 +175984 +175987 +175988 +175989 +17599 +175991 +175992 +175995 +175996 +175997 +176001 +176002 +176003 +176005 +176007 +176008 +176009 +176013 +176014 +176015 +176016 +176017 +176018 +176019 +176020 +176021 +176023 +176024 +176025 +176026 +176030 +176032 +176033 +176035 +176036 +176037 +176038 +176040 +176041 +176042 +176043 +176044 +176045 +176046 +176047 +176049 +176051 +176052 +176062 +176063 +176064 +176065 +176066 +176140 +176143 +176146 +176149 +176164 +176165 +176166 +176167 +17618 +17620 +176203 +176206 +176207 +176208 +17621 +176210 +176217 +17622 +176238 +176239 +17624 +176240 +176242 +176251 +176252 +176253 +176254 +176255 +176258 +176259 +176260 +176262 +1763 +176327 +176328 +176329 +176334 +17638 +17639 +17640 +176444 +176445 +176446 +176448 +176452 +176453 +176454 +176455 +176460 +176461 +176462 +176464 +176465 +176508 +176509 +17651 +176510 +176512 +176513 +176514 +176515 +176517 +176518 +176519 +176520 +176521 +176523 +176524 +176525 +176527 +176528 +176529 +17653 +176530 +176531 +176532 +176533 +176535 +176536 +176537 +176538 +176539 +176541 +176542 +176543 +176544 +176545 +176546 +176548 +176549 +17655 +176551 +176552 +176553 +176555 +176557 +176558 +176560 +176561 +176562 +176563 +176565 +176566 +176567 +176569 +176570 +176571 +176572 +176574 +176575 +17659 +176595 +176596 +176597 +1766 +176618 +176619 +17663 +176640 +176641 +176642 +176644 +176645 +176647 +176649 +176650 +176652 +176653 +176654 +176655 +176657 +176658 +176659 +176660 +176662 +176664 +176665 +176666 +176668 +176669 +176671 +176672 +176674 +176675 +176676 +17668 +176692 +176694 +176695 +176710 +176711 +176712 +176713 +176714 +176716 +176717 +176718 +176719 +176720 +176721 +176722 +176723 +176724 +176725 +176726 +176727 +176728 +176729 +176730 +176731 +176732 +176773 +176774 +176775 +176777 +176778 +176779 +176780 +176781 +176783 +176784 +176785 +176786 +176787 +176788 +176789 +176790 +176791 +176793 +176795 +176796 +176798 +176799 +176800 +176802 +176803 +176804 +176805 +176806 +176819 +176820 +176821 +176824 +176825 +176838 +176839 +176840 +176841 +176842 +176843 +176844 +176845 +176846 +176848 +176849 +176851 +176852 +176853 +17686 +17687 +176876 +176877 +176878 +176896 +176897 +176910 +176935 +176936 +176937 +176938 +176952 +176974 +176975 +176976 +176977 +176978 +176979 +176980 +176981 +176982 +176983 +176984 +176985 +17703 +177100 +177101 +177103 +177104 +177137 +177138 +177139 +177140 +177141 +177143 +177145 +177146 +177148 +177149 +177150 +177152 +177153 +177154 +177156 +177157 +177158 +177160 +177161 +177162 +177163 +177164 +177165 +177166 +177168 +177169 +177170 +177172 +177173 +177174 +17726 +17732 +177325 +177327 +177329 +177335 +177336 +177338 +17748 +17749 +177507 +177508 +177509 +177510 +177511 +177512 +177513 +177514 +177515 +177516 +177517 +177518 +177519 +17752 +177520 +177521 +177522 +177523 +177524 +177525 +177526 +177527 +177528 +177529 +177530 +177531 +177532 +177533 +177534 +177535 +177536 +177537 +177538 +177539 +177540 +177541 +177542 +177543 +177544 +177545 +177546 +177547 +177548 +177549 +177550 +177551 +177552 +177553 +177554 +177555 +177556 +177557 +177558 +177559 +177560 +177561 +177562 +177563 +177564 +177565 +177567 +177568 +177569 +177570 +177571 +177572 +177573 +177574 +177575 +177576 +177577 +177578 +177579 +177580 +177581 +177582 +177583 +177584 +177585 +177586 +177587 +177588 +177589 +177590 +177591 +177592 +177593 +177594 +177595 +177596 +177597 +177598 +177599 +177600 +177601 +177602 +177603 +177604 +177605 +177606 +177607 +177608 +177609 +177610 +177611 +177612 +177613 +177614 +177615 +177616 +177617 +177618 +177619 +177620 +177621 +177622 +177623 +177624 +177625 +177626 +177627 +177628 +177629 +177631 +177632 +177634 +177635 +177636 +177637 +177638 +177639 +177640 +177641 +177642 +177643 +177645 +177646 +177647 +177648 +177649 +177650 +177651 +177652 +177653 +177654 +177655 +177656 +177657 +177658 +177659 +177660 +177661 +177662 +177663 +177665 +177666 +177667 +177668 +177669 +177670 +177671 +177674 +177675 +177677 +177678 +177679 +177680 +177681 +177682 +177683 +177684 +177685 +177686 +177687 +177688 +177689 +177690 +177705 +177707 +177709 +177712 +177718 +177724 +17774 +17777 +17803 +178055 +178066 +178067 +178068 +178074 +178075 +178076 +178077 +178089 +17820 +17822 +178271 +178288 +178289 +178290 +178291 +178439 +178482 +178483 +178484 +178493 +178494 +178495 +178515 +178549 +178607 +178624 +17878 +178800 +178801 +178802 +178803 +178804 +178805 +178806 +178808 +178809 +178893 +179039 +179043 +179068 +179425 +179426 +179427 +179429 +179433 +179434 +17946 +17948 +17964 +17967 +17969 +17970 +17971 +179723 +179726 +17973 +17974 +17979 +17983 +17986 +17987 +17997 +17998 +179985 +179986 +179987 +17999 +18006 +18007 +18015 +18016 +18017 +180207 +180213 +18023 +180234 +180235 +180373 +180374 +180375 +180376 +180377 +180378 +180379 +18038 +180380 +180381 +180383 +180384 +180385 +180386 +180387 +18039 +18042 +180433 +180434 +180435 +180437 +180439 +180440 +180442 +180443 +180444 +180445 +180447 +180448 +180450 +180451 +180452 +180454 +180455 +180456 +180457 +180458 +18046 +180460 +180461 +180462 +180464 +180465 +180466 +180467 +180469 +180470 +180471 +180472 +180474 +180476 +180477 +180479 +180480 +180482 +180483 +180485 +180486 +180487 +180488 +180490 +180491 +180492 +180493 +180495 +180497 +180498 +18050 +180500 +180501 +180502 +180503 +180505 +180506 +180508 +18051 +18052 +180552 +180585 +180587 +180589 +180591 +180592 +180593 +180595 +180596 +180597 +180598 +180600 +180601 +180603 +180604 +180606 +180608 +180609 +180611 +180612 +180613 +180615 +180616 +180617 +180618 +180620 +180622 +180624 +180625 +180627 +180628 +180630 +180631 +180632 +180634 +180635 +180637 +180638 +180640 +180641 +180643 +180644 +180645 +180646 +180647 +180649 +180650 +180681 +180682 +180683 +180684 +180685 +180686 +180696 +180697 +180699 +180700 +180701 +180703 +180704 +180705 +180707 +180708 +180709 +180710 +180712 +180713 +180714 +180715 +180717 +180718 +180719 +180720 +180730 +180731 +180732 +180733 +180734 +180735 +180736 +180737 +180738 +180744 +180745 +180746 +180747 +180812 +180813 +180814 +180815 +180816 +180817 +180818 +180819 +180820 +180821 +180822 +180823 +180824 +180825 +180826 +180827 +180828 +180829 +180830 +180831 +180832 +180833 +180834 +180835 +180836 +180837 +180838 +180839 +180840 +180841 +180842 +180843 +180844 +180845 +180846 +180891 +180892 +180893 +180894 +180895 +180896 +180897 +180898 +180899 +180900 +180901 +180902 +180903 +180904 +180905 +180910 +180911 +180914 +180915 +180916 +18102 +18104 +18109 +18110 +18113 +18122 +18123 +18125 +18219 +18221 +18222 +18226 +182270 +182272 +182273 +182279 +18232 +182329 +18233 +18234 +182348 +18236 +182386 +182387 +182410 +18244 +182472 +182475 +182494 +182641 +182642 +182646 +182648 +182653 +182654 +18271 +182747 +182749 +182750 +182751 +182752 +182753 +182754 +182755 +182756 +182758 +182759 +182782 +182783 +182785 +182788 +182789 +182790 +182791 +182793 +182795 +182797 +18282 +182822 +182915 +18297 +182983 +182985 +182988 +182989 +182990 +182991 +182992 +182993 +182994 +182995 +182996 +182998 +18300 +183033 +183034 +183036 +183038 +183040 +183041 +183042 +183045 +183046 +183047 +183048 +183068 +183069 +183070 +183071 +183072 +183081 +183082 +183083 +183084 +183085 +183086 +183087 +183177 +183260 +183261 +183262 +183264 +183265 +183266 +183267 +183268 +183269 +183270 +183271 +183272 +183273 +183274 +183275 +183276 +183277 +183280 +183281 +183282 +183283 +183284 +183286 +183287 +183288 +183289 +183290 +183291 +183292 +183293 +183371 +183372 +183377 +183378 +183379 +183381 +183383 +183387 +183389 +183392 +183393 +183395 +183396 +183397 +183398 +183399 +18349 +18352 +18354 +183827 +183828 +183829 +183831 +183871 +183918 +18406 +18408 +18409 +184154 +184192 +184193 +184194 +184195 +184196 +184197 +184198 +184199 +184212 +184215 +18444 +18445 +18446 +18447 +18448 +18449 +18450 +18451 +18468 +18469 +18473 +185006 +185088 +185091 +185155 +185156 +185157 +185159 +185161 +185162 +185163 +185164 +185166 +185167 +185168 +185169 +185170 +185171 +185172 +185173 +185175 +185176 +185177 +185178 +185180 +185181 +185182 +185183 +185184 +185186 +185187 +185201 +185206 +185208 +185209 +185210 +185211 +185212 +185213 +185214 +185215 +185216 +185217 +185218 +185219 +185220 +185221 +185222 +185223 +185224 +185225 +185226 +185247 +185311 +185312 +185313 +185321 +185322 +185323 +185324 +185326 +185327 +185328 +185336 +185337 +185338 +185339 +185340 +185341 +185343 +185345 +185346 +185347 +185358 +185359 +185360 +185361 +185362 +185363 +185364 +185365 +185368 +185369 +185370 +185371 +185375 +185376 +185377 +185378 +185379 +18538 +185380 +185381 +185382 +185383 +185384 +185385 +185386 +185387 +185388 +185389 +185390 +185391 +185392 +185393 +185394 +185396 +185397 +185398 +185399 +18540 +185402 +185403 +185406 +185407 +185409 +185411 +185413 +185414 +185420 +185422 +185423 +185424 +185427 +185428 +185429 +185430 +185431 +185432 +185433 +185435 +185436 +185437 +185438 +185441 +185443 +185444 +185445 +185447 +185448 +185449 +185489 +185490 +185491 +185492 +185493 +185494 +185495 +185496 +185497 +185498 +185564 +185566 +185579 +185593 +185601 +185603 +185623 +185624 +185633 +185719 +185720 +185721 +185729 +185732 +185733 +185753 +18578 +185806 +185807 +18588 +185975 +185981 +185986 +185987 +185990 +185992 +186011 +186054 +186055 +186056 +186059 +186090 +186091 +186094 +186097 +186098 +186099 +186100 +186101 +186103 +186104 +186106 +186107 +186108 +186109 +186111 +186112 +186113 +186129 +186133 +186134 +186149 +186175 +186206 +186207 +186208 +186209 +186210 +186211 +186212 +186213 +186220 +186266 +186267 +186268 +186269 +186271 +186272 +186273 +186275 +186276 +186277 +186279 +186280 +186281 +186282 +186284 +186285 +186286 +186287 +186288 +186289 +186291 +186292 +186294 +186295 +186297 +186298 +186299 +186300 +186302 +186303 +186304 +186305 +186307 +186308 +186310 +186311 +186312 +186313 +186315 +186316 +186317 +186319 +186320 +186322 +186323 +186325 +186326 +186327 +186328 +186330 +186332 +186334 +186336 +186338 +186339 +186340 +186341 +186342 +186343 +18635 +186370 +186371 +186372 +186373 +186374 +186375 +186380 +186381 +186387 +186388 +186389 +186390 +186391 +186392 +186404 +18643 +18644 +18645 +18646 +186474 +186482 +186512 +186513 +186514 +186515 +18654 +186566 +186567 +186568 +186571 +186573 +186576 +186620 +186622 +186627 +186628 +186630 +18665 +186651 +186656 +186660 +186665 +186712 +186713 +186715 +186720 +186721 +18675 +186756 +18683 +18684 +18685 +186888 +186890 +18691 +18701 +18703 +18709 +187112 +187113 +187114 +187115 +187116 +187117 +187118 +187119 +187121 +187122 +187123 +187124 +187125 +187126 +187127 +187128 +187129 +187130 +187132 +187133 +187136 +187137 +187138 +187139 +187140 +187141 +187142 +187144 +187146 +187147 +187151 +187153 +187154 +187155 +187156 +187158 +187159 +187161 +187162 +187163 +187165 +187166 +187167 +187168 +187172 +187173 +187174 +187175 +187176 +187177 +187178 +187179 +187180 +187181 +187182 +187183 +187184 +187185 +187186 +187187 +187188 +187191 +187194 +187198 +187199 +187200 +187201 +187202 +187203 +187204 +187205 +187207 +187208 +187209 +187210 +187211 +187212 +187213 +187214 +187215 +187216 +187217 +187218 +187219 +187220 +187221 +187222 +187223 +187224 +187225 +187227 +187228 +187229 +187231 +187233 +187235 +187236 +187237 +187238 +187240 +187241 +187243 +187244 +187245 +187246 +187247 +187248 +187249 +187250 +187251 +187252 +187253 +187254 +187255 +187256 +187257 +187258 +187259 +187260 +187262 +187263 +187264 +187265 +187266 +187267 +187268 +187269 +187270 +187272 +187291 +187309 +18731 +18732 +18733 +18734 +18735 +187365 +187380 +187403 +187404 +187405 +187406 +187407 +187408 +187409 +187410 +187411 +187412 +187413 +187414 +187415 +187416 +187417 +187418 +187419 +187420 +187421 +187422 +187423 +187472 +187473 +187475 +187476 +187477 +187478 +187481 +18773 +18776 +18782 +187850 +187874 +187883 +187884 +187887 +187888 +187889 +187890 +187912 +187913 +187914 +187915 +187916 +187917 +187919 +187920 +187940 +187949 +187950 +187951 +187952 +187953 +187965 +187966 +187967 +187968 +187969 +187970 +188060 +188081 +188110 +188112 +18813 +188148 +18851 +18852 +18853 +18854 +18855 +188609 +188610 +188647 +188659 +18871 +188746 +18877 +188936 +189064 +189073 +189076 +189077 +189078 +189085 +189086 +189087 +18921 +189363 +189364 +189365 +189374 +189375 +189376 +189378 +189379 +189380 +189381 +189382 +189383 +189385 +189386 +189388 +189389 +189391 +189392 +189394 +189395 +189396 +189397 +189398 +189400 +189401 +189402 +189404 +189405 +189406 +189408 +189409 +189411 +189412 +189413 +18943 +189432 +189433 +189434 +189457 +189460 +189463 +189573 +189574 +189576 +189577 +189578 +189579 +189580 +189581 +189582 +189583 +189584 +189585 +189586 +189587 +189588 +189589 +189591 +189592 +189593 +189594 +189595 +189596 +189690 +189691 +18970 +189794 +189864 +18989 +18990 +189973 +189974 +189978 +189980 +190002 +190003 +190005 +190006 +190007 +190008 +190009 +190011 +190012 +190013 +190015 +190016 +190018 +190019 +190021 +190022 +190023 +190036 +190037 +190038 +190039 +190040 +190058 +190067 +190077 +190078 +190079 +190080 +190104 +190105 +190106 +190107 +190159 +190191 +190214 +190223 +19024 +190267 +190345 +190383 +190385 +190386 +190387 +190388 +19055 +190634 +190637 +190638 +190639 +190641 +190644 +190647 +190648 +190649 +190659 +190660 +190661 +190662 +190663 +19068 +190698 +190701 +190702 +19073 +190745 +190746 +190747 +190748 +190749 +190750 +190751 +190752 +190753 +19076 +19079 +190799 +190800 +190801 +19082 +190824 +190826 +190827 +191111 +191112 +191113 +191115 +191116 +191117 +191119 +191120 +191121 +191123 +191124 +191125 +191127 +191128 +191129 +191131 +191132 +191135 +191136 +191137 +191139 +191140 +191142 +191144 +191146 +191147 +191148 +191150 +191152 +191153 +191155 +191157 +191159 +191160 +191162 +191163 +191165 +191166 +191168 +191169 +191171 +191172 +191173 +191175 +191215 +191216 +191217 +191218 +191219 +191220 +191221 +191222 +191223 +191224 +191225 +191226 +191227 +191228 +191229 +191230 +191232 +191233 +191234 +191235 +191236 +191237 +191239 +191241 +191243 +191246 +191247 +191248 +191249 +191252 +191253 +191254 +191255 +191256 +191257 +191258 +191259 +191260 +191261 +191262 +191263 +191271 +191274 +191275 +191276 +191277 +191278 +191279 +19128 +191280 +191281 +191282 +191283 +191284 +191285 +191286 +191287 +191288 +191291 +191292 +191293 +191294 +191295 +191296 +19131 +191356 +191357 +191358 +191391 +191392 +191393 +191403 +191463 +191464 +191490 +191491 +191492 +191497 +191498 +191500 +191501 +191502 +191589 +191602 +191629 +191644 +191655 +19168 +19169 +19177 +19178 +19179 +19180 +19191 +191939 +191942 +191950 +192082 +192083 +192087 +19220 +19221 +19223 +19227 +19228 +19230 +19239 +192397 +192398 +192399 +192400 +192401 +192402 +192405 +192406 +192407 +192408 +192409 +192410 +192411 +19242 +19245 +19248 +19251 +19254 +19257 +19260 +19263 +19273 +19287 +19288 +19300 +19307 +19317 +19318 +19319 +193315 +193356 +193382 +193425 +193426 +193427 +193428 +193429 +193487 +193488 +19349 +193492 +193493 +193672 +193718 +193719 +193720 +193721 +193722 +193761 +193762 +193807 +193826 +193827 +193828 +193829 +193830 +193831 +193835 +193836 +193837 +193838 +193839 +193840 +193841 +193842 +193843 +193844 +193845 +193846 +193847 +193848 +193849 +193850 +193851 +193852 +193853 +193854 +193855 +193856 +193857 +193858 +193859 +193860 +193861 +193862 +193863 +193864 +193865 +193866 +193867 +193868 +193869 +19387 +193870 +193871 +193872 +193873 +19388 +19399 +19400 +19402 +194020 +194022 +194023 +194024 +194025 +194028 +194029 +194034 +194037 +19404 +194046 +19405 +19406 +194062 +194063 +19407 +194143 +194145 +194146 +194147 +194149 +194150 +194152 +194153 +194154 +194156 +194157 +194158 +194160 +194161 +194162 +194163 +194165 +194166 +194168 +194169 +194170 +194172 +194173 +194174 +194175 +194177 +194178 +194179 +194181 +194182 +194184 +194185 +194187 +194188 +194189 +194191 +194192 +194193 +194194 +194195 +194196 +194198 +194199 +194201 +194203 +194205 +194206 +194208 +194209 +194210 +194211 +194252 +194254 +194255 +194257 +194258 +194259 +194260 +194261 +194263 +194265 +194267 +194268 +194269 +194271 +194272 +194273 +194275 +194276 +194277 +194278 +19428 +194280 +194282 +194283 +194285 +194286 +194288 +194289 +19429 +194290 +194291 +194293 +194295 +194296 +194297 +194298 +194299 +19430 +194301 +194302 +194303 +194304 +194305 +194306 +194307 +194309 +194310 +194311 +194312 +19438 +194517 +194518 +194519 +194563 +194564 +194582 +194583 +194584 +194607 +194610 +194629 +19463 +19465 +194694 +194737 +194748 +194752 +194780 +194786 +194787 +194788 +194789 +194790 +194791 +194792 +194793 +194802 +194814 +194815 +194816 +194817 +194818 +194819 +194820 +194821 +194822 +194823 +194849 +194850 +194851 +194852 +194853 +194854 +194855 +194856 +194867 +194868 +194869 +194870 +194871 +194872 +194873 +194874 +19492 +194955 +194957 +194966 +194967 +194968 +194969 +194970 +194971 +194972 +194973 +194974 +194975 +194987 +194988 +194989 +194990 +194991 +194992 +194993 +194994 +194995 +194996 +194997 +194998 +194999 +19500 +195001 +195139 +1952 +195350 +195355 +195356 +195357 +195358 +195376 +195377 +195378 +19538 +195387 +195388 +195389 +19541 +195416 +195421 +19546 +195506 +195515 +195564 +195565 +195572 +195573 +195583 +195584 +195585 +19563 +195638 +195639 +195640 +195641 +195653 +195654 +195655 +195656 +195657 +195658 +195659 +195660 +195661 +195662 +195663 +195664 +195665 +195666 +195667 +195685 +195686 +195687 +195688 +195705 +195707 +195708 +195709 +195710 +195714 +195715 +195716 +195725 +195726 +195728 +195729 +195730 +195731 +195733 +195734 +195735 +195736 +195743 +195771 +195772 +195884 +195885 +195886 +195887 +195892 +195909 +195910 +195911 +195994 +195995 +195996 +195997 +195999 +196000 +196001 +196002 +196003 +196004 +196005 +196024 +196025 +196028 +196029 +196030 +196031 +196033 +196035 +196037 +196038 +196039 +19635 +196395 +196415 +196417 +196418 +196427 +196429 +196574 +196575 +196576 +19658 +19660 +196614 +196615 +196616 +196617 +19662 +196640 +19666 +19667 +19671 +19674 +19677 +19682 +19692 +196938 +196942 +196943 +196946 +19697 +196986 +196988 +197022 +19713 +197141 +197143 +197169 +197170 +197195 +197196 +197224 +197227 +19730 +19733 +19782 +197929 +197930 +197933 +198049 +198120 +198170 +198173 +198174 +19819 +198228 +198308 +198327 +19833 +19834 +198365 +198368 +198386 +198500 +198508 +198657 +19868 +19874 +198887 +198888 +198900 +198964 +198965 +198966 +19900 +19901 +199047 +19907 +199088 +19910 +19913 +199174 +199175 +19918 +199180 +199206 +199223 +199241 +199257 +199274 +199293 +19932 +199328 +19934 +199341 +199342 +199372 +199374 +199415 +199459 +19952 +199542 +199543 +199546 +199548 +199550 +199553 +199554 +199555 +199557 +199565 +199567 +199581 +199620 +199621 +199632 +199633 +199700 +199709 +19973 +199784 +199833 +19985 +200046 +200047 +200048 +20112 +20139 +2015 +20164 +20169 +20171 +201918 +201920 +201926 +201930 +201933 +201934 +201935 +201936 +201989 +202047 +202048 +202049 +202050 +202051 +202053 +202054 +202055 +202056 +202058 +202059 +202060 +202061 +202063 +202064 +202065 +202066 +202068 +202069 +202070 +202071 +202073 +202074 +202075 +202077 +202078 +202079 +202080 +202082 +202083 +202084 +202085 +202086 +202088 +202089 +202090 +202091 +202092 +202093 +202095 +202096 +202098 +202099 +202100 +202102 +202103 +202104 +202105 +202107 +202108 +202110 +202111 +202112 +202114 +202115 +202117 +202118 +202120 +202121 +202122 +202123 +202125 +202126 +202127 +202128 +202129 +202153 +202154 +202155 +202156 +20218 +202187 +20219 +202203 +20246 +20247 +202515 +202579 +20265 +202650 +202695 +202697 +202707 +202715 +202717 +202733 +202734 +20279 +20284 +20285 +202909 +202963 +20299 +202997 +203002 +203004 +203006 +20301 +20303 +203033 +203043 +203049 +203056 +203068 +203069 +20307 +20308 +203084 +203085 +203087 +203088 +203091 +203092 +203096 +203097 +203098 +203099 +203136 +203151 +203152 +203153 +203154 +203155 +203156 +203157 +203158 +203159 +203160 +203161 +203162 +203163 +203164 +203165 +203166 +203167 +203168 +203169 +203191 +203192 +203193 +203194 +203195 +203197 +203246 +203384 +203499 +203500 +203501 +203502 +203504 +203505 +203506 +203507 +203509 +203510 +203511 +203513 +203514 +203515 +203516 +203518 +203519 +203520 +203522 +203523 +203524 +203525 +203526 +203528 +203529 +203530 +203531 +203533 +203534 +203536 +203537 +203538 +203540 +203541 +203542 +203543 +203545 +203546 +203547 +203548 +203549 +203551 +203552 +203553 +203555 +203556 +203557 +203558 +203560 +203561 +203562 +203564 +203565 +203567 +203568 +203569 +203592 +203593 +203594 +203595 +203596 +203597 +203598 +203599 +203602 +203603 +203605 +203607 +203609 +203694 +203695 +203696 +203697 +203698 +203699 +203700 +203701 +203702 +203703 +203704 +203705 +203706 +203707 +203708 +203709 +203710 +203711 +203712 +203713 +203714 +203715 +203716 +203717 +203844 +203857 +20389 +20391 +20392 +20394 +204113 +204119 +204338 +20445 +20448 +204484 +20451 +20452 +20453 +20454 +20456 +20457 +20458 +204649 +204660 +204669 +204674 +204899 +204901 +204903 +204905 +204907 +204909 +20491 +204910 +204919 +20492 +204920 +204922 +204923 +204924 +204925 +204927 +204928 +204930 +204931 +204932 +204933 +204934 +204936 +204937 +204938 +204940 +204941 +204942 +204946 +204948 +204949 +20495 +204950 +204951 +204952 +204954 +204956 +204958 +204960 +204961 +204963 +204965 +204966 +204967 +204968 +204970 +204971 +204973 +204974 +204976 +204977 +205004 +205005 +205007 +205009 +205010 +205011 +205013 +205014 +205015 +205017 +205018 +205019 +20502 +205020 +205021 +205023 +205024 +205026 +205028 +205029 +20503 +205030 +205031 +205032 +205033 +205034 +205036 +205038 +20504 +205040 +205042 +205043 +205044 +205046 +205047 +205049 +205051 +205053 +205055 +205056 +205057 +205059 +20507 +205084 +205086 +205087 +205088 +205089 +205091 +205092 +205094 +205096 +205098 +205099 +205101 +205102 +205103 +205105 +205107 +205108 +205109 +205110 +205111 +205113 +205114 +205115 +205117 +205118 +205120 +205122 +205123 +205124 +205126 +205127 +205129 +205130 +205132 +205133 +205134 +205135 +205137 +205138 +20514 +205140 +205142 +205143 +205144 +205145 +205147 +205148 +205149 +20515 +205151 +205152 +205153 +205155 +205156 +205157 +205158 +205159 +20516 +205161 +205162 +205164 +205165 +205167 +205169 +205170 +205172 +205173 +205174 +205175 +205177 +205178 +205179 +205181 +205182 +205183 +205184 +205185 +205186 +205188 +205189 +205191 +205193 +205195 +205196 +205197 +205199 +20520 +205200 +205202 +205203 +205205 +205207 +205208 +205209 +205210 +20522 +20523 +205260 +205262 +205265 +205266 +205267 +205269 +205271 +205273 +205274 +205275 +205276 +205277 +205279 +205280 +205281 +205283 +205284 +205286 +205287 +205289 +205290 +205292 +205293 +205295 +205296 +205298 +205299 +205301 +205302 +205304 +205306 +205308 +205309 +205310 +205311 +205312 +205314 +205315 +205316 +205319 +205320 +205324 +205325 +205328 +205329 +205331 +205332 +205333 +205335 +205336 +205337 +205338 +205339 +205340 +205341 +205342 +205343 +205344 +205345 +205346 +205347 +205348 +205349 +205350 +205351 +205352 +205353 +205355 +205356 +205358 +205359 +205360 +205361 +205363 +205364 +205365 +205367 +20537 +205371 +205373 +205375 +205377 +205379 +205381 +205383 +205385 +205388 +20539 +205390 +205392 +205394 +205396 +205398 +205400 +205404 +205406 +205408 +205410 +205412 +205414 +205416 +205418 +205420 +205422 +205424 +205426 +205430 +205432 +205434 +205436 +20544 +205442 +205444 +205446 +205448 +20545 +20546 +205559 +20556 +205560 +205561 +205562 +205563 +205564 +205565 +205566 +205567 +205568 +205569 +205570 +205571 +205572 +205573 +205574 +205575 +205576 +205577 +205578 +205579 +205580 +205581 +205582 +205583 +205584 +205585 +205586 +205587 +205588 +205589 +205590 +205591 +205592 +205593 +205594 +205595 +205596 +205597 +205598 +205599 +205600 +205601 +205602 +205603 +205604 +205605 +205606 +205607 +205608 +205609 +205610 +205611 +205612 +205613 +205614 +205615 +205616 +205617 +205618 +205619 +205620 +205621 +205622 +205623 +205624 +205625 +205626 +205627 +205628 +205629 +205630 +205631 +205632 +205633 +205634 +205635 +205636 +205637 +205638 +205639 +205642 +205643 +205644 +205645 +205646 +205647 +205648 +205649 +205650 +205651 +205652 +205653 +205654 +205655 +205656 +205657 +205658 +205659 +205660 +205661 +205662 +205663 +205664 +205665 +205666 +205667 +205668 +205669 +205670 +205671 +205672 +205673 +205674 +205675 +205676 +205677 +205678 +205679 +2057 +20570 +20577 +205849 +205894 +2059 +20590 +20591 +20592 +205933 +205939 +205942 +205943 +205946 +205985 +205986 +205987 +205989 +205999 +206005 +206072 +206150 +206189 +206190 +206192 +206193 +206195 +206196 +206197 +206198 +206200 +206201 +206202 +206203 +206205 +206206 +206208 +206209 +206210 +206211 +206212 +206213 +206214 +206216 +206217 +206218 +206219 +206220 +206231 +206240 +206241 +206242 +206244 +206245 +206246 +206247 +206249 +206250 +206251 +206252 +206254 +206255 +206256 +206258 +206259 +206260 +206261 +206269 +206270 +206273 +206320 +206363 +206364 +206366 +206367 +206368 +206369 +206371 +206372 +206373 +206374 +206375 +206376 +206377 +206378 +206390 +206392 +206393 +206395 +206396 +206397 +206398 +206399 +206400 +206401 +206402 +206403 +206404 +206405 +206406 +206407 +206408 +206409 +206410 +206411 +206412 +206435 +206477 +206482 +206488 +206491 +206494 +206496 +206515 +206517 +206588 +206607 +206638 +206639 +206640 +206641 +206642 +206706 +206707 +206708 +206714 +206715 +206716 +206717 +206718 +206778 +206779 +206780 +206781 +206782 +206783 +206784 +206785 +206786 +206787 +206788 +206789 +206790 +206806 +206809 +206810 +206813 +207045 +207046 +207047 +207048 +207050 +207052 +207054 +207090 +207091 +207092 +207093 +207094 +207095 +207096 +207097 +207098 +207099 +207100 +207101 +207102 +207103 +207104 +207105 +207106 +207107 +207108 +207109 +207110 +207111 +207112 +207113 +207114 +207115 +207116 +207117 +207118 +207120 +207121 +207122 +207123 +207323 +207349 +207351 +207352 +207355 +207357 +207359 +207360 +207361 +207365 +207366 +207367 +207368 +207369 +207370 +207371 +207372 +207374 +207375 +208224 +208225 +208226 +208228 +208243 +208260 +208262 +208263 +208265 +208267 +208268 +208269 +208271 +208273 +208274 +208275 +208276 +208290 +208315 +208316 +208317 +208318 +208319 +208320 +2084 +208544 +208545 +208546 +208547 +208548 +208562 +208563 +208602 +208603 +208604 +208606 +208607 +208608 +208609 +208611 +208612 +208613 +208614 +208616 +208617 +208618 +208619 +208620 +208621 +208622 +208623 +208625 +208626 +208627 +208628 +208633 +208637 +208638 +208639 +208642 +208652 +208654 +208655 +208656 +208660 +208662 +208668 +208669 +208670 +208679 +208692 +208694 +208695 +208696 +208699 +208700 +208701 +208703 +208704 +208705 +208706 +208707 +208710 +208711 +208712 +208714 +208715 +208716 +208718 +208719 +208720 +208721 +208722 +208729 +208731 +208739 +208740 +208741 +208742 +208743 +208744 +208745 +208746 +208747 +208748 +208749 +208750 +208751 +208752 +208753 +208754 +208755 +208756 +208757 +208758 +208759 +208760 +208784 +21118 +2112 +2113 +21133 +21140 +21141 +21142 +21143 +21144 +21148 +21149 +2121 +21231 +21240 +21241 +21244 +2126 +2127 +21276 +21279 +21353 +21391 +21393 +21395 +21403 +21404 +21451 +21464 +21485 +21486 +21489 +21495 +21496 +21553 +21554 +21556 +21557 +21561 +21563 +21564 +21650 +21656 +21662 +21663 +21668 +21669 +21674 +21686 +21689 +21701 +21705 +21721 +21722 +21724 +21726 +21728 +21733 +2174 +21762 +21763 +21767 +21775 +21776 +21779 +2178 +21780 +21785 +2179 +21790 +21802 +21804 +2181 +21819 +21832 +21833 +21836 +21839 +21866 +2187 +21871 +21872 +21878 +2188 +21890 +21897 +21901 +21903 +21905 +21919 +21920 +21922 +21923 +21924 +21944 +21946 +21955 +21963 +21964 +21969 +21971 +21972 +21974 +21975 +21979 +21980 +21981 +22006 +22007 +22013 +22017 +22018 +22019 +22023 +22028 +22029 +2203 +22036 +22049 +22052 +22060 +22063 +22066 +22070 +22071 +22072 +22073 +22074 +22082 +22088 +22108 +22109 +22117 +22119 +22127 +22128 +22129 +22132 +22139 +22150 +22158 +22159 +22165 +22167 +22168 +22184 +22185 +22186 +22193 +22194 +22216 +22217 +22219 +22225 +22226 +22227 +22228 +22233 +22239 +22240 +22247 +22248 +22249 +22276 +22285 +22297 +22305 +22309 +22314 +22315 +22317 +22319 +22342 +22344 +22345 +22346 +22363 +22374 +22382 +22384 +22386 +22388 +2239 +22390 +22396 +22402 +22403 +22404 +22451 +22453 +22473 +22477 +22478 +22489 +22490 +22492 +22497 +22506 +22507 +2252 +22522 +22524 +22525 +22530 +22531 +22541 +22549 +22550 +22551 +22552 +22553 +22554 +22555 +22556 +22557 +22558 +22559 +22560 +22561 +22562 +22563 +22564 +22565 +22566 +22567 +22568 +22569 +22570 +22571 +22572 +22573 +22574 +22582 +22583 +226823 +226824 +226825 +226826 +226827 +226828 +226829 +226830 +226831 +226832 +226833 +226905 +226907 +226908 +226909 +226911 +226912 +226914 +226915 +226917 +226918 +226976 +226979 +226981 +226984 +226986 +226988 +227161 +227162 +227163 +227164 +227165 +227166 +227167 +227168 +227169 +227170 +227171 +227172 +227173 +227174 +227175 +227176 +227177 +227178 +227179 +227180 +227181 +227182 +227183 +227184 +227185 +227186 +227187 +227188 +227189 +227190 +227191 +227192 +227193 +227194 +227195 +227196 +227197 +227198 +227199 +227200 +227201 +227202 +227203 +227204 +227205 +227206 +227207 +227208 +227209 +227210 +227211 +227212 +227213 +227214 +227215 +227216 +227217 +227218 +227219 +227220 +227221 +227222 +227223 +227224 +227225 +227226 +227227 +227228 +227229 +227230 +227231 +227232 +227233 +227234 +227235 +227236 +227237 +227238 +227239 +227240 +227241 +227430 +227437 +227505 +227597 +227598 +227733 +227755 +227905 +227907 +227908 +227910 +228002 +228004 +228005 +228184 +228288 +228289 +228290 +228291 +228292 +228293 +228294 +228295 +228296 +228297 +228298 +228299 +228301 +228302 +228400 +228437 +228545 +228672 +228676 +228992 +229019 +229020 +229021 +229022 +229186 +229281 +229620 +229936 +230067 +230076 +230077 +230155 +230156 +230276 +230470 +230478 +230481 +230483 +230519 +230520 +230523 +230525 +230527 +230528 +230529 +230530 +230532 +230533 +230539 +230542 +230543 +230555 +230565 +230566 +230576 +230623 +230624 +230625 +230627 +230628 +230629 +230631 +230632 +230633 +230634 +230636 +230637 +230638 +230639 +230640 +230641 +230642 +230643 +230644 +230645 +230646 +230648 +230649 +230651 +230652 +230654 +230655 +230656 +230657 +230658 +230660 +230661 +230662 +230663 +230664 +230666 +230667 +230668 +230670 +230671 +230673 +230674 +230675 +230677 +230678 +230679 +230680 +230682 +230683 +230685 +230686 +230688 +230689 +230690 +230692 +230693 +230694 +230695 +230696 +230698 +230699 +230700 +230701 +230702 +230704 +230705 +230706 +230707 +230708 +230709 +230711 +230712 +230713 +230714 +230715 +230717 +230718 +230719 +230720 +230721 +230722 +230723 +230724 +230725 +230755 +230756 +230757 +230842 +230843 +230844 +230845 +230846 +230847 +230848 +230849 +230850 +230851 +230852 +230853 +230854 +230855 +230856 +230857 +230858 +230859 +230860 +230861 +230991 +230992 +230993 +230994 +230996 +231122 +231129 +231130 +231131 +231132 +231133 +231234 +231235 +231236 +231237 +231238 +231239 +231240 +231241 +231242 +231243 +231245 +231246 +231247 +231248 +231249 +231250 +231252 +231253 +231254 +231255 +231257 +231258 +231260 +231261 +231262 +231263 +231264 +231265 +231267 +231268 +231269 +231270 +231271 +231272 +231274 +231275 +231277 +231278 +231279 +231281 +231282 +231283 +231284 +231286 +231287 +231288 +231289 +231290 +231293 +231299 +231304 +231308 +231314 +231315 +231316 +231317 +231318 +231319 +231320 +231321 +231322 +231323 +231324 +231325 +231326 +231327 +231328 +231329 +231330 +231331 +231332 +231333 +231334 +231335 +231336 +231337 +231338 +231339 +231340 +231368 +231429 +231430 +231431 +231432 +231433 +231434 +231435 +231436 +231437 +231438 +231439 +231440 +231441 +231442 +231443 +231445 +231446 +231447 +231448 +231449 +231450 +231451 +231452 +231453 +231454 +231455 +231456 +231457 +231458 +231459 +231542 +231545 +231546 +231547 +231548 +231561 +231562 +231563 +231564 +231565 +231566 +231568 +231569 +231570 +231571 +231572 +231573 +231574 +231575 +231577 +231578 +231579 +231580 +231958 +232046 +232047 +232049 +232093 +232179 +232510 +234252 +234254 +234255 +234256 +234257 +234258 +234259 +234261 +234262 +234263 +234264 +234265 +234269 +234273 +234275 +234309 +234312 +234327 +234328 +234336 +234337 +234338 +2344 +234451 +234471 +234477 +2345 +234600 +234645 +234646 +234649 +234659 +234701 +234702 +234703 +234704 +234705 +234706 +234707 +234708 +234709 +234710 +234711 +234712 +234713 +234714 +234715 +234716 +234717 +234740 +234741 +234742 +234743 +234745 +234746 +234748 +234749 +234751 +234752 +234802 +234810 +234861 +234862 +234877 +234884 +234890 +234896 +234897 +234901 +234931 +234981 +234982 +234985 +234991 +234995 +234996 +235000 +235001 +235002 +235003 +235009 +235010 +235011 +235012 +235014 +235015 +235016 +235017 +235018 +235019 +235027 +235028 +235033 +235050 +235057 +235059 +235060 +235064 +235067 +235070 +235071 +235089 +235098 +235105 +235107 +235108 +235109 +235110 +235130 +235133 +235134 +235140 +235151 +235210 +235217 +235219 +235227 +235228 +235271 +235313 +235363 +235368 +235369 +235370 +235375 +235376 +235402 +235403 +235417 +235421 +235422 +235423 +235428 +235431 +235433 +235447 +235448 +235451 +235474 +235489 +235570 +235585 +235586 +235587 +235589 +235590 +235591 +235597 +2356 +235600 +235606 +235607 +235617 +235619 +235623 +235624 +235625 +235632 +235636 +235641 +235656 +235657 +235658 +235659 +235663 +235668 +235674 +235678 +235679 +235680 +235681 +235684 +235685 +235686 +235701 +235702 +235706 +235707 +235711 +235712 +235812 +235824 +235845 +235846 +235913 +235914 +235915 +235917 +235918 +235919 +235921 +235922 +235923 +235924 +235925 +235926 +235927 +235929 +235930 +235931 +235933 +235934 +235935 +235936 +235937 +235939 +235940 +235941 +235943 +235944 +235946 +235947 +235948 +235950 +235951 +235952 +235953 +235954 +235955 +235956 +235958 +235959 +235960 +235961 +235962 +235963 +235965 +235966 +235967 +235968 +235970 +235971 +235973 +235974 +235975 +235976 +235978 +235979 +235980 +235981 +235982 +235984 +235985 +235986 +235987 +235992 +235998 +236005 +236010 +236011 +236012 +236013 +236014 +236020 +236039 +236040 +236041 +236042 +236044 +236045 +236047 +236049 +236050 +236051 +236053 +236054 +236055 +236056 +236057 +236059 +236061 +236062 +236063 +236065 +236066 +236067 +236068 +236073 +236078 +236082 +236098 +236099 +2361 +236100 +236101 +236102 +236103 +236104 +236105 +236106 +236107 +236108 +236109 +236110 +236111 +236112 +236113 +236114 +236115 +236116 +236117 +236170 +236171 +236172 +236173 +236175 +236177 +236179 +236180 +236182 +236183 +236185 +236186 +236187 +236188 +236190 +236191 +236192 +236193 +236194 +236196 +236198 +236199 +236200 +236201 +236202 +236204 +236205 +236207 +236208 +236209 +236210 +236212 +236213 +236214 +236215 +236216 +236218 +236219 +236220 +236222 +236224 +236225 +236226 +236227 +236228 +236230 +236231 +236233 +236234 +236235 +236236 +236237 +236239 +236240 +236241 +236242 +236244 +236245 +236247 +236248 +236249 +236250 +236252 +236253 +236254 +236255 +236262 +236272 +236279 +236285 +236294 +236295 +236296 +236297 +236298 +236299 +236300 +236301 +236302 +236303 +236304 +236305 +236306 +236307 +236308 +236309 +236310 +236311 +236312 +236313 +236314 +236315 +236316 +236317 +236318 +236319 +236320 +236321 +236356 +236357 +236358 +236359 +236396 +2364 +236542 +236543 +236547 +236550 +236561 +236721 +236722 +236749 +236750 +236759 +236761 +236765 +236766 +236768 +236771 +236777 +236778 +236793 +236794 +236842 +236846 +236847 +236852 +236853 +2369 +236920 +236928 +236929 +236930 +236931 +236939 +236947 +236948 +236949 +236955 +236968 +236970 +236971 +236972 +236973 +236975 +236976 +236979 +236980 +236989 +236997 +236998 +236999 +237007 +237052 +237053 +237054 +237056 +237063 +237064 +237066 +237067 +237068 +237073 +237074 +237075 +237077 +237081 +237086 +237087 +237088 +237091 +237093 +237097 +237117 +237120 +237124 +237125 +237127 +237131 +237135 +237136 +237137 +237139 +237152 +237164 +237166 +237169 +237170 +237171 +237187 +237188 +237189 +237190 +237191 +237192 +237219 +237220 +237221 +237222 +237224 +237228 +237238 +237240 +237266 +237267 +237268 +237270 +237281 +237282 +237284 +237285 +237294 +237296 +237297 +237298 +237303 +237306 +237314 +237315 +237316 +237329 +237350 +237359 +237360 +237363 +237364 +237365 +237369 +237374 +237380 +237381 +237382 +237384 +237390 +237411 +237414 +237415 +237416 +237418 +237431 +237432 +237433 +237434 +237445 +237446 +237447 +237449 +237469 +237474 +237475 +237476 +237479 +237489 +237492 +237493 +237494 +237496 +237503 +237505 +237506 +237507 +237518 +237520 +237521 +237522 +237532 +237533 +237534 +237544 +237563 +237564 +237572 +237573 +237577 +237594 +237595 +237627 +237628 +237629 +237632 +237650 +237651 +237652 +237670 +237737 +237738 +237739 +237753 +237799 +237800 +237811 +237815 +237819 +2379 +241168 +241169 +241170 +241176 +241186 +241214 +241223 +241240 +241241 +241242 +241243 +241344 +241345 +241346 +241347 +241348 +241359 +241361 +241362 +241366 +241376 +241381 +241404 +241405 +241406 +241408 +241412 +241413 +241414 +241417 +241476 +2415 +241503 +241504 +241505 +241507 +241517 +241534 +241535 +241536 +241538 +241539 +241540 +241560 +241592 +241594 +2416 +241603 +241605 +241606 +241607 +241609 +241610 +241612 +241642 +241644 +241664 +241665 +241666 +241668 +241669 +241670 +241672 +241674 +241691 +241692 +241693 +241696 +241699 +241700 +241701 +241703 +241705 +241709 +241714 +241715 +241746 +241747 +241749 +241750 +241751 +241752 +241753 +241754 +241756 +241757 +241758 +241759 +241761 +241762 +241763 +241764 +241765 +241766 +241767 +241768 +241769 +241770 +241771 +241772 +241773 +241774 +241775 +241776 +241793 +241794 +241797 +241798 +241799 +241800 +241801 +241802 +241803 +241804 +241805 +241806 +241807 +241808 +241809 +241810 +241811 +241812 +241813 +241814 +241815 +241816 +241817 +241818 +241819 +241820 +241821 +241822 +241862 +241886 +241887 +241888 +241891 +241892 +241893 +241899 +241900 +241911 +241913 +241956 +241962 +241966 +241974 +241976 +241978 +241982 +241986 +241990 +241992 +2420 +242035 +242036 +2421 +2422 +242321 +242322 +242323 +242324 +242347 +242348 +242470 +242471 +242472 +242473 +242474 +242476 +242477 +242478 +242479 +242481 +242482 +242483 +242484 +242485 +242486 +242488 +242489 +242490 +242491 +242493 +242494 +242495 +242496 +242497 +242499 +242500 +242501 +242503 +242504 +242505 +242506 +242508 +242509 +242510 +242511 +242512 +242514 +242515 +242516 +242518 +242519 +242520 +242522 +242523 +242524 +242525 +242527 +242528 +242529 +242530 +242532 +242533 +242534 +242535 +242536 +242537 +242539 +242540 +242541 +242542 +242543 +242544 +242545 +242546 +242547 +242549 +242550 +242551 +242552 +242553 +242555 +242556 +242557 +242559 +242560 +242561 +242562 +242564 +242565 +242566 +242567 +242569 +242570 +242571 +242573 +242574 +242575 +242577 +242578 +242579 +242580 +242581 +242583 +242584 +242585 +242586 +242588 +242589 +242590 +242591 +242596 +242601 +242608 +242612 +242614 +242616 +242621 +242626 +242631 +242745 +242747 +242748 +242751 +242752 +242753 +242754 +242788 +242789 +242792 +242964 +242966 +242967 +243015 +243108 +243109 +243110 +243137 +243255 +243444 +243445 +243448 +24374 +24375 +24376 +24378 +24379 +24380 +24382 +24384 +24385 +24386 +24398 +24399 +244044 +244045 +244046 +244050 +244052 +244054 +244055 +244056 +244060 +24409 +24410 +2444 +244435 +244436 +244439 +244629 +244706 +244975 +244976 +245064 +245153 +245154 +245155 +245204 +245429 +245430 +245431 +245435 +245437 +245438 +245439 +246831 +246832 +247053 +247210 +247269 +247275 +247409 +247410 +247874 +247949 +247950 +247951 +248019 +248020 +248021 +248026 +248027 +248028 +248036 +248042 +248422 +248785 +248818 +248820 +248821 +248822 +248931 +248966 +248967 +248969 +248970 +248971 +248974 +248975 +248976 +248993 +248998 +249039 +249095 +249170 +249179 +249181 +249182 +249183 +249186 +249187 +249188 +249190 +249191 +249192 +249196 +249197 +249198 +249200 +249204 +249205 +249207 +249208 +249209 +249212 +249213 +249214 +249216 +249219 +249220 +249237 +249238 +249246 +249247 +249248 +249253 +249370 +249389 +249390 +249393 +249395 +249396 +249397 +249399 +249400 +249410 +249411 +249412 +249415 +249427 +249434 +249435 +249445 +249969 +249972 +249973 +249975 +249978 +250024 +250025 +250026 +250028 +250030 +250034 +250037 +250038 +250039 +250040 +250059 +250062 +250063 +250064 +250174 +250175 +250176 +250177 +250314 +250315 +250382 +250389 +250391 +250400 +250402 +250403 +250404 +250408 +250409 +250411 +250412 +250415 +250418 +250422 +250429 +250432 +250434 +250435 +250436 +250453 +250454 +250457 +250467 +250468 +250469 +250475 +250482 +250489 +250491 +250493 +250504 +250505 +250515 +250560 +250561 +250562 +250563 +250685 +250687 +250688 +250689 +250691 +250692 +250693 +250694 +250695 +250696 +250697 +250698 +250699 +250701 +250702 +250703 +250704 +250705 +250706 +250709 +250710 +250711 +250714 +250715 +250716 +250717 +250720 +250721 +250722 +250723 +250724 +250725 +250733 +250734 +250735 +250737 +250738 +250739 +250740 +250742 +250744 +250745 +250746 +250748 +250752 +250753 +250755 +250757 +250758 +250759 +250760 +250761 +250762 +250763 +250764 +250765 +250766 +250767 +250771 +250773 +250774 +250779 +250780 +250781 +250783 +250784 +250785 +250788 +250789 +250790 +250792 +250793 +250794 +250795 +250796 +250797 +250798 +250799 +250800 +250801 +250803 +250806 +250807 +250809 +250810 +250811 +250812 +250815 +250816 +250817 +250818 +250820 +250831 +250832 +250833 +250844 +250845 +250846 +250851 +250854 +250860 +250876 +250878 +250879 +250880 +250915 +250916 +250918 +250919 +250921 +250922 +250924 +250925 +250926 +250927 +250928 +250930 +250931 +250932 +250934 +250935 +250936 +250937 +250939 +250940 +250942 +250943 +250944 +250945 +250947 +250948 +250950 +250951 +250952 +250953 +250954 +250955 +250956 +250958 +250959 +250961 +250962 +250964 +250965 +250966 +250967 +250968 +250969 +250970 +250972 +250973 +250975 +250976 +250978 +250979 +250980 +250981 +250982 +250983 +250984 +250986 +250987 +250989 +250990 +250991 +250992 +250993 +250994 +250995 +250996 +250997 +251002 +251009 +251014 +251021 +251026 +251027 +251066 +251068 +251069 +251071 +251072 +251074 +251076 +251077 +251078 +251080 +251082 +251083 +251085 +251087 +251088 +251090 +251091 +251092 +251093 +251095 +251096 +251098 +251099 +251101 +251102 +251103 +251105 +251106 +251108 +251110 +251111 +251113 +251114 +251115 +251116 +251118 +251119 +251120 +251122 +251123 +251124 +251130 +251137 +251143 +251150 +251184 +251185 +251186 +251187 +251189 +251190 +251191 +251192 +251194 +251196 +251198 +251200 +251201 +251202 +251203 +251205 +251207 +251208 +251209 +251210 +251211 +251226 +251227 +251230 +251239 +251241 +251292 +251310 +251311 +251312 +251313 +251314 +251350 +251368 +251369 +251370 +251371 +251386 +251387 +251388 +251390 +251392 +251398 +251399 +251400 +251401 +251402 +251403 +251404 +251405 +251406 +251407 +251408 +251409 +251410 +251411 +251412 +251413 +251414 +251415 +251416 +251417 +251418 +251419 +251420 +251421 +251422 +251423 +251424 +251425 +251455 +251457 +251458 +251459 +251476 +251484 +251485 +251486 +251487 +251488 +251489 +251490 +251491 +251492 +251493 +251494 +251495 +251496 +251497 +251498 +251499 +251500 +251501 +251502 +251503 +251504 +251505 +251506 +251507 +251508 +251509 +251510 +251511 +251512 +251513 +251514 +251515 +251572 +251595 +251598 +251599 +251600 +251605 +251619 +251623 +251631 +251637 +251639 +251640 +251641 +251648 +251649 +251650 +251651 +251652 +251653 +251655 +251657 +251660 +251661 +251662 +251663 +251665 +251738 +251740 +251741 +251746 +251747 +251748 +251750 +251752 +251753 +251770 +251778 +251785 +251790 +251794 +251814 +251826 +251827 +251828 +251830 +251831 +251833 +251835 +251836 +251837 +251839 +251851 +251853 +251884 +251885 +251886 +251911 +251913 +251916 +251918 +251920 +251921 +251940 +251941 +251942 +251943 +251945 +251946 +251949 +251950 +251979 +252055 +252056 +252057 +252062 +252063 +252064 +252069 +252070 +252085 +252086 +252087 +252089 +252090 +252103 +252104 +252114 +252118 +252119 +252120 +252125 +252126 +252127 +252128 +252130 +252131 +252133 +252134 +252135 +252147 +252148 +252187 +252192 +252195 +252219 +252220 +252221 +252275 +252293 +252295 +252301 +252309 +252396 +252397 +252398 +252399 +252401 +252402 +252403 +252405 +252406 +252407 +252408 +252410 +252411 +252412 +252414 +252415 +252416 +252417 +252419 +252420 +252421 +252422 +252423 +252424 +252426 +252427 +252428 +252429 +252431 +252432 +252433 +252435 +252436 +252437 +252438 +252440 +252441 +252442 +252443 +252445 +252446 +252447 +252448 +252450 +252451 +252452 +252453 +252455 +252456 +252457 +252458 +252460 +252461 +252462 +252463 +252464 +252465 +252467 +252468 +252469 +252471 +252472 +252473 +252475 +252476 +252477 +252478 +252479 +252481 +252482 +252483 +252484 +252485 +252487 +252488 +252489 +252490 +252491 +252492 +252494 +252495 +252497 +252498 +252499 +252500 +252502 +252504 +252505 +252506 +252513 +252523 +252534 +252539 +252540 +252541 +252544 +252545 +252548 +252550 +252576 +252614 +252615 +252628 +252631 +252632 +252646 +252660 +252661 +252662 +252663 +252686 +252687 +252688 +252702 +252706 +252707 +252709 +252712 +252713 +252714 +252715 +252716 +252717 +252718 +252719 +252720 +252721 +252722 +252723 +252724 +252725 +252726 +252727 +252728 +252729 +252730 +252731 +252732 +252733 +252734 +252735 +252736 +252763 +252764 +252805 +252807 +252808 +252809 +252810 +252812 +252813 +252815 +252825 +252826 +252832 +252833 +252851 +252859 +252863 +252865 +252866 +252881 +252897 +252898 +252900 +252908 +252909 +252920 +252953 +252967 +252991 +252992 +252993 +252999 +253000 +253001 +253003 +253008 +253009 +253010 +253033 +253040 +253041 +253042 +253049 +253050 +253051 +253053 +253054 +253055 +253067 +253079 +253081 +253087 +253089 +253105 +253143 +253162 +253163 +253166 +253168 +253189 +253448 +253449 +253451 +253452 +253453 +253455 +254147 +254148 +254149 +254151 +254153 +254154 +254164 +254175 +254190 +254300 +254682 +254683 +254686 +254687 +254688 +254704 +254870 +254871 +254872 +254880 +254882 +254883 +254886 +254887 +254888 +254891 +254899 +254900 +254901 +254910 +254938 +254940 +254942 +254958 +254980 +254981 +254982 +254983 +254984 +254986 +254987 +254988 +254989 +254990 +254991 +254993 +254994 +254995 +254996 +254997 +254999 +255000 +255001 +255002 +255003 +255004 +255005 +255006 +255008 +255009 +255011 +255012 +255013 +255014 +255015 +255016 +255018 +255019 +255020 +255021 +255023 +255024 +255025 +255026 +255031 +255037 +255058 +255059 +255060 +255061 +255062 +255065 +255066 +255068 +255069 +255070 +255071 +255072 +255073 +255074 +255075 +255076 +255077 +255078 +255079 +255080 +255081 +255082 +255083 +255084 +255085 +255088 +255093 +2551 +255144 +255145 +255146 +255182 +255183 +255184 +255185 +255186 +255188 +255189 +255190 +255191 +255192 +255193 +255195 +255196 +255197 +255198 +255199 +2552 +255200 +255201 +255203 +255205 +255206 +255207 +255208 +255210 +255211 +255212 +255213 +255214 +255215 +255216 +255217 +255219 +255220 +255221 +255222 +255223 +255224 +255225 +255227 +255228 +255229 +25523 +255230 +255232 +255233 +255234 +255235 +255236 +255238 +255239 +255240 +255241 +255242 +255243 +255244 +255246 +255247 +255249 +25525 +255250 +255251 +255252 +255253 +255255 +255256 +255257 +255258 +255260 +255261 +255262 +255263 +255264 +255265 +255266 +255268 +255269 +255270 +255271 +255273 +255274 +255275 +255276 +255278 +255279 +255280 +255281 +255282 +255283 +255286 +255292 +255299 +2553 +255306 +255311 +255312 +255313 +255318 +255319 +255321 +255325 +25535 +2554 +25546 +25550 +25552 +25553 +25556 +25558 +25559 +255603 +255606 +255608 +255609 +25561 +255610 +255611 +255612 +255613 +255614 +255615 +255616 +255617 +255618 +255619 +25562 +255620 +255621 +255622 +255623 +255624 +255625 +255626 +255627 +255628 +255629 +255630 +255631 +255632 +255633 +255634 +255635 +255636 +255637 +255638 +255639 +255640 +255641 +255642 +255643 +255644 +255645 +255646 +255647 +255648 +255649 +255650 +255651 +255652 +255653 +255654 +255655 +255656 +255657 +255658 +255659 +255660 +255661 +255662 +255663 +255664 +255665 +255666 +255667 +255668 +255669 +255670 +255671 +255672 +255673 +255674 +255675 +255676 +255677 +25570 +255748 +25583 +25584 +25585 +25586 +25587 +25588 +25589 +2559 +25590 +25591 +25592 +25593 +25594 +25595 +25596 +25597 +25605 +25606 +25607 +25624 +25625 +25627 +25628 +25629 +25631 +25644 +25696 +25723 +25726 +25729 +25732 +25735 +25750 +257589 +257590 +257591 +257598 +25767 +25769 +25771 +25777 +25778 +25780 +25781 +25783 +257983 +258084 +25816 +25818 +25819 +25820 +25823 +25824 +25829 +258296 +258297 +258298 +258300 +258301 +258302 +258360 +258434 +258446 +258447 +258449 +25845 +25847 +25853 +258537 +258538 +258541 +258543 +258545 +258546 +258547 +25855 +258553 +258554 +25856 +25860 +25864 +2587 +25877 +2588 +25884 +25888 +25908 +25909 +25915 +25922 +25925 +25952 +25953 +25954 +25955 +25958 +25969 +25997 +25998 +25999 +26000 +26001 +26002 +26003 +26005 +26006 +26010 +26011 +26014 +26015 +26017 +26018 +26019 +2602 +26020 +26021 +26022 +26023 +26024 +26027 +26029 +2603 +26032 +2604 +26058 +26061 +26068 +26070 +26073 +26081 +260853 +26086 +260866 +260868 +26087 +260876 +260878 +260891 +260896 +260899 +260900 +260902 +260908 +260974 +260977 +260978 +26098 +260982 +260983 +260988 +260989 +260990 +260991 +260999 +261001 +26105 +261064 +261065 +261066 +261067 +261068 +261069 +261070 +261071 +261072 +261073 +261074 +261075 +261076 +261077 +261078 +261079 +261080 +261081 +261082 +261083 +26109 +261091 +26113 +261165 +261166 +261188 +261199 +261222 +261231 +261340 +261341 +261342 +261343 +261349 +261354 +261356 +261357 +261359 +261362 +261364 +261400 +26143 +261441 +261446 +261449 +26146 +261461 +26147 +261502 +261539 +261540 +261541 +261552 +261561 +261564 +261566 +261567 +261574 +261576 +26158 +261585 +261587 +261635 +261639 +261644 +261645 +26166 +26167 +26169 +26170 +26171 +26173 +26174 +261756 +26176 +261768 +26177 +261771 +26178 +261799 +26180 +261813 +261814 +26182 +261825 +261826 +261827 +261831 +261832 +26184 +26185 +26186 +26188 +26189 +26190 +26198 +26208 +26209 +26210 +26211 +26215 +26224 +26237 +262756 +262758 +262759 +262760 +262767 +26277 +262771 +262773 +262776 +262778 +262784 +262785 +262796 +262798 +26280 +26283 +26300 +2632 +26327 +26335 +26350 +26351 +26396 +26402 +26409 +26413 +264335 +264336 +264337 +264338 +264339 +264340 +264341 +264342 +264343 +264344 +264345 +264346 +264347 +26439 +2644 +26449 +26459 +2646 +26461 +26467 +2647 +264775 +264776 +264777 +264778 +264779 +264780 +264781 +264782 +264783 +264784 +264785 +264786 +264787 +264788 +264799 +264800 +264801 +264802 +264803 +264804 +264805 +264806 +26500 +26501 +26503 +26511 +265236 +26529 +265305 +265306 +265307 +265308 +26534 +26535 +265352 +265354 +265355 +265356 +26536 +26537 +26538 +26539 +265395 +26540 +26541 +265414 +265417 +26542 +26543 +26544 +26545 +26546 +26547 +26548 +26549 +26550 +26551 +26552 +265539 +26554 +26555 +26556 +265566 +26557 +26558 +26563 +26564 +26565 +265650 +265652 +26566 +26567 +265671 +26568 +265680 +265681 +265685 +265729 +26577 +265814 +265815 +265816 +265817 +265818 +265819 +265820 +265821 +265822 +265823 +265824 +265825 +265826 +265827 +265828 +265829 +265830 +265831 +265832 +265833 +265835 +265836 +265837 +265838 +265839 +265840 +265842 +265843 +265847 +265849 +265850 +265852 +265854 +265855 +265857 +265861 +265862 +265863 +265870 +265871 +265872 +265876 +26589 +26590 +26591 +26592 +26593 +26594 +26595 +26596 +26622 +26623 +26624 +26625 +26626 +26627 +26628 +26629 +26651 +26675 +26676 +26677 +26678 +26689 +266915 +26708 +26711 +26713 +26717 +26718 +26720 +26725 +26730 +26738 +26743 +26744 +26748 +26755 +26763 +26768 +267762 +267764 +267765 +267857 +267858 +267859 +26833 +26834 +268362 +268363 +268364 +268365 +268366 +268367 +268368 +268369 +268370 +268371 +268372 +268373 +268374 +268375 +268376 +268377 +268378 +268379 +268380 +268381 +268382 +268383 +268384 +268385 +268386 +268387 +268388 +268389 +268390 +268391 +268392 +268393 +268394 +268395 +268449 +268450 +268452 +268453 +268454 +268455 +268456 +268457 +268458 +268459 +268460 +268461 +268462 +268463 +268464 +268465 +268466 +268467 +268468 +268469 +268470 +268471 +268472 +268473 +268474 +268499 +268501 +268502 +268503 +268514 +268539 +268598 +268607 +268611 +268618 +268685 +268687 +268691 +268731 +268732 +268733 +268740 +268741 +268750 +268751 +268752 +268764 +268765 +268766 +268770 +268776 +26878 +268789 +26879 +268790 +268791 +268801 +268802 +268803 +268807 +268808 +268809 +26881 +268813 +268814 +268815 +268821 +268825 +268828 +268829 +268830 +268833 +268862 +268904 +268905 +268906 +268907 +268908 +268909 +268910 +268911 +268912 +268913 +268914 +268915 +268916 +268917 +268918 +268928 +268929 +268930 +268945 +26896 +268966 +26899 +268990 +26906 +26908 +26909 +26910 +26911 +26912 +26913 +269136 +26914 +26915 +26916 +26917 +26918 +26921 +26922 +26923 +26924 +269247 +26925 +269264 +269265 +269266 +269267 +269268 +269269 +269270 +269271 +269272 +269273 +269274 +269275 +269276 +269277 +269278 +269279 +26928 +269280 +269282 +269283 +269284 +269285 +269286 +269287 +269297 +269298 +26931 +269330 +269402 +269417 +26944 +269473 +269475 +269476 +269553 +269566 +269567 +269568 +269569 +269570 +269577 +269587 +269591 +269659 +269663 +269687 +27027 +270526 +270628 +270751 +270818 +270819 +270820 +270824 +270835 +270841 +270842 +270846 +270847 +270848 +270849 +270860 +270871 +270872 +270879 +270886 +270887 +270895 +270896 +270897 +270918 +270920 +270924 +270932 +270933 +270935 +270940 +270941 +270942 +270943 +270944 +270945 +270947 +270948 +270949 +270950 +270952 +270956 +270957 +270958 +270960 +271020 +271031 +27130 +27141 +27148 +27149 +27153 +27173 +27176 +27177 +27187 +27197 +27198 +27199 +27205 +27214 +272251 +272254 +272255 +272257 +272270 +272272 +272273 +272274 +272289 +272290 +272298 +272301 +272366 +272367 +272368 +272370 +272385 +272391 +272417 +272433 +27246 +272511 +272535 +272540 +272542 +27255 +272553 +272556 +272563 +272567 +27257 +272576 +272577 +27259 +272774 +272909 +272914 +272921 +272945 +273016 +273017 +273024 +273027 +273028 +273031 +273040 +273042 +273049 +273120 +273154 +273159 +27330 +27331 +27332 +27333 +27334 +27335 +27336 +27337 +27338 +27339 +27340 +27341 +27342 +27343 +27344 +27345 +27346 +27347 +27348 +27349 +27350 +27351 +27352 +27353 +27354 +27355 +27356 +27357 +27358 +27362 +27370 +273721 +27380 +27382 +273829 +27383 +27385 +27386 +273968 +273969 +273970 +273976 +273977 +273979 +273980 +273983 +27401 +27404 +27405 +27412 +274121 +274122 +274123 +274125 +27413 +274155 +274156 +274157 +274159 +27416 +274160 +274161 +274163 +27421 +27422 +27426 +27427 +27429 +27435 +27436 +27440 +27441 +27446 +27447 +274482 +274483 +274484 +274487 +274488 +274489 +274490 +274492 +274493 +27458 +27459 +27460 +27461 +274712 +274713 +274715 +274717 +274718 +27472 +274720 +274726 +274732 +27474 +27475 +27476 +274829 +274830 +274831 +274860 +274864 +274865 +274874 +27488 +274882 +274913 +27494 +274950 +274956 +274957 +274963 +274965 +274967 +274985 +274986 +27501 +27507 +27508 +275089 +27509 +275091 +27511 +27512 +27513 +275133 +275134 +27517 +275423 +275424 +275425 +275510 +275625 +275642 +275643 +275645 +275648 +2757 +2758 +275848 +275849 +275853 +275877 +275947 +275999 +276002 +276006 +276057 +276087 +276224 +276369 +276373 +276378 +276427 +276478 +276491 +276542 +276544 +276545 +276546 +276556 +276557 +276565 +276663 +276670 +276685 +276686 +276689 +276710 +277016 +277107 +277124 +277157 +277363 +277364 +277365 +277366 +277369 +277377 +277378 +277379 +277380 +277382 +277383 +277385 +277386 +277387 +277388 +277390 +277391 +277392 +277393 +277398 +277537 +277666 +277678 +277679 +277680 +277681 +277682 +277684 +277685 +277686 +277687 +277688 +277690 +277691 +277692 +277693 +277694 +277698 +277701 +277702 +277713 +277714 +277715 +277716 +277718 +277719 +277720 +277721 +277722 +277724 +277725 +277726 +277727 +277739 +277740 +277741 +277743 +277744 +277745 +277747 +277748 +277749 +277750 +277752 +277753 +277754 +277755 +277759 +277825 +277829 +277830 +277831 +277839 +277859 +277876 +277878 +277880 +277882 +277890 +277891 +277892 +278131 +278135 +278136 +278152 +278161 +278164 +278165 +278187 +278197 +278425 +278464 +278471 +278475 +278520 +278634 +278635 +278636 +278638 +278689 +278789 +278854 +278855 +278856 +278857 +278869 +278876 +278897 +278901 +278915 +278916 +278919 +278925 +278926 +278927 +278932 +278938 +279014 +279015 +279016 +279019 +279027 +279030 +279032 +279033 +279034 +279035 +279036 +279268 +279270 +279272 +279274 +279285 +279287 +279288 +279292 +279294 +279306 +279340 +279341 +279342 +279343 +279345 +279346 +279347 +279348 +279349 +279351 +279352 +279353 +279354 +279356 +279357 +279358 +279359 +279361 +279362 +279363 +279365 +279367 +279368 +279369 +279370 +279372 +279373 +279374 +279375 +279376 +279377 +279379 +279380 +279381 +279382 +279383 +279385 +279386 +279387 +279388 +279390 +279391 +279392 +279394 +279395 +279396 +279397 +279399 +279400 +279401 +279403 +279404 +279405 +279406 +279408 +279409 +279411 +279412 +279413 +279414 +279416 +279417 +279418 +279419 +279421 +279422 +279423 +279424 +279426 +279427 +279428 +279429 +279434 +279441 +279448 +279455 +279462 +279463 +279464 +279465 +279466 +279467 +279468 +279469 +279470 +279471 +279472 +279473 +279474 +279475 +279476 +279477 +279478 +279480 +279481 +279482 +279506 +279507 +279508 +279509 +279510 +279532 +279548 +279549 +279550 +279551 +279552 +279553 +279561 +279578 +279579 +279580 +279583 +279600 +279611 +279613 +279615 +279618 +279622 +279675 +279677 +279678 +279682 +279683 +279684 +279685 +279686 +279688 +279689 +279691 +279702 +279745 +279746 +279747 +279748 +279749 +279750 +279751 +279752 +279753 +279754 +279755 +279756 +279765 +279767 +279768 +279769 +279770 +279771 +279772 +279773 +279774 +279777 +279778 +279779 +279780 +279781 +279789 +279797 +279798 +279876 +279885 +279886 +279887 +279900 +280048 +280049 +280050 +280206 +280315 +280316 +280317 +280318 +280319 +280320 +280322 +280323 +280324 +280325 +280326 +280327 +280328 +280329 +280330 +280331 +280332 +280334 +280335 +280336 +280337 +280338 +280339 +280376 +280377 +280378 +280379 +280380 +280381 +280382 +280383 +280384 +280385 +280386 +280387 +280388 +280389 +280390 +280391 +280393 +280394 +280396 +280397 +280398 +280460 +280461 +280462 +280463 +280464 +280465 +280466 +280467 +280468 +280470 +280471 +280472 +280473 +280474 +280477 +280478 +280479 +280480 +280481 +280482 +280568 +280662 +280664 +280666 +280667 +280668 +280669 +280670 +280671 +280672 +280673 +280674 +280675 +280676 +280677 +280678 +280679 +280680 +280681 +280682 +280683 +280684 +280685 +280686 +280687 +280688 +280689 +280690 +280692 +280694 +280831 +280838 +280839 +280972 +280973 +280974 +280992 +280994 +281024 +281080 +281129 +281130 +281132 +281133 +281137 +281142 +281150 +281153 +281162 +281163 +281164 +281168 +281169 +281171 +281173 +281179 +281186 +281188 +281197 +281201 +281205 +281208 +281210 +281218 +281221 +281231 +281232 +281235 +281236 +281249 +281264 +281270 +281455 +281484 +281486 +281490 +281499 +281501 +281536 +281538 +281539 +281551 +281620 +281633 +281669 +281700 +281701 +281702 +281786 +281787 +281788 +282024 +282041 +282048 +282050 +282051 +282058 +282165 +282215 +282216 +282223 +282228 +282245 +282255 +282260 +282263 +282265 +282267 +282281 +282286 +282287 +282294 +282301 +282303 +282306 +282308 +282315 +282388 +282392 +282393 +282394 +282396 +282397 +282398 +282403 +282815 +283024 +283025 +283184 +283187 +283198 +283240 +283244 +283245 +283246 +283251 +283256 +283308 +283309 +283310 +283369 +283484 +283486 +283570 +283696 +283725 +283729 +283857 +283858 +283859 +283996 +283998 +283999 +284001 +284543 +284817 +284923 +284933 +284938 +285586 +285588 +285589 +285590 +285626 +286013 +286408 +286416 +286417 +286423 +286582 +286778 +286791 +286792 +286794 +286825 +286826 +286827 +286828 +286830 +286831 +286832 +286833 +286834 +286836 +286837 +286838 +286839 +286840 +286841 +286842 +286844 +286845 +286846 +286847 +286849 +286850 +286851 +286853 +286854 +286855 +286856 +286858 +286859 +286860 +286861 +286863 +286864 +286865 +286866 +286868 +286869 +286870 +286871 +286873 +286874 +286875 +286876 +286878 +286879 +286880 +286881 +286882 +286883 +286885 +286886 +286887 +286888 +286889 +286891 +286892 +286893 +286894 +286895 +286896 +286898 +286899 +286900 +286902 +286903 +286904 +286905 +286906 +286908 +286909 +286910 +286911 +286912 +286914 +286915 +286916 +286917 +286918 +286922 +286927 +286932 +286937 +286944 +286969 +286970 +286972 +286974 +286975 +286976 +286978 +286979 +286980 +286981 +286983 +286984 +286985 +286986 +286988 +286989 +286990 +286991 +286993 +286994 +286995 +286996 +286998 +286999 +287000 +287001 +287003 +287004 +287005 +287006 +287008 +287009 +287010 +287011 +287013 +287014 +287015 +287017 +287018 +287019 +287020 +287022 +287023 +287024 +287025 +287027 +287028 +287029 +287030 +287032 +287033 +287034 +287035 +287037 +287038 +287039 +287040 +287041 +287042 +287044 +287045 +287046 +287048 +287049 +287050 +287051 +287053 +287054 +287055 +287056 +287058 +287059 +287060 +287061 +287066 +287073 +287079 +287085 +287091 +287111 +287115 +287116 +287117 +287118 +287119 +287120 +287121 +287122 +287123 +287124 +287125 +287126 +287140 +287155 +287156 +287157 +287158 +287159 +287160 +287161 +287162 +287163 +287164 +287165 +287178 +287181 +287485 +287486 +287488 +287489 +287490 +287492 +287493 +287494 +287496 +287497 +287498 +287500 +287501 +287502 +287504 +287505 +287506 +287507 +287508 +287510 +287511 +287512 +287514 +287515 +287517 +287518 +287520 +287521 +287526 +287533 +287556 +287613 +287614 +287615 +287616 +287617 +287618 +287619 +287620 +287621 +287622 +287623 +287624 +287625 +287626 +287627 +287628 +287629 +287630 +287631 +287632 +287633 +287634 +287635 +287637 +287638 +287639 +287640 +287641 +287642 +287643 +287644 +287645 +287646 +287647 +287648 +287649 +287650 +287651 +287652 +287653 +287654 +287655 +287656 +287657 +287658 +287659 +287660 +287661 +287662 +287663 +287664 +287665 +287722 +287893 +287894 +287895 +287896 +287974 +287975 +287976 +287977 +287978 +287979 +287980 +287981 +287982 +287983 +288185 +288502 +288505 +288506 +288507 +288513 +288514 +288532 +288533 +288534 +288535 +288536 +288538 +288539 +288540 +288541 +288542 +288543 +288582 +288769 +288770 +288771 +288774 +288826 +288828 +288829 +288830 +288831 +288832 +288833 +288834 +288998 +288999 +289000 +289001 +289002 +289003 +289110 +289111 +289112 +289113 +289114 +289128 +289129 +289251 +289429 +289430 +289431 +289565 +289591 +289609 +289610 +289638 +289738 +289955 +289956 +290055 +290061 +290299 +290574 +290584 +290620 +290621 +290622 +290626 +290630 +290995 +290996 +290997 +291058 +291064 +291065 +291135 +291136 +291137 +291138 +291141 +291142 +291143 +291167 +291168 +291169 +291170 +291197 +291198 +291207 +291291 +291292 +291294 +291295 +291297 +291298 +291299 +291304 +291305 +291306 +291307 +291330 +291331 +291333 +291482 +291484 +291505 +291508 +291531 +291533 +291535 +291589 +291593 +291594 +291595 +291755 +291756 +291959 +291960 +291961 +291963 +292004 +292005 +292006 +292008 +292049 +292501 +292502 +292503 +292505 +292552 +292554 +292575 +292670 +292671 +292672 +292673 +293078 +293079 +293080 +293081 +293189 +293209 +293210 +293211 +293212 +293727 +293728 +293729 +293733 +293734 +293735 +293737 +293748 +293749 +293750 +293751 +293766 +293817 +293818 +293819 +293828 +293830 +293831 +293832 +293845 +293849 +293850 +293851 +293853 +293858 +293860 +293861 +293862 +293866 +293871 +293875 +293876 +293880 +293915 +293976 +293978 +293979 +293980 +293981 +293982 +293983 +293984 +293989 +293990 +294007 +294013 +294026 +294041 +294043 +294045 +294048 +294049 +294050 +294053 +294056 +294057 +294062 +294067 +294068 +294077 +294078 +294079 +294084 +294128 +294129 +294130 +294131 +294150 +294153 +294154 +294155 +294178 +294280 +294310 +294311 +294312 +294323 +294328 +294329 +294331 +294332 +294335 +294365 +294366 +294367 +294380 +294384 +294425 +294426 +294427 +294444 +294564 +294570 +294572 +294573 +294584 +294586 +294728 +294729 +294797 +294798 +294799 +294802 +294809 +294810 +294811 +294814 +294819 +294856 +294919 +294920 +294921 +294922 +294924 +294925 +294926 +294927 +294929 +294930 +294931 +294932 +294934 +294935 +294936 +294937 +294938 +294940 +294941 +294942 +294943 +294945 +294946 +294947 +294948 +294949 +294950 +294952 +294953 +294954 +294955 +294957 +294958 +294959 +294960 +294962 +294963 +294964 +294965 +294967 +294968 +294969 +294970 +294972 +294973 +294974 +294975 +294977 +294978 +294979 +294980 +294982 +294983 +294984 +294985 +294986 +294988 +294989 +294990 +294991 +294992 +294993 +294995 +294996 +294997 +294998 +294999 +295001 +295002 +295003 +295004 +295005 +295007 +295008 +295009 +295010 +295017 +295023 +295029 +295034 +295211 +295221 +295222 +295223 +295224 +295251 +295252 +295253 +295254 +295255 +295257 +295261 +295263 +295288 +295289 +295296 +295297 +295298 +295300 +295306 +295307 +295308 +295310 +295316 +295380 +295391 +295393 +295396 +295397 +295398 +295450 +295451 +295452 +295453 +295574 +295575 +295576 +295584 +295585 +295586 +295588 +295590 +295744 +295745 +295746 +295749 +295752 +295753 +295754 +295755 +295766 +295767 +295768 +295821 +295905 +295906 +295907 +296076 +296286 +296287 +296288 +296289 +296291 +296292 +296293 +296294 +296295 +296307 +296313 +296314 +296318 +296330 +296335 +296354 +296355 +296367 +296368 +296613 +296614 +296644 +297236 +29738 +29742 +29754 +29755 +29756 +29758 +29760 +29761 +29764 +29765 +29766 +297690 +29770 +29771 +29772 +29773 +29774 +297742 +29775 +29781 +29789 +29796 +298060 +298061 +29836 +29837 +29838 +29839 +29840 +29841 +29842 +29843 +29844 +29850 +29851 +29852 +29855 +29856 +29857 +29858 +29859 +29860 +29867 +2988 +298822 +298825 +298828 +298881 +300439 +300442 +300662 +300663 +300755 +300772 +300774 +300775 +300792 +300794 +300803 +300811 +30084 +30105 +30114 +30138 +30139 +30171 +30174 +30177 +30180 +30183 +30186 +30189 +30192 +30195 +30198 +30236 +30237 +30240 +30241 +30242 +30243 +30244 +30246 +30252 +30253 +302582 +302583 +30260 +30261 +30262 +302623 +30263 +302636 +30265 +30266 +30267 +30268 +30269 +302735 +302736 +302737 +302738 +30279 +30280 +30281 +30282 +30283 +30297 +30298 +30299 +30300 +30301 +303095 +303183 +303184 +303185 +303353 +30336 +303595 +303596 +303598 +303599 +303600 +303601 +303603 +303604 +303606 +303607 +303608 +303609 +303611 +303612 +303613 +303614 +303616 +303617 +303618 +303620 +303621 +303623 +303624 +303625 +303626 +303627 +303629 +303630 +303631 +303632 +303634 +303635 +303636 +303637 +303638 +303639 +303640 +303642 +303643 +303644 +303645 +303646 +303647 +303648 +303649 +303650 +303651 +303652 +303654 +303655 +303656 +303658 +303659 +303660 +303662 +303663 +303664 +303665 +303667 +303668 +303669 +303670 +303671 +303673 +303674 +303675 +303676 +303678 +303679 +30368 +303680 +303681 +303683 +303684 +303685 +303686 +303687 +303689 +303690 +303691 +303692 +303694 +303695 +303696 +303697 +303702 +303707 +303712 +303718 +303725 +30376 +303760 +303762 +303763 +303764 +303765 +303766 +303767 +303769 +303770 +303771 +303773 +303774 +303775 +303777 +303779 +30378 +303780 +303781 +303783 +303785 +303786 +303787 +303788 +303789 +303790 +303791 +303792 +303794 +303795 +303796 +303797 +303798 +303799 +303800 +303802 +303803 +303804 +303805 +303807 +303808 +303809 +303810 +303811 +303813 +303814 +303816 +303817 +303818 +303819 +303821 +303822 +303824 +303825 +303826 +303827 +303828 +303830 +303831 +303832 +303833 +303835 +303837 +303838 +303839 +303840 +303841 +303842 +303844 +303845 +303846 +303847 +303849 +303850 +303851 +303852 +303853 +303855 +303856 +303857 +303858 +303859 +30386 +303860 +303863 +303869 +30387 +303876 +303883 +303968 +303969 +303970 +303971 +303972 +304109 +304110 +304111 +304112 +304113 +304114 +304115 +304116 +304117 +304118 +304119 +304120 +304121 +304122 +304123 +304124 +304125 +304126 +304127 +304128 +304129 +304130 +304131 +304132 +304133 +304134 +304135 +304136 +304137 +304138 +304139 +304140 +304141 +304142 +304143 +304144 +304145 +304147 +304148 +304149 +304150 +304151 +304152 +304153 +304154 +304155 +304156 +304157 +304158 +304159 +304160 +304161 +304162 +304163 +304164 +304169 +30424 +30427 +30428 +30429 +30431 +30432 +30433 +30435 +30437 +30438 +304405 +304406 +304407 +304408 +304409 +30441 +304410 +30442 +30444 +30458 +30459 +30460 +30461 +30462 +30463 +30464 +30465 +30466 +30467 +30469 +30474 +30476 +30477 +30478 +30482 +30489 +30490 +30491 +30492 +30493 +30494 +30495 +30496 +30497 +30498 +30499 +30500 +305005 +305006 +305008 +305009 +30501 +305010 +305012 +305013 +305014 +305016 +305017 +305018 +305019 +30502 +305021 +305022 +305023 +305024 +305026 +305027 +305029 +30503 +305030 +305031 +305032 +305034 +305035 +305037 +305038 +30504 +305040 +305041 +305042 +305043 +305045 +305046 +305047 +305048 +30505 +305053 +30506 +305060 +30507 +30508 +30511 +30514 +305158 +305159 +305160 +30518 +30525 +30526 +30527 +30528 +30532 +30541 +30542 +30543 +30544 +30547 +30548 +30550 +30561 +30562 +30563 +30564 +30565 +30566 +30567 +30573 +30574 +30577 +30580 +30581 +30582 +30584 +30585 +305869 +305870 +305871 +30606 +30607 +30648 +30652 +307023 +307195 +307239 +30743 +30747 +30748 +30751 +30752 +307610 +307612 +307616 +307687 +30779 +30780 +30781 +30782 +30783 +307839 +30784 +30785 +30786 +30787 +30796 +307977 +30801 +30802 +30806 +30808 +30813 +308193 +308194 +308196 +308197 +308214 +308224 +308225 +308230 +308231 +308232 +308234 +308236 +30824 +308241 +308253 +308254 +308255 +308257 +30828 +30829 +308321 +308322 +308377 +308378 +308379 +308384 +308385 +308386 +308422 +308427 +308428 +308442 +308443 +308444 +308449 +30848 +308505 +308506 +308512 +308561 +308562 +308577 +308578 +308579 +308582 +308583 +308584 +308586 +308607 +308608 +308609 +308613 +308615 +308616 +308617 +308618 +308621 +308638 +308652 +308654 +308663 +308668 +308669 +308670 +308697 +308705 +30882 +30883 +30885 +30887 +30888 +30889 +30890 +30891 +30892 +30893 +30894 +30895 +30896 +30897 +30904 +30905 +30913 +30914 +30915 +30916 +30917 +30918 +30920 +30921 +30923 +30936 +30937 +30938 +30939 +30940 +30943 +30944 +30957 +30961 +30962 +30963 +30964 +30965 +30966 +30967 +30968 +30969 +30970 +30972 +30973 +30974 +309754 +30976 +309764 +30977 +309784 +309785 +309787 +309821 +309855 +309856 +309857 +30986 +309861 +30987 +30988 +309882 +30989 +309895 +309930 +309947 +309948 +309951 +309952 +309953 +30996 +309970 +309971 +309972 +310027 +310028 +310029 +31005 +31006 +31007 +310074 +31010 +31011 +31012 +31013 +310149 +310153 +310159 +310179 +310181 +310191 +31023 +31030 +31036 +31038 +310396 +310397 +310398 +310399 +310413 +310415 +310417 +310418 +310419 +310421 +310426 +310427 +310428 +31043 +310430 +310432 +310433 +31046 +31047 +31048 +310506 +310507 +310508 +310509 +310593 +310595 +31061 +310777 +310789 +310797 +310799 +310800 +310801 +310802 +310823 +31083 +31085 +310876 +310927 +310958 +310959 +310960 +310963 +310966 +311019 +311020 +311022 +311027 +311031 +311033 +311042 +311046 +31114 +31115 +311153 +311157 +311161 +311286 +311292 +311300 +311314 +311315 +311316 +311324 +311330 +311436 +311437 +311438 +311443 +311448 +311449 +311450 +31148 +31153 +31154 +311557 +31157 +31158 +31162 +311642 +311650 +311651 +31168 +31170 +31171 +31179 +31180 +311833 +311841 +31187 +31188 +31191 +31192 +31193 +311968 +31207 +31209 +31210 +31212 +31213 +312149 +31216 +312162 +312163 +31218 +31219 +31220 +31223 +312236 +31224 +312244 +31228 +312316 +31233 +31235 +31240 +31244 +31245 +31247 +31248 +31256 +31272 +31273 +31275 +31276 +31283 +31287 +31289 +312899 +312900 +312901 +312903 +312911 +31292 +31293 +312983 +31304 +313043 +31305 +31306 +31308 +313218 +313221 +313246 +31327 +31328 +31333 +31334 +31336 +31338 +313387 +31339 +31340 +31344 +31345 +313478 +313498 +31352 +31361 +31362 +31369 +31381 +31382 +31383 +31384 +31385 +31386 +31387 +31388 +31391 +31392 +314032 +314033 +314034 +314037 +314038 +314040 +314042 +314061 +314072 +31422 +31423 +314269 +31455 +31457 +31458 +31465 +31466 +31472 +31473 +31474 +31476 +31477 +31479 +31480 +31481 +31482 +31483 +31485 +31487 +31488 +315273 +315274 +315275 +315466 +315468 +315471 +315482 +315519 +315521 +315537 +31565 +31567 +31568 +31569 +31572 +31573 +31575 +315786 +31587 +315905 +31600 +31601 +31602 +31603 +31604 +31605 +31606 +31607 +31608 +31609 +31610 +31612 +31613 +31614 +31615 +31618 +31619 +31620 +31631 +31637 +31638 +31639 +31641 +31642 +31643 +31645 +31646 +31647 +31649 +31650 +31651 +31653 +31654 +31655 +31657 +31658 +31659 +31661 +31662 +31663 +31667 +31668 +31676 +31677 +31678 +316786 +316788 +316789 +31680 +31681 +31682 +31683 +31684 +31685 +31688 +31691 +31694 +31695 +31696 +31697 +31698 +31699 +31700 +317151 +317152 +317159 +317170 +317176 +317192 +317193 +317194 +317197 +317393 +317439 +317440 +317441 +317442 +317515 +317516 +317517 +317519 +317522 +317542 +317543 +317656 +317697 +317699 +317701 +317702 +317706 +317708 +317709 +317711 +317712 +317713 +317716 +317717 +317723 +317724 +317728 +317729 +317730 +317731 +317732 +317733 +317734 +317735 +317737 +317738 +317739 +317740 +317741 +317908 +317909 +317910 +318007 +318008 +318009 +318071 +318072 +318075 +318076 +318081 +318141 +318152 +318154 +318157 +318158 +318163 +318164 +318165 +318166 +318221 +318222 +318224 +318225 +318227 +318228 +318230 +318231 +318234 +318334 +318335 +318336 +318338 +318346 +318348 +318350 +318351 +318352 +318357 +318358 +318360 +318387 +318395 +318397 +318400 +318401 +318403 +318460 +318498 +318500 +318501 +318502 +318504 +318531 +318532 +318533 +318534 +318537 +318538 +318539 +318540 +318541 +318543 +318545 +318546 +318547 +318548 +318549 +318550 +318551 +318553 +318554 +318555 +318557 +318558 +318559 +318664 +318752 +318753 +318754 +318765 +318766 +318767 +318769 +318770 +318771 +318772 +318774 +318775 +318776 +318788 +318789 +318869 +318872 +318898 +318909 +318915 +318929 +318944 +318946 +319103 +319124 +319125 +319126 +319141 +319167 +319171 +319173 +319242 +319257 +319258 +319259 +319260 +319261 +319263 +319264 +319265 +319266 +319267 +319268 +319270 +319271 +319272 +319273 +319274 +319278 +319288 +319310 +319311 +319312 +319313 +319315 +319316 +319317 +319318 +319319 +319320 +319322 +319323 +319324 +319325 +319327 +319328 +319329 +319330 +319332 +319333 +319334 +319335 +319337 +319338 +319339 +319340 +319341 +319342 +319343 +319344 +319346 +319347 +319348 +319349 +319351 +319352 +319353 +319354 +319356 +319357 +319358 +319359 +319360 +319361 +319362 +319363 +319365 +319366 +319367 +319368 +319370 +319371 +319372 +319373 +319374 +319376 +319377 +319378 +319379 +319380 +319381 +319382 +319383 +319384 +319386 +319387 +319388 +319389 +319391 +319392 +319393 +319394 +319396 +319397 +319398 +319399 +319400 +319401 +319402 +319403 +319409 +319414 +319419 +319424 +319452 +319453 +319454 +319455 +319456 +319457 +319458 +319459 +319460 +319461 +319462 +319463 +319464 +319465 +319466 +319467 +319468 +319469 +319470 +319471 +319472 +319473 +319474 +319476 +319703 +319704 +319705 +319706 +319707 +319713 +319714 +319715 +319880 +319882 +319887 +319920 +319930 +319950 +320064 +320092 +320094 +320095 +320096 +320097 +320098 +320101 +320102 +320103 +320104 +320105 +320106 +320107 +320108 +320109 +320111 +320112 +320117 +320118 +320120 +320121 +320420 +320421 +320423 +321675 +322347 +326435 +327438 +327751 +327752 +327753 +327754 +327767 +327768 +327777 +328029 +328057 +328058 +328098 +328099 +328155 +328157 +328159 +328161 +328164 +328166 +328168 +328170 +328172 +328174 +328176 +328178 +328180 +328183 +328185 +328190 +328195 +3282 +328201 +328203 +3283 +328497 +328680 +328681 +3287 +328752 +328861 +329261 +329263 +329264 +329713 +329750 +329758 +329777 +329785 +330348 +330383 +330384 +330385 +330387 +330388 +330389 +330391 +330393 +330395 +330397 +330398 +330399 +330400 +330401 +330402 +330403 +330404 +330405 +330408 +330409 +330410 +330411 +330412 +330413 +330414 +330415 +330416 +330418 +330420 +330422 +330425 +330426 +330428 +330430 +330444 +330446 +330448 +330451 +330452 +330459 +330463 +330464 +330465 +330467 +330481 +330482 +330483 +330491 +330492 +330493 +330494 +330495 +330496 +330504 +330523 +330560 +330563 +330564 +330565 +330568 +330578 +330668 +330712 +330713 +330714 +330742 +330832 +330834 +330835 +330837 +330842 +331042 +331044 +331046 +331057 +331058 +331059 +331063 +331067 +331069 +331100 +331101 +331103 +331106 +331108 +331109 +331110 +331111 +331117 +331118 +331120 +331121 +331122 +331137 +331140 +331154 +331305 +331326 +331327 +331328 +331346 +331371 +331377 +331412 +331438 +331494 +331527 +331551 +331564 +331569 +331617 +331620 +331622 +331633 +331634 +331635 +331637 +331638 +331639 +331640 +331645 +331646 +331647 +331648 +331650 +331651 +331652 +331654 +331659 +331660 +331661 +331664 +331671 +331887 +331888 +331889 +331890 +331892 +331893 +331934 +331936 +331938 +331939 +331940 +331944 +331952 +332005 +332007 +332019 +332028 +332029 +332030 +332040 +332041 +332042 +332065 +332066 +332068 +332268 +332269 +3323 +3324 +332499 +332502 +332514 +332515 +332518 +333024 +333041 +333042 +333043 +333052 +333059 +333083 +333085 +333086 +333098 +333120 +333121 +333380 +333384 +333511 +333651 +334072 +334087 +334202 +334219 +334263 +334266 +334267 +334268 +334969 +335419 +335420 +335471 +335472 +335490 +335491 +335492 +335494 +335517 +335518 +335521 +335524 +335576 +335578 +335579 +335634 +335652 +335729 +335734 +335762 +335847 +335848 +335849 +335851 +336013 +336014 +336015 +336155 +336255 +336259 +336260 +336269 +336273 +336274 +336275 +336276 +337229 +337230 +337232 +337233 +337234 +337236 +337237 +337238 +337240 +337241 +337242 +337244 +337248 +337250 +337251 +337253 +337254 +337255 +337257 +337273 +337276 +337278 +337279 +337280 +337281 +337283 +337284 +337339 +337352 +337354 +337398 +337570 +337571 +337573 +337576 +337577 +337578 +337580 +337582 +337584 +337585 +337586 +337604 +337605 +337692 +337932 +337933 +337936 +338016 +338213 +338258 +338259 +338260 +338289 +338290 +338310 +338440 +338935 +338936 +338937 +338938 +339304 +339353 +339471 +339493 +339494 +339510 +339538 +339560 +339570 +339577 +339580 +339581 +339584 +339591 +339592 +339620 +339631 +339658 +339661 +339685 +339687 +339688 +339693 +339793 +339794 +339795 +339796 +339797 +339798 +339799 +339800 +339801 +339802 +339803 +339805 +339806 +339808 +339814 +339815 +340185 +340186 +340187 +340189 +340190 +340192 +340194 +340195 +340218 +340228 +340232 +340233 +340247 +340435 +340460 +340509 +340511 +340512 +34060 +34061 +34068 +34069 +34071 +34073 +34074 +34075 +34078 +34079 +34080 +34082 +34084 +34086 +34090 +34091 +340911 +340913 +340916 +34092 +340921 +340922 +340925 +34094 +34096 +34098 +34099 +341017 +34103 +34108 +34109 +34118 +341253 +341254 +341255 +341256 +341258 +341259 +341260 +341262 +341263 +341264 +341265 +341267 +341268 +341269 +341270 +341272 +341273 +341274 +341275 +341287 +341288 +341289 +34129 +341295 +341296 +341297 +341298 +34130 +341300 +341301 +341302 +341303 +341305 +341306 +341307 +341309 +34131 +341310 +341311 +341312 +341314 +341315 +341316 +341318 +341319 +341320 +341321 +341327 +341328 +341330 +341331 +341332 +341333 +341339 +341340 +341341 +341342 +341344 +341345 +341346 +341347 +341349 +34135 +341350 +341351 +341352 +341354 +341355 +341356 +341358 +341359 +34136 +341360 +341367 +341368 +341369 +34137 +34138 +34139 +34142 +34144 +34146 +34147 +34153 +34154 +34155 +34156 +34157 +341588 +341589 +34164 +34165 +34166 +34167 +34168 +34169 +341698 +34170 +34171 +34179 +34180 +34181 +341811 +341812 +34182 +34183 +34184 +34185 +34186 +34187 +34189 +34190 +341905 +34191 +341910 +34192 +34193 +34194 +34195 +34204 +34207 +34208 +34212 +34215 +34225 +34226 +34230 +34231 +34235 +34236 +34238 +34239 +3424 +342464 +342466 +34247 +342489 +3425 +34250 +342501 +342502 +342503 +342515 +342516 +34252 +34253 +34254 +34255 +34256 +34258 +3426 +34261 +34262 +3427 +34273 +34274 +34275 +34276 +342777 +342780 +342794 +34284 +34285 +34286 +34287 +34288 +342884 +342886 +34289 +34290 +34291 +34292 +34293 +34294 +34295 +34296 +34297 +34300 +34301 +343017 +343019 +343021 +343023 +343025 +343027 +34304 +34305 +34308 +34309 +34311 +343176 +343177 +343178 +343190 +34320 +34326 +34327 +34328 +34329 +34330 +34331 +34332 +34333 +34334 +34335 +34336 +34337 +34338 +34339 +34340 +34341 +34342 +34345 +343466 +34348 +34349 +343492 +34350 +34353 +34354 +34360 +343660 +343661 +343662 +343665 +343666 +343667 +343670 +343671 +343672 +343677 +343678 +343679 +343715 +343716 +343717 +343718 +343733 +344142 +344143 +344145 +344146 +34462 +34463 +34464 +344720 +344721 +344790 +34500 +345179 +345199 +345227 +345228 +345229 +345388 +345389 +345390 +345394 +345395 +345396 +345400 +345401 +345402 +345406 +345407 +345408 +345417 +345418 +345419 +345429 +345430 +345431 +345463 +345464 +345465 +345466 +345467 +345468 +346013 +346101 +346105 +346170 +346172 +346175 +346195 +346282 +346317 +346319 +346320 +346321 +346351 +346406 +346573 +346729 +346730 +346731 +346734 +346735 +346736 +346740 +346744 +346745 +346746 +346749 +346750 +346803 +346930 +346931 +346932 +346949 +347031 +347080 +347081 +347082 +347097 +347208 +347209 +347210 +347211 +347212 +347351 +347376 +347425 +347431 +347432 +347447 +347454 +347456 +347490 +347498 +348308 +348309 +348314 +3501 +3541 +3545 +3546 +3560 +3564 +3565 +3566 +3567 +3568 +3576 +3580 +358501 +358508 +358553 +358554 +358660 +358669 +3587 +358995 +359058 +359059 +359548 +359667 +3598 +360030 +3602 +360426 +360554 +360555 +360557 +360558 +360561 +360646 +360658 +360659 +360715 +361013 +361126 +361296 +361297 +361298 +361304 +361316 +361321 +361325 +361326 +361348 +361356 +361357 +361358 +361364 +361485 +361491 +361550 +361551 +361552 +361590 +361591 +361923 +361924 +361925 +361950 +36197 +36198 +362058 +36219 +36220 +36221 +362225 +36303 +36304 +36305 +3633 +363331 +3634 +3635 +363559 +363560 +363565 +363566 +363567 +363568 +363571 +363625 +363676 +3637 +363850 +363851 +363863 +363864 +363959 +363961 +363962 +364057 +364065 +364318 +364319 +364320 +364322 +364323 +364324 +364326 +364384 +364491 +364492 +3645 +364505 +364506 +364508 +364509 +364512 +364538 +364630 +364643 +364644 +364645 +364657 +364716 +364717 +364810 +365031 +365032 +365120 +365121 +365125 +365184 +365323 +365393 +365394 +3655 +3656 +365654 +365667 +365678 +365679 +365680 +365682 +366102 +366103 +366104 +366105 +366154 +3662 +3663 +366491 +366492 +366493 +3665 +366500 +366501 +366502 +366618 +366619 +366620 +366637 +366638 +366650 +366663 +366668 +366673 +366678 +366690 +366697 +366698 +366716 +366717 +366718 +366720 +366721 +366723 +366724 +366842 +366843 +366844 +366845 +366846 +366902 +366918 +366919 +367109 +367110 +367111 +367112 +367159 +367168 +367191 +3672 +367301 +367304 +367305 +367306 +367347 +367348 +367350 +367355 +367356 +367358 +367519 +367520 +367572 +367573 +367574 +367575 +367577 +367578 +367579 +367580 +367582 +367583 +367584 +367585 +367587 +367588 +367589 +367590 +367592 +367593 +367594 +367595 +367597 +367598 +367599 +367601 +367602 +367603 +367605 +367606 +367607 +367608 +367610 +367611 +367612 +367613 +367615 +367616 +367617 +367618 +367620 +367621 +367622 +367623 +367625 +367626 +367627 +367629 +367630 +367631 +367632 +367633 +367635 +367636 +367637 +367638 +367640 +367641 +367642 +367643 +367645 +367646 +367647 +367648 +367650 +367651 +367652 +367654 +367655 +367656 +367657 +367659 +367660 +367661 +367662 +367664 +367665 +367666 +367667 +367669 +367670 +367671 +367672 +367674 +367675 +367676 +367677 +367679 +367680 +367681 +367683 +367684 +367685 +367687 +367688 +367690 +367695 +3677 +367700 +367706 +367714 +367719 +367723 +3678 +367858 +367859 +367863 +367875 +368044 +368045 +368049 +368050 +3681 +36812 +368256 +368376 +368378 +368463 +368464 +368465 +368656 +368689 +36869 +368692 +368760 +368788 +368789 +368826 +368827 +368828 +368829 +368830 +368831 +368832 +368833 +368834 +368837 +368838 +368839 +368840 +368841 +368842 +368843 +368844 +368845 +368847 +368848 +368849 +368850 +368851 +368852 +368853 +368854 +368855 +368857 +368858 +368859 +368861 +368863 +368864 +368866 +368867 +368868 +368956 +368958 +368959 +36896 +368960 +368967 +368969 +368970 +368971 +368972 +369081 +36915 +369169 +369170 +369373 +369374 +369375 +369377 +3694 +369433 +369469 +369471 +369701 +369702 +369704 +369752 +369753 +369754 +369755 +369757 +369758 +369759 +369760 +369761 +369763 +369764 +369765 +369767 +369768 +369769 +369770 +369771 +369772 +369774 +369775 +369776 +369777 +369779 +369780 +369781 +369783 +369784 +369785 +369786 +369788 +369789 +369790 +369792 +369793 +369794 +369796 +369797 +369798 +369799 +369801 +369802 +369803 +369804 +369806 +369807 +369808 +369810 +369811 +369813 +369814 +369815 +369816 +369818 +369819 +369820 +369821 +369823 +369824 +369825 +369826 +369828 +369829 +369830 +369831 +369833 +369834 +369835 +369836 +369838 +369839 +369840 +369841 +369843 +369844 +369845 +369846 +369848 +369849 +369850 +369851 +369853 +369854 +369855 +369856 +369857 +369859 +369860 +369861 +369862 +369864 +369865 +369866 +369867 +369869 +369870 +369871 +369872 +369874 +369875 +369876 +369878 +369879 +369880 +369881 +369883 +369884 +369885 +369886 +369888 +369889 +369890 +369892 +369893 +369894 +369895 +369897 +369898 +369899 +369901 +369902 +369903 +369904 +369906 +369907 +369908 +369909 +369933 +369942 +369943 +369944 +369945 +369970 +369971 +369972 +369973 +369974 +369975 +370022 +370023 +370036 +370037 +370038 +370039 +370040 +370041 +370116 +370403 +370413 +370466 +370526 +370527 +370528 +370591 +370592 +370593 +370594 +370595 +370596 +370597 +370598 +370605 +370608 +370660 +370661 +370662 +370663 +370721 +370844 +370845 +370847 +370920 +370925 +371234 +371235 +371236 +371538 +371559 +371643 +371661 +371701 +371719 +371759 +371925 +371926 +371943 +371945 +372022 +372026 +372055 +372091 +372097 +372098 +372099 +372108 +372116 +372125 +372144 +372182 +372202 +372204 +372209 +372212 +372213 +372215 +372219 +372323 +372325 +372326 +372328 +372329 +372331 +372333 +37261 +3728 +37291 +3731 +373366 +373367 +373368 +373390 +373510 +373512 +373513 +373514 +373515 +373516 +373652 +373655 +373656 +373663 +373664 +373686 +373969 +373973 +3740 +3742 +3743 +3744 +374483 +374485 +374497 +374499 +374500 +374502 +374504 +374610 +374632 +374634 +374636 +374639 +374640 +374641 +374643 +374647 +374649 +374651 +374654 +374655 +374656 +374658 +374659 +374660 +374661 +374663 +374664 +374666 +374668 +374669 +374670 +374672 +374673 +374674 +374676 +374677 +374678 +374680 +374681 +374682 +374684 +374685 +374686 +374688 +374693 +374744 +374745 +374749 +374778 +374779 +374825 +374828 +374850 +374914 +374991 +374992 +374993 +375004 +375010 +375013 +375019 +375023 +375116 +375118 +375129 +375130 +375191 +375192 +375193 +375207 +375215 +375220 +375222 +375325 +375327 +375328 +375329 +375331 +375333 +375407 +375434 +375449 +375450 +375452 +375454 +375455 +375456 +375458 +375459 +375460 +375470 +375491 +375503 +375531 +375547 +375549 +375626 +375628 +375630 +375634 +375651 +375652 +375653 +375657 +375684 +375685 +375686 +375711 +375712 +375715 +375761 +375779 +375780 +375781 +375788 +375789 +375795 +375812 +375814 +375815 +375816 +375819 +375821 +375824 +375826 +375827 +375849 +375858 +376056 +376057 +376061 +3762 +3764 +3766 +3768 +3769 +377066 +377068 +377091 +377092 +377161 +377221 +377364 +377365 +377366 +377367 +377405 +377459 +377460 +377462 +377465 +377473 +377503 +377525 +377526 +377527 +377532 +37777 +37778 +37780 +37783 +37784 +378100 +378104 +378108 +378126 +378127 +378137 +378141 +378184 +378185 +378192 +378197 +378198 +378201 +378202 +378203 +378204 +378205 +378347 +378360 +378361 +378362 +378393 +378406 +378476 +378477 +378481 +378485 +378524 +378532 +378534 +378535 +378547 +378603 +378612 +378613 +378614 +378616 +378638 +378640 +378642 +378646 +37866 +378663 +378664 +378669 +378703 +378725 +378739 +378782 +378783 +378788 +378795 +378862 +378864 +378865 +379062 +379064 +379065 +379066 +379069 +379084 +379085 +379086 +379088 +379160 +379164 +379178 +37918 +37919 +379199 +379204 +379214 +37922 +379226 +379227 +379228 +379250 +379251 +379255 +379256 +379257 +379259 +379277 +37929 +3793 +37930 +37931 +37932 +379358 +3794 +379500 +379506 +379507 +379514 +379517 +379518 +3796 +379621 +379623 +379714 +379742 +379860 +3799 +379915 +3800 +380019 +380020 +380080 +3801 +380111 +380154 +380155 +380156 +380189 +380208 +380209 +3803 +380335 +380349 +380350 +380351 +380352 +380357 +380358 +380399 +3804 +380422 +380444 +380446 +380584 +380585 +380586 +380588 +380589 +380590 +380592 +380598 +380599 +380600 +380602 +380603 +380610 +380611 +380615 +380618 +380626 +380627 +380629 +380630 +380632 +380634 +380636 +380637 +380638 +380639 +380641 +380642 +380644 +380652 +380663 +380665 +380666 +380671 +380672 +380675 +380676 +380677 +380678 +380682 +380684 +380689 +380690 +380691 +380692 +380693 +380694 +380697 +380698 +380699 +380704 +380705 +380707 +380708 +380709 +380710 +380711 +380712 +380713 +380714 +380720 +380721 +380722 +380724 +380725 +380726 +380727 +380729 +380730 +380731 +380732 +380734 +380735 +380736 +380737 +380739 +380740 +380741 +380742 +380744 +380745 +380746 +380747 +380749 +380750 +380751 +380752 +380754 +380755 +380756 +380757 +380759 +380760 +380761 +380763 +380764 +380765 +380767 +380768 +380769 +380771 +380772 +380773 +380775 +380776 +380777 +380778 +380779 +380780 +380781 +380782 +380783 +380785 +380786 +380787 +380788 +380789 +380790 +380791 +380792 +380793 +380795 +380796 +380797 +380798 +380799 +380801 +380802 +380803 +380805 +380806 +380807 +380809 +380810 +380811 +380812 +380814 +380815 +380818 +380819 +380821 +380822 +380823 +380825 +380826 +380827 +380828 +380830 +380831 +380832 +380833 +380835 +380836 +380837 +380838 +380840 +380841 +380842 +380843 +380844 +380846 +380847 +380848 +380849 +380851 +380852 +380853 +380854 +380856 +380857 +380858 +380859 +380862 +380864 +380865 +380866 +380867 +380869 +380871 +380873 +380881 +380883 +380885 +380890 +380891 +380892 +380893 +380895 +380896 +380897 +380898 +380902 +380903 +380904 +380911 +380912 +380913 +380914 +380915 +380922 +380923 +380924 +380931 +380938 +380943 +380950 +381110 +381111 +381112 +381113 +381120 +381121 +381122 +381128 +381129 +381130 +381131 +381133 +381134 +381143 +381144 +381145 +381146 +381148 +381149 +381150 +381153 +381157 +381158 +381159 +381160 +381162 +381163 +381164 +381165 +381212 +381213 +381214 +381224 +381236 +381247 +381256 +381257 +381259 +381261 +381280 +381285 +381288 +381289 +381290 +381292 +381293 +381313 +381350 +3814 +381507 +381546 +381547 +381548 +381549 +381555 +381607 +381648 +381885 +381923 +381936 +381954 +381955 +381956 +381973 +382018 +382100 +382139 +382140 +382147 +382258 +382418 +382460 +382466 +383140 +383146 +383148 +383406 +383762 +383764 +383777 +383780 +383782 +383864 +384145 +384146 +384148 +384220 +384254 +384255 +384260 +384261 +384262 +384264 +384266 +384269 +384273 +384275 +384302 +384318 +384377 +384448 +384546 +384547 +384548 +384549 +384551 +384552 +384553 +384554 +384556 +384557 +384558 +384559 +384561 +384562 +384563 +384564 +384566 +384567 +384568 +384569 +384570 +384571 +384572 +384574 +384575 +384576 +384578 +384579 +384580 +384581 +384583 +384584 +384585 +384586 +384588 +384589 +384590 +384591 +384593 +384594 +384595 +384597 +384598 +384599 +384600 +384602 +384603 +384604 +384605 +384607 +384608 +384609 +384610 +384612 +384613 +384614 +384615 +384616 +384617 +384618 +384620 +384621 +384622 +384623 +384625 +384626 +384627 +384628 +384630 +384631 +384632 +384633 +384635 +384636 +384637 +384638 +384640 +384641 +384642 +384643 +384645 +384646 +384647 +384648 +384650 +384651 +384652 +384653 +384655 +384656 +384657 +384658 +384664 +384671 +384680 +384687 +384692 +384730 +384731 +384732 +384733 +384735 +384736 +384737 +384738 +384740 +384741 +384742 +384743 +384745 +384746 +384747 +384748 +384750 +384751 +384752 +384753 +384755 +384756 +384757 +384758 +384760 +384761 +384762 +384763 +384765 +384766 +384767 +384768 +384770 +384771 +384772 +384773 +384775 +384776 +384777 +384778 +384780 +384781 +384782 +384783 +384785 +384786 +384787 +384788 +384790 +384792 +384793 +384794 +384795 +384796 +384797 +384798 +384800 +384801 +384802 +384803 +384805 +384806 +384807 +384808 +384810 +384811 +384812 +384813 +384815 +384816 +384817 +384818 +384823 +384829 +384837 +384843 +384848 +384857 +384903 +384911 +384912 +384913 +384915 +384920 +384948 +384949 +384950 +384951 +384952 +385014 +385016 +385017 +385019 +385021 +385022 +385024 +385026 +385027 +385034 +385036 +385037 +385070 +385071 +385072 +385073 +385075 +385076 +385078 +385079 +385080 +385081 +385083 +385084 +385085 +385087 +385088 +385089 +385090 +385092 +385094 +385096 +385097 +385098 +385099 +385101 +385102 +385103 +385104 +385106 +385108 +385109 +385111 +385113 +385114 +385116 +385118 +385125 +385128 +385130 +385131 +385213 +385296 +385348 +385349 +385350 +385351 +385352 +385396 +385397 +3854 +385406 +385459 +385493 +385495 +385496 +385497 +385596 +385597 +385598 +385599 +385601 +385672 +385767 +385775 +385952 +386014 +386015 +386016 +386018 +386024 +386025 +386026 +386028 +386029 +386031 +386033 +386034 +386036 +386039 +386175 +386262 +386263 +386274 +386276 +386277 +386278 +386284 +386415 +3870 +3872 +387604 +387605 +387612 +3877 +387950 +387986 +387987 +388038 +388093 +388094 +3881 +388309 +388310 +388311 +388481 +388569 +38857 +388570 +388571 +38858 +38859 +38861 +388884 +3890 +38915 +38916 +38917 +38921 +38922 +38926 +38927 +38928 +389373 +389375 +389377 +389378 +389431 +389432 +389434 +389435 +389436 +389437 +389438 +389439 +389440 +389441 +389442 +389443 +389444 +389445 +389446 +389447 +389448 +389449 +389450 +389451 +389452 +389453 +389454 +389455 +389456 +389460 +389461 +389462 +389463 +389464 +389470 +389471 +389472 +389473 +389474 +389475 +389476 +389477 +389480 +389481 +389482 +389483 +389488 +389489 +389490 +389491 +389492 +389493 +389494 +389495 +389496 +389497 +389498 +389499 +389500 +389501 +389502 +389503 +389504 +389505 +389506 +389507 +389508 +389509 +389510 +389511 +389512 +389513 +389514 +389515 +389516 +389517 +389518 +389519 +389521 +389522 +389523 +389524 +389525 +389526 +389527 +389528 +389529 +389530 +389531 +389532 +389533 +38978 +38979 +3898 +38981 +38983 +38997 +38998 +38999 +3901 +39020 +39054 +390738 +39074 +39080 +390801 +390821 +390822 +390823 +391054 +391055 +391056 +391062 +391113 +391212 +391213 +391219 +39124 +391244 +39125 +391287 +39150 +39154 +391547 +391548 +39155 +391555 +39156 +391569 +391572 +391573 +391575 +391576 +391578 +391580 +391582 +391584 +391588 +391589 +391590 +391592 +391593 +391594 +391595 +391596 +391597 +391599 +391600 +391602 +391604 +391606 +391608 +391671 +391772 +391774 +391780 +391802 +391803 +391804 +391819 +391821 +391822 +391824 +391826 +391827 +391829 +391831 +391837 +391838 +39184 +391840 +391841 +391843 +391844 +391847 +391849 +39185 +391850 +391852 +391854 +391855 +391923 +391924 +391928 +391932 +391933 +391935 +391947 +39196 +391970 +391997 +392000 +392001 +392003 +392005 +392007 +39202 +39203 +39204 +39205 +39206 +39208 +39209 +392103 +392105 +392107 +39211 +39212 +39214 +39216 +39219 +39221 +39222 +392273 +39228 +392371 +392372 +392377 +392378 +392380 +392381 +392386 +392405 +392409 +392410 +392412 +392420 +392422 +392431 +392435 +392436 +39246 +392554 +392557 +392560 +392563 +392582 +392626 +392627 +392628 +392630 +392635 +392637 +392639 +392697 +392731 +392793 +392809 +392810 +392815 +392848 +392849 +392855 +392923 +392924 +39293 +39294 +392949 +392950 +392951 +392953 +392956 +392987 +392998 +393066 +393199 +393200 +393206 +393231 +393321 +393322 +393350 +393351 +393352 +393355 +393521 +393573 +393614 +393617 +393763 +393765 +39390 +39391 +393921 +39395 +394025 +394057 +39412 +394158 +39417 +39418 +39423 +394300 +394301 +394302 +394303 +394304 +394305 +394306 +394388 +394435 +394436 +39476 +394833 +39485 +39486 +39489 +39493 +395080 +395462 +395463 +395464 +395466 +395467 +395468 +395484 +395585 +395586 +39575 +39576 +39585 +39586 +39587 +395901 +395902 +395903 +395904 +395905 +395906 +395963 +395964 +395965 +395966 +395967 +395968 +395969 +395970 +395971 +395972 +395973 +395974 +39605 +396059 +396060 +396061 +39607 +39610 +396124 +396125 +396126 +39613 +39618 +39631 +396393 +39640 +396528 +396531 +396549 +396555 +396556 +396557 +396560 +396576 +396577 +396578 +396579 +396581 +39668 +396688 +396689 +396690 +396691 +396698 +396716 +396770 +396772 +396773 +396774 +39678 +396785 +39679 +39683 +396858 +39687 +39688 +396881 +39689 +396893 +396894 +396906 +397009 +39708 +39711 +397138 +39721 +397231 +397232 +397233 +397234 +397249 +39728 +39732 +397494 +397499 +397526 +397534 +397578 +397595 +397599 +397620 +39767 +397696 +397716 +397717 +397718 +397719 +397720 +397721 +397740 +397741 +397893 +397914 +397936 +397937 +397938 +397968 +398048 +398049 +39806 +39813 +39814 +39815 +398435 +398569 +398774 +398977 +399292 +39948 +399485 +39950 +399502 +399511 +39954 +39955 +39956 +399807 +39982 +399824 +399826 +399838 +39984 +399864 +39987 +39988 +400219 +40024 +40031 +40033 +40034 +40036 +40049 +40050 +40063 +40067 +40068 +40069 +400820 +400872 +40108 +40109 +40185 +40225 +40228 +402281 +402282 +402283 +40229 +40231 +402320 +40233 +40235 +40236 +40237 +40238 +402455 +402456 +402457 +402458 +402459 +402460 +402480 +402482 +402492 +403390 +403400 +403409 +403441 +403445 +403446 +403447 +403548 +403742 +403778 +40387 +40396 +40397 +40398 +404032 +404143 +404144 +404145 +40417 +40433 +404408 +404469 +404505 +404886 +40497 +40512 +40514 +40536 +40537 +40566 +40567 +405679 +405719 +405940 +405962 +40612 +40615 +40616 +40617 +40618 +40619 +40620 +406203 +406218 +406222 +406231 +406351 +406353 +406373 +406374 +406375 +406376 +406422 +406448 +406451 +406470 +4069 +407880 +407934 +407935 +40805 +40807 +40811 +40812 +40813 +40816 +408472 +408623 +408632 +408661 +409138 +409139 +409353 +409354 +409422 +409466 +409943 +409944 +409986 +410657 +410658 +410659 +410661 +410698 +410700 +41079 +410999 +411000 +411001 +411002 +411003 +411004 +411005 +411127 +411128 +411286 +411287 +411541 +411542 +411564 +411660 +411665 +411693 +411726 +411729 +411786 +411787 +411788 +411789 +411791 +411792 +411793 +411794 +411796 +411797 +411798 +411799 +411801 +411802 +411803 +411804 +411806 +411807 +411808 +411809 +411810 +411811 +411813 +411814 +411815 +411816 +411818 +411819 +411820 +411822 +411823 +411824 +411826 +411827 +411828 +411829 +411831 +411832 +411833 +411848 +411849 +411937 +411991 +4123 +4124 +412419 +412420 +412426 +412487 +412490 +412492 +412496 +4125 +412510 +412512 +412514 +412518 +412520 +412522 +412524 +412526 +412527 +412529 +412535 +412536 +412537 +412538 +412539 +412543 +412545 +412547 +412549 +412550 +412556 +412557 +412561 +412563 +412571 +412576 +412581 +412583 +412589 +412599 +412600 +412605 +412606 +412607 +412608 +412613 +412615 +412616 +412617 +412618 +412622 +412625 +412626 +412627 +412629 +412694 +412747 +412758 +412762 +412794 +4128 +412828 +412829 +412831 +412832 +412833 +412834 +412836 +412837 +412838 +412839 +412841 +412842 +412843 +412845 +412846 +412847 +412848 +412850 +412851 +412852 +412853 +412854 +412856 +412857 +412858 +412859 +412861 +412862 +412863 +412864 +412870 +412875 +4129 +412920 +412927 +412928 +412929 +412931 +412932 +412933 +412934 +412935 +412937 +412938 +412939 +412961 +412962 +412966 +4130 +413024 +413038 +413043 +413044 +413047 +413074 +413075 +413077 +413078 +413079 +413081 +413099 +413134 +413138 +413139 +413140 +413150 +413163 +413166 +413247 +413254 +413255 +413259 +413263 +4133 +413356 +413357 +413358 +413360 +413389 +413390 +413391 +413392 +413393 +413394 +4134 +413431 +413438 +413446 +413472 +413515 +413516 +413522 +413638 +413704 +413719 +413831 +413832 +413838 +414414 +414432 +414444 +414445 +414446 +414491 +414493 +414495 +414532 +414533 +414536 +414610 +414611 +414616 +414643 +414668 +41485 +41487 +41488 +414884 +414901 +414918 +41494 +415100 +41516 +415176 +415193 +415371 +415393 +415456 +415466 +415468 +415469 +415497 +415502 +415556 +415557 +415558 +415559 +415646 +41574 +415839 +415847 +4159 +41595 +416012 +416013 +416014 +416015 +416016 +416210 +416455 +416458 +416459 +416493 +416557 +416558 +416573 +416586 +416587 +416588 +416667 +416668 +416670 +4168 +41680 +416834 +4169 +41696 +4170 +417371 +417444 +417445 +417446 +417465 +417545 +417546 +4176 +417660 +417661 +417662 +417664 +417665 +417667 +417670 +4177 +417700 +417728 +4178 +417883 +417884 +417885 +417890 +417901 +418622 +418623 +419268 +419382 +419383 +419389 +419431 +419432 +419433 +419436 +419440 +419853 +419893 +419903 +419930 +419958 +419959 +419960 +419961 +419963 +420055 +420135 +420136 +420138 +420202 +420433 +420434 +420435 +42078 +421005 +42130 +421318 +421378 +42172 +421802 +421803 +422241 +422245 +422275 +422276 +422352 +422505 +422506 +422508 +422523 +422549 +422550 +422551 +422560 +422561 +422562 +422790 +422795 +422832 +423148 +423149 +423153 +423154 +423155 +423302 +423303 +423304 +423305 +423306 +423307 +423308 +423309 +423311 +423312 +423313 +423314 +423315 +423316 +423317 +423659 +423817 +42397 +42406 +42407 +42408 +42422 +42423 +42441 +424527 +424528 +424645 +424654 +424894 +424895 +424896 +424905 +424907 +424908 +424937 +424948 +424949 +424952 +424999 +425004 +425005 +425015 +425038 +425042 +425044 +425046 +425047 +425048 +425049 +425077 +425585 +425586 +425844 +425845 +425847 +425848 +425915 +425952 +425955 +425957 +425988 +426089 +426109 +4262 +426219 +426310 +426311 +426312 +426316 +427321 +427362 +42750 +42751 +427510 +427513 +427640 +427641 +427642 +427832 +427833 +427834 +427837 +427895 +427999 +428000 +428001 +428003 +42833 +428497 +428498 +428499 +428507 +428508 +428509 +428517 +428518 +428519 +428527 +428528 +428529 +428537 +428538 +428539 +428542 +428543 +428546 +428547 +428548 +428549 +428552 +428553 +428556 +428557 +428558 +428599 +428600 +428601 +428609 +428610 +428611 +428628 +428629 +428674 +428675 +428676 +428678 +428804 +42881 +428918 +428920 +428922 +428924 +428926 +428927 +428928 +428929 +428930 +428931 +428933 +428937 +428952 +428954 +429085 +429086 +429088 +429090 +42928 +42929 +42932 +42933 +42934 +42935 +42936 +429397 +429398 +429399 +429402 +429483 +429484 +429485 +429490 +429491 +429492 +429494 +429499 +429501 +429502 +429504 +429537 +429538 +42954 +429541 +429563 +429568 +429572 +429589 +42959 +429590 +429591 +42960 +429607 +42961 +42962 +429620 +429622 +429623 +429624 +429626 +42966 +42967 +429683 +42970 +42973 +42984 +42985 +42986 +429883 +429884 +429885 +429886 +429888 +429889 +429891 +429892 +429893 +429894 +429895 +429898 +429899 +429900 +429901 +429902 +429911 +429913 +429914 +429916 +429917 +429918 +429925 +429926 +429927 +429928 +429937 +429939 +429940 +429941 +429943 +429945 +429946 +429948 +429949 +429951 +429952 +429954 +429955 +429957 +429959 +429960 +429961 +429963 +429964 +429966 +429967 +429977 +429979 +429986 +429988 +429995 +429996 +429998 +430000 +430001 +430002 +430003 +430005 +430007 +430009 +430010 +430012 +430013 +430015 +430017 +430018 +430019 +430020 +430022 +430023 +430024 +430025 +430027 +430028 +430029 +430030 +430032 +430033 +430034 +430035 +430036 +430037 +430038 +430039 +430042 +430043 +430044 +430045 +430047 +430048 +430049 +430051 +430052 +430053 +430065 +430067 +430068 +430069 +430070 +430080 +430096 +430112 +430118 +430123 +430136 +430245 +430248 +430256 +430257 +430260 +430262 +430263 +430264 +430266 +430296 +430298 +430299 +430301 +430342 +430343 +430354 +430440 +430471 +430478 +430526 +430601 +430602 +430692 +430697 +430698 +430699 +430700 +430701 +430702 +430703 +430704 +430705 +430706 +430707 +430708 +430709 +430710 +430711 +430712 +430713 +430714 +430715 +430716 +430717 +430718 +430719 +430720 +430721 +430722 +430723 +430724 +430725 +430726 +430727 +430728 +430729 +430730 +430731 +430732 +430733 +430734 +430735 +430736 +430737 +430738 +430739 +430740 +430741 +430742 +430743 +430744 +430745 +430746 +430747 +430748 +430749 +430750 +430751 +430752 +430753 +430754 +430755 +430756 +430757 +430758 +430759 +430760 +430761 +430762 +430763 +430764 +430765 +430766 +430767 +430768 +430769 +430770 +430771 +430772 +430773 +430774 +430775 +430776 +430777 +430778 +430779 +430780 +430781 +430782 +430783 +430784 +430785 +430786 +430787 +430788 +430789 +430790 +430791 +430792 +430793 +430794 +430795 +430796 +430797 +430798 +430799 +430800 +430801 +430802 +430803 +430804 +430805 +430806 +430807 +430808 +430809 +430810 +430811 +430812 +430813 +430814 +430815 +430941 +430942 +430943 +430944 +430945 +430946 +430947 +430948 +430949 +430950 +430951 +430952 +430953 +430954 +430955 +430956 +430957 +430958 +430959 +430960 +430961 +430962 +430963 +430964 +430965 +430966 +430967 +430968 +430969 +430970 +430971 +430972 +430973 +430974 +430975 +430976 +430977 +430978 +430979 +431189 +431193 +431524 +431564 +431588 +431589 +43186 +43187 +43191 +431918 +431995 +432021 +432022 +432023 +432113 +43215 +432150 +432151 +432152 +43216 +43217 +432186 +432201 +432202 +432203 +432267 +43234 +43236 +432375 +432387 +43240 +43241 +43244 +43245 +43246 +43247 +43248 +43249 +43250 +43251 +43252 +43255 +43256 +43257 +43258 +43259 +432592 +43260 +43261 +43262 +43263 +432660 +432861 +432892 +432893 +432895 +432896 +432897 +432943 +432945 +432947 +432967 +432985 +432986 +432987 +432989 +432990 +432991 +433007 +433142 +433143 +433145 +433202 +433240 +433241 +433242 +433243 +433248 +433299 +433300 +433301 +433302 +433303 +433304 +433305 +433306 +433348 +433349 +433351 +433353 +433367 +433379 +433380 +433470 +433471 +433472 +433770 +433783 +433916 +433954 +433957 +434075 +434076 +434257 +43450 +434559 +434617 +434636 +434645 +434646 +434691 +434693 +434695 +434696 +434697 +434707 +434709 +434714 +43477 +434773 +435081 +435082 +435085 +435099 +435189 +435190 +435207 +435208 +435215 +435216 +435217 +435252 +435339 +435485 +435528 +435571 +43564 +435963 +435973 +436063 +43609 +436125 +436126 +436127 +436523 +437424 +437425 +437426 +437428 +437456 +437462 +437494 +437495 +437585 +437633 +437642 +437643 +437644 +437823 +437825 +437826 +437827 +437879 +437881 +437883 +437884 +437885 +437890 +437891 +437892 +43830 +44248 +44249 +44250 +44251 +44252 +44267 +44275 +44276 +44368 +44369 +44374 +44538 +44539 +44540 +44541 +44542 +44546 +44734 +44785 +44786 +44787 +44788 +44789 +44790 +44796 +44809 +44841 +44848 +44893 +452075 +452087 +452089 +452096 +452127 +452129 +452130 +45233 +452427 +452428 +452430 +452433 +452434 +452443 +452444 +452461 +452464 +452467 +45249 +452505 +452519 +45270 +45271 +452803 +452810 +452825 +452829 +452855 +452858 +452868 +452887 +453267 +453270 +453428 +453429 +453430 +453521 +453522 +453524 +453526 +453534 +45356 +45357 +45358 +45359 +453631 +45375 +45376 +45377 +45378 +45379 +45401 +45402 +454230 +454351 +454391 +454397 +454399 +454403 +454486 +454501 +454502 +454551 +454557 +454558 +454559 +454612 +454642 +454701 +454705 +454707 +454713 +454714 +454715 +454718 +454764 +454766 +454767 +454774 +454776 +454777 +454779 +454805 +454848 +454849 +454850 +454904 +454948 +454960 +455089 +455197 +455198 +455199 +455200 +455201 +455202 +455203 +455204 +455205 +455216 +455217 +455220 +455222 +455224 +455225 +455226 +455227 +455233 +455234 +455237 +455245 +455247 +455251 +455263 +455274 +455280 +455281 +455292 +455327 +455328 +455344 +45536 +455388 +455394 +455395 +45544 +455441 +455442 +455443 +455444 +455445 +455446 +455447 +455448 +455449 +455450 +455451 +455452 +455453 +455454 +455455 +455456 +455457 +455461 +455463 +455466 +45547 +455544 +455554 +45715 +45748 +457928 +457931 +457934 +457935 +457936 +457937 +457951 +457952 +457956 +457959 +457981 +458292 +458330 +458374 +458375 +458380 +458381 +458383 +458384 +458387 +458389 +458425 +458452 +458455 +458456 +458740 +458741 +458742 +458743 +458778 +458782 +458783 +45880 +458804 +458845 +458879 +458880 +458886 +458890 +458943 +459230 +459231 +459232 +459233 +459235 +459236 +459237 +459238 +459240 +459241 +459242 +459243 +459245 +459246 +459247 +459248 +459250 +459251 +459252 +459253 +459255 +459256 +459257 +459258 +459260 +459261 +459262 +459263 +459264 +459265 +459266 +459267 +459269 +459270 +459272 +459273 +459274 +459275 +459277 +459278 +459279 +459281 +459282 +459283 +459284 +459286 +459287 +459288 +459290 +459291 +459292 +459293 +459294 +459295 +459296 +459297 +459299 +459300 +459301 +459302 +459304 +459305 +459306 +459307 +459309 +459310 +459311 +459313 +459314 +459315 +459317 +459318 +459320 +459321 +459322 +459323 +459325 +459326 +459327 +459328 +459335 +459344 +459353 +459358 +459359 +459360 +459361 +459363 +459364 +459365 +459367 +459368 +459369 +459371 +459372 +459373 +459375 +459376 +459377 +459379 +459380 +459381 +459382 +459384 +459385 +459386 +459387 +459389 +459390 +459392 +459393 +459394 +459396 +459397 +459398 +459399 +459401 +459402 +459403 +459404 +459410 +459416 +459420 +459421 +459422 +459423 +459425 +459426 +459427 +459428 +459430 +459431 +459432 +459433 +459435 +459436 +459437 +459438 +459440 +459441 +459442 +459443 +459445 +459446 +459447 +459448 +459450 +459451 +459452 +459453 +459455 +459456 +459457 +459458 +459459 +459460 +459462 +459463 +459464 +459465 +459467 +459468 +459469 +459470 +459476 +459482 +459486 +459487 +459488 +459490 +459491 +459492 +459494 +459495 +459496 +459497 +459499 +459500 +459501 +459503 +459504 +459505 +459507 +459508 +459509 +459510 +459512 +459514 +459515 +459516 +459518 +459519 +459520 +459521 +459522 +459523 +459524 +459526 +459527 +459528 +459529 +459530 +459532 +459533 +459534 +459535 +459536 +459538 +459539 +459540 +459541 +459543 +459544 +459545 +459546 +459547 +459556 +459562 +459567 +460015 +460141 +460297 +460341 +460592 +460593 +460594 +460603 +460764 +460769 +460771 +460772 +460779 +460788 +460816 +460942 +460952 +460953 +460954 +460956 +460974 +460996 +460997 +461120 +461122 +461123 +461135 +461137 +461144 +461208 +461209 +461210 +461216 +461217 +461234 +461236 +461308 +461313 +461331 +461332 +461333 +461335 +461336 +461337 +461338 +461340 +461341 +461342 +461343 +461345 +461346 +461347 +461348 +461349 +461351 +461352 +461353 +461354 +461356 +461357 +461358 +461359 +461361 +461362 +461363 +461364 +461366 +461367 +461368 +461369 +461371 +461372 +461373 +461374 +461376 +461377 +461378 +461379 +461381 +461382 +461383 +461384 +461386 +461387 +461388 +461389 +461391 +461392 +461393 +461394 +461413 +461414 +461415 +461416 +461448 +461450 +461473 +461474 +461475 +461525 +461526 +461527 +461706 +461764 +461767 +461786 +461807 +461808 +461957 +46198 +46199 +462029 +462030 +462038 +462344 +462352 +462353 +462354 +462356 +462771 +462772 +462773 +462782 +462895 +463001 +463002 +463115 +463158 +463212 +463213 +463230 +463246 +463255 +463359 +463360 +464012 +464122 +464123 +464390 +464576 +464787 +464788 +464789 +464790 +464792 +464793 +464794 +464795 +464797 +464798 +464799 +464801 +464802 +464803 +464804 +464809 +464810 +464811 +464813 +464814 +464815 +464816 +464818 +464819 +464820 +464821 +464823 +464824 +464825 +464826 +464831 +464837 +465009 +465010 +465011 +465012 +465014 +465015 +465016 +465017 +465019 +465020 +465021 +465022 +465023 +465024 +465025 +465027 +465028 +465029 +465030 +465032 +465033 +465034 +465036 +465037 +465041 +465046 +465110 +465112 +465120 +465128 +465199 +465343 +465406 +465407 +465408 +465410 +465411 +465413 +465414 +465416 +465417 +465418 +465419 +465420 +465422 +465423 +465424 +465425 +465426 +465428 +465429 +465430 +465431 +465433 +465434 +465436 +465437 +465438 +465441 +465442 +465443 +465445 +465446 +465447 +465449 +465450 +465452 +465453 +465454 +465455 +465456 +465457 +465459 +465460 +465461 +465462 +465464 +465465 +465466 +465467 +465472 +465478 +465485 +465489 +46578 +466097 +466148 +466326 +466680 +466681 +466714 +466940 +466941 +466984 +466985 +467045 +467047 +467049 +467050 +467051 +467052 +467054 +467055 +467056 +467057 +467058 +467059 +467061 +467062 +467063 +467064 +467065 +467066 +467067 +467068 +467069 +467071 +467072 +467073 +467074 +467076 +467077 +467078 +467080 +467081 +467082 +467083 +467085 +467086 +467087 +467089 +467090 +467091 +467093 +467094 +467095 +467097 +467098 +467099 +467100 +467102 +467103 +467104 +467106 +467107 +467108 +467109 +467111 +467112 +467113 +467114 +467115 +467121 +467129 +467135 +467139 +467140 +467303 +467395 +467396 +467397 +467398 +467399 +467400 +467401 +467402 +467403 +467404 +467405 +467406 +467604 +467605 +467606 +467607 +467608 +467609 +467617 +467618 +467619 +467620 +467621 +467622 +46809 +46888 +469774 +469778 +469779 +469780 +469781 +469782 +469783 +469926 +469938 +469947 +469976 +470104 +470279 +470299 +470312 +470373 +470645 +470681 +470718 +470741 +470841 +470852 +470857 +470858 +470859 +470860 +470881 +471468 +471469 +471470 +471473 +471474 +471475 +471477 +471479 +471490 +471492 +471496 +471936 +471937 +471938 +471939 +471948 +472066 +472410 +472413 +472471 +472472 +472473 +472568 +472569 +472570 +472572 +472600 +472672 +47301 +47302 +47303 +47304 +47305 +47306 +47307 +47308 +47309 +47310 +47311 +47312 +47313 +47314 +47315 +47316 +47317 +47318 +47319 +47320 +47321 +47322 +47323 +47324 +47325 +47326 +47327 +47328 +47329 +47330 +47331 +47332 +47333 +47334 +47335 +47336 +47337 +47338 +47339 +47340 +47341 +47342 +473589 +473713 +473803 +473806 +473807 +473877 +473878 +474024 +475122 +475426 +475427 +475428 +475867 +475868 +475869 +475870 +475911 +475912 +475913 +475914 +475915 +475916 +475917 +475921 +475924 +475925 +475927 +476056 +476278 +476279 +476294 +47658 +47666 +476732 +476751 +476766 +476878 +476879 +476914 +476972 +476982 +477030 +47711 +477146 +47726 +477922 +477953 +477954 +478095 +478141 +478166 +478175 +478353 +478354 +4785 +478971 +4797 +479794 +479797 +479798 +4798 +479845 +479846 +479847 +479848 +479892 +479893 +479894 +4799 +479915 +479916 +479924 +479927 +479960 +479981 +479982 +4800 +480017 +480020 +480038 +480042 +480054 +480083 +4801 +480107 +480143 +480144 +4802 +480209 +480210 +480211 +4803 +480301 +4804 +4805 +480776 +480853 +480856 +481193 +481295 +481305 +481306 +481925 +481927 +481929 +481932 +482002 +482003 +482035 +482036 +482037 +485376 +485413 +48561 +48564 +4858 +485952 +4860 +48614 +4863 +4864 +486489 +4866 +48660 +4867 +4868 +4869 +4870 +487309 +487310 +487311 +487312 +487538 +487566 +487567 +487568 +487569 +487575 +487577 +487578 +48780 +487809 +487813 +487837 +487838 +487843 +487844 +487847 +487853 +487856 +487858 +487860 +487862 +487870 +487871 +487872 +487873 +487877 +487907 +487935 +487958 +487986 +488023 +488168 +488374 +488375 +48840 +488408 +48841 +488415 +48842 +488670 +488681 +488700 +488716 +488734 +488983 +489016 +489036 +48906 +48907 +489080 +489088 +489089 +489112 +489125 +48915 +48916 +48926 +48927 +489285 +48929 +489292 +489297 +48930 +48931 +489321 +48933 +489330 +48934 +48935 +48937 +48938 +48939 +48941 +48942 +48944 +48947 +48949 +48950 +48963 +48964 +48967 +48968 +48969 +489696 +489701 +48972 +489750 +489766 +489768 +48977 +489772 +489773 +4898 +489822 +489855 +48986 +49008 +49009 +49010 +49021 +49025 +490602 +490638 +490642 +490675 +490681 +490709 +490731 +490742 +4908 +491184 +491185 +491186 +491188 +492018 +492019 +492020 +492510 +492514 +492518 +492521 +492529 +492533 +492539 +492542 +492543 +492982 +493198 +493199 +493202 +493221 +493318 +493319 +493320 +493322 +494361 +494362 +494363 +494365 +494366 +494368 +494588 +495148 +495149 +495197 +497026 +498742 +502068 +502071 +502081 +502357 +50414 +50415 +5065 +50685 +50686 +506861 +506862 +506863 +506865 +506866 +506867 +506869 +50687 +506870 +506871 +506872 +506874 +506875 +506876 +506877 +506879 +50688 +506880 +506881 +506883 +506884 +506885 +506886 +50689 +506892 +50690 +50691 +50692 +50694 +50695 +50697 +50698 +50699 +506995 +50700 +50701 +50702 +50703 +50705 +50706 +50710 +50711 +50712 +50713 +50714 +50715 +50716 +50723 +50725 +50726 +50727 +50728 +50729 +50730 +50731 +50759 +50772 +50779 +50782 +50798 +50803 +50804 +50805 +50806 +50807 +50808 +50810 +50811 +50812 +50813 +50815 +50816 +50818 +50821 +50822 +50823 +50824 +50825 +50826 +50827 +50828 +50829 +50830 +50831 +50832 +50833 +50835 +50837 +50841 +50842 +50843 +50844 +50845 +50846 +50847 +50849 +50850 +50851 +508510 +508511 +508512 +508513 +508515 +508516 +508517 +508519 +50852 +508520 +508521 +508522 +508524 +508525 +508526 +508527 +508529 +50853 +508530 +508531 +508532 +508534 +508535 +508536 +508538 +508539 +50854 +508540 +508541 +508543 +508544 +508545 +508548 +508549 +50855 +508550 +508551 +508552 +508553 +508554 +508556 +508557 +508558 +50856 +508560 +508561 +508562 +508563 +508565 +508566 +508567 +508568 +50857 +508570 +508571 +508572 +508573 +508575 +508576 +508577 +508578 +508579 +50858 +508580 +508582 +508583 +508584 +508585 +508587 +508588 +508589 +50859 +508590 +508592 +508593 +508594 +508595 +50860 +508600 +508610 +508617 +50862 +508622 +50864 +50866 +50867 +50869 +508694 +508695 +508696 +508697 +508698 +50870 +50871 +50873 +50875 +50876 +50879 +50880 +50883 +50884 +50885 +508972 +508973 +508974 +508976 +508977 +508978 +508980 +508982 +508983 +508984 +508985 +508987 +508988 +508989 +508990 +508992 +508993 +508994 +508995 +508997 +508998 +508999 +509001 +509002 +509003 +509004 +509006 +509007 +509008 +509009 +509010 +509012 +509014 +509015 +509016 +509018 +509019 +509020 +509029 +509042 +509054 +509200 +509201 +509202 +509203 +509205 +509206 +509207 +509208 +509210 +509211 +509212 +509213 +509214 +509215 +509217 +509218 +509220 +509221 +509222 +509223 +509225 +509226 +509227 +509228 +509229 +50923 +509230 +509231 +509233 +509234 +509235 +509236 +509238 +509239 +509240 +509241 +509243 +509244 +509245 +509246 +509247 +509249 +509250 +509251 +509252 +509254 +509255 +509256 +509257 +509259 +509260 +509261 +509263 +509264 +509265 +509266 +509268 +509269 +509270 +509271 +509275 +509281 +509287 +50929 +509292 +50930 +50931 +509316 +509317 +509318 +509319 +50932 +50933 +50934 +509342 +509343 +509344 +509345 +509347 +509348 +509349 +509350 +509351 +509352 +509353 +509354 +509356 +509357 +509358 +50936 +509360 +509361 +509362 +509363 +509365 +509366 +509367 +509368 +50937 +509374 +509402 +50947 +51003 +51069 +51101 +511174 +511175 +51130 +51131 +51394 +51399 +51423 +51437 +51584 +51585 +51586 +51587 +51588 +51589 +51590 +51591 +51592 +51595 +51596 +51597 +51598 +51601 +51605 +516056 +516057 +516058 +51606 +516062 +51607 +51608 +51609 +516116 +516117 +516118 +51612 +516120 +516123 +51613 +51614 +51615 +51616 +51617 +51618 +51619 +51620 +51621 +51622 +51623 +51624 +51625 +51626 +51627 +51628 +516297 +516298 +516299 +51630 +51631 +516317 +516318 +51633 +516339 +51634 +516340 +51635 +516358 +516359 +51636 +51639 +51640 +51641 +51642 +51643 +51646 +516464 +516465 +516466 +516468 +51647 +516471 +516472 +516473 +516474 +516475 +51648 +51649 +51650 +51651 +51652 +51653 +51654 +516546 +516547 +516548 +51655 +516551 +516552 +516553 +51656 +51657 +51658 +51659 +51660 +51661 +51662 +51663 +51664 +51665 +51666 +51667 +51668 +51669 +51671 +51673 +51675 +516750 +516760 +516761 +516763 +51677 +51682 +51683 +51690 +51691 +51692 +51694 +51695 +51696 +51697 +51698 +51699 +51700 +51701 +51702 +51703 +51704 +51705 +51710 +51711 +51712 +517814 +517816 +517817 +517818 +51796 +518289 +518290 +518291 +518293 +518294 +518295 +518298 +518326 +518327 +518328 +518334 +518337 +518360 +518364 +518372 +518454 +518542 +518543 +518545 +518548 +518549 +518550 +518552 +518564 +518571 +518582 +518598 +518718 +518719 +518781 +518782 +518786 +518793 +518794 +518914 +518915 +518916 +518982 +518983 +518984 +518985 +518986 +518987 +518988 +518989 +518990 +518991 +518992 +518993 +518994 +518995 +518996 +518997 +518998 +518999 +519000 +519001 +519002 +519003 +519004 +519005 +519006 +519007 +519008 +519009 +519010 +519011 +519012 +519013 +519014 +519015 +519016 +519017 +519018 +519019 +519020 +519021 +519022 +519023 +519024 +519025 +519026 +519027 +519028 +519029 +519030 +519031 +519032 +519033 +519034 +519035 +519036 +519038 +519039 +519040 +519041 +519042 +519536 +519538 +519539 +519540 +519544 +519546 +519548 +519550 +519551 +519552 +51962 +51963 +51964 +51965 +51967 +51968 +51969 +51970 +51971 +51974 +519774 +519777 +519778 +519781 +519804 +51982 +51992 +51994 +51996 +51998 +52000 +52001 +52003 +52004 +52005 +52006 +52007 +52009 +520291 +520388 +5204 +52041 +520414 +52042 +520424 +520425 +52046 +52047 +52048 +5205 +52050 +52052 +52053 +52054 +52055 +52056 +52057 +52058 +52059 +52060 +52061 +52062 +52063 +52064 +52065 +52066 +520732 +520941 +52100 +52102 +521472 +521482 +521484 +521485 +521486 +521571 +521572 +521577 +521587 +521591 +521592 +521790 +521960 +522383 +522384 +522385 +522395 +52304 +52305 +52306 +52310 +52320 +523418 +523419 +523420 +523421 +523422 +52346 +523674 +523685 +523689 +523690 +523691 +523692 +523693 +523697 +524007 +524008 +524009 +524014 +524015 +524016 +524280 +524324 +524386 +524393 +524600 +52483 +52486 +52487 +52488 +52490 +52492 +52494 +52495 +52496 +52499 +52500 +52501 +52504 +525085 +525086 +525088 +525095 +52510 +525108 +52511 +525112 +52512 +52514 +52518 +525280 +525317 +525326 +525329 +525376 +525455 +525492 +525567 +525568 +525569 +525571 +525608 +52586 +52590 +52591 +52592 +52593 +52594 +52595 +52596 +52597 +526128 +526143 +526180 +52644 +52645 +526469 +52647 +526470 +526471 +526472 +526473 +52648 +526484 +526485 +526487 +526488 +526492 +526527 +526528 +526529 +526550 +52658 +526627 +526628 +526632 +52668 +52669 +52670 +52671 +52672 +52673 +526733 +52674 +52675 +52676 +52677 +52678 +52679 +527127 +527131 +52770 +52771 +52772 +52773 +52774 +52775 +528102 +528153 +528157 +528173 +52821 +52822 +52823 +52824 +52825 +52826 +52827 +528273 +52828 +52829 +52830 +52831 +528310 +52832 +52833 +52834 +52835 +52836 +52837 +52838 +52839 +52840 +52841 +52842 +52843 +52844 +529652 +529653 +529673 +529690 +529785 +529787 +529800 +529802 +529811 +529897 +529954 +529963 +530035 +530036 +530037 +530141 +530207 +530238 +530253 +530405 +53068 +530686 +530687 +53069 +53070 +530703 +530739 +531258 +531262 +531267 +531277 +53142 +531435 +531436 +531437 +531439 +531440 +531441 +531465 +53149 +53150 +53151 +53152 +53153 +53154 +53155 +53156 +53157 +53159 +53160 +53163 +532003 +532014 +533607 +533610 +533651 +533657 +533802 +533805 +533817 +533974 +533986 +533987 +533988 +533989 +533990 +533991 +533993 +533994 +533995 +533996 +533997 +533998 +533999 +534000 +534001 +534002 +534003 +534004 +534605 +534647 +534648 +534649 +534650 +534651 +534652 +534653 +534654 +534655 +534656 +534657 +534658 +534659 +534660 +534662 +534663 +534664 +534665 +534666 +534667 +534668 +534669 +534670 +534671 +534672 +534673 +534674 +534678 +534679 +534680 +534681 +534682 +534684 +534685 +534686 +534687 +534688 +534689 +534690 +534691 +534692 +534693 +534694 +534695 +534696 +534697 +534698 +534699 +534700 +534701 +534702 +534703 +534704 +534705 +534706 +534707 +534708 +534709 +534710 +534711 +534733 +535271 +535272 +535277 +535280 +535301 +535302 +535303 +535321 +535322 +535333 +53540 +53541 +53546 +535668 +535669 +535670 +535690 +535697 +535736 +53588 +535891 +535892 +535893 +535903 +535904 +535905 +535906 +535907 +535908 +535909 +535910 +535911 +535912 +535914 +535915 +535916 +535917 +535918 +535919 +535920 +535921 +535922 +535923 +535924 +535925 +535926 +535927 +535928 +535930 +535931 +535932 +535933 +535934 +535935 +535936 +535937 +535938 +535939 +535940 +535941 +535943 +535944 +535948 +535949 +535950 +535951 +535952 +535953 +535954 +535955 +535956 +535957 +535958 +535959 +53596 +535960 +535961 +535962 +535963 +535964 +535965 +535966 +535967 +535968 +535969 +535974 +535975 +535976 +535977 +535978 +535979 +535980 +535981 +535982 +535983 +535984 +535985 +535986 +535989 +535990 +535991 +535992 +535993 +535994 +535995 +535996 +535997 +535998 +535999 +536000 +536001 +536006 +536009 +536011 +536012 +536013 +536014 +536015 +536021 +536023 +536024 +536025 +536083 +536084 +536098 +536138 +536139 +536140 +536142 +53615 +536155 +536184 +536187 +536202 +536206 +536217 +536223 +536318 +536324 +536331 +536353 +536359 +536366 +536369 +536952 +536953 +536955 +536956 +536957 +536965 +536966 +536967 +536968 +536971 +536972 +536982 +536983 +536984 +536995 +536996 +536998 +537009 +537012 +537066 +537067 +537069 +537071 +537072 +537076 +537086 +537087 +537089 +537100 +537103 +537104 +537107 +537109 +537110 +537119 +537139 +537170 +537171 +537176 +537177 +537178 +537179 +537195 +537208 +537209 +537210 +537212 +537213 +537214 +537217 +537219 +537236 +537243 +537260 +537274 +537386 +537387 +537422 +537518 +537519 +537520 +537522 +537542 +537549 +537556 +537560 +537561 +537581 +537582 +537586 +537592 +537595 +537596 +537686 +537687 +537689 +537690 +537691 +538052 +538098 +538101 +538102 +538103 +538104 +538105 +538106 +538107 +538116 +538171 +538230 +538234 +538235 +538462 +538474 +538479 +540640 +540680 +540718 +540744 +540766 +540770 +540807 +541027 +541028 +541344 +541345 +541348 +541349 +541350 +541351 +541352 +541395 +541396 +541397 +541398 +541400 +541413 +541422 +541423 +541424 +541425 +541426 +541427 +541428 +541429 +541430 +541431 +541524 +541526 +54153 +54154 +541696 +541697 +54176 +54177 +54182 +54187 +54189 +542280 +542281 +542282 +542283 +542284 +542285 +542289 +542300 +542561 +542629 +542633 +542673 +54370 +54376 +54388 +54486 +54487 +54493 +54494 +54496 +54513 +54572 +54573 +54574 +54575 +54582 +545919 +545944 +545945 +545947 +545948 +545964 +545965 +545966 +545985 +545986 +545987 +545988 +545989 +545990 +545991 +545992 +545994 +545995 +546010 +54602 +54603 +54604 +54607 +54631 +54666 +54681 +54682 +54697 +54721 +54722 +54790 +54957 +54966 +54981 +55401 +55402 +55403 +55440 +55441 +55442 +55443 +5547 +55471 +5548 +5549 +5550 +5551 +5552 +55527 +5553 +5554 +5555 +556004 +556005 +557598 +557637 +557643 +557656 +557686 +557687 +557688 +5578 +5581 +55839 +5584 +55840 +55841 +55842 +55843 +55844 +55845 +5586 +55865 +55866 +55867 +55870 +55871 +55872 +55874 +55877 +558773 +558805 +558806 +55884 +558842 +55907 +55912 +55913 +559180 +559181 +559182 +560395 +560410 +560627 +560629 +560631 +560670 +560697 +560698 +560699 +560700 +560701 +560702 +560703 +560704 +560705 +560706 +560707 +560708 +560904 +56162 +561836 +561837 +561838 +56190 +56191 +56192 +56193 +561974 +56199 +56205 +56206 +56207 +56208 +56209 +56210 +562108 +56211 +56212 +56213 +56214 +56215 +562264 +562267 +56232 +56242 +56243 +56244 +56245 +56246 +56247 +56248 +56249 +56250 +56251 +56252 +56254 +56256 +56265 +56279 +56290 +56291 +56294 +56295 +56303 +56306 +56307 +56314 +56316 +56317 +56318 +56319 +56320 +56321 +56322 +56323 +56324 +56325 +56331 +56332 +56333 +56334 +56335 +56336 +56337 +56338 +56339 +56340 +56341 +56342 +56343 +56344 +56345 +56346 +56357 +56358 +56359 +56391 +56392 +56393 +56394 +563966 +564036 +56419 +56422 +56423 +564551 +564585 +5647 +56476 +564831 +56511 +565141 +565143 +565171 +56519 +56520 +56521 +56525 +56527 +56528 +56529 +5653 +56531 +56532 +56533 +56534 +56535 +56537 +56538 +56539 +5658 +5659 +5660 +566025 +5668 +566913 +566915 +567045 +567349 +567350 +567353 +567362 +567548 +567549 +567552 +567553 +567561 +567563 +567566 +567737 +567738 +567777 +567780 +567783 +567784 +567789 +567790 +567792 +567793 +567794 +567828 +567874 +567879 +5682 +5685 +5686 +5687 +5689 +5690 +574504 +574505 +574526 +574527 +574528 +574529 +574594 +574937 +574938 +574939 +574941 +574942 +574943 +574945 +574946 +574947 +574949 +574950 +574951 +574953 +574954 +574955 +574957 +574958 +574959 +574961 +574962 +574963 +574965 +574966 +574967 +574968 +574973 +574974 +574975 +574977 +574978 +574979 +574980 +574983 +574984 +574985 +574986 +574987 +574988 +574989 +574990 +574993 +574994 +574995 +574996 +574997 +574998 +574999 +575000 +575001 +575002 +575003 +575004 +575005 +575216 +575311 +575313 +575314 +575377 +575378 +575393 +575404 +575608 +575630 +575773 +575774 +575801 +575813 +575823 +575837 +575838 +575839 +575966 +575967 +575971 +575983 +576264 +576266 +576269 +576270 +576271 +576275 +576277 +576296 +576338 +576341 +576349 +576406 +576407 +576414 +576425 +576435 +576513 +576514 +576515 +576570 +577174 +579043 +579058 +579309 +579334 +579336 +579402 +579514 +579515 +579517 +579656 +579699 +579734 +579779 +579811 +579812 +579817 +579865 +579879 +579880 +582135 +582141 +582142 +582144 +582145 +582147 +582148 +582153 +582155 +582156 +582157 +582163 +582167 +582197 +582198 +582200 +582206 +582209 +582211 +582215 +582218 +582227 +582252 +582282 +582284 +582296 +582323 +582324 +582325 +582349 +582393 +582409 +582727 +582728 +582729 +582730 +582737 +582739 +582744 +583038 +583039 +583040 +583042 +583056 +583106 +583107 +583109 +583264 +583269 +583270 +583287 +583288 +583289 +583339 +583426 +583449 +583454 +584313 +584314 +584315 +584316 +584323 +584324 +584442 +584599 +584600 +584601 +584602 +584603 +584604 +584605 +584606 +584607 +584608 +584609 +584610 +584611 +584612 +584613 +584614 +584615 +584617 +584618 +584619 +584687 +584700 +584735 +584736 +584737 +584738 +584772 +5858 +5859 +585904 +585925 +585926 +585927 +5860 +5861 +5862 +5863 +5864 +5866 +586684 +586685 +586686 +586688 +586690 +586691 +586692 +586694 +586696 +586697 +586698 +586700 +586701 +586704 +586705 +586707 +586717 +586718 +586719 +586722 +586750 +586751 +586752 +586765 +586769 +586770 +586771 +586792 +586793 +586794 +586795 +586872 +586876 +586878 +586892 +586898 +5869 +586900 +5870 +587025 +587142 +587143 +587145 +587150 +587508 +587509 +587513 +587514 +587520 +587521 +587522 +587530 +587536 +587601 +587602 +587603 +587604 +587618 +587621 +587624 +587626 +588090 +588091 +588093 +588096 +588097 +588098 +588100 +588103 +588169 +588175 +588177 +588182 +588184 +588185 +588186 +588212 +588213 +588214 +588226 +5886 +588650 +588652 +588658 +588660 +588694 +588698 +588784 +588808 +588809 +588810 +588811 +588816 +588817 +588818 +588819 +588833 +588856 +588857 +588858 +588895 +588896 +588897 +588899 +588900 +588901 +588902 +588904 +588905 +588906 +588907 +588909 +588910 +588912 +588913 +588914 +588916 +588917 +588924 +588936 +588945 +588946 +588948 +588949 +588950 +588951 +588953 +588954 +588955 +588956 +588958 +588959 +588960 +588961 +588963 +588964 +588965 +588966 +588968 +588969 +588970 +588977 +589051 +589052 +589119 +589120 +589121 +589235 +589236 +589376 +589996 +589997 +589999 +590001 +590003 +590009 +590392 +590393 +590394 +590395 +590396 +590397 +590398 +590399 +590400 +590401 +590402 +590403 +590404 +590405 +590415 +590416 +590418 +590419 +590650 +590657 +590661 +590672 +590934 +590953 +591011 +591131 +591136 +591160 +591161 +591162 +591163 +591167 +591168 +591172 +591192 +59128 +59130 +59131 +59134 +59135 +59137 +59138 +59139 +5914 +59140 +59145 +5915 +591537 +591558 +5916 +591616 +5917 +591764 +59179 +59180 +59181 +59182 +59183 +59184 +59185 +591852 +59186 +59187 +59188 +591886 +59189 +59190 +59191 +59193 +59194 +59195 +59196 +59197 +59198 +59199 +59200 +59201 +59202 +59203 +59233 +59234 +59235 +59236 +59237 +59238 +59239 +59240 +59241 +59242 +59245 +59246 +59249 +59250 +59254 +59255 +59257 +59259 +59260 +59261 +59263 +59270 +592760 +59290 +59292 +59295 +59296 +59297 +59298 +59299 +59300 +59301 +59304 +59305 +59308 +59309 +59310 +59311 +59312 +59313 +59314 +59441 +59442 +59443 +59444 +59445 +59446 +59447 +59448 +59449 +59450 +59451 +59452 +59453 +59454 +59455 +59456 +59457 +59458 +59459 +59460 +59461 +59462 +59463 +59464 +59465 +59466 +59467 +59468 +59469 +59470 +59471 +59472 +59473 +59474 +59475 +59476 +59477 +59478 +59479 +59490 +595136 +595137 +595167 +595168 +59538 +59539 +59543 +595696 +595699 +59570 +595700 +59571 +595713 +595715 +59572 +59573 +59578 +595845 +596015 +596016 +596017 +596019 +59607 +59608 +59610 +59611 +59612 +59619 +59633 +59639 +59641 +59645 +59646 +596472 +596473 +59649 +59650 +596533 +596580 +59661 +596737 +596741 +596780 +59683 +59684 +597676 +597894 +598070 +59810 +598204 +598248 +59832 +598352 +59840 +59849 +598868 +598869 +598893 +598977 +599080 +599141 +59935 +60000 +60027 +600279 +600284 +600285 +600286 +600288 +60036 +60042 +600426 +600541 +600671 +601261 +60151 +60155 +60161 +601639 +60180 +60181 +60182 +60183 +60184 +601919 +601941 +601942 +601943 +601946 +601947 +601950 +601951 +601952 +60204 +60227 +60229 +602329 +602330 +602331 +602332 +602333 +602334 +602338 +602339 +602453 +602468 +602472 +602480 +602481 +602502 +602641 +60269 +60273 +60276 +60277 +60278 +60279 +60280 +60281 +60282 +60283 +60285 +60286 +602862 +60287 +60288 +60293 +60316 +60326 +60334 +60335 +60336 +60341 +60354 +60355 +60357 +60359 +603739 +603748 +603749 +603773 +603780 +603781 +603787 +603788 +603789 +603790 +603791 +603792 +603793 +603794 +603816 +603817 +603818 +603819 +603820 +603821 +603822 +603823 +603824 +603825 +603826 +603827 +603828 +603829 +60396 +60399 +60431 +60433 +604558 +604559 +605027 +605028 +605029 +605030 +605031 +605032 +605033 +605034 +605035 +605037 +605039 +605040 +605041 +605043 +605044 +605045 +605046 +605047 +605048 +605049 +605050 +605051 +605052 +605053 +605055 +605056 +605057 +605058 +605059 +605060 +605061 +605062 +605063 +605064 +605065 +605066 +605067 +605068 +605069 +605070 +605071 +605072 +605073 +605074 +605075 +605076 +605089 +605090 +605092 +605129 +60513 +605130 +605173 +605184 +605200 +605385 +605403 +605404 +605448 +605851 +605852 +605853 +605854 +605856 +605857 +605858 +605859 +606175 +606176 +606178 +606181 +606182 +606189 +606190 +606191 +606192 +606193 +606194 +606195 +606196 +606197 +606198 +606200 +606201 +606202 +606203 +606204 +606205 +606206 +606207 +606208 +606209 +60621 +606210 +606211 +606212 +606213 +606214 +606215 +606216 +606217 +606218 +606219 +606221 +606222 +606223 +606224 +606227 +606228 +606229 +606230 +606231 +606232 +606233 +606234 +606239 +606245 +606252 +606253 +606255 +606256 +60631 +60634 +606428 +606429 +606431 +606432 +606440 +606447 +60651 +60691 +606990 +607001 +607002 +607003 +607004 +607005 +607006 +607007 +607008 +607010 +607011 +607012 +607013 +607014 +607016 +607017 +607018 +607019 +607022 +607023 +60710 +60715 +60716 +60717 +60718 +607534 +607535 +607537 +607810 +607854 +607857 +607858 +607916 +607920 +608230 +608234 +608280 +608996 +608997 +608998 +608999 +609000 +609001 +609003 +609005 +609377 +609411 +609468 +609553 +60985 +60986 +60987 +60990 +609987 +610062 +61020 +61025 +61026 +61049 +610593 +610594 +610595 +610597 +610599 +610627 +610628 +610631 +610632 +611445 +611446 +611447 +611448 +611449 +611450 +611451 +611453 +611454 +611455 +611456 +611457 +611458 +611460 +611461 +611462 +611463 +611464 +611465 +611466 +611467 +611877 +612291 +612292 +612293 +612296 +612297 +612298 +612302 +612303 +612304 +612306 +612307 +612308 +612315 +612316 +612317 +612321 +612322 +612323 +612326 +612329 +612330 +612331 +612333 +612334 +612346 +612349 +612351 +612364 +612367 +612368 +612369 +612383 +612384 +612385 +612388 +612389 +612390 +612392 +612395 +612396 +612397 +612398 +612403 +612404 +612405 +612408 +612409 +612410 +612412 +612415 +612416 +612417 +612420 +612421 +612424 +612425 +612426 +612429 +612430 +612431 +612434 +612435 +612436 +612439 +612440 +612441 +612444 +612445 +612446 +612467 +612468 +612469 +612525 +612601 +612602 +61261 +61264 +612867 +612869 +612928 +612929 +612930 +612931 +612932 +612933 +612934 +612935 +612936 +612937 +612938 +612939 +612940 +612941 +612942 +612943 +612944 +612945 +612946 +612947 +612948 +612949 +613027 +613029 +613030 +61309 +613099 +613100 +613101 +613102 +613104 +613108 +613109 +613111 +613129 +61324 +61325 +61343 +61344 +613485 +613487 +613488 +613489 +61351 +613631 +61365 +613674 +613694 +613696 +613719 +61380 +61386 +61387 +61388 +61389 +61390 +61391 +61392 +61393 +61394 +61401 +614035 +61404 +61405 +614150 +614153 +614155 +61419 +61421 +61424 +61426 +61427 +61431 +614333 +614334 +61436 +61439 +61441 +614443 +614444 +614445 +614446 +61448 +61450 +614538 +61455 +614968 +614970 +614972 +614981 +61502 +61506 +61508 +61513 +615202 +615203 +615204 +615205 +615206 +615207 +615208 +615209 +615210 +615211 +615212 +615213 +615214 +615215 +615216 +615217 +615218 +615219 +61522 +615220 +615221 +615222 +615223 +615224 +615225 +615226 +615227 +615228 +615229 +61523 +615230 +615231 +615232 +615233 +615234 +615235 +615236 +615237 +615238 +615239 +615243 +615244 +615245 +615246 +615262 +615272 +61528 +61531 +615314 +61532 +615355 +615357 +615359 +61547 +61550 +61553 +61554 +615585 +61561 +615628 +61567 +61568 +61571 +61572 +615770 +61587 +61588 +61592 +61594 +61614 +616156 +616163 +61622 +61626 +61639 +61655 +61660 +61661 +61663 +61664 +61666 +61670 +61671 +61672 +61674 +61675 +61677 +61689 +61690 +61691 +61693 +61694 +61695 +61697 +61699 +617003 +61701 +617014 +61702 +61703 +61704 +61705 +61706 +617064 +61707 +617105 +617107 +617108 +617110 +61723 +617425 +617429 +617431 +617433 +617467 +617553 +617641 +617916 +617918 +617919 +617924 +617925 +618136 +618137 +618161 +618166 +618213 +618290 +618292 +618293 +618294 +618388 +618535 +618536 +618537 +618626 +618632 +618645 +618660 +618804 +618806 +618808 +618809 +618811 +618827 +618828 +618829 +618830 +618867 +618868 +618869 +618870 +618872 +618874 +618875 +618876 +618878 +618879 +618880 +618881 +618883 +618884 +618885 +618886 +618888 +618889 +618890 +618891 +618893 +618894 +618895 +618897 +618898 +618899 +618901 +618902 +618903 +618904 +618906 +618907 +618908 +618909 +618911 +618913 +618914 +618915 +618916 +618934 +618935 +618936 +618937 +618938 +618939 +618940 +618941 +619058 +619059 +619060 +619061 +619063 +619064 +619066 +619067 +619068 +619069 +619070 +619071 +619073 +619074 +619076 +619077 +619078 +619079 +619080 +619081 +619083 +619084 +619086 +619087 +619088 +619089 +619090 +619091 +619093 +619094 +619096 +619097 +619098 +619099 +619100 +619101 +619103 +619104 +619106 +619107 +619108 +619109 +619110 +619111 +619113 +619114 +619116 +619117 +619118 +619119 +619120 +619121 +619123 +619124 +619126 +619127 +619129 +619130 +619131 +619132 +619134 +619135 +619136 +619138 +619139 +619140 +619142 +619144 +619145 +619146 +619147 +619148 +619149 +619150 +619151 +619153 +619154 +619156 +619157 +619158 +619159 +619160 +619161 +619163 +619164 +619166 +619167 +619168 +619169 +619170 +619171 +619173 +619174 +619176 +619177 +619178 +619179 +619180 +619181 +619183 +619184 +619186 +619187 +619188 +619189 +619190 +619191 +619193 +619194 +619196 +619197 +619198 +619199 +619200 +619201 +619203 +619204 +619206 +619207 +619208 +619209 +619210 +619211 +619213 +619214 +619216 +619217 +619218 +619219 +619220 +619221 +619223 +619224 +619226 +619227 +619228 +619229 +619230 +619231 +619233 +619234 +619236 +619237 +619238 +619239 +619240 +619241 +619243 +619244 +619246 +619247 +619248 +619249 +619250 +619251 +619253 +619254 +619256 +619257 +619258 +619259 +619260 +619261 +619263 +619264 +619266 +619267 +619268 +619269 +619270 +619271 +619273 +619274 +619276 +619277 +619278 +619279 +619280 +619281 +619283 +619284 +619286 +619287 +619288 +619289 +619290 +619291 +619293 +619294 +619296 +619297 +619298 +619299 +619300 +619301 +619303 +619304 +619306 +619307 +619308 +619309 +619310 +619311 +619313 +619314 +619315 +619317 +619318 +619320 +619321 +619322 +619323 +619324 +619325 +619326 +619327 +619329 +619330 +619332 +619333 +619334 +619335 +619336 +619337 +619339 +619340 +619342 +619343 +619345 +619346 +619347 +619348 +619349 +619350 +619351 +619352 +619353 +619354 +619355 +619356 +619358 +619359 +619361 +619362 +619364 +619365 +619366 +619367 +619369 +619370 +619371 +619372 +619374 +619375 +619376 +619377 +619378 +619380 +619381 +619382 +619383 +619384 +619385 +619386 +619387 +619389 +619390 +619391 +619392 +619394 +619395 +619396 +619397 +619398 +619399 +619400 +619401 +619402 +619404 +619405 +619407 +619408 +619409 +619410 +619411 +619412 +619414 +619415 +619417 +619418 +619419 +619420 +619421 +619422 +619424 +619425 +619427 +619428 +619429 +619430 +619431 +619432 +619434 +619435 +619437 +619438 +619439 +619440 +619441 +619442 +619444 +619445 +619447 +619448 +619449 +619450 +619451 +619452 +619454 +619455 +619457 +619458 +619461 +619465 +619469 +619475 +619479 +619483 +619490 +619494 +619498 +619502 +619506 +619510 +619514 +619518 +619522 +619526 +619530 +619534 +619538 +619542 +619546 +619550 +619554 +619559 +619563 +619567 +619570 +619574 +619582 +619586 +619590 +619594 +619598 +619602 +619606 +619814 +619827 +619897 +619898 +619899 +619900 +619901 +619902 +619903 +619907 +619929 +619932 +619982 +620016 +620317 +620379 +620380 +620381 +620382 +620383 +620384 +620385 +620400 +620401 +620428 +620455 +620474 +620475 +620592 +620652 +620653 +620658 +620661 +620730 +620819 +620904 +621228 +621229 +621230 +621231 +621232 +621233 +621234 +621235 +621236 +621237 +621238 +621239 +621240 +621241 +621242 +621243 +621651 +621652 +621653 +621654 +621909 +621910 +621911 +621912 +621913 +621914 +621915 +621928 +621948 +621950 +621951 +621952 +621953 +621954 +621955 +621956 +621957 +621958 +621959 +621960 +621961 +621962 +621963 +621964 +621965 +621966 +621967 +621968 +621969 +621970 +621971 +621972 +621974 +621975 +621976 +621977 +621978 +621979 +621980 +621981 +621982 +621983 +621984 +621985 +621986 +621987 +621988 +621989 +621990 +621991 +621992 +621993 +621994 +621995 +621998 +621999 +622000 +622001 +622050 +622051 +622052 +622053 +622054 +622055 +622056 +622057 +622058 +622059 +622060 +622061 +622062 +622063 +622064 +622065 +622066 +622067 +622068 +622069 +622177 +622178 +622179 +622180 +622181 +622182 +622183 +622184 +622185 +622186 +622187 +622188 +622189 +622190 +622191 +622193 +622194 +622195 +622196 +622197 +622432 +622439 +622542 +622802 +622803 +622804 +622805 +623338 +623343 +623543 +623544 +623545 +623546 +623547 +623548 +623549 +623550 +623551 +623552 +623553 +623554 +623555 +623556 +623557 +623558 +623559 +623560 +623561 +623562 +623563 +623564 +623807 +623879 +623954 +623955 +623956 +623957 +623958 +623960 +623961 +623965 +623979 +623984 +624022 +624023 +624024 +624025 +624149 +624286 +624291 +624292 +624563 +624564 +624565 +624566 +624567 +624654 +624811 +624813 +625018 +625062 +625089 +625315 +625316 +625317 +625343 +625435 +625448 +625449 +625450 +625452 +625453 +625454 +625459 +625526 +625572 +625576 +625796 +625797 +625798 +625799 +625800 +625801 +625802 +625803 +625804 +625805 +625807 +625808 +625809 +625810 +625811 +625812 +625813 +625814 +625817 +625818 +625819 +625820 +625821 +625822 +625852 +625856 +625862 +626094 +626109 +626110 +626273 +626275 +626402 +626404 +626406 +626448 +626476 +626583 +626585 +626587 +626620 +626694 +626695 +626696 +626705 +626715 +626736 +626737 +626748 +626749 +626831 +627539 +627540 +627541 +627550 +627551 +627552 +627554 +627555 +627557 +627622 +627624 +627626 +627701 +627702 +627765 +628008 +628099 +628100 +628118 +628143 +628151 +628226 +628227 +628228 +628229 +628240 +628273 +628274 +628275 +628276 +628277 +628278 +628279 +628280 +628281 +628285 +628286 +628287 +628288 +628289 +628290 +628294 +628295 +628296 +628298 +628299 +628300 +628301 +628302 +628304 +628305 +628306 +628307 +628308 +628309 +628310 +628326 +628526 +628537 +628538 +628539 +628540 +628541 +628542 +628555 +628557 +628592 +628593 +628594 +628595 +628596 +628597 +628598 +628599 +628600 +628601 +628602 +628603 +628604 +628605 +628606 +628607 +628608 +628609 +628610 +628611 +628612 +628613 +628614 +628615 +628616 +628617 +628618 +628619 +628620 +628621 +628622 +628623 +628624 +628625 +628626 +628627 +628628 +628629 +628630 +628631 +628632 +628633 +628634 +628635 +628636 +628637 +628638 +628639 +628640 +628641 +628642 +628643 +628647 +628650 +628651 +628652 +628653 +628654 +628655 +628656 +628660 +628661 +628662 +628663 +628665 +628666 +628667 +628668 +628672 +628673 +628674 +628675 +628676 +628677 +628678 +628679 +628680 +628681 +628682 +628683 +628684 +628685 +628686 +628689 +628690 +628691 +628692 +628693 +628694 +628695 +628696 +628697 +628698 +628699 +628700 +628701 +628702 +628703 +628704 +628705 +628706 +628707 +628708 +628709 +628712 +628715 +628716 +628717 +628719 +628720 +628722 +628723 +628724 +628725 +628726 +628727 +628728 +628729 +628730 +628734 +628735 +628736 +628737 +628738 +628803 +628804 +628805 +628806 +628810 +628811 +628964 +628965 +628966 +628967 +628968 +628969 +628984 +628985 +628986 +628987 +628988 +628989 +629201 +629711 +629799 +629800 +629806 +629824 +629825 +629858 +629859 +629860 +629861 +629862 +629863 +629864 +629865 +629902 +629907 +629999 +630136 +630137 +630138 +630139 +630140 +630141 +630142 +630194 +630196 +630197 +630198 +630199 +630200 +630201 +630333 +630334 +630603 +630838 +631043 +631052 +631053 +631054 +631055 +631222 +631286 +631460 +631462 +631464 +631524 +631671 +631858 +631864 +631957 +631959 +631968 +631969 +631971 +631973 +631977 +631978 +631980 +631986 +631987 +631989 +632173 +632389 +632390 +632419 +632420 +632421 +632422 +632423 +632424 +632425 +632426 +632427 +632428 +632429 +632430 +632431 +632432 +632633 +632642 +632846 +632856 +632969 +632979 +632980 +633186 +633407 +633438 +633439 +633440 +633445 +633447 +633505 +633567 +6336 +633695 +633696 +634550 +634788 +634796 +634863 +634864 +6349 +635241 +635297 +635489 +635490 +635491 +635517 +635845 +636175 +636176 +6362 +6364 +636425 +636426 +636429 +636434 +636485 +636486 +636487 +636489 +636490 +636491 +636494 +636497 +636504 +636652 +636702 +636752 +636753 +636879 +636881 +636882 +637339 +637344 +637456 +637701 +637779 +638760 +638992 +639035 +639162 +639653 +639703 +639723 +639738 +640019 +640110 +640111 +640119 +640120 +640121 +640127 +640128 +640129 +640130 +640228 +640256 +640261 +640275 +640276 +640278 +640279 +640297 +640298 +6403 +640300 +640301 +640304 +640305 +640313 +640314 +6404 +640490 +640498 +6405 +640507 +640508 +640509 +640530 +640531 +640584 +640588 +640592 +640593 +640603 +640604 +640654 +640662 +640873 +641961 +641962 +641984 +641985 +642905 +642984 +642985 +642986 +643210 +643218 +643219 +643253 +643254 +643255 +643868 +643869 +643870 +643871 +643872 +643873 +643874 +643875 +643877 +644060 +644061 +644062 +644065 +644099 +644100 +644101 +644103 +644105 +644106 +644107 +644109 +644110 +644111 +644116 +644117 +644152 +644153 +644154 +644174 +644251 +644253 +644332 +644384 +644411 +644615 +644639 +644726 +644805 +644807 +644808 +644809 +644810 +644811 +644812 +644813 +644815 +644816 +644817 +644818 +644931 +645429 +645430 +645431 +645436 +645437 +645438 +645442 +645445 +645447 +645448 +645451 +645455 +645476 +645484 +645485 +645486 +645556 +645568 +64571 +64572 +64573 +64574 +64575 +64576 +64577 +64578 +64579 +645814 +645815 +645856 +645877 +645943 +645983 +646084 +646085 +646086 +646106 +646110 +646119 +646120 +646123 +646129 +646130 +646131 +646134 +646135 +646138 +646139 +646140 +646142 +646143 +646144 +646145 +646146 +646147 +646168 +646173 +646223 +646224 +646231 +646300 +646301 +646302 +646303 +646304 +646305 +646306 +646307 +646581 +646587 +646792 +646793 +646837 +646936 +646937 +646976 +646977 +646978 +646980 +646981 +646982 +647184 +647185 +647235 +647236 +647237 +647240 +647241 +647242 +647244 +647245 +647248 +647249 +647250 +647253 +647254 +647255 +647258 +647259 +647260 +647262 +647266 +647267 +647268 +647269 +647270 +647345 +647433 +647450 +647521 +647537 +647538 +647540 +647542 +647543 +647544 +647545 +647546 +647547 +647571 +647572 +647576 +647684 +6478 +647810 +647811 +647815 +647822 +64791 +64794 +64795 +647970 +647971 +647973 +647976 +647977 +647978 +64798 +647981 +647982 +647984 +647996 +647999 +6480 +64800 +648000 +648001 +648003 +648026 +648027 +648028 +64803 +648034 +648046 +648047 +648059 +648065 +648094 +648097 +648098 +648099 +6481 +648100 +648101 +648102 +64815 +648154 +64816 +648245 +648258 +648259 +648261 +648316 +648317 +648318 +648319 +648320 +6484 +648444 +648445 +648446 +648447 +648448 +648449 +648450 +648451 +648452 +648453 +648454 +648455 +648456 +648457 +648458 +6485 +648578 +6487 +648851 +648852 +648855 +6489 +648984 +6490 +649019 +649020 +649021 +649025 +649129 +649130 +649131 +649265 +649266 +649267 +649305 +649306 +649307 +649314 +649315 +649316 +649321 +649322 +649323 +649332 +649333 +649334 +649337 +649338 +649345 +649346 +649347 +649348 +649352 +649353 +649354 +649357 +649358 +649359 +649360 +649361 +649362 +649363 +649364 +6494 +649421 +649422 +649423 +649425 +649426 +649427 +649429 +649519 +64955 +64956 +64957 +64958 +64960 +64977 +64984 +64996 +64997 +650073 +650085 +6501 +65012 +650125 +650127 +65014 +65016 +65017 +65022 +65024 +650249 +650265 +65027 +650272 +650275 +65028 +65031 +650473 +650573 +650657 +65069 +65071 +65079 +65080 +65081 +650850 +65086 +65091 +65092 +65097 +65098 +65099 +651135 +651213 +65122 +65125 +651251 +65127 +65130 +65144 +65147 +65149 +65151 +651515 +65153 +65155 +65157 +65159 +65161 +65168 +65170 +65171 +65174 +65175 +65177 +65180 +65181 +65183 +65186 +65187 +65188 +65189 +65190 +65191 +651982 +651983 +651984 +651986 +65204 +652044 +652045 +652046 +652047 +652048 +652049 +652050 +65206 +65209 +652092 +65210 +652102 +652103 +652104 +652111 +65213 +652135 +65214 +652151 +65217 +65219 +652199 +65220 +65222 +652230 +652231 +652232 +652233 +652234 +65224 +65225 +652281 +65232 +65234 +65248 +65250 +65253 +65255 +652598 +65260 +65262 +65263 +65264 +65265 +65266 +65267 +65271 +65272 +65274 +652749 +652764 +652794 +653002 +653008 +65301 +653010 +65302 +653042 +65306 +65307 +65310 +65315 +653240 +653241 +653242 +653243 +653377 +653384 +653543 +653625 +653626 +653627 +653628 +653629 +653630 +653631 +653632 +653806 +653808 +65389 +65390 +65392 +65393 +653941 +65395 +65399 +653996 +6540 +65403 +65407 +654080 +654084 +65409 +65412 +654145 +65415 +65418 +65421 +65424 +65427 +654297 +65430 +65433 +65435 +65438 +65439 +6544 +65442 +65445 +6545 +65451 +65453 +65457 +6546 +65464 +65466 +6547 +654847 +654848 +65485 +654904 +654907 +654909 +65498 +65499 +65500 +65504 +65508 +65512 +65513 +65517 +65518 +65528 +65531 +65534 +65537 +655411 +655412 +65542 +65545 +65548 +65551 +65554 +65572 +65573 +65585 +65587 +65593 +65595 +65597 +65598 +65600 +65601 +65615 +65618 +65619 +65624 +65628 +65630 +65644 +65645 +65648 +657142 +657241 +657242 +657243 +657246 +657247 +657248 +657251 +657252 +657253 +657256 +657257 +657258 +657259 +657262 +657263 +657264 +657266 +657267 +657268 +657269 +657270 +65731 +65732 +65733 +65734 +65735 +65736 +65737 +65738 +65739 +65740 +65741 +657411 +657413 +657416 +657417 +657418 +65742 +657421 +657422 +65743 +657430 +657431 +657434 +657435 +65744 +657441 +657442 +657443 +657444 +657445 +657446 +65745 +65746 +657469 +65747 +65748 +65749 +65750 +657504 +65751 +657513 +65752 +65754 +65755 +657565 +65757 +657571 +65758 +65760 +65761 +65762 +65763 +65764 +657643 +65765 +65766 +657661 +657663 +657666 +657668 +65767 +657670 +657672 +657674 +657680 +657682 +657722 +657723 +657728 +657732 +65791 +65792 +65793 +65794 +65795 +65796 +657960 +657961 +657962 +657963 +657964 +657966 +657968 +65797 +657999 +65803 +658030 +658031 +658032 +658033 +65804 +65811 +65813 +658144 +65815 +65817 +658215 +658243 +658254 +65829 +65832 +65839 +65841 +65846 +65848 +65849 +65850 +65852 +65853 +65856 +65859 +65862 +65864 +65866 +65868 +65888 +65889 +65890 +65892 +65894 +65895 +65896 +65921 +65922 +65923 +65927 +65930 +65932 +65933 +65940 +65942 +65944 +65945 +65948 +65949 +65951 +659521 +659522 +659523 +659543 +659548 +65955 +659552 +659553 +659557 +659558 +659559 +659605 +659606 +659607 +659608 +659609 +659610 +659611 +659615 +65963 +65968 +65970 +659700 +659701 +659702 +659703 +659704 +659711 +659719 +659720 +659721 +659722 +659723 +659724 +659725 +659726 +659727 +65974 +65975 +65978 +65984 +65986 +65987 +65988 +65989 +659898 +659899 +65990 +659900 +65991 +659910 +659911 +659912 +65996 +659968 +66005 +660065 +660067 +660068 +66008 +66009 +660099 +66012 +66014 +66016 +66020 +66021 +660261 +660268 +66034 +66041 +66042 +66052 +66054 +66055 +66056 +66059 +660608 +660609 +660610 +660681 +660682 +660830 +660918 +660987 +660989 +66099 +660990 +660991 +66101 +661011 +661012 +661013 +661015 +66102 +661020 +66103 +66104 +66105 +66106 +66107 +66108 +66109 +661092 +661095 +661096 +661099 +66110 +661100 +66111 +66112 +66113 +66114 +66115 +661151 +661158 +66116 +66117 +661171 +661172 +661173 +66118 +66119 +66120 +66121 +661216 +661217 +661218 +661219 +66122 +661244 +66130 +66131 +661344 +66140 +661403 +661405 +661406 +661408 +661409 +66146 +661489 +661500 +66151 +66153 +66157 +661574 +661597 +661598 +661599 +66162 +661622 +66163 +661634 +661635 +661636 +661642 +66166 +661668 +661669 +66169 +661712 +66173 +661744 +661745 +661746 +66176 +66183 +66184 +66192 +66200 +66211 +66212 +66213 +66216 +66219 +662197 +66220 +662320 +662321 +662322 +662327 +662340 +662341 +662343 +662370 +662380 +662381 +662382 +662383 +662384 +662385 +662386 +662387 +662388 +662389 +662390 +662391 +662392 +662393 +662394 +662395 +662396 +662397 +662398 +662399 +662400 +662401 +662402 +662403 +662404 +662405 +662406 +662407 +662493 +66251 +66259 +66260 +66261 +66266 +66269 +66270 +66275 +66276 +66281 +662812 +662813 +66285 +66286 +66287 +66288 +66289 +662917 +662930 +662931 +662932 +662933 +662934 +662935 +66296 +66297 +663039 +663092 +663103 +663107 +663127 +66317 +66318 +66319 +66320 +663277 +663286 +663287 +663289 +66329 +663290 +663291 +66330 +66331 +663534 +663535 +66363 +66368 +66369 +66371 +66372 +66375 +66377 +663820 +663822 +663823 +663824 +66387 +66388 +66389 +66390 +66391 +66392 +66393 +66396 +66399 +66400 +664106 +664133 +664145 +66415 +664162 +66417 +664188 +66420 +66423 +66425 +664262 +664269 +66427 +664270 +664271 +664272 +664273 +664274 +66430 +664302 +664303 +664304 +664305 +664318 +664319 +664320 +66433 +664342 +664344 +66437 +66438 +66439 +664390 +66440 +66441 +66443 +66445 +66451 +66457 +66459 +66460 +66461 +66465 +66467 +66470 +66473 +66474 +66476 +664772 +66478 +66479 +66480 +66482 +66483 +66484 +66485 +664856 +66486 +66489 +664892 +66490 +66495 +66502 +66504 +66510 +66511 +66514 +665142 +665143 +665144 +665145 +665146 +665147 +66516 +66517 +665231 +66526 +665277 +66528 +665345 +665347 +665348 +665349 +665350 +66537 +665382 +665383 +66539 +66546 +66547 +665515 +665516 +66557 +66558 +66566 +66567 +66568 +66569 +66570 +66571 +66572 +66573 +66574 +66575 +66576 +66577 +66578 +66579 +66580 +66581 +66582 +66583 +66584 +66586 +66587 +66588 +66589 +66591 +66592 +66593 +66594 +66635 +66638 +66639 +66640 +66642 +66654 +666573 +666574 +66659 +666607 +666608 +66662 +666623 +66663 +666641 +66665 +666693 +66670 +666724 +666727 +666729 +66673 +66674 +666763 +666764 +666772 +666774 +66680 +66681 +66685 +66686 +66688 +66701 +66714 +66715 +66716 +66721 +66723 +66726 +66728 +66729 +66730 +66732 +66734 +66736 +66737 +66738 +66741 +66742 +66743 +66744 +66745 +66746 +66747 +66748 +66752 +66758 +66762 +66763 +66769 +66772 +66800 +66806 +66807 +66808 +66809 +66810 +66813 +66814 +66815 +66816 +66817 +66818 +66819 +66820 +66821 +66830 +66832 +66837 +66839 +66841 +66842 +66850 +66851 +66853 +66856 +66858 +66864 +66866 +66868 +66870 +66894 +66900 +66901 +66902 +66907 +66908 +66910 +66912 +66914 +66916 +66923 +66924 +66931 +66932 +66937 +66941 +66944 +66946 +66949 +66953 +66954 +66964 +66966 +66968 +66969 +66973 +66989 +66990 +67002 +67006 +67009 +67011 +67014 +67017 +67083 +67094 +67095 +67096 +67097 +67098 +67100 +67114 +67126 +67127 +67128 +67137 +67203 +67204 +67205 +67206 +67208 +67209 +67210 +67211 +67217 +67218 +67220 +67235 +67238 +6724 +67241 +67243 +67246 +67247 +67248 +67249 +67250 +67251 +67262 +67275 +67282 +67286 +67309 +67310 +67311 +67312 +67313 +67314 +67315 +67316 +67317 +67318 +67320 +67321 +67324 +67325 +67326 +67327 +67329 +67334 +67335 +67336 +67338 +67344 +67352 +67353 +67366 +673771 +67386 +67408 +67414 +67417 +67421 +67423 +67426 +674464 +67450 +67452 +67460 +67461 +67462 +67463 +67464 +67465 +67473 +67474 +67489 +67490 +67491 +67494 +67495 +67496 +67498 +67499 +67501 +67519 +67522 +67523 +67524 +67525 +67526 +67532 +67540 +67593 +67612 +67613 +67614 +67616 +67617 +67630 +67631 +67653 +67655 +67656 +67664 +67665 +67668 +67671 +67680 +67682 +67684 +67687 +67690 +67691 +67692 +67693 +67695 +67696 +67701 +67703 +67705 +67707 +67708 +67710 +67711 +67713 +67714 +67716 +67719 +67721 +67725 +67727 +67728 +67729 +67730 +67741 +67743 +67745 +67746 +67747 +67753 +67754 +67756 +67772 +67773 +67774 +67780 +67781 +67790 +67796 +67799 +67800 +67801 +67802 +67803 +67804 +67805 +67808 +67809 +67810 +67811 +67812 +67813 +67814 +67815 +67816 +67817 +67818 +67819 +67820 +67821 +67822 +67823 +67824 +67825 +67826 +67828 +67829 +67830 +67832 +67833 +67834 +67835 +67837 +67842 +67843 +67844 +67846 +67847 +67848 +67850 +67851 +67852 +67854 +67855 +67856 +67861 +67863 +67864 +67874 +67875 +67876 +67880 +67884 +67894 +67895 +67896 +67898 +67899 +67900 +67901 +67903 +67904 +67906 +67907 +67909 +67910 +67912 +67916 +67918 +67921 +67926 +67927 +67932 +67934 +67940 +67941 +67943 +67944 +67945 +67961 +67969 +67976 +67977 +67978 +67979 +67982 +67989 +67990 +67995 +67996 +67997 +68000 +68002 +68018 +68034 +68038 +68039 +68041 +68050 +68051 +68053 +68054 +68066 +68067 +68075 +68078 +68081 +68082 +68086 +68103 +68104 +68105 +68114 +68115 +68116 +68117 +68123 +68124 +68125 +68127 +68128 +68129 +68131 +68132 +68133 +68136 +68152 +68153 +68154 +68155 +68156 +68157 +68158 +68159 +68160 +68178 +68182 +68184 +68186 +68187 +68190 +68191 +68193 +68195 +68197 +68198 +68203 +68233 +68238 +68239 +68249 +68256 +68275 +68288 +68289 +68290 +68291 +68292 +68299 +68301 +68302 +68303 +68305 +68306 +68310 +68312 +68313 +68314 +68316 +68327 +68328 +68329 +68330 +68331 +68332 +68334 +683340 +68335 +683353 +683364 +683388 +68339 +68340 +68341 +68342 +68343 +68344 +68345 +68346 +68347 +68348 +68349 +68351 +683543 +683547 +683599 +683602 +683603 +683604 +683609 +683611 +683612 +683613 +683615 +68374 +68375 +68376 +68377 +68378 +68379 +68380 +68381 +68382 +68383 +68384 +68385 +68398 +68401 +68402 +68403 +68404 +68405 +68406 +68407 +684078 +68408 +68409 +684098 +68410 +68411 +68412 +68413 +68414 +68415 +68416 +68417 +68418 +68436 +68437 +68449 +684506 +684507 +684524 +684525 +684526 +684527 +684528 +684543 +684544 +68457 +68458 +68459 +68460 +68463 +68464 +68465 +68466 +68467 +68468 +68469 +68477 +68496 +68502 +68504 +68511 +68523 +685311 +685312 +685315 +685316 +685317 +685318 +68532 +685325 +68533 +68537 +685398 +68540 +685412 +685413 +68542 +68543 +68545 +68547 +68549 +68550 +685518 +685578 +68558 +68559 +68560 +68561 +68562 +68563 +68564 +68565 +68566 +68567 +68568 +68569 +68570 +68571 +68572 +68573 +68574 +68575 +68576 +68577 +68578 +68579 +68580 +68581 +68582 +68583 +68584 +68585 +68586 +68587 +68588 +68589 +686121 +686126 +686127 +686129 +686130 +686131 +686132 +686133 +686390 +686391 +686392 +686395 +686396 +686397 +686398 +686400 +686402 +686403 +686404 +686405 +686406 +686408 +686409 +686410 +686411 +686412 +686414 +686415 +686416 +686417 +686419 +686420 +686421 +686422 +686424 +686425 +686426 +686427 +686457 +686458 +68647 +68648 +68654 +686561 +686562 +686563 +686564 +686565 +686566 +686567 +686568 +686569 +686570 +686571 +686572 +686573 +686574 +686575 +686576 +686577 +686631 +686632 +686634 +68672 +68683 +68699 +68700 +68705 +68706 +68717 +68718 +68719 +68721 +68723 +687314 +68736 +68743 +68744 +68747 +68748 +68760 +68761 +68762 +68763 +68764 +68765 +68766 +68767 +68768 +68769 +68770 +68771 +68774 +68775 +68783 +68785 +68791 +688115 +688148 +688149 +688150 +688172 +688369 +688370 +688371 +688372 +688373 +688374 +688375 +688376 +688377 +688378 +688379 +688380 +688381 +68868 +68869 +68872 +68873 +68876 +68878 +68879 +688895 +688953 +688954 +688955 +688956 +688957 +688982 +688992 +689027 +689242 +68931 +68932 +68933 +68934 +68936 +68937 +68938 +68940 +68942 +68943 +68944 +68947 +689473 +68956 +68957 +68963 +68964 +68966 +68967 +689674 +689683 +689713 +689730 +689731 +689732 +68978 +68981 +68982 +68983 +68984 +68985 +68986 +68987 +68989 +68990 +68991 +68992 +68993 +68994 +68997 +68998 +690100 +69015 +69016 +69017 +69018 +69019 +69020 +69021 +690212 +690216 +69022 +690253 +69035 +69036 +69037 +69038 +69039 +69055 +69056 +69057 +69060 +69061 +69062 +69080 +69081 +69088 +69089 +69090 +69093 +69094 +69095 +690952 +69099 +69109 +69114 +69115 +69117 +691204 +69125 +691250 +69130 +69132 +691375 +691376 +691377 +691378 +691379 +691380 +691381 +69147 +69151 +69152 +69155 +69158 +69166 +69167 +69168 +69169 +69170 +69171 +69172 +69173 +69174 +69175 +69176 +69177 +69178 +691786 +69179 +691792 +691793 +691794 +69180 +691803 +691804 +691806 +69181 +69182 +691820 +69183 +69184 +69185 +69186 +69187 +69188 +691888 +69189 +691893 +691894 +691895 +69190 +691909 +69191 +69192 +69193 +69194 +69195 +69196 +691961 +69197 +691988 +691993 +691994 +691995 +691997 +692054 +692055 +692100 +692168 +692169 +692172 +692173 +692174 +692329 +692330 +69252 +69255 +69257 +69258 +69260 +69262 +69264 +69267 +69270 +69271 +69272 +69274 +69277 +69278 +69279 +692803 +69281 +69282 +69283 +69284 +69285 +69287 +692871 +69289 +692930 +693039 +69309 +69310 +69311 +69313 +69320 +69321 +69322 +69323 +69324 +69325 +69338 +69339 +69340 +69341 +69342 +69343 +69344 +69345 +69346 +69347 +69348 +69349 +69350 +69351 +69352 +69353 +69354 +69355 +69356 +69357 +69386 +69388 +69389 +69391 +69397 +69405 +69409 +69410 +69411 +69412 +69426 +69427 +69442 +69444 +69462 +69465 +694668 +694669 +69467 +694672 +694673 +694677 +69469 +69473 +69476 +694804 +69483 +69485 +69489 +694933 +694936 +69494 +694961 +694969 +69504 +695058 +695059 +695060 +695061 +695062 +695063 +695064 +695065 +695066 +695068 +695069 +695070 +695072 +695073 +695074 +695075 +695076 +695077 +695078 +695079 +695080 +695081 +695204 +69526 +69536 +69537 +69542 +69558 +69578 +69582 +69583 +69585 +69586 +695885 +695886 +69589 +695891 +69590 +69596 +69599 +69601 +69606 +696131 +69628 +69631 +696375 +696377 +696378 +696380 +696381 +696382 +696383 +696385 +696386 +696388 +69643 +69648 +696527 +696603 +69671 +69674 +69675 +696857 +696928 +697058 +697269 +697270 +697273 +697274 +697277 +697278 +697376 +697379 +69776 +69777 +69778 +69779 +69780 +69781 +69782 +69790 +69791 +69792 +69798 +69802 +69807 +69812 +69815 +69820 +69824 +69843 +69844 +69850 +69851 +69852 +69855 +69858 +69859 +69861 +69863 +69868 +69870 +69876 +69880 +69881 +69883 +69887 +69888 +69890 +69893 +69894 +69897 +69900 +69901 +69903 +69906 +69908 +69928 +69929 +69931 +69940 +69941 +69943 +69946 +69949 +69951 +69952 +69953 +69955 +69956 +69958 +69960 +69961 +69963 +69966 +69967 +69968 +69970 +69972 +69974 +69975 +69976 +69978 +69982 +69983 +69985 +69993 +69994 +69996 +70009 +700340 +700341 +70119 +70120 +70128 +70129 +70130 +70134 +70136 +70143 +70146 +70147 +70151 +70169 +70172 +70173 +70202 +70203 +70204 +70205 +70206 +70207 +70208 +70209 +70210 +70211 +70212 +70213 +70215 +70216 +70217 +70218 +70219 +70220 +70221 +70222 +70242 +70248 +70250 +70251 +70252 +70253 +70254 +70255 +70256 +70257 +70258 +70259 +70260 +70261 +70262 +70263 +70265 +70266 +70267 +70268 +70269 +70270 +70271 +70272 +70273 +70274 +70275 +70276 +70277 +70278 +70279 +70280 +70281 +70282 +70283 +70284 +70285 +70286 +70287 +70331 +70341 +70342 +70343 +70344 +704246 +70633 +70636 +70637 +70638 +70640 +70648 +70653 +706534 +70655 +706559 +70659 +70660 +706637 +70676 +70678 +70681 +70685 +70688 +70691 +70700 +70706 +70709 +70711 +70714 +70717 +70719 +70877 +70878 +70879 +70880 +70881 +70882 +70883 +70884 +70885 +70886 +70887 +70888 +70889 +70890 +70891 +70892 +70893 +70894 +70895 +70896 +70897 +70898 +70899 +70900 +70901 +70902 +70903 +70904 +70905 +70906 +70907 +70908 +70909 +70910 +70911 +70912 +70913 +70914 +70915 +70916 +70917 +70918 +70919 +70920 +70921 +70922 +70923 +70924 +70925 +70926 +70927 +70928 +70929 +70930 +70931 +70932 +70933 +70934 +70935 +70936 +70937 +70938 +70939 +70940 +70941 +70942 +70943 +70944 +70945 +70946 +70947 +70948 +70949 +70950 +70951 +70952 +70953 +70954 +70955 +70956 +70957 +70958 +70959 +70960 +71048 +71060 +71061 +7108 +71099 +7110 +71100 +71101 +71102 +71103 +71105 +71106 +71107 +71109 +71110 +71111 +71113 +71114 +71115 +71117 +71121 +71122 +71123 +71124 +71127 +71128 +71129 +71135 +71136 +71139 +71142 +71146 +71153 +71156 +71161 +71162 +71163 +71164 +71165 +71167 +71168 +71169 +71171 +71172 +71173 +71175 +71176 +71178 +71179 +71181 +71183 +71184 +71185 +71187 +71188 +71190 +71191 +71192 +71195 +71196 +71198 +71206 +71209 +7122 +71221 +71222 +71224 +71225 +71226 +71228 +71231 +71238 +71241 +71246 +712630 +71294 +71297 +71299 +71306 +71311 +71316 +71317 +71318 +71319 +71320 +71323 +71326 +71329 +71334 +71337 +71339 +71340 +71346 +71354 +71356 +71359 +71360 +71362 +71371 +71375 +71377 +71382 +71393 +71396 +71397 +71398 +71399 +71400 +714101 +71440 +71443 +71448 +71454 +71457 +71478 +71479 +714816 +715025 +715026 +715027 +715028 +715029 +715030 +715031 +715032 +715033 +715034 +715088 +715089 +715090 +715091 +715092 +715094 +715095 +71515 +71517 +71518 +71519 +71520 +71521 +71525 +71526 +715377 +715417 +715441 +715461 +715601 +715602 +715603 +715641 +715997 +716213 +716272 +716273 +716402 +716792 +716795 +716798 +716800 +716801 +716802 +716804 +717077 +717197 +717277 +717278 +717279 +717280 +717281 +717325 +717350 +717351 +718022 +718108 +718426 +718480 +718608 +719 +71954 +71962 +71972 +71989 +720 +72003 +72004 +72006 +72007 +72009 +72010 +72011 +72012 +72013 +72014 +72017 +72018 +72020 +72021 +72022 +72023 +72024 +72026 +72027 +720279 +72028 +720280 +72030 +72031 +72033 +720332 +72034 +72041 +720441 +720453 +72067 +72068 +72069 +72070 +72071 +72072 +72073 +72074 +72075 +72076 +72077 +72078 +72079 +72080 +72081 +72082 +72083 +72084 +72085 +72086 +72087 +72088 +72089 +72090 +72091 +72092 +72093 +72094 +72095 +72096 +72097 +72098 +72099 +72100 +72101 +72102 +72103 +72104 +72105 +72106 +72107 +72108 +72109 +72110 +72111 +72112 +72113 +72114 +72115 +72116 +72117 +72118 +72119 +72120 +72121 +72122 +72123 +72124 +72125 +72126 +72127 +72128 +72129 +72130 +72131 +72132 +72133 +72134 +72135 +722037 +722038 +722039 +722041 +722217 +722218 +722289 +72390 +72391 +72392 +72438 +72439 +72441 +72443 +72444 +72445 +72446 +72447 +72448 +72450 +72451 +72452 +72454 +72455 +72456 +72457 +72458 +72459 +72460 +72461 +72462 +72463 +72465 +72466 +72467 +72468 +72469 +72471 +72472 +72473 +72475 +72477 +72501 +72502 +72505 +72508 +72512 +72520 +72522 +72524 +72528 +72534 +72537 +72540 +72545 +72547 +72553 +72554 +72557 +72560 +72591 +72592 +72593 +72595 +72598 +72629 +72630 +72633 +72654 +72657 +72658 +72660 +72663 +72668 +72671 +72676 +72679 +72680 +72682 +72686 +72687 +72688 +72690 +72691 +72692 +72693 +72702 +72707 +72867 +72868 +72889 +72945 +72946 +72947 +72949 +72951 +73082 +73083 +73084 +73085 +73086 +73087 +73088 +73089 +73090 +73091 +73092 +73093 +73094 +73095 +73096 +73097 +73098 +73099 +73100 +73101 +73117 +73127 +73137 +73140 +73164 +73165 +73186 +73189 +73190 +73191 +73194 +73211 +73212 +73213 +73214 +73216 +73218 +73220 +73222 +73224 +73226 +73228 +73229 +73230 +73231 +73232 +73233 +73234 +73235 +73236 +73237 +73238 +73239 +73240 +73241 +73242 +73243 +73244 +73245 +73246 +73247 +73264 +73265 +73266 +73267 +73268 +73269 +73270 +73271 +73272 +73273 +73274 +73275 +73276 +73277 +73278 +73279 +73280 +73281 +73282 +73283 +73284 +73285 +73286 +73287 +73288 +73289 +73290 +73291 +73292 +73293 +73294 +73295 +73296 +73297 +73298 +73299 +73300 +73301 +73302 +73303 +73304 +73305 +73306 +73307 +73308 +73309 +73310 +73311 +73312 +73313 +73314 +73315 +73316 +73317 +73318 +73319 +73320 +73321 +73322 +73323 +73324 +73325 +73326 +73327 +73328 +73329 +73330 +73331 +73332 +73333 +73334 +73335 +73336 +73337 +73338 +73339 +73340 +73341 +73342 +73343 +73344 +73345 +73346 +73347 +73348 +73349 +73350 +73351 +73352 +73353 +73354 +73355 +73356 +73357 +73358 +73359 +73360 +73361 +73362 +73363 +73364 +73365 +73366 +73367 +73368 +73369 +73370 +73371 +73372 +73373 +73374 +73375 +73376 +73377 +73378 +73379 +73380 +73381 +73382 +73383 +73384 +73385 +73386 +73387 +73660 +73661 +73662 +73665 +73666 +73667 +73668 +73669 +73671 +73672 +73673 +73676 +73677 +73678 +73681 +73682 +73686 +73687 +73688 +73689 +73690 +73691 +73692 +73693 +73694 +73698 +73700 +73701 +73702 +73706 +73709 +73712 +73714 +73722 +73725 +73730 +73741 +73743 +73746 +73748 +73832 +73833 +73834 +73835 +73836 +73837 +73838 +73839 +73840 +73841 +73842 +73843 +73844 +73845 +73846 +73847 +73848 +73889 +73890 +73891 +73894 +73896 +73898 +73937 +73946 +73947 +73949 +73970 +73971 +73972 +73973 +73974 +73975 +73999 +74000 +74001 +74002 +74003 +74005 +74006 +74007 +74008 +74013 +74015 +74016 +74019 +74024 +74025 +74029 +74030 +74031 +74032 +74033 +74034 +74035 +74036 +74232 +74238 +74239 +74240 +74241 +74247 +74248 +74250 +74251 +74256 +74258 +74259 +74260 +74261 +74263 +74265 +74268 +74271 +74272 +74281 +74284 +74285 +74286 +74287 +74297 +74298 +74299 +74300 +74301 +74304 +74307 +74312 +74313 +74315 +74322 +74323 +74324 +74325 +74326 +74327 +74329 +74330 +74331 +74333 +74337 +74341 +74342 +74346 +74350 +74352 +74353 +74354 +74355 +74356 +74359 +74360 +74361 +74365 +74366 +74367 +74370 +74372 +74375 +74376 +74383 +74385 +74387 +74388 +74389 +74390 +74391 +74396 +74397 +74398 +74400 +74401 +74402 +74403 +74406 +74420 +74421 +74428 +74429 +74430 +74433 +74438 +74448 +74450 +74451 +74452 +74460 +74461 +74462 +74463 +74464 +744647 +74465 +744651 +74466 +74467 +74468 +74538 +74539 +74610 +74611 +74612 +74613 +74614 +74615 +746583 +747 +747478 +74749 +74750 +74751 +74752 +74753 +74754 +74755 +74756 +74757 +74758 +74775 +74786 +74787 +74788 +74789 +74790 +74791 +74792 +74793 +74794 +74795 +74805 +74806 +74921 +74924 +74928 +74936 +74950 +74955 +75109 +75110 +75111 +75112 +75127 +75150 +75313 +75333 +75334 +753484 +753485 +75390 +75391 +75404 +75499 +75500 +75559 +75599 +7560 +75639 +75640 +75644 +75645 +75646 +75647 +75648 +75649 +75650 +75651 +75652 +75653 +75668 +75681 +75691 +75692 +75693 +75852 +75853 +75855 +75856 +75857 +75858 +75859 +75860 +75861 +75862 +75863 +75864 +75865 +75866 +75867 +75868 +75869 +75870 +75871 +75872 +75873 +75874 +75875 +75876 +75890 +75904 +75925 +75926 +75927 +75928 +75929 +75930 +75931 +75932 +75933 +75934 +75935 +75936 +75937 +75938 +75939 +75940 +75941 +75942 +75943 +75944 +75945 +75946 +75970 +76001 +76006 +76007 +76012 +76013 +76018 +76031 +76032 +76033 +760340 +760342 +76036 +76037 +76038 +76039 +76041 +76042 +76043 +76052 +76054 +76055 +76056 +76057 +76058 +76063 +76064 +76068 +76069 +76148 +76149 +76150 +76151 +762236 +762237 +762238 +762239 +762294 +762295 +762347 +762348 +762349 +762350 +762351 +762353 +762354 +762355 +762356 +762357 +762358 +762360 +762363 +762364 +762366 +762369 +762370 +762371 +762372 +762374 +762375 +762376 +762377 +762378 +762379 +762532 +76254 +76256 +762778 +762779 +762780 +762783 +762784 +762791 +762792 +762793 +762806 +762807 +762808 +762928 +76324 +76330 +76382 +763829 +76383 +76384 +76389 +76391 +76392 +76394 +76395 +76396 +76397 +76398 +76400 +76401 +76402 +76403 +76405 +76409 +76410 +76411 +76412 +76414 +76417 +76418 +76420 +76422 +76423 +76424 +76426 +76427 +76428 +76429 +76431 +76433 +76434 +76436 +76438 +76441 +76442 +76446 +764469 +76448 +76450 +76452 +764549 +76455 +764550 +764551 +764569 +76457 +764571 +764572 +764573 +76459 +764594 +764595 +764596 +764599 +76460 +764600 +764601 +764604 +764605 +764606 +76461 +764635 +764636 +764637 +764638 +764639 +76464 +764640 +76465 +76467 +76471 +76473 +764744 +764745 +76475 +764752 +76478 +76479 +76481 +76482 +76483 +76485 +764858 +764868 +76487 +76488 +76489 +76491 +76492 +76494 +76496 +76498 +76500 +76501 +765109 +76512 +765319 +765514 +76591 +766344 +766361 +766416 +76646 +766510 +76659 +76660 +76661 +76662 +76663 +76664 +76665 +76666 +76667 +76668 +76669 +76670 +76671 +76672 +76673 +76674 +76675 +76676 +76677 +76678 +76679 +76702 +76704 +76707 +76718 +76719 +76720 +76721 +76722 +76732 +76784 +76785 +76788 +768300 +768301 +76862 +76870 +76873 +76874 +76877 +76878 +76882 +76888 +76889 +76890 +768905 +768906 +768907 +768908 +76891 +768912 +76898 +76900 +76902 +76904 +76906 +76908 +76910 +76913 +76916 +76921 +76924 +769263 +76928 +76931 +76933 +76936 +76938 +76940 +76942 +76944 +76946 +76948 +76950 +76953 +76955 +76957 +76959 +76961 +76963 +76972 +76973 +76974 +76975 +76976 +76977 +76978 +76982 +76997 +76999 +77001 +770147 +77020 +77023 +77035 +770351 +770360 +770361 +770388 +770523 +770524 +770525 +770528 +770529 +770530 +770532 +770533 +770536 +770537 +770538 +770545 +770546 +770547 +770571 +770577 +770578 +770858 +770859 +770860 +77102 +77106 +77116 +77117 +771192 +771193 +771194 +771195 +771197 +771198 +771199 +771200 +771202 +771203 +771204 +771205 +771207 +771208 +771209 +77121 +771210 +771212 +771213 +771214 +771215 +771217 +771218 +771219 +771220 +771221 +771222 +771224 +771225 +771227 +771228 +771229 +771231 +771232 +771233 +771234 +771236 +771237 +771238 +771239 +771240 +771241 +771242 +771244 +771245 +771246 +771247 +771249 +771250 +771251 +771252 +771254 +771255 +771256 +771257 +771259 +771260 +771261 +771263 +771264 +771265 +771266 +771268 +771269 +771270 +771271 +771272 +771273 +771275 +771276 +771278 +771279 +771280 +771282 +771283 +771285 +771286 +771287 +771289 +771290 +771291 +771293 +771294 +771295 +771296 +771298 +771299 +771300 +771301 +771302 +771303 +771304 +771306 +771307 +771309 +771310 +771311 +771313 +771314 +771315 +771317 +771318 +771319 +771320 +771322 +771323 +771324 +771335 +771351 +77138 +77140 +77141 +77143 +77146 +77148 +77150 +771522 +771523 +771524 +771525 +771526 +771531 +771535 +77157 +77158 +771606 +77164 +77165 +77166 +771709 +771711 +771713 +771715 +771716 +771718 +771719 +771721 +771722 +771723 +771725 +771726 +771729 +771731 +771733 +771734 +771736 +771737 +771739 +771741 +771742 +771744 +771746 +771756 +771840 +771851 +771887 +77196 +77197 +77200 +77201 +77202 +77203 +77204 +77205 +77206 +77207 +77208 +77209 +77210 +77211 +77212 +77213 +77214 +77215 +77216 +77217 +772261 +772331 +772579 +772580 +772774 +772775 +772777 +772817 +772823 +77345 +77371 +77373 +77375 +77376 +77377 +77378 +773973 +773992 +77417 +774357 +774358 +774359 +774391 +774392 +77443 +77461 +77462 +77463 +77465 +77467 +77468 +77470 +77471 +77472 +77474 +77475 +77476 +77477 +77478 +77480 +77489 +77492 +77495 +77496 +77497 +77498 +77499 +775001 +775003 +77554 +77555 +77556 +775588 +775590 +77562 +77564 +775695 +775696 +77575 +77576 +77577 +77578 +775879 +775881 +775882 +775883 +775884 +775900 +776013 +77651 +77652 +77653 +77656 +77657 +77658 +77659 +77662 +77663 +77664 +776652 +776655 +77666 +77667 +77668 +776684 +776685 +77669 +77670 +77671 +77672 +77673 +77674 +776743 +77675 +77678 +77682 +77683 +77687 +77688 +77689 +77690 +77692 +77693 +77694 +77696 +77697 +77698 +77699 +77700 +77701 +77703 +77704 +77705 +77708 +77709 +77710 +77712 +77713 +77714 +77715 +777153 +77716 +777190 +777194 +77721 +77723 +77724 +77725 +77727 +77728 +77730 +77731 +77736 +777365 +777366 +777367 +77737 +77738 +77739 +77740 +77741 +77742 +77743 +77746 +77747 +77748 +777488 +777491 +777499 +77769 +77771 +77785 +77786 +77787 +77788 +77789 +77790 +77791 +77792 +77793 +77794 +77795 +77796 +77797 +77798 +77799 +77800 +77801 +77802 +77803 +77804 +77805 +77806 +77807 +77808 +77809 +77810 +77811 +77812 +77813 +77814 +77815 +77816 +77817 +77818 +77819 +77820 +77821 +77822 +77823 +77824 +77825 +77826 +77827 +77828 +77829 +77830 +77831 +77832 +77833 +77834 +77835 +77836 +77837 +77838 +778404 +778405 +778406 +778408 +778409 +778410 +778412 +778413 +778414 +778416 +778417 +778418 +778420 +778421 +778422 +778424 +778425 +778426 +778427 +778429 +778440 +778441 +778463 +778464 +778465 +778467 +778468 +778469 +778470 +778472 +778473 +77904 +779124 +779308 +779332 +779393 +779394 +779621 +779622 +779623 +77965 +77966 +77967 +77968 +77980 +77981 +77989 +77990 +77996 +77997 +780319 +780320 +780322 +780323 +780324 +78055 +78056 +780572 +780576 +780578 +78058 +780580 +780582 +780584 +780586 +780588 +78059 +780590 +780594 +78060 +78061 +78063 +78064 +78065 +78066 +78068 +78069 +78070 +78071 +78073 +78074 +78075 +78076 +78077 +78078 +78080 +78081 +78082 +78083 +780831 +780833 +780834 +780835 +78085 +78086 +78087 +78088 +78089 +78091 +78092 +78093 +780930 +78094 +780946 +78095 +78097 +78098 +78099 +78101 +78102 +78103 +78104 +78106 +78107 +78108 +78110 +781115 +781116 +781117 +781118 +78112 +78113 +78119 +78120 +78121 +78122 +78123 +78124 +78125 +78126 +78127 +78128 +78129 +78130 +78131 +78132 +78133 +78134 +78135 +78136 +78137 +78138 +78139 +78140 +78141 +78142 +78143 +78144 +78145 +78146 +78147 +78148 +78149 +78150 +78151 +78152 +781721 +781722 +781723 +781724 +781725 +781726 +781727 +781729 +781730 +781731 +781732 +781733 +781735 +781736 +781737 +781738 +781739 +781740 +781741 +78182 +78198 +78199 +782099 +782120 +782121 +782124 +782125 +782129 +782130 +782150 +782151 +782152 +782158 +782159 +78216 +782160 +782162 +782163 +782164 +78217 +78220 +782207 +782208 +78221 +78222 +782221 +78225 +78226 +78227 +78228 +78229 +78230 +78233 +78234 +78235 +78236 +78238 +78239 +78242 +78243 +78244 +78246 +78247 +78248 +78249 +78250 +78251 +78252 +78253 +78254 +78255 +78259 +78262 +78263 +78266 +78267 +78268 +78269 +78271 +78272 +78273 +78274 +78277 +78279 +78280 +782802 +782803 +782804 +78281 +78282 +78283 +78284 +78285 +78287 +78288 +78293 +78294 +78295 +78296 +78297 +78299 +78300 +78301 +78303 +78307 +78309 +78314 +78315 +78316 +78320 +78321 +78325 +78327 +78329 +78330 +78331 +783326 +78333 +78334 +78335 +78336 +78338 +783407 +783408 +783409 +78341 +783414 +78345 +783456 +783458 +783459 +783813 +784452 +784453 +784454 +784456 +784730 +784731 +784732 +784734 +78483 +78489 +78492 +78493 +78494 +784950 +78503 +78504 +78505 +78506 +78507 +78508 +78509 +78510 +78511 +78512 +78513 +78514 +78515 +78516 +78517 +78518 +78519 +78520 +78521 +78522 +78523 +785230 +785231 +78524 +78525 +78526 +78527 +78528 +785827 +785828 +78597 +78599 +78600 +786095 +786096 +78610 +786394 +786395 +786453 +78680 +786912 +787358 +787359 +787383 +78745 +78748 +787498 +78752 +78754 +78756 +78758 +78759 +787606 +78761 +787619 +78763 +78765 +78767 +78768 +78769 +78770 +78772 +78773 +78774 +78775 +78776 +78777 +78778 +78779 +78781 +78782 +78826 +78829 +788778 +788779 +788780 +788781 +788784 +788785 +788786 +788787 +788788 +788793 +788794 +788795 +788796 +788797 +788798 +788799 +788804 +788805 +788806 +788813 +788849 +788850 +788851 +788852 +788853 +788854 +788859 +788860 +788861 +788866 +788867 +788868 +788869 +788870 +788871 +788872 +788873 +788874 +788875 +788884 +788885 +788886 +788888 +788889 +788890 +788891 +788892 +788893 +788894 +788895 +788896 +788901 +788902 +788903 +789010 +789025 +78941 +78943 +789435 +78945 +78946 +78947 +78948 +78949 +78953 +78954 +78955 +78956 +78957 +78958 +78960 +78963 +78964 +78965 +78966 +78967 +78968 +78969 +78971 +78972 +78973 +78975 +78976 +78977 +78978 +78981 +78982 +78984 +78985 +78986 +78987 +78988 +78989 +78995 +78996 +78997 +78998 +78999 +79001 +79002 +79003 +79004 +79005 +79007 +79008 +79009 +79010 +79016 +79018 +79020 +79021 +79022 +79023 +79025 +79026 +79027 +79030 +79031 +79032 +79034 +79036 +79039 +79042 +79044 +79045 +79046 +79047 +79048 +79049 +79050 +79051 +79053 +79054 +79055 +79057 +79058 +79059 +79061 +79063 +79064 +79065 +79066 +79095 +79096 +79097 +79098 +79099 +79100 +79101 +79102 +79103 +79104 +79105 +79124 +79136 +79137 +79138 +79139 +79141 +79142 +79143 +79144 +79152 +79153 +79162 +79166 +79175 +79189 +79191 +79193 +79197 +79202 +79203 +79206 +79208 +79212 +79214 +79218 +79222 +79224 +79230 +79239 +79240 +79243 +79244 +79247 +79248 +79251 +79252 +79256 +79272 +79274 +79282 +79284 +79288 +79290 +79292 +79294 +79295 +79296 +79298 +79300 +79302 +79304 +79306 +79308 +79310 +79312 +79318 +79320 +79322 +79324 +79326 +79336 +79348 +79351 +79353 +79356 +79358 +79359 +79361 +79363 +79376 +79385 +79386 +79387 +79388 +79389 +79390 +79399 +79400 +79401 +79402 +79403 +79404 +79405 +79406 +79407 +79408 +79409 +79411 +79423 +79426 +79428 +79431 +79435 +79436 +79437 +79438 +79442 +79443 +79447 +79448 +79466 +79468 +79471 +79473 +79474 +79476 +79483 +79484 +79485 +79486 +79489 +79490 +79491 +79492 +79493 +79494 +79497 +79499 +79500 +79501 +79502 +79503 +79504 +79505 +79506 +79507 +79508 +79509 +79510 +79512 +79514 +79515 +79516 +79517 +79518 +79519 +79520 +79521 +79522 +79524 +79525 +79526 +79527 +79529 +79531 +79535 +79537 +79539 +79543 +79545 +79547 +79548 +79550 +79552 +79553 +79557 +79564 +79565 +79570 +79572 +79576 +79577 +79578 +79579 +79580 +79581 +79582 +79583 +79584 +79585 +79586 +79588 +79589 +79591 +79595 +79596 +79597 +79598 +79599 +79600 +79601 +79607 +79609 +79610 +79611 +79615 +79616 +79618 +79622 +79626 +79629 +79636 +79637 +79639 +79640 +79641 +79642 +79643 +79644 +79645 +79647 +79648 +79649 +79653 +79654 +79657 +79661 +79662 +79663 +79664 +79665 +79666 +79667 +79668 +79669 +79670 +79671 +79672 +79673 +79677 +79678 +79679 +79680 +79681 +79682 +79683 +79684 +79686 +79687 +79688 +79691 +79692 +79693 +79694 +79695 +79696 +79698 +79699 +79700 +79701 +79702 +79704 +79705 +79707 +79708 +79709 +79711 +79712 +79713 +79714 +79715 +79716 +79717 +79718 +79721 +79722 +79728 +79731 +79732 +79733 +79734 +79736 +79738 +79739 +79741 +79742 +79743 +79745 +79746 +79747 +79750 +79751 +79752 +79753 +79755 +79756 +79760 +79761 +79762 +79763 +79764 +79772 +79774 +79778 +79793 +79803 +79804 +79805 +79806 +79807 +79808 +79809 +79823 +79824 +79825 +79826 +79827 +79828 +79829 +79830 +79831 +79832 +79833 +79834 +79835 +79836 +79837 +79838 +79839 +79840 +79841 +79842 +79843 +79844 +79845 +79846 +79847 +79848 +79849 +79850 +79851 +79852 +79853 +79854 +79855 +79856 +79857 +79858 +79859 +79866 +79867 +79869 +79870 +79872 +79873 +79874 +79875 +79876 +79877 +79878 +79879 +79880 +79881 +79882 +79883 +79884 +79885 +79886 +79887 +79893 +79895 +79896 +79897 +79901 +79902 +79903 +79904 +79905 +79906 +79907 +79908 +79909 +79910 +79911 +79912 +79913 +79915 +79916 +79917 +79918 +79919 +79920 +79921 +79922 +79923 +79924 +79925 +79926 +79927 +79928 +79929 +79931 +79933 +79934 +79936 +79937 +79938 +79940 +79942 +79946 +79947 +79948 +79984 +79985 +80002 +80034 +80035 +80040 +80044 +800709 +80074 +80075 +80077 +80079 +80080 +80081 +80083 +80085 +80087 +80088 +80090 +80091 +80092 +80094 +80095 +80096 +80098 +80099 +801 +80100 +80102 +80104 +80106 +80108 +80109 +80111 +80112 +80113 +80114 +80154 +80168 +80169 +80170 +80171 +80172 +80176 +80177 +80178 +80179 +80180 +80181 +80182 +80197 +80235 +80236 +80239 +80240 +80243 +80249 +80251 +80263 +80264 +80300 +80301 +80302 +80303 +80304 +80305 +80306 +80307 +80308 +80311 +80312 +80313 +80354 +80355 +80356 +80361 +80362 +80363 +80364 +80365 +80366 +80367 +80368 +80369 +80370 +80371 +80372 +80373 +80374 +80375 +80376 +80377 +80378 +80379 +80380 +80381 +80382 +80383 +80388 +80389 +80390 +80391 +80411 +80412 +80413 +80414 +80415 +80422 +80424 +80425 +80455 +80460 +80504 +80505 +805819 +80590 +805965 +80601 +806010 +80602 +80603 +806033 +806040 +806041 +806042 +806043 +806044 +806045 +806046 +806047 +806048 +806049 +80605 +806050 +806051 +806052 +80608 +80609 +80610 +806229 +80624 +80625 +80626 +80628 +80634 +80637 +80638 +806414 +80653 +80657 +806605 +806606 +806607 +806608 +806609 +806610 +806611 +806612 +806613 +806614 +806615 +806616 +806617 +806618 +806619 +806620 +806621 +806622 +806623 +806625 +80667 +806678 +806679 +806680 +806727 +80679 +80680 +80682 +80683 +80684 +80685 +80687 +80688 +80689 +80690 +80691 +80692 +80693 +80694 +80695 +80704 +80707 +80709 +807112 +807252 +807336 +807341 +807534 +807544 +807545 +8078 +8079 +8080 +808017 +808050 +808051 +808053 +808055 +808056 +8081 +808120 +808145 +80815 +8082 +80829 +8083 +80831 +80832 +80836 +80837 +80838 +80839 +8084 +80844 +808444 +808445 +808446 +808447 +808448 +808449 +808450 +808453 +808454 +808455 +808457 +808460 +808461 +808463 +808464 +808465 +808466 +808467 +808468 +808469 +808470 +808471 +808472 +808475 +808476 +808477 +808479 +80848 +808480 +808481 +808482 +808483 +808485 +808486 +808487 +808488 +808489 +80849 +808490 +808491 +808492 +808493 +808494 +8085 +80850 +80851 +808533 +808534 +808535 +80855 +80856 +80859 +8086 +80860 +80861 +80863 +8087 +80873 +8088 +8089 +80894 +80895 +80896 +80898 +80899 +8090 +80900 +80901 +80902 +80904 +80905 +80906 +80908 +80909 +8091 +80910 +80911 +80912 +80913 +80914 +80915 +80916 +80918 +80919 +8092 +80920 +80921 +80925 +80926 +80927 +80928 +8093 +8094 +80941 +80944 +80948 +8095 +80951 +80953 +809548 +8096 +809636 +809645 +80969 +8097 +80973 +8098 +80981 +80985 +8099 +80991 +80993 +80995 +80997 +81004 +81011 +81061 +81062 +81063 +81065 +81066 +81067 +81069 +81070 +81071 +81073 +81074 +81075 +81077 +81078 +81079 +81080 +81082 +81083 +81084 +81085 +81086 +81087 +81089 +81090 +81091 +81092 +81094 +81095 +81096 +81098 +81099 +81100 +81101 +81104 +81105 +81106 +81107 +81109 +81110 +81111 +81112 +81114 +81115 +81116 +81118 +81119 +81120 +81121 +8113 +8114 +811401 +811418 +811419 +811537 +811538 +811539 +81186 +81187 +812411 +812412 +812413 +812414 +81248 +81249 +812894 +812895 +812896 +812898 +812916 +812917 +812918 +812919 +812921 +812922 +812923 +812925 +81304 +813072 +81310 +81311 +81313 +81315 +8132 +813225 +813227 +813228 +8137 +813903 +813904 +813905 +813955 +813967 +813968 +813969 +813972 +813975 +813976 +813979 +813980 +813983 +813984 +813986 +813996 +813997 +813998 +814004 +814209 +814211 +814216 +814217 +814218 +814219 +814220 +814221 +814222 +814249 +814349 +814865 +814867 +814868 +814880 +814881 +814882 +814883 +814884 +81500 +81502 +815072 +815108 +815109 +815110 +815121 +815122 +815135 +815292 +81537 +81543 +815499 +815536 +815632 +81593 +81594 +81595 +81609 +816128 +81625 +81626 +81630 +816375 +816377 +8164 +816413 +81643 +81644 +81645 +81647 +81648 +81649 +8165 +81650 +816504 +81652 +81653 +816533 +81654 +81655 +81656 +8166 +816607 +81666 +81667 +816679 +81668 +81670 +81671 +81672 +816730 +816731 +816733 +816804 +816818 +81692 +81709 +81710 +81712 +81713 +81714 +81716 +81717 +81718 +81726 +81727 +81730 +81732 +817339 +81735 +817388 +81746 +81748 +81759 +81760 +81787 +81788 +81789 +81790 +81791 +81792 +81793 +817930 +81794 +81795 +817958 +81796 +81797 +81798 +81799 +81800 +81801 +81802 +81803 +81804 +81805 +81806 +81807 +81808 +81809 +81810 +81811 +81812 +81813 +81814 +81815 +81816 +81817 +81818 +81819 +81820 +81821 +81822 +81823 +81824 +81825 +81826 +81827 +81828 +81829 +81830 +81831 +81832 +81833 +81834 +81835 +81836 +81837 +81838 +81839 +81840 +81841 +81842 +818480 +818522 +818561 +818739 +818741 +818742 +818744 +818745 +818746 +818749 +818751 +818752 +818753 +818755 +818756 +818757 +818759 +818760 +818762 +818763 +818764 +818765 +818766 +818767 +818769 +818786 +81901 +81905 +81906 +81909 +81922 +819365 +819368 +81937 +819388 +81939 +81940 +81941 +81942 +81949 +81950 +819501 +819502 +819504 +819506 +819507 +819508 +81951 +81952 +819534 +819535 +819536 +81954 +819541 +819542 +819545 +819546 +81955 +81956 +81958 +81960 +81961 +81963 +81964 +81965 +81966 +81967 +81968 +81970 +819711 +819712 +819713 +81972 +81973 +819747 +819748 +819749 +819750 +819751 +819752 +819767 +819775 +819829 +81997 +81998 +819987 +819988 +82001 +82003 +82004 +82005 +82006 +82009 +82010 +82011 +820117 +82012 +82014 +82015 +82016 +82017 +820202 +820204 +820205 +820206 +820207 +820209 +820210 +820213 +820214 +820215 +820217 +820218 +820219 +820221 +820222 +820223 +820225 +820226 +820227 +82027 +820491 +820499 +820579 +820580 +820601 +820602 +820603 +820604 +820605 +820607 +820608 +820610 +820611 +820612 +820613 +820614 +820615 +820616 +820623 +820625 +820626 +820627 +820799 +820844 +82088 +82089 +82091 +82092 +82093 +82094 +82095 +82096 +82106 +821091 +821151 +821180 +821181 +821182 +821183 +821184 +821185 +821194 +821196 +821199 +821202 +821203 +821207 +821210 +821211 +821215 +821216 +821275 +821276 +821277 +821278 +821279 +821308 +821309 +821310 +82140 +82141 +82142 +82144 +82145 +82146 +82149 +82150 +82151 +82152 +82153 +82154 +82155 +82159 +82160 +82162 +82163 +82164 +82165 +821669 +82167 +82168 +821683 +82169 +82171 +821725 +82173 +82174 +82175 +821751 +82176 +82177 +821820 +821979 +82200 +82201 +82202 +8224 +8225 +822546 +822610 +822617 +822618 +822619 +822620 +822793 +822794 +822838 +822849 +822901 +823145 +823146 +823147 +823153 +823154 +823159 +823160 +823165 +823255 +823280 +8233 +823389 +8234 +823638 +823639 +823640 +823641 +823807 +823913 +823933 +823941 +823958 +823965 +823976 +823977 +823984 +823985 +824032 +824033 +824071 +824079 +824080 +824112 +824114 +824117 +824141 +824162 +824186 +8242 +8243 +824428 +824443 +824444 +824445 +8245 +824560 +824565 +8246 +8247 +8248 +82494 +82495 +82517 +82518 +8252 +82521 +82525 +8253 +82532 +82535 +82539 +825397 +825406 +825407 +825409 +825412 +825413 +825414 +825415 +825429 +825433 +825445 +825446 +825447 +825623 +82567 +82588 +82590 +82593 +8263 +8264 +82642 +82643 +82644 +82645 +82648 +8265 +82650 +82651 +82652 +82653 +82655 +82656 +82657 +82658 +82659 +8266 +82660 +82662 +82663 +82664 +82665 +82667 +82668 +82669 +8267 +82670 +82672 +82673 +82674 +82675 +82676 +82677 +82679 +8268 +82681 +82682 +82684 +82685 +82687 +82688 +8269 +82690 +82691 +82692 +82693 +82694 +82695 +82696 +826976 +82698 +82699 +8270 +82700 +82702 +82703 +82704 +82705 +82706 +82707 +82708 +827081 +827082 +8271 +82710 +82711 +82712 +82714 +82715 +82716 +82717 +82718 +82719 +82720 +82721 +827214 +82722 +82723 +827232 +827236 +82724 +82725 +82726 +82728 +82729 +82730 +82731 +82732 +82733 +82734 +827340 +82735 +827413 +827425 +827429 +82758 +82759 +82775 +82777 +827795 +827797 +827801 +827802 +827819 +827823 +827834 +827837 +827838 +827844 +827845 +827846 +827861 +827881 +827883 +828158 +828159 +828183 +828186 +828345 +828381 +828760 +828762 +828772 +828857 +828858 +828859 +828860 +828861 +828862 +828863 +828864 +828865 +828908 +828997 +829026 +829027 +829163 +829164 +829168 +829169 +829232 +829288 +830247 +830279 +830280 +830285 +830286 +83074 +83094 +83095 +83100 +83103 +83104 +8314 +83159 +83160 +83161 +83162 +83163 +83165 +83166 +83167 +83168 +83169 +83170 +83172 +83173 +83174 +83175 +83176 +83177 +83179 +83257 +83260 +83262 +83263 +83265 +83266 +83268 +83269 +83270 +833497 +833498 +833499 +833571 +833578 +833606 +833612 +83363 +83364 +83370 +83372 +83373 +83374 +83380 +83383 +83391 +83392 +83393 +83394 +83395 +83396 +83397 +83398 +83399 +83400 +83401 +83402 +834069 +834122 +834123 +834151 +834155 +834156 +834157 +834162 +834163 +834164 +834165 +834166 +834173 +834181 +834182 +834186 +834187 +834201 +834213 +834224 +834225 +834230 +834306 +834317 +834333 +834347 +834349 +834363 +834367 +834400 +834462 +834513 +834514 +834515 +834516 +834518 +834532 +834533 +834535 +834562 +834600 +834686 +834697 +834699 +834908 +835716 +83573 +83574 +836164 +836166 +836261 +836454 +836919 +836920 +836991 +837052 +837053 +837054 +837072 +837073 +837074 +837075 +837170 +837171 +837172 +837173 +837179 +837180 +837181 +837182 +837183 +837184 +837185 +837186 +837187 +837189 +837190 +837225 +837226 +837227 +837228 +837229 +837314 +837315 +837316 +837317 +837318 +837319 +837320 +837322 +837323 +837325 +837326 +837327 +837328 +837336 +837337 +837338 +837339 +837340 +837342 +837346 +837347 +837348 +837349 +837350 +837351 +837352 +837353 +837354 +837355 +837356 +837357 +837358 +837823 +837824 +837825 +837885 +837976 +837977 +837985 +838082 +838211 +838212 +838213 +838219 +838452 +838453 +838454 +838457 +838458 +838461 +838462 +838465 +838466 +838469 +838470 +838471 +838474 +838475 +838476 +838581 +838593 +838594 +838595 +838596 +838597 +838598 +838599 +838600 +838601 +838774 +838775 +838776 +838777 +838778 +838779 +838781 +838792 +838793 +8388 +838802 +838884 +838998 +839190 +839377 +839667 +8397 +8401 +84017 +8402 +840213 +840214 +840215 +840216 +840217 +840218 +840220 +840221 +840222 +840223 +840285 +840286 +840287 +8403 +840343 +840466 +84050 +84054 +84056 +840661 +840693 +840710 +840822 +840823 +840900 +841139 +841311 +841312 +841378 +841390 +841394 +841395 +841396 +841397 +841402 +841752 +841753 +841759 +841761 +841822 +841859 +841866 +84188 +84190 +841919 +841928 +84193 +84194 +841941 +841945 +841950 +841951 +841952 +841953 +84197 +841992 +841993 +842099 +842100 +842101 +842102 +842103 +842104 +842105 +842106 +842107 +842121 +842134 +842136 +842137 +842148 +842149 +842163 +84224 +84225 +84229 +842299 +84230 +84235 +842402 +842403 +842404 +842412 +842413 +842414 +84244 +842543 +842544 +842545 +842546 +842547 +842548 +842549 +842550 +842551 +842555 +84259 +84260 +842602 +84262 +842622 +84263 +84264 +84265 +84266 +84268 +84269 +84270 +84271 +84272 +84273 +84274 +84275 +842844 +842845 +842846 +84285 +842853 +842857 +842950 +842951 +842952 +842954 +842955 +842967 +842968 +842969 +84301 +843020 +843021 +843023 +843038 +84307 +843072 +84308 +84311 +84313 +84314 +84315 +843224 +843225 +843227 +843228 +84328 +84329 +84330 +84331 +84332 +84333 +84334 +843347 +843348 +843349 +843350 +843352 +843353 +843355 +843356 +843376 +843377 +843378 +843379 +843380 +843381 +843382 +843384 +843385 +8434 +84358 +84359 +84363 +84369 +8437 +84370 +843702 +843711 +843712 +843713 +843716 +843717 +843718 +843722 +843723 +843734 +843735 +843736 +84376 +84379 +84380 +843825 +843826 +843827 +843828 +843829 +84383 +843830 +843831 +843832 +843833 +843834 +843835 +843836 +843837 +843838 +84405 +84406 +84407 +84408 +84409 +84411 +84412 +84413 +844135 +844136 +844137 +84414 +844140 +844141 +844142 +844145 +844146 +844147 +84415 +84416 +844165 +844166 +844167 +84417 +84418 +84419 +84420 +84429 +844345 +844346 +844347 +84443 +844474 +84449 +8445 +84458 +84472 +84494 +84497 +84498 +84499 +84506 +84508 +84515 +84516 +84526 +84528 +84546 +84547 +84553 +84566 +84575 +84576 +84582 +84584 +84585 +84591 +84592 +84595 +84596 +84597 +84603 +84605 +84609 +84614 +84615 +84616 +84617 +84618 +84619 +8462 +84620 +84621 +84622 +84623 +84624 +84625 +84626 +84627 +84628 +84629 +84630 +84631 +84638 +84639 +84640 +84644 +84645 +84646 +84649 +84651 +84652 +84657 +846592 +846593 +846604 +846635 +84668 +84680 +846901 +846902 +846904 +846905 +84696 +84697 +846976 +84698 +84699 +84701 +84702 +84703 +84705 +84706 +84707 +84708 +84709 +84710 +84711 +847165 +847175 +84718 +84719 +847198 +847199 +847200 +847201 +847202 +847203 +847204 +84721 +84722 +84723 +847248 +84725 +84726 +847261 +84727 +847281 +84729 +8473 +84730 +84731 +847310 +847317 +84732 +847320 +847322 +84733 +84734 +84746 +84750 +847574 +847577 +84759 +84760 +84762 +84785 +84786 +84788 +84789 +84790 +84791 +84793 +84794 +84795 +84796 +84797 +84798 +84799 +8480 +84800 +84801 +84803 +84804 +84805 +84806 +84807 +84808 +84809 +84837 +84839 +848398 +8484 +84840 +84841 +848439 +848452 +848453 +848454 +848479 +848723 +848724 +8488 +8492 +849239 +849255 +849256 +849257 +849258 +849259 +849260 +849261 +849262 +849263 +849266 +849267 +849268 +849270 +849272 +849273 +849274 +849278 +849279 +849280 +849284 +849286 +849287 +849288 +849289 +849290 +849426 +849687 +84977 +849778 +849779 +849782 +849783 +849784 +849793 +849794 +849795 +849798 +849799 +849800 +849803 +849804 +849805 +849855 +849856 +849857 +849873 +849874 +849890 +849919 +849920 +849923 +849927 +849928 +849929 +849930 +849936 +849948 +849949 +851225 +851232 +851233 +851234 +851235 +851236 +851237 +851240 +85306 +85307 +85308 +85309 +85310 +85311 +85312 +85313 +85314 +85315 +85316 +85317 +85318 +85319 +85320 +85321 +85322 +85323 +85324 +85325 +85326 +85327 +85328 +85329 +85330 +85331 +85332 +85333 +85334 +85335 +85336 +85337 +85338 +85339 +85340 +85341 +85342 +85343 +85344 +85345 +85346 +85347 +85348 +85349 +85350 +85351 +85352 +85353 +85354 +85355 +85356 +85357 +85358 +85359 +85360 +85361 +85362 +85363 +85364 +85365 +85366 +85367 +85368 +85369 +85370 +85371 +85372 +85373 +85374 +85375 +85376 +85377 +85378 +85379 +85380 +85381 +85382 +85383 +85384 +85385 +85392 +85558 +85580 +85615 +8563 +85649 +85653 +85675 +85692 +85693 +85694 +85695 +85696 +85697 +85698 +85699 +85700 +85736 +85750 +85751 +85757 +85758 +85769 +85771 +85778 +85779 +85782 +85784 +85789 +85790 +85791 +85792 +85793 +85794 +85795 +85796 +85797 +85798 +85799 +85800 +85801 +85802 +85803 +85804 +85805 +85806 +85807 +85808 +85809 +85810 +85811 +85812 +85813 +85815 +8584 +8585 +8586 +8589 +8590 +8606 +86066 +8607 +86072 +8608 +8609 +8610 +8611 +86131 +86144 +86146 +86147 +86167 +86169 +86170 +86171 +86184 +86185 +86186 +86187 +86188 +86189 +86195 +86196 +86197 +86209 +86210 +86213 +86214 +86215 +86216 +86217 +86223 +86224 +86225 +86227 +86228 +86229 +86231 +86232 +86234 +86235 +86237 +86239 +86240 +86241 +86242 +8625 +86251 +86254 +86255 +86256 +86258 +86261 +86263 +86264 +86269 +86271 +86272 +86273 +86274 +86275 +86276 +86278 +86279 +86283 +86285 +86286 +86287 +86288 +86289 +86290 +86291 +86292 +86293 +86294 +86295 +86296 +86297 +86299 +86301 +86303 +86306 +86309 +86311 +86312 +86313 +86314 +86315 +86316 +86318 +86319 +86320 +86321 +86322 +86325 +86327 +86329 +86330 +86331 +86332 +86333 +86334 +86336 +86337 +86338 +86342 +86345 +86347 +86348 +86349 +86350 +86354 +86357 +86358 +86359 +86365 +86367 +86369 +86373 +86374 +86376 +86378 +86380 +86381 +86383 +86384 +86386 +86387 +86395 +86413 +8647 +86491 +86492 +86493 +86494 +86498 +86499 +86500 +86501 +86502 +86504 +86505 +86506 +86508 +86509 +86510 +86511 +86512 +86513 +86514 +86515 +86526 +86528 +86529 +8653 +86530 +86531 +86532 +86533 +86534 +86535 +86536 +86537 +86538 +86539 +8654 +86540 +86541 +86542 +86543 +86544 +86545 +86564 +8659 +86591 +86596 +86598 +86648 +86654 +86663 +86664 +86691 +86692 +86722 +86723 +86725 +86726 +867482 +867486 +86750 +86753 +86791 +86792 +86795 +8680 +86806 +8681 +86824 +86827 +86829 +86830 +86831 +86832 +86839 +86844 +86866 +86867 +86872 +86873 +86882 +86885 +86892 +86896 +86909 +86910 +86911 +86912 +86918 +86919 +86920 +86923 +86927 +86928 +86930 +86938 +86939 +86941 +86942 +86945 +86946 +86947 +86952 +86953 +86957 +86960 +86963 +86966 +86973 +86974 +86977 +86981 +86984 +86990 +86991 +86997 +8700 +87011 +87013 +87014 +87015 +87016 +87017 +87018 +87019 +8702 +87020 +87021 +87022 +87023 +87024 +87025 +87026 +87027 +87045 +87047 +87048 +87049 +87053 +87054 +87055 +87058 +87059 +87060 +87063 +87064 +87065 +87068 +87069 +8707 +87070 +87073 +87074 +87075 +87078 +87079 +87080 +87088 +8709 +8710 +87102 +87103 +87105 +87110 +87111 +87112 +87115 +87116 +87120 +87123 +87128 +87129 +87135 +87136 +87152 +87153 +87154 +87155 +87156 +87157 +87158 +8716 +87199 +87209 +87211 +87214 +87215 +87216 +87217 +87221 +87235 +87236 +87237 +8724 +87241 +87245 +87246 +87249 +8727 +87396 +87397 +87398 +87524 +87525 +87526 +87528 +87529 +87530 +87532 +87534 +87535 +87536 +87539 +87541 +87542 +87543 +87544 +87546 +87547 +87548 +87549 +87550 +87551 +87552 +87553 +87555 +87556 +87557 +87558 +875597 +875599 +87560 +875601 +875602 +875604 +875606 +875608 +87561 +875610 +87562 +87563 +87564 +875643 +87566 +875665 +875666 +87567 +87568 +875685 +875686 +87569 +87570 +87571 +87572 +87573 +87574 +87576 +87577 +87578 +87580 +87581 +87582 +87583 +87585 +87586 +87587 +87589 +87590 +87591 +87593 +87594 +87596 +87597 +87599 +87600 +87601 +87602 +87603 +87604 +87606 +87607 +87608 +87610 +87611 +87612 +87613 +87614 +87615 +87617 +87618 +87619 +87621 +87622 +87623 +87624 +87625 +87626 +87628 +87629 +87630 +87632 +87633 +87635 +87636 +87638 +87639 +87640 +87641 +87642 +87644 +87645 +87646 +87647 +87648 +87650 +87651 +87652 +87653 +87654 +87655 +87657 +87658 +87659 +87661 +87663 +87665 +87667 +87668 +87669 +87671 +87674 +87676 +87678 +87679 +87680 +87681 +87682 +87684 +87685 +87687 +87688 +87689 +87690 +87691 +87692 +87693 +87695 +87696 +87698 +87699 +87700 +87702 +87703 +87704 +87705 +87706 +87707 +87708 +87709 +8771 +87710 +87712 +87713 +87714 +87717 +87718 +87719 +87721 +87722 +87724 +87725 +87726 +87727 +87728 +87729 +87732 +87734 +87735 +87736 +87737 +87738 +87739 +87740 +87742 +87743 +87744 +87745 +87747 +87748 +87749 +87750 +87752 +87753 +87754 +87755 +87757 +87758 +87759 +87760 +87761 +87762 +87764 +87766 +87768 +87769 +87770 +87772 +87775 +87776 +87779 +87780 +87781 +87782 +87784 +87785 +87786 +87788 +87789 +87790 +87792 +87793 +87794 +87796 +87798 +87799 +87800 +87802 +87803 +87804 +87805 +87806 +87808 +87810 +87811 +87812 +87813 +87815 +87816 +87817 +87818 +87819 +87821 +87822 +87823 +87824 +87825 +87826 +87827 +87829 +8783 +87830 +87832 +87833 +87835 +87836 +87837 +87839 +87840 +88469 +88565 +88568 +88569 +88570 +88571 +88572 +88573 +88574 +88580 +88582 +88646 +88650 +88658 +88659 +88678 +88686 +88780 +88781 +88785 +88800 +88801 +88808 +8887 +8888 +8889 +88930 +88931 +88933 +88934 +88937 +88939 +88940 +88956 +88957 +88959 +88960 +88961 +88962 +88963 +88964 +88965 +88971 +88972 +88973 +88974 +88975 +88976 +88977 +88978 +88979 +88981 +88982 +88984 +88986 +88988 +88989 +88991 +88992 +88994 +88998 +89000 +89001 +89011 +89015 +89018 +89019 +89051 +89052 +89053 +89054 +89055 +89056 +89057 +89081 +89083 +89084 +89085 +89086 +89111 +89113 +89114 +89116 +89143 +89144 +89145 +89146 +89147 +89149 +89152 +89158 +8916 +89161 +89165 +89167 +89168 +89180 +89187 +89188 +89189 +89192 +8920 +89209 +89219 +89224 +89321 +89330 +89331 +89332 +89333 +89334 +89335 +89336 +89337 +89338 +89339 +89343 +89344 +89350 +89351 +89353 +89355 +89357 +89360 +89361 +89362 +89366 +89367 +89368 +89370 +89371 +89372 +89373 +89377 +89448 +89451 +89453 +89454 +89455 +89456 +89457 +89458 +89459 +89460 +89461 +89462 +89465 +89468 +89473 +89475 +89477 +89478 +89479 +89480 +89481 +89482 +89489 +89490 +89491 +89492 +89493 +89494 +89496 +89501 +89504 +89505 +89506 +89507 +89508 +89510 +89511 +89512 +89513 +89514 +89515 +89516 +89518 +89522 +89523 +89525 +89527 +89531 +89532 +89534 +89614 +89623 +89624 +89630 +89632 +89633 +89634 +89642 +89652 +89653 +89654 +89667 +89672 +89681 +89718 +89719 +89720 +89722 +89724 +89725 +89733 +89734 +89735 +89736 +89738 +89739 +89740 +89742 +89743 +89744 +89745 +89747 +89748 +89749 +89751 +89752 +89753 +89754 +89755 +89756 +89758 +89759 +89760 +89761 +89762 +89763 +89764 +89765 +89766 +89767 +89768 +89769 +89770 +89771 +89772 +89773 +89774 +89775 +89776 +89777 +89778 +89779 +89799 +89800 +89822 +89824 +89825 +89827 +89835 +89839 +89845 +89846 +89847 +89848 +89849 +89850 +89851 +89852 +89853 +89854 +89855 +89856 +89857 +89858 +89859 +89860 +89861 +89862 +89882 +89883 +89884 +89885 +89886 +89887 +89888 +89889 +89890 +89891 +89892 +89893 +89894 +90026 +90027 +90028 +90032 +90034 +90035 +90037 +90038 +90040 +90041 +90043 +90044 +90046 +90048 +90050 +90052 +90053 +90055 +90056 +90058 +90061 +900617 +90062 +90064 +90065 +900655 +900669 +900670 +900671 +90068 +90070 +90072 +900768 +900770 +900772 +900774 +900823 +900840 +900962 +901093 +901208 +901209 +901217 +901221 +901226 +901273 +901275 +901361 +901362 +901363 +901472 +901473 +901474 +901760 +901765 +901775 +901776 +901784 +901928 +902086 +902136 +902139 +902148 +902149 +902150 +902151 +902152 +902153 +902154 +902155 +902156 +902164 +902169 +902170 +902382 +902383 +902384 +902385 +902386 +902387 +902400 +902402 +902404 +902411 +902412 +902413 +902505 +902645 +902646 +902652 +902664 +902665 +902688 +902715 +902766 +902767 +902768 +902769 +902770 +902771 +902821 +902822 +902823 +902828 +902831 +902832 +902951 +902962 +902964 +902966 +902967 +902968 +902969 +903083 +903151 +90334 +90338 +90343 +903570 +903576 +903577 +903579 +903585 +903589 +903592 +903609 +903616 +903617 +903618 +903619 +903620 +903621 +903663 +903664 +903665 +903668 +903669 +903670 +903673 +903674 +903675 +903678 +903679 +903682 +903683 +903686 +903687 +903690 +903691 +903692 +903695 +903696 +903698 +903699 +903700 +903701 +903702 +903703 +903704 +903705 +903718 +90372 +903857 +903858 +903859 +90393 +90394 +90395 +903979 +903980 +903987 +903988 +903989 +903992 +903993 +903994 +903997 +903998 +904001 +904002 +904003 +904006 +904007 +904008 +904017 +90402 +904023 +904057 +904058 +904059 +904060 +904061 +904062 +904063 +904065 +90409 +90410 +90411 +90412 +90416 +90417 +90420 +90421 +904214 +90423 +90424 +904260 +904261 +904278 +904279 +904280 +904291 +904292 +904293 +904295 +904296 +904297 +904298 +904307 +904308 +904309 +904310 +904327 +904330 +904331 +904332 +904335 +904336 +904339 +904340 +904341 +904346 +904348 +904401 +904402 +904403 +904451 +904612 +905015 +905016 +905325 +905369 +905370 +905371 +905372 +905375 +905376 +905401 +905402 +905403 +905404 +905405 +90543 +90544 +90545 +90548 +90549 +90550 +905586 +905636 +905638 +905669 +905724 +905725 +905726 +905728 +905729 +905730 +905737 +905738 +905743 +905744 +905745 +905760 +905761 +905762 +905766 +905767 +905768 +905777 +905850 +905870 +906031 +906039 +906040 +906041 +906042 +906044 +906045 +906046 +906047 +906049 +90616 +906220 +906249 +90629 +90632 +906327 +906328 +906330 +90650 +90651 +906795 +906799 +906802 +906803 +906805 +906806 +906810 +906811 +906812 +906813 +906814 +906815 +906840 +906852 +906866 +906867 +906868 +906869 +906870 +90690 +90691 +90692 +906927 +90701 +907076 +907077 +90714 +907157 +907158 +907159 +907160 +907161 +907162 +907163 +907164 +907165 +907166 +907167 +907168 +907169 +907170 +907171 +907172 +90728 +90729 +90732 +90733 +90734 +90735 +907365 +907366 +907368 +907390 +90740 +907400 +90741 +907411 +907412 +907413 +90742 +907442 +907443 +907444 +90745 +90746 +90747 +90755 +907583 +907615 +907776 +907777 +907778 +907780 +907781 +908086 +908116 +908118 +908119 +908120 +908121 +908342 +908347 +908348 +908349 +908355 +90836 +90837 +908375 +908376 +908377 +908379 +90838 +90839 +90840 +90841 +90842 +90843 +90844 +90845 +90846 +90847 +90863 +908655 +90878 +90880 +90881 +90882 +90883 +90884 +90885 +908855 +908856 +908857 +90886 +90887 +90888 +90889 +9091 +9092 +90924 +90925 +90926 +909529 +909530 +909531 +909532 +909533 +909534 +909535 +909536 +909537 +909538 +909650 +909661 +90972 +90978 +90979 +90980 +90982 +910014 +91002 +910033 +910038 +910050 +910051 +910052 +910053 +910054 +910055 +910056 +910057 +910058 +910059 +910060 +910064 +910065 +910066 +910067 +910069 +910071 +910072 +910073 +910074 +910075 +910076 +910077 +910078 +910080 +910081 +910082 +910083 +910084 +910085 +910086 +910087 +910090 +910091 +910092 +910093 +910094 +910095 +910099 +910100 +910101 +910105 +910107 +910109 +910112 +910113 +910114 +910115 +910117 +9103 +910519 +910520 +910539 +910540 +910541 +910544 +910545 +910546 +910549 +910550 +910551 +910552 +910553 +910562 +910582 +910583 +910584 +910755 +911007 +911008 +911009 +911010 +911092 +911093 +911094 +911105 +911120 +911121 +911123 +911127 +911134 +911163 +911164 +911165 +911166 +911167 +911168 +911169 +911170 +911171 +911172 +911173 +911174 +911175 +911176 +911177 +911178 +911179 +911180 +911181 +911182 +911315 +911316 +911317 +911318 +911319 +911320 +911321 +911322 +911323 +911326 +911327 +911333 +911334 +911335 +911338 +911340 +911341 +911342 +911343 +911344 +911345 +911346 +911356 +911357 +911358 +911359 +911360 +911361 +911362 +911363 +911364 +911365 +911366 +911367 +911368 +911369 +911370 +911372 +911373 +911374 +911392 +911393 +911394 +911395 +911396 +911406 +911407 +911408 +911409 +911410 +911411 +911412 +911413 +911414 +911416 +911417 +911418 +911419 +911421 +911423 +911424 +911437 +911438 +911439 +911444 +911445 +911446 +911450 +911451 +911452 +911453 +911454 +911455 +911456 +911457 +911458 +911459 +911460 +911461 +911462 +911463 +911464 +911471 +911472 +911473 +911474 +911475 +911488 +911489 +911491 +911492 +911493 +911496 +911497 +911498 +911502 +911503 +911504 +911506 +911508 +911509 +911510 +911513 +911514 +911517 +911518 +911522 +911523 +911527 +911528 +911529 +911530 +911532 +911533 +911534 +911535 +911537 +911551 +911552 +911555 +911559 +911560 +911561 +911564 +911599 +911605 +911606 +911610 +911704 +911723 +911724 +911725 +911727 +911741 +911755 +911756 +911758 +911763 +911987 +911991 +912049 +912059 +912063 +912064 +912075 +912101 +912107 +912170 +912171 +912173 +912187 +912215 +912229 +912255 +912269 +912302 +912304 +912317 +912340 +912341 +912342 +912346 +912347 +912348 +912349 +912350 +912351 +912352 +912354 +912355 +912375 +912497 +912498 +912509 +912510 +912511 +91252 +912524 +912526 +912539 +912540 +912541 +912573 +912580 +912598 +912600 +912632 +912633 +912687 +912688 +912714 +912739 +912773 +912774 +912775 +912776 +912777 +912780 +912781 +912782 +912783 +912792 +912822 +912823 +912863 +912877 +912878 +912882 +912884 +912890 +912911 +912914 +912924 +912931 +912932 +912935 +912956 +912958 +912974 +912975 +912994 +912995 +912996 +913172 +913173 +913176 +913182 +913185 +913190 +913191 +913195 +913196 +913197 +913198 +913199 +913200 +913201 +913203 +913213 +913218 +913226 +913227 +913262 +913315 +913359 +913365 +913372 +913375 +913377 +913379 +913382 +913405 +913406 +913410 +913412 +913413 +913414 +913415 +913430 +913443 +913445 +913455 +913536 +913537 +913564 +913565 +913583 +913584 +913585 +913588 +913589 +913590 +913593 +913594 +913595 +913598 +913599 +913600 +913614 +913650 +913652 +913654 +913655 +9137 +913707 +913709 +913711 +913712 +913714 +913716 +913717 +9138 +913831 +913832 +913833 +913834 +913835 +913836 +913899 +9139 +9140 +9141 +91417 +9142 +914298 +9143 +914300 +9144 +914624 +914673 +914674 +914675 +914683 +914688 +914711 +914735 +914736 +914737 +914771 +914796 +914797 +914885 +914886 +914892 +914972 +914973 +914974 +914997 +915004 +915058 +915059 +915060 +915061 +915062 +915077 +915087 +915242 +915250 +915255 +915260 +915271 +915279 +915283 +915318 +915320 +915403 +915422 +915432 +915456 +915459 +915475 +915485 +915499 +915517 +915540 +915541 +915610 +915623 +915766 +915806 +915860 +915919 +915920 +915921 +916426 +917083 +91709 +917090 +917095 +917099 +917100 +917101 +917102 +917103 +917104 +917105 +917106 +917107 +91714 +917151 +917161 +917162 +917191 +917192 +917193 +917194 +917196 +917197 +917198 +917202 +917203 +917204 +917207 +917208 +917209 +917213 +917214 +917215 +917217 +917238 +917253 +917267 +917281 +917358 +917362 +91801 +91803 +91804 +91807 +91809 +91811 +91812 +91814 +918714 +918738 +918877 +918878 +919038 +919543 +919584 +919605 +91966 +91978 +919783 +91980 +91982 +91985 +91989 +920005 +920013 +920017 +920072 +92015 +92016 +92017 +920175 +92018 +92021 +92022 +920231 +92024 +92025 +92026 +92027 +92029 +92030 +92031 +92032 +92034 +92036 +92037 +92038 +92040 +92041 +92042 +92043 +920437 +92044 +92045 +92047 +92048 +92049 +92050 +92051 +920518 +92053 +92054 +920548 +920549 +920550 +920553 +920554 +92068 +920700 +920701 +92071 +92072 +92073 +9208 +92085 +921030 +921031 +921054 +921055 +921058 +921059 +921060 +921061 +921062 +921063 +921064 +921066 +921068 +921069 +921070 +921071 +921073 +921080 +921143 +921275 +921286 +921295 +921309 +921310 +921327 +921359 +921668 +921669 +921670 +921771 +921772 +921791 +922795 +922796 +922797 +922798 +922799 +922800 +923031 +923032 +923141 +923142 +923143 +923144 +923145 +923147 +923266 +923559 +923560 +923675 +923684 +923778 +924103 +92430 +92431 +92432 +92433 +92434 +92436 +92437 +92438 +92439 +92440 +92441 +92442 +92443 +92444 +92446 +92447 +92449 +92450 +92454 +92455 +92456 +924563 +924564 +924565 +924566 +924567 +924570 +924574 +924575 +924583 +92459 +92460 +924602 +92461 +924613 +924614 +92465 +92466 +92467 +92468 +92469 +92470 +92471 +92473 +92474 +924742 +92476 +92477 +92478 +92479 +92480 +924815 +924818 +924819 +924821 +924822 +924825 +92484 +92486 +92488 +92490 +924906 +92492 +92494 +92495 +924950 +924951 +92496 +92497 +92500 +92501 +92502 +92503 +92504 +92505 +92506 +92507 +92508 +92509 +92510 +925109 +92511 +92512 +92513 +92514 +925150 +92519 +92522 +92525 +92526 +92527 +92529 +92531 +92532 +92533 +92534 +92537 +92538 +92539 +92541 +92542 +92543 +92544 +92545 +92547 +92548 +92550 +925505 +925506 +925507 +925508 +925509 +92551 +925510 +925511 +925512 +925513 +925514 +925515 +925516 +925517 +925518 +925519 +92552 +92553 +92555 +92559 +92560 +92561 +92562 +92563 +92564 +92565 +92568 +92569 +92570 +92572 +92574 +92575 +92576 +92577 +92578 +92579 +92580 +92581 +92582 +92583 +92584 +92585 +92586 +92587 +92588 +92589 +92591 +92592 +92593 +92594 +92598 +92599 +92605 +92607 +92610 +92611 +92613 +92614 +92615 +92616 +92617 +92618 +92620 +92621 +92622 +92623 +92624 +92625 +92626 +92628 +92630 +92632 +92633 +92634 +92635 +92636 +92637 +92640 +92641 +92644 +92645 +92646 +92647 +92649 +92650 +92651 +92652 +92653 +92654 +92655 +92656 +92657 +92658 +92659 +92660 +92661 +92662 +92665 +92705 +92706 +92708 +92709 +92710 +92711 +92712 +92714 +92715 +92716 +92717 +92718 +92719 +92720 +92721 +92722 +92725 +92727 +92728 +92730 +92731 +92732 +92733 +92734 +92735 +92736 +92737 +92738 +92739 +92740 +92741 +92742 +92743 +92745 +92746 +92747 +92748 +92749 +92750 +92751 +92752 +92754 +92761 +92763 +92765 +92770 +92776 +92777 +92778 +92779 +92780 +92781 +92782 +92783 +92784 +92785 +92786 +92787 +92788 +92789 +92790 +92791 +92792 +92793 +92794 +92795 +92796 +92797 +9285 +9286 +92860 +92861 +92867 +92873 +92877 +92879 +9291 +93010 +93013 +93021 +93022 +93024 +93028 +93032 +93033 +93034 +93035 +93036 +93037 +93038 +93039 +93040 +93041 +93042 +93043 +93044 +93045 +93046 +93047 +93048 +93049 +93050 +93051 +93052 +93053 +93054 +93055 +93056 +93057 +93058 +93059 +93060 +93061 +93062 +93063 +93064 +93065 +93066 +93067 +93068 +93069 +93070 +93071 +93072 +93073 +93074 +93075 +93076 +93077 +93078 +93079 +93080 +93081 +93082 +93083 +93084 +93085 +93086 +93087 +93088 +93089 +93090 +93091 +93092 +93093 +93094 +93095 +93096 +93097 +93098 +93099 +93100 +93101 +93102 +93103 +93104 +93105 +93106 +93107 +93108 +93109 +9311 +93110 +931102 +93111 +93112 +93113 +93114 +93115 +93116 +931164 +93117 +93118 +93119 +9312 +93120 +93121 +93122 +93123 +93124 +93125 +93126 +931266 +931269 +93127 +93128 +93129 +9313 +93130 +93131 +93132 +93133 +93134 +93135 +93136 +93137 +93138 +93139 +9314 +93140 +93141 +93142 +93143 +93144 +93145 +93146 +93147 +93148 +93149 +93150 +93151 +93152 +93153 +93154 +93155 +93156 +93157 +93158 +93159 +93160 +93161 +93162 +93163 +93164 +93165 +93166 +93167 +93168 +93169 +93170 +93171 +932041 +932045 +932047 +932049 +932051 +932056 +932058 +932060 +932062 +932064 +932066 +932068 +932070 +932072 +932388 +932389 +932390 +932543 +932545 +932546 +932547 +932990 +93315 +93321 +93326 +93328 +933343 +933344 +933345 +93341 +93357 +93358 +933607 +93361 +933610 +933614 +93365 +93366 +93367 +93392 +93393 +93395 +934164 +934165 +934166 +934167 +934169 +934170 +934571 +934572 +934578 +934579 +934580 +934581 +934582 +934583 +934584 +934585 +934586 +934587 +934588 +934589 +934590 +934591 +934592 +934593 +934594 +934596 +934598 +934599 +934639 +934691 +93470 +934717 +93474 +93476 +93478 +9348 +93482 +934824 +934825 +934826 +934827 +934829 +934831 +934832 +934833 +934834 +934836 +934837 +934838 +934839 +935046 +935060 +935140 +935251 +935252 +935253 +935254 +935255 +935256 +935257 +935259 +935260 +935262 +935264 +935265 +935290 +935291 +935294 +935295 +935303 +935304 +935346 +935347 +935355 +93538 +93539 +935393 +935394 +935395 +935396 +93540 +93541 +93544 +93545 +93548 +93551 +93552 +93553 +935538 +93554 +935547 +93555 +93557 +93558 +93561 +93562 +93563 +93564 +93565 +93567 +935674 +93568 +93569 +935698 +93570 +93571 +93572 +93573 +93574 +93576 +93580 +93581 +93582 +93583 +93585 +93586 +93587 +93588 +93590 +93591 +93592 +93593 +93595 +93598 +93599 +93601 +936010 +93602 +936032 +93604 +93605 +93607 +93608 +93610 +93611 +93613 +93615 +93616 +93617 +93618 +93619 +93620 +93622 +93623 +93624 +936251 +936252 +936253 +936254 +936255 +936256 +936257 +936258 +936259 +936260 +936261 +936262 +936263 +936264 +936265 +936266 +936267 +936268 +936269 +93627 +936270 +936271 +936272 +936273 +936274 +93628 +93636 +93654 +93659 +93666 +936668 +936673 +936674 +936675 +936683 +936691 +936721 +936722 +936723 +936724 +936725 +936726 +936730 +936732 +936777 +93680 +93681 +936812 +93682 +936822 +936823 +936824 +936827 +936828 +936830 +936832 +936833 +936834 +936836 +936837 +936840 +936841 +936842 +936844 +936845 +936847 +936848 +936849 +936850 +936853 +936861 +936862 +936868 +936877 +936878 +936879 +936880 +936881 +936882 +936883 +936884 +936885 +936886 +936887 +936888 +936889 +936890 +936891 +936892 +936893 +936894 +936895 +9369 +936932 +936937 +93694 +936963 +9370 +93707 +93709 +93714 +93722 +93725 +93726 +93735 +93736 +93757 +93758 +93759 +93760 +93761 +93762 +93763 +93764 +93765 +93766 +93767 +93768 +93769 +93770 +93771 +93772 +93773 +93774 +93775 +93776 +93777 +93778 +93779 +93780 +93781 +93782 +93783 +93784 +93785 +93786 +93787 +93788 +93789 +93790 +93791 +93792 +93793 +93794 +93795 +93796 +93797 +93798 +93799 +93800 +93801 +93802 +93803 +93804 +93805 +93806 +93807 +9389 +9393 +93953 +93955 +93957 +93997 +93998 +93999 +94000 +94001 +94002 +94003 +94004 +94005 +94016 +94018 +94021 +94022 +94025 +94038 +94041 +94042 +94043 +94044 +94045 +94046 +94047 +94062 +94073 +94084 +94088 +94089 +94098 +94099 +94100 +94108 +94124 +94127 +9413 +94133 +94134 +94139 +9414 +94140 +94143 +9415 +94157 +941596 +941597 +941598 +941599 +9416 +941600 +941601 +941602 +94161 +941612 +941637 +941644 +941645 +941646 +941647 +941648 +94168 +94169 +9417 +94174 +94175 +94177 +94179 +94180 +94181 +94182 +94183 +94184 +94185 +94186 +94187 +94188 +94189 +94190 +94191 +94192 +94209 +94212 +94297 +94305 +94306 +94307 +94308 +94309 +94310 +94311 +94312 +94313 +94314 +94316 +94325 +94332 +94337 +94349 +9435 +94351 +94354 +94356 +94368 +94379 +94380 +9439 +94391 +94392 +94393 +94394 +94395 +94396 +94397 +94398 +9444 +9446 +9452 +9454 +9465 +9466 +94663 +94664 +94669 +9467 +9468 +94808 +94809 +94814 +949112 +94972 +95034 +950713 +950727 +950730 +950731 +950733 +950735 +95074 +950745 +950746 +950749 +950750 +950752 +95079 +95080 +95082 +95093 +95095 +950954 +950963 +950964 +950966 +950968 +950969 +950974 +950975 +950976 +950986 +950987 +950988 +950989 +95103 +95104 +95106 +95111 +95118 +951192 +951193 +951195 +951199 +951200 +951201 +951205 +951206 +951207 +951215 +951216 +951217 +951218 +951229 +951244 +951245 +951246 +951247 +951248 +951249 +951258 +951259 +951260 +95128 +95129 +95130 +95131 +95132 +95133 +95134 +95135 +951356 +951357 +951358 +95136 +95137 +951374 +951375 +951376 +951379 +95138 +951380 +951381 +951384 +951385 +951386 +95139 +951390 +951391 +951392 +95140 +95141 +951410 +951411 +951412 +951413 +951414 +951415 +951416 +951419 +95142 +951424 +951425 +951426 +95143 +951434 +951435 +951436 +951438 +95144 +95145 +95146 +95147 +951472 +951474 +951475 +951476 +951478 +951479 +95148 +951480 +951483 +951484 +951485 +951489 +95149 +951490 +951491 +951493 +951494 +951495 +95150 +95151 +95152 +95153 +951532 +951534 +95154 +951541 +951542 +951543 +951544 +95155 +95156 +95157 +95158 +95159 +95160 +95161 +95162 +95163 +95164 +95165 +951653 +951654 +95167 +95168 +951683 +951684 +951685 +951686 +951687 +95169 +95170 +95171 +95172 +951721 +951722 +951723 +95173 +951735 +951736 +951737 +951738 +951739 +95174 +951740 +951741 +951742 +951743 +951744 +951745 +951746 +951747 +951748 +951749 +95175 +951750 +951751 +951752 +95176 +951760 +951761 +951762 +95177 +951776 +95178 +951782 +95179 +951794 +95180 +95181 +95182 +95183 +95184 +95185 +95186 +95187 +95188 +95189 +951892 +951893 +951894 +951896 +951897 +951898 +95190 +951900 +951901 +951902 +951904 +951905 +951907 +951908 +95191 +951918 +951919 +95192 +951923 +951924 +951925 +951929 +95193 +951930 +951932 +95194 +951943 +95195 +95196 +95197 +95198 +951995 +952048 +952064 +952071 +952077 +952080 +952082 +952170 +952171 +952172 +952173 +952174 +952175 +952264 +952290 +952291 +952292 +952303 +952304 +952305 +952306 +952307 +952308 +952309 +952310 +952311 +952324 +952355 +952356 +952357 +952800 +95285 +95288 +952881 +952882 +952883 +95289 +95290 +95291 +95292 +95293 +95294 +95295 +95296 +953067 +953111 +953185 +95334 +95336 +95352 +95353 +95354 +95355 +95356 +953564 +953565 +953566 +953567 +953568 +95363 +95365 +953770 +953771 +953772 +953773 +953774 +953802 +954065 +954066 +954067 +954072 +954073 +954241 +954242 +954247 +954299 +954335 +954336 +954344 +954346 +954347 +954348 +954410 +954584 +954585 +954586 +954587 +954588 +954589 +954673 +95479 +95482 +95486 +95490 +954955 +954973 +954978 +954998 +955214 +955219 +955220 +955221 +955222 +95626 +95629 +95630 +95633 +95634 +95636 +95637 +95638 +95649 +95653 +95658 +95659 +95662 +95664 +95666 +95667 +95668 +95669 +95680 +95682 +95684 +95685 +95687 +95688 +95690 +95722 +95724 +95730 +95733 +95734 +95752 +95771 +95774 +95777 +95803 +95804 +95809 +95828 +95829 +95835 +95836 +95837 +95841 +95842 +95844 +95845 +95847 +95882 +95949 +96114 +96115 +96116 +96117 +96118 +96124 +96128 +96129 +96132 +96133 +96134 +96136 +96137 +96138 +96140 +96141 +96142 +96143 +96144 +96145 +96147 +96148 +96149 +96150 +96151 +96152 +96153 +96154 +96155 +96156 +96157 +96158 +96159 +96160 +96161 +96163 +96164 +96165 +96166 +96167 +96168 +96169 +96170 +96173 +96174 +96175 +96176 +96177 +96178 +96180 +96181 +96182 +96183 +96184 +96185 +96186 +96187 +96188 +96189 +96191 +96192 +96194 +96195 +96196 +96199 +96202 +96203 +96210 +96212 +96213 +96214 +96215 +96222 +96223 +96224 +96225 +96226 +96228 +96229 +96230 +96231 +96232 +96233 +96234 +96235 +96236 +96237 +96238 +96239 +96240 +96241 +96242 +96243 +96244 +96245 +96246 +96247 +96248 +96249 +96250 +96251 +96252 +96253 +96254 +96255 +96256 +96257 +96258 +96259 +96260 +96261 +96262 +96263 +96264 +96265 +96266 +96267 +96268 +96269 +96270 +96271 +96272 +96273 +96277 +96278 +96279 +96282 +96283 +96290 +96291 +96295 +96297 +96298 +96300 +96301 +96302 +96396 +96398 +96399 +96401 +96402 +96403 +96404 +96405 +96408 +96410 +96411 +96412 +96413 +96414 +96415 +96416 +96417 +96418 +96419 +96420 +96421 +96422 +96423 +96424 +96425 +96426 +96427 +96428 +96431 +96432 +96434 +96435 +96436 +96437 +96438 +96441 +96443 +96444 +96445 +96446 +96447 +96452 +96455 +96456 +96457 +96458 +96459 +96462 +96463 +96464 +96466 +96467 +96468 +96469 +96470 +96476 +96477 +96478 +96479 +96480 +96483 +96485 +96486 +96487 +96488 +96490 +96491 +96493 +96494 +96495 +96497 +96498 +96499 +96500 +96501 +96508 +96556 +96557 +96559 +9657 +9659 +96633 +96634 +96635 +96637 +96639 +96640 +96642 +96669 +96674 +96748 +9675 +96754 +96756 +9676 +9681 +9682 +96860 +96861 +96952 +96958 +96959 +96963 +96971 +96976 +96977 +96980 +96981 +96988 +96989 +97010 +97011 +97026 +97037 +97042 +97052 +9706 +9708 +97080 +97083 +97086 +97094 +97095 +97096 +97097 +97098 +97099 +9710 +97103 +97104 +97105 +97110 +97113 +97118 +97119 +9712 +9713 +9714 +97145 +97245 +97247 +97248 +97271 +97272 +97273 +97274 +97275 +97276 +97277 +97279 +97293 +97294 +97301 +97310 +97318 +97321 +97322 +97332 +97334 +97335 +97337 +97339 +9734 +97347 +97411 +97412 +97413 +97414 +97415 +97416 +97417 +97418 +97419 +97420 +97421 +97422 +97423 +97424 +97425 +97426 +97427 +97428 +97429 +97430 +97431 +97432 +97433 +97434 +97435 +97436 +97437 +97438 +97439 +97440 +97441 +97442 +97443 +97444 +97445 +97446 +97447 +97448 +97449 +97450 +97451 +97452 +97453 +97454 +97455 +97456 +97457 +97458 +97459 +97460 +97461 +97462 +97463 +97464 +97465 +97466 +97467 +97468 +97469 +97470 +97471 +97472 +97473 +97537 +97538 +97539 +97540 +97541 +97542 +97543 +97551 +97552 +97553 +97554 +97558 +97559 +97560 +97561 +97562 +97563 +97564 +97565 +97566 +97567 +97568 +97569 +97570 +9760 +9761 +97618 +97623 +97628 +97634 +97636 +97639 +9764 +97640 +97665 +97666 +97667 +97668 +97670 +97671 +97673 +97690 +97691 +97692 +97694 +97695 +97697 +97698 +97699 +97700 +97706 +97707 +97708 +97713 +97714 +97715 +97716 +97717 +97718 +97719 +97720 +97721 +97722 +97723 +97724 +97725 +97726 +97727 +97728 +97729 +9773 +97730 +97731 +97732 +97733 +97734 +97735 +97736 +97737 +97738 +97739 +97740 +97741 +97742 +97743 +97744 +97745 +97746 +97747 +97819 +9782 +97821 +97827 +9783 +97831 +9784 +9785 +9786 +97862 +9787 +9788 +9789 +9790 +9792 +9793 +9794 +9795 +979594 +9796 +9797 +9798 +979852 +979853 +979854 +97988 +9799 +979928 +979929 +979930 +979931 +979950 +979952 +979953 +979954 +979960 +9800 +9801 +9803 +980343 +980344 +980345 +980346 +980347 +980399 +980541 +9806 +9807 +980712 +980768 +980785 +981362 +981373 +981374 +981375 +982125 +982126 +982129 +982131 +98228 +98277 +98280 +98281 +98282 +98283 +98284 +98285 +98286 +98287 +98288 +98289 +9829 +98290 +98291 +98292 +98293 +98294 +98295 +98296 +98297 +98298 +98299 +9830 +98300 +98301 +98302 +98303 +98304 +98305 +98306 +98307 +98308 +98309 +98340 +98346 +98349 +98350 +98351 +98352 +98353 +98354 +98355 +98356 +98357 +98367 +98368 +98369 +98370 +9839 +9843 +9845 +98484 +98490 +98491 +98492 +9850 +98502 +98503 +98507 +98510 +9852 +9853 +9855 +9857 +98575 +98576 +98577 +98579 +9858 +98580 +98583 +98584 +98585 +98587 +98588 +9859 +98590 +98591 +98592 +98594 +98595 +98596 +98597 +98598 +98599 +98601 +98602 +98604 +98605 +98607 +98608 +98609 +98610 +98611 +98613 +98614 +98615 +98616 +98617 +98619 +98620 +98621 +98622 +98623 +98624 +98626 +98628 +98629 +98630 +98631 +98650 +98651 +98652 +98653 +98654 +98655 +98656 +98667 +98668 +98669 +98670 +98757 +98779 +9878 +98780 +98787 +9879 +98791 +98793 +98796 +9880 +9881 +98812 +9882 +98822 +98825 +98830 +98833 +98838 +98841 +98850 +98858 +98859 +98862 +98865 +98872 +98873 +98874 +98885 +98896 +98899 +98904 +989074 +989075 +989076 +989077 +989078 +989079 +98908 +9894 +9895 +98955 +989589 +989692 +989940 +99009 +990097 +990098 +99012 +99016 +99017 +99018 +99019 +99020 +990233 +990234 +99024 +990242 +990243 +99026 +99027 +99029 +99034 +99035 +99036 +99037 +99038 +99039 +99041 +99042 +99043 +99044 +99050 +99051 +99053 +990628 +990629 +990636 +990637 +990638 +990639 +990640 +990641 +990642 +990643 +990644 +990662 +99081 +99097 +991026 +991027 +991031 +991032 +991033 +991034 +991036 +991037 +991040 +991041 +991042 +991043 +991044 +991045 +99106 +99109 +99111 +99135 +99155 +99160 +99162 +99169 +99177 +99261 +992630 +993437 +993438 +993439 +993440 +993441 +993442 +993443 +993444 +99346 +99347 +993480 +993481 +993484 +993485 +993488 +993489 +993492 +993493 +993496 +993499 +993502 +993503 +993506 +993507 +993508 +993509 +993510 +993511 +993512 +993513 +993541 +993697 +993721 +993734 +993750 +993751 +993752 +993753 +993833 +993834 +99384 +99419 +99420 +99434 +99438 +99451 +99452 +99454 +99455 +99456 +99457 +99470 +99472 +99488 +99500 +99502 +99526 +99530 +99532 +995464 +995465 +995466 +995467 +995477 +995478 +995479 +99550 +99551 +995512 +995569 +995570 +995571 +995572 +995573 +995574 +995575 +995576 +995583 +995585 +995586 +995611 +995612 +995613 +995614 +995616 +995619 +995620 +995621 +995624 +995625 +995626 +995629 +995630 +995633 +995634 +995635 +995638 +995639 +995640 +995642 +995643 +995644 +995645 +995646 +995647 +995648 +995658 +995662 +995729 +995730 +995731 +995770 +995774 +995775 +995776 +995777 +995823 +995824 +995825 +995826 +995827 +995828 +995829 +995830 +995831 +995832 +995833 +995848 +995940 +995941 +995942 +995943 +995944 +995951 +995968 +995972 +995973 +995974 +995975 +995976 +995977 +995978 +995979 +99598 +995980 +995981 +995982 +995983 +995984 +995985 +995986 +995987 +995988 +995989 +99599 +995990 +995992 +995993 +995994 +995997 +995998 +995999 +996000 +996001 +996002 +996003 +996004 +996006 +996007 +996008 +996009 +99601 +996010 +996011 +996012 +996013 +996014 +996015 +996016 +996017 +996018 +996019 +996020 +996021 +996022 +996023 +996025 +996026 +996027 +996028 +996029 +996030 +996031 +996032 +99606 +99613 +99614 +99615 +996154 +996176 +996185 +996291 +996312 +996343 +996497 +996499 +996500 +996502 +996779 +996780 +996781 +996785 +996786 +996787 +996790 +996791 +996792 +996795 +996796 +996797 +996806 +996807 +996808 +996809 +996810 +996812 +996834 +996835 +996836 +996839 +996991 +996996 +996997 +997000 +997001 +997004 +997005 +997008 +997009 +997014 +997015 +997016 +997020 +997021 +997066 +997067 +997068 +997069 +997070 +997071 +997072 +997073 +997074 +997075 +997076 +997077 +997081 +997083 +997123 +997180 +997247 +997256 +997257 +997261 +997262 +997266 +997267 +997271 +997272 +997275 +997276 +997278 +997279 +997288 +997289 +997290 +997291 +997292 +997293 +997294 +997295 +997306 +997324 +997346 +997347 +997348 +997349 +997376 +997380 +997381 +997382 +997408 +997409 +997434 +997435 +997436 +997446 +997447 +997448 +997449 +997450 +997451 +997452 +997453 +997488 +997489 +997490 +997491 +997492 +997493 +997494 +997495 +997496 +997497 +997547 +997548 +997551 +997553 +997557 +997558 +997561 +997562 +997580 +997583 +997602 +997673 +997707 +997708 +997709 +997711 +997713 +997715 +997716 +997717 +997720 +997721 +997722 +997725 +997726 +997727 +997730 +997731 +997732 +997735 +997736 +997737 +997740 +997763 +997804 +997849 +997899 +997900 +997901 +997904 +997905 +997906 +997907 +997909 +997915 +997916 +997917 +997918 +997919 +997920 +997924 +997934 +997935 +997936 +997937 +997938 +997939 +997940 +997942 +997943 +997944 +997945 +997946 +997947 +997948 +997966 +997968 +997972 +997973 +997974 +997975 +997978 +997985 +997986 +997987 +997988 +997990 +997991 +997994 +997995 +997996 +997999 +998000 +998001 +998004 +998005 +998006 +998009 +998010 +998011 +998015 +998016 +998017 +998020 +998021 +998023 +998024 +998025 +998028 +998029 +998030 +998033 +998034 +998037 +998038 +998039 +998042 +998045 +998046 +998047 +998203 +998204 +998205 +998207 +998208 +998209 +998211 +998212 +998214 +998215 +998216 +998217 +998219 +998220 +998221 +998223 +998224 +998225 +998227 +998228 +998289 +998291 +998297 +998298 +998299 +998301 +998302 +998303 +998310 +998311 +998312 +998313 +998314 +998315 +998326 +998327 +998361 +998362 +998363 +998364 +998365 +998366 +998367 +998368 +998369 +998370 +998371 +998372 +998373 +998374 +998375 +998376 +998377 +998378 +998379 +998380 +998381 +998382 +998383 +998384 +998385 +998386 +998387 +998388 +998389 +998390 +998391 +998392 +998393 +998394 +998396 +998398 +998399 +998401 +998402 +998404 +998406 +998407 +998409 +998411 +998462 +998472 +998521 +998522 +998523 +998524 +998525 +998526 +998534 +998535 +998536 +998547 +998548 +998564 +998566 +998567 +998568 +998569 +998570 +998571 +998572 +998573 +998748 +998843 +998844 +998845 +998851 +998878 +998894 +998895 +998896 +998897 +998898 +998900 +998914 +998923 +998924 +998925 +998926 +998930 +998948 +998951 +998952 +998953 +998957 +998958 +998961 +998962 +998963 +998966 +998969 +998970 +998974 +998975 +998976 +998977 +998978 +998979 +998980 +998981 +999228 +999285 +999310 +999762 +999763 +999766 +999768 +999769 +999771 +999778 +999779 +999786 +999787 +999800 +999802 +999803 +999804 +999805 +999806 +999807 +999808 +999809 +999810 +999811 +999835 +999861 +999865 +999924 +999956 \ No newline at end of file diff --git a/Refresh.GameServer/Resources/lbpv.txt b/Refresh.GameServer/Resources/lbpv.txt new file mode 100644 index 00000000..b5a26c63 --- /dev/null +++ b/Refresh.GameServer/Resources/lbpv.txt @@ -0,0 +1,13006 @@ +1310800 +1310799 +65645 +65644 +131282 +131285 +1179916 +1179917 +65852 +1179970 +1179973 +1180000 +1245624 +131567 +1114675 +1114665 +1180262 +1180264 +1049232 +66176 +1049233 +1049236 +1049237 +1049238 +1049239 +1049240 +1245851 +1049241 +1049242 +1049243 +1049244 +1049245 +1049246 +1049247 +1049217 +1049218 +1049219 +1049220 +1049221 +1049223 +1049224 +1049225 +1049226 +1049227 +1049229 +1049230 +1049231 +1245887 +1049248 +1049249 +1049250 +1049251 +1049252 +1049254 +1049255 +1049256 +1049258 +1049259 +1049354 +131895 +1246028 +1311636 +1311647 +1311652 +1311649 +1311650 +1311651 +1049651 +1049653 +132145 +1180710 +1180714 +1049642 +1180712 +1049644 +1049645 +1049646 +1180752 +1180748 +66659 +1246325 +1311842 +1311843 +1246356 +132243 +1246344 +66721 +1049776 +1311925 +1049780 +1049781 +1049783 +1049784 +1049785 +1049787 +1049788 +1049789 +1049791 +66737 +1049765 +1049766 +1049767 +1049769 +1049775 +1049815 +1049816 +1049820 +1049821 +1049822 +1049792 +1049796 +1049797 +1049799 +1049800 +1049801 +1049825 +1049826 +1049827 +1311980 +1311981 +1311982 +1049875 +1049876 +1049877 +1049878 +1049880 +1049881 +1049882 +1049884 +1049885 +1049886 +1312002 +132373 +1049870 +1049904 +1049906 +1049907 +1049888 +1049889 +1049890 +1049891 +1049896 +1049899 +1049900 +1049901 +1049902 +1377634 +1312164 +1312163 +1508837 +67095 +67094 +67097 +1246731 +67096 +67098 +1564 +67100 +67127 +67126 +67128 +1377877 +1377876 +1377879 +1377878 +1377873 +1377872 +1377875 +1377874 +1377885 +1377884 +1377887 +1377886 +1377881 +1377880 +1377883 +1377882 +1181254 +1181252 +1377869 +1181256 +1377871 +1377870 +1631 +1377909 +1377908 +1377911 +1377910 +1377905 +1377904 +1377907 +1377906 +1377917 +1377916 +1377919 +1377918 +1377913 +1377912 +1377915 +1647 +1377914 +1377893 +1377892 +1377895 +1377894 +1377889 +1377888 +1377891 +1377890 +1377901 +1377900 +1377903 +1377902 +1377897 +1377896 +1377899 +1377898 +1668 +1377937 +1377936 +1670 +1671 +1672 +1673 +1674 +1677 +1678 +1679 +1680 +1377925 +1681 +1377924 +1682 +1377927 +1377926 +1684 +1377921 +1377920 +1686 +1377923 +1377922 +1377933 +1377932 +1377935 +1377934 +1377929 +1377928 +1377931 +1377930 +67247 +1712 +1714 +1720 +1721 +1726 +1050321 +1731 +1050324 +1050325 +1734 +1050326 +1050331 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1050313 +1756 +1050316 +1050317 +1050318 +1050319 +1766 +1378020 +1378017 +1378093 +1378088 +1247095 +1247094 +1247092 +1247096 +1443731 +1247134 +1247133 +1247132 +1050499 +1050500 +1050505 +1952 +1050544 +1050545 +1247153 +1247138 +1247137 +1247142 +1247141 +1050537 +1247146 +1050538 +1247145 +1050539 +1247144 +1050541 +1050542 +1050543 +1050577 +67523 +1050578 +67522 +1050579 +67525 +67524 +1050581 +1050582 +67526 +1050583 +1050584 +133067 +1050586 +1050587 +1050589 +1050590 +1050560 +1050561 +1050562 +1050563 +1247175 +1050565 +1050566 +1247173 +1050567 +1247172 +1050569 +1050571 +1050573 +1050574 +1050575 +1050608 +1050609 +1050611 +1050612 +1050613 +1050614 +1050616 +1050617 +1050618 +1050619 +1050621 +1050622 +1050593 +1050594 +1050597 +1050598 +1050600 +1050602 +1050603 +1247215 +1050605 +1050607 +1050641 +1050642 +1050643 +1050644 +1050646 +1050647 +67593 +1050649 +1050650 +2059 +1050651 +1247256 +1050653 +1050654 +1050627 +1312770 +1050634 +1050635 +1050637 +1050638 +1050639 +67616 +1050673 +1050674 +1050675 +1050677 +1050678 +1050682 +1050683 +1050687 +1050663 +1050664 +1050665 +1050666 +1050668 +1050669 +1050670 +1050671 +1050708 +1050709 +1050710 +1050711 +1050712 +1050713 +1050714 +1050715 +1050716 +1050718 +2127 +1050719 +1050688 +1050695 +1050696 +1050697 +1050699 +1050700 +1050736 +1050737 +1050740 +1050741 +1050742 +1050743 +1050720 +1050721 +1050722 +1050723 +1050724 +1050725 +1050726 +1050727 +1050728 +1050730 +1050731 +67709 +67708 +67711 +67710 +1050735 +1050768 +1050769 +2178 +2179 +67714 +2181 +1050777 +1050778 +2187 +2188 +1050752 +1050753 +1050754 +2203 +1050766 +1050767 +1050814 +1050815 +1050791 +1050792 +1050795 +1050796 +1050832 +1050834 +1247441 +1050835 +1050836 +1050837 +1050838 +1050840 +1050841 +1050843 +1050844 +1050846 +1050847 +1050816 +1050818 +1050819 +67796 +67799 +67801 +1050824 +67800 +1050825 +67803 +1050826 +67802 +1050827 +67805 +1050829 +1050830 +1050831 +67809 +67808 +67811 +67810 +1050867 +67813 +1050868 +67812 +67815 +67817 +67816 +1050873 +67819 +67818 +67821 +1050876 +67820 +67823 +1050878 +1050879 +67825 +67824 +67826 +1050851 +1050852 +1050853 +1050854 +1050857 +1050858 +1050860 +1050896 +1050897 +1050898 +1050899 +1050901 +1050903 +1050904 +1050905 +1050907 +1050909 +1050910 +1050911 +1050880 +1050881 +1050887 +1050888 +1050889 +1050892 +1050894 +1247536 +1247541 +2344 +2345 +1050943 +2356 +198966 +198965 +1050918 +198964 +1050919 +1050920 +2361 +1050921 +1247535 +1050960 +1050963 +1050964 +1050965 +1050966 +1050967 +1050968 +1050969 +2379 +1050973 +1050944 +1050945 +1050946 +1050948 +1050949 +1050950 +1050951 +1050954 +1050955 +1050956 +1050957 +1050959 +1050999 +1051000 +1051001 +1051004 +1051005 +2421 +2444 +1051009 +1444262 +1444263 +1444260 +1444261 +1444259 +1444270 +1444271 +1444268 +1444269 +1444266 +1444267 +1444264 +1444265 +1444310 +1444311 +1444308 +1444309 +1444306 +1444307 +1444304 +1444305 +1444312 +1444313 +1444294 +1444295 +1444292 +1444293 +1444290 +1444291 +1444302 +1444303 +1444300 +1444301 +1444298 +1444299 +1444296 +1444297 +68078 +2587 +2603 +2604 +1051180 +1182291 +1051218 +1182289 +1051223 +1182293 +1051224 +1182298 +1051225 +1051226 +1182296 +1051229 +1182300 +2646 +2647 +1182282 +1182286 +1182284 +1247859 +1051254 +1051260 +1051261 +1051262 +1051263 +1051240 +1051242 +1051243 +1444459 +68238 +1051264 +1051265 +1051266 +1051267 +1051268 +1051269 +1051270 +1051271 +1051272 +1247912 +1247918 +1247917 +2757 +1247957 +1116891 +1116892 +68302 +68316 +68398 +1051480 +1051482 +1051484 +1051485 +1051486 +1051487 +68437 +1051504 +1051505 +1051506 +1051507 +1051508 +1051509 +1051510 +1051511 +1051512 +1051488 +1051489 +1051490 +1051491 +1051492 +1051493 +1051494 +1051495 +1051496 +1051497 +1051499 +1051500 +1051501 +1051502 +1051503 +1248143 +68511 +1248176 +1248175 +68540 +1248174 +68543 +1248173 +68542 +68545 +1248211 +68547 +68549 +68550 +1051612 +68559 +68558 +68561 +68560 +68562 +1248272 +68654 +1117262 +1051775 +1051792 +68736 +1051793 +1051795 +1051802 +1051804 +1051807 +1051776 +1051778 +1051779 +1051782 +1051783 +1051784 +1051785 +1051786 +1051787 +1051788 +1051789 +1051790 +1051791 +68774 +1248441 +3283 +1248448 +3287 +1117427 +1117429 +1117431 +1117434 +1051873 +1051874 +1051875 +1051876 +3324 +1051920 +1051923 +1051925 +1051918 +1051954 +1051955 +1051957 +1051960 +1051961 +1051940 +1051941 +1051942 +1051944 +1117481 +1051945 +1051947 +1051948 +1051949 +1051984 +1051985 +1051986 +1051987 +1051990 +1051991 +1051992 +1248603 +1051993 +1051994 +1051995 +1051996 +68947 +1051981 +1051982 +1051983 +1117584 +1117580 +1248653 +1052081 +1248690 +1052082 +1248689 +1052083 +1248688 +1052084 +1248695 +1052085 +1052088 +1052089 +1248698 +1248696 +1052095 +1052075 +1052076 +1052096 +3545 +3564 +3565 +3587 +1052190 +1052163 +1052174 +1052192 +1052195 +1510993 +1510992 +3694 +1052287 +1117800 +1052304 +1052305 +1117840 +1052306 +1117846 +1052312 +1052313 +1052314 +1052315 +1117850 +1052316 +1117853 +1052317 +1052318 +1117855 +1052319 +1052288 +1052289 +1052290 +3731 +1052291 +1052292 +1052293 +1052294 +1052296 +1052297 +1052298 +1052299 +1117834 +1052300 +1052301 +1052302 +1052303 +1117838 +3744 +1117880 +1052320 +1052321 +3764 +3766 +3768 +3769 +1117870 +1117905 +1117907 +1117911 +1117899 +1117902 +1380151 +69427 +69426 +1380143 +69442 +1052533 +1052535 +1052542 +1052597 +1052599 +1052600 +1052578 +1052626 +1052634 +1249247 +1052637 +1249246 +1052638 +1249245 +1052616 +1249266 +1249265 +1249264 +1249271 +1249270 +1249269 +1052663 +1249268 +1052664 +1249275 +1052665 +1249274 +1052666 +1249273 +1052667 +1249272 +1052668 +1052669 +1249278 +1052670 +1249277 +1249276 +1052640 +1249251 +1249250 +1052642 +1249249 +1249248 +1052644 +1249255 +1249254 +1052646 +1249253 +1249252 +1052648 +1249259 +1249258 +1052650 +1249257 +1249256 +1249263 +1249262 +69631 +1249261 +1249260 +1249299 +1249298 +1249303 +1249302 +1249301 +1249300 +1249305 +1249304 +1249283 +1249282 +1249281 +1249280 +1249287 +1249286 +1249284 +1249291 +1249290 +1249289 +4123 +1249288 +1249295 +4125 +1249294 +1249293 +1249292 +1052710 +4159 +1249367 +4168 +4169 +4177 +1052745 +1118283 +1249378 +1249381 +1118316 +1052819 +1052820 +1052821 +1052824 +1052826 +1052814 +1052815 +1052849 +1052853 +1052855 +1052857 +1052835 +1052837 +1052839 +1052841 +1052843 +1052845 +1052847 +1052875 +1052877 +1052879 +1053077 +1053061 +1053092 +1053093 +1053098 +1053099 +1249751 +1053122 +1053124 +1053127 +1053131 +1053178 +1053180 +1053205 +1053209 +1053186 +1118723 +1249846 +1249855 +1249854 +1053216 +1053222 +1053227 +1053266 +1053277 +1053249 +1249860 +1053259 +1053298 +1053295 +1053329 +1053330 +1053331 +1053337 +1053317 +1053319 +1053321 +1053325 +1053360 +1053362 +1053364 +1053366 +1053367 +4800 +70341 +70343 +70342 +70344 +1250020 +1250030 +4869 +4870 +1053463 +1053464 +1053465 +1053466 +1053467 +1053468 +1053449 +1053529 +1053534 +1053535 +1053567 +1053536 +1381269 +1381271 +1381272 +1053568 +1053569 +1053606 +1053608 +1053610 +1053613 +5065 +1053730 +1053732 +1053734 +1184814 +1184815 +1053791 +1053769 +1184944 +1053863 +1053865 +1053867 +1053870 +201926 +1381593 +1381581 +1381580 +1381715 +1381723 +5551 +5552 +71099 +71101 +71100 +71103 +71102 +1054168 +1054146 +1054153 +1054157 +1316350 +1316351 +1054206 +1054179 +1316356 +1316352 +1316353 +1316354 +1316355 +1054263 +5682 +1316444 +1316447 +1316440 +1054301 +1316441 +1054303 +1316443 +1316422 +1316428 +1054283 +1316426 +1316427 +1316469 +1316470 +1316471 +1316464 +1316467 +1054328 +1316472 +1054304 +1054305 +1054306 +1054307 +1054308 +1316448 +1054309 +1316449 +1316450 +1316460 +1316463 +1316459 +1054365 +1316484 +1316485 +1316486 +1316480 +1316481 +1316489 +1316491 +1054368 +1054369 +1316560 +1316557 +71399 +71398 +71400 +5869 +5870 +1054441 +1185555 +1185570 +1185569 +1185579 +1316655 +1054508 +1185583 +1054549 +1054550 +1054551 +1054552 +1054555 +1054536 +1054541 +1251226 +1251228 +1251201 +1316738 +1316739 +1185714 +1120184 +1316829 +1054689 +1054693 +1054740 +1185852 +1316956 +1316965 +1251425 +1316967 +1316963 +1316974 +1316969 +1316971 +1251483 +1054928 +1186014 +1317062 +1317090 +1186055 +1055094 +1055099 +1055076 +203195 +203194 +203193 +203192 +1317288 +1317334 +1251778 +1251780 +1186274 +1186272 +1055210 +1251923 +1186390 +1186392 +1186396 +1514103 +1514102 +1514101 +1514100 +1514099 +1186411 +1186612 +1186613 +1186642 +1186646 +1186644 +1121117 +1121283 +1121346 +1055860 +1645753 +1645752 +1645755 +1645754 +1645757 +1645756 +1645759 +1645758 +1645745 +1645744 +1645747 +1645746 +1645749 +1645748 +1645751 +1645750 +1645739 +1645741 +1645740 +1645743 +1645742 +1645776 +1645769 +1645768 +1645771 +1645770 +1645773 +1645772 +1645775 +1645774 +1645761 +1645760 +1645763 +1645762 +1645765 +1645764 +1645767 +1645766 +1187128 +1514813 +1514812 +1514811 +1318260 +1318261 +1318262 +1318257 +1318258 +1318268 +1318269 +1318270 +1318265 +73083 +73082 +73085 +73087 +73086 +1318292 +73088 +1318294 +1318295 +1318289 +1318290 +1318291 +1318296 +1318297 +1318278 +1318279 +1318273 +1318274 +1252740 +1318275 +1252745 +73117 +1318280 +1318281 +1318324 +1318325 +1318321 +1318322 +138661 +1318323 +1187257 +1187262 +1187261 +1056163 +1318318 +1318312 +1318313 +1318340 +73247 +204338 +1252906 +1056329 +1187440 +1187439 +1187474 +1187475 +1187473 +1187481 +1187498 +1187503 +1187500 +138982 +138983 +138980 +138981 +138990 +138991 +138988 +138989 +1318678 +1318679 +1318661 +1318665 +1318666 +1318667 +1318718 +1318719 +1318692 +1318693 +1318688 +1318690 +1318691 +1318741 +1318742 +1318736 +1318737 +1318724 +1318725 +1318721 +1318733 +1384349 +1318832 +1318833 +1318834 +1318835 +8113 +8114 +1318831 +1187797 +1318849 +8166 +1056786 +1056789 +1318960 +8233 +8234 +1318948 +1384485 +1318951 +1318945 +1318946 +1318957 +1318959 +1318953 +1318955 +1319029 +8434 +8437 +8462 +8473 +74031 +74030 +74033 +74032 +74035 +74034 +74036 +1712419 +1712422 +1712420 +1712421 +8647 +8659 +1122870 +1122982 +74451 +74450 +74452 +1057709 +1319877 +9208 +1057816 +1319974 +1319975 +1647737 +1647736 +1647739 +1647738 +1647740 +1647742 +1647729 +1647728 +1647730 +1647733 +1647732 +1647734 +1320087 +1320081 +1320082 +1320083 +1320092 +1320088 +1320090 +1320091 +1123459 +1647757 +1647759 +1647758 +1320076 +1647745 +1320077 +1320078 +1647747 +1647746 +1647749 +1647748 +1320116 +1320117 +1320118 +1320112 +1320113 +1320124 +1320121 +1320122 +1320123 +1320100 +1320101 +1320111 +1320132 +1320133 +1320134 +1320131 +1320139 +9465 +9467 +9468 +1320208 +140591 +1320228 +1320229 +140592 +1320226 +1123622 +1320227 +1123734 +1123713 +1123712 +1123715 +1123714 +1123716 +1123719 +1123721 +1123720 +1123722 +1648088 +1648087 +1648086 +1254904 +1254911 +1254931 +1254928 +1254935 +1648157 +1254933 +1648159 +1123868 +1254940 +1254915 +1385989 +1254912 +1254918 +1385997 +1254922 +1254920 +1385998 +1254926 +140829 +1254924 +1254961 +1254960 +1123895 +1123897 +1123899 +1123901 +1254949 +1254948 +1123881 +1254955 +1254954 +1123882 +1254952 +1123884 +1254958 +1320489 +1254957 +1254956 +75333 +75334 +9801 +1648246 +9879 +9881 +9882 +1058541 +1058543 +10033 +1386324 +1058646 +1058647 +1386322 +1058648 +1058649 +1058650 +1058651 +1058652 +1058653 +1058654 +1058655 +1058672 +1058673 +1058674 +1058675 +1058676 +1058677 +1058678 +1058679 +1058680 +1058681 +1058656 +1058657 +1058658 +1058659 +1058660 +1058661 +1058662 +1058663 +1058664 +1058665 +1058666 +1058667 +1058668 +1058669 +1058670 +1058671 +10235 +1058851 +1058855 +1058859 +1058863 +75853 +75852 +141396 +141405 +75970 +141510 +141509 +141512 +10456 +76001 +76007 +76006 +76018 +76031 +76036 +76039 +76038 +76041 +76043 +76042 +76055 +76054 +76057 +76056 +1255717 +1255716 +1255720 +1059152 +1059153 +1059154 +1059155 +1059156 +1059157 +1059158 +1124695 +1321308 +1321309 +1124700 +1321306 +1321307 +1059149 +1059150 +1059151 +1321335 +1321328 +1649009 +1649010 +1321336 +1124705 +1321316 +1321319 +76149 +1321312 +1321313 +76150 +1321324 +1321325 +1321326 +1321327 +1648997 +1648996 +1321322 +1124795 +10682 +1321460 +1321461 +1321462 +1321456 +1321457 +1321469 +1321470 +1321465 +1321466 +1321452 +1321453 +10750 +1321450 +1321451 +1321476 +1321477 +10773 +1321473 +1321474 +1321475 +1321485 +1059342 +1321588 +1321589 +1321591 +10852 +10853 +1321586 +1321587 +1321597 +1124987 +1321598 +1321599 +1321592 +1321593 +1124990 +1321580 +1321581 +1321582 +1321583 +1321577 +1321600 +1321601 +1321602 +1059500 +76501 +10965 +1059535 +1059582 +1059604 +1059605 +1059606 +1059607 +1059609 +1059610 +1059611 +1059612 +1059613 +1059614 +1059615 +1190685 +1190707 +1190711 +1190709 +1190719 +1190717 +1059616 +1190689 +1190720 +1059680 +1059681 +1059682 +1059689 +1059738 +1059739 +1059740 +1059716 +1059718 +1059719 +1059720 +76720 +11198 +11200 +1059819 +1059868 +1059854 +11314 +1059921 +1059926 +1059928 +1059931 +1059913 +1191039 +1059966 +1191036 +1191058 +1191059 +1191056 +1191061 +1059971 +1191041 +1191046 +1191044 +1191051 +1191049 +1191053 +1387701 +1387700 +1387702 +1387699 +1191127 +1191130 +1191131 +1191128 +1191129 +1191132 +1387725 +1191153 +1191167 +1191150 +1191148 +1191149 +1191185 +1191178 +1191177 +1191183 +1060151 +1060152 +1060153 +1060154 +11579 +77117 +11581 +1125717 +1125724 +77165 +77166 +77203 +77205 +77207 +77206 +11743 +1322469 +1322512 +1322513 +1322510 +1322511 +1125901 +1257022 +1715802 +1715803 +1715801 +1715806 +1715807 +1715792 +1715793 +1715798 +1715796 +1715797 +1715791 +1715777 +1715834 +1715835 +142944 +1715833 +1715839 +1715818 +1715819 +1715816 +1715817 +1715820 +1715808 +1715809 +1715815 +1715812 +1715813 +1715866 +1715864 +1715865 +1715870 +1715871 +1715859 +1715860 +1715861 +1715850 +1715851 +1715849 +1715840 +1715898 +1715899 +1715897 +1715900 +1715901 +143023 +143024 +1715880 +1715886 +1715874 +1715875 +1715872 +1715878 +1715879 +11966 +1715876 +1715877 +143042 +143043 +143041 +143046 +143047 +143044 +143045 +143050 +143051 +143048 +143049 +143054 +143055 +143052 +143053 +143058 +143059 +143056 +143057 +143062 +143063 +143060 +143061 +143064 +143126 +143127 +1257327 +12201 +143303 +12249 +1257443 +1257442 +1257444 +1257499 +1257498 +1192026 +1192024 +1192028 +1192051 +1192054 +1192053 +1192035 +1192033 +1192039 +1192043 +1192041 +77981 +77989 +77990 +12518 +12519 +78182 +12713 +78268 +1323720 +78597 +78599 +1192914 +1192915 +1192916 +1061853 +144455 +1062038 +1193137 +1258706 +1651928 +1651923 +1651924 +1651927 +1651926 +1193154 +1193155 +1389817 +1389818 +1258729 +1258728 +1193234 +1193232 +1193239 +1193237 +1193241 +1193246 +1193244 +1193227 +1193225 +1193229 +1652025 +1193267 +1652024 +1193265 +1652026 +1193271 +1193269 +1193274 +1193278 +1193279 +1193276 +1652023 +1193248 +1193253 +1193258 +1062188 +1193262 +1062189 +1062190 +1193260 +1193283 +1193281 +1193285 +1652073 +1652072 +1652074 +1062278 +1062279 +1062309 +144872 +1652205 +1652204 +1652206 +1259015 +1324628 +1324629 +1324624 +1324625 +1324636 +1324639 +1324632 +1324635 +1324613 +1324620 +1324623 +1324616 +1193568 +1062502 +1193612 +1324732 +1324733 +1324734 +1324735 +1324731 +1324740 +1324736 +1324737 +1324738 +1324739 +1062775 +1324951 +1062805 +1062810 +1324981 +1324982 +1324983 +1324990 +1324986 +1324987 +1325008 +1325009 +1325010 +1325011 +1325020 +1325022 +1324996 +1324998 +1324999 +1324993 +1324994 +1324995 +1193931 +1325006 +1325007 +1325001 +1325044 +1325040 +1325043 +1325028 +1325030 +1062883 +1325024 +1325026 +1325032 +1325033 +1325034 +1062929 +1062964 +1062965 +1062967 +1062969 +1062971 +1062975 +1325098 +1062995 +1325134 +1325128 +1325129 +1325130 +1325205 +80035 +1325228 +1063112 +1128706 +145684 +145685 +1194328 +1194332 +80249 +1063275 +1194349 +1194385 +80425 +1260069 +80455 +80460 +1129076 +1129078 +1194613 +1129080 +1129085 +1129087 +1129058 +1129062 +1129067 +1129069 +1129071 +1129113 +1129114 +1129116 +1129089 +1129098 +1129101 +1129100 +1129102 +1129139 +1129147 +1129128 +1129132 +1129135 +80602 +80605 +1129208 +1129211 +80638 +1129222 +80704 +1129410 +15318 +1129463 +1063908 +146425 +1063957 +1063992 +1064053 +1064055 +1064033 +1064034 +1064036 +1064038 +1064039 +1064040 +1064041 +1064085 +1064088 +1129606 +1129650 +15524 +1129653 +1195190 +1195168 +1195179 +1195180 +1064231 +1064234 +1064357 +1064360 +15818 +15823 +15824 +15827 +15828 +15831 +15832 +15847 +1392247 +1392249 +1392248 +1195645 +1195678 +1195679 +1195677 +1195698 +1195680 +1195742 +81630 +1326839 +1195746 +1195747 +1195744 +1195750 +1195748 +1195749 +1130271 +1326942 +1195846 +1195876 +1195877 +1195883 +1195922 +1064892 +16399 +1327184 +1327185 +1327186 +1327196 +1327197 +1327192 +1327193 +1327174 +1327175 +1327180 +1327181 +1327176 +1327179 +1327222 +1327223 +147558 +1327228 +1327224 +1327225 +1327226 +1327227 +1327200 +1327239 +1327240 +82091 +82093 +82092 +82095 +82094 +82096 +16570 +1130709 +1130723 +82201 +82200 +82202 +147778 +147779 +147783 +147780 +147781 +147786 +147787 +147784 +147785 +147790 +147791 +147788 +147789 +147792 +1130994 +1130997 +1130999 +1130998 +1327603 +1131001 +1131000 +1131003 +1131002 +1131005 +1131004 +1131009 +1131008 +1131011 +1131010 +1131013 +1131012 +1327628 +16923 +82495 +82494 +82517 +82518 +82521 +82525 +1000042 +1000041 +1000040 +1000039 +17001 +17011 +17015 +82567 +82588 +1327796 +1327797 +1327798 +1327792 +1327793 +1327804 +1327805 +1327806 +1327801 +17083 +1327791 +1327808 +1327809 +1327810 +1327811 +1327877 +1327878 +1327926 +1327932 +1327935 +1131306 +1131308 +1327952 +1327953 +1327954 +1327955 +1327940 +1327941 +82775 +1327938 +1327939 +82777 +1327948 +1327950 +1327951 +1327944 +1327945 +1327988 +1327989 +1131379 +1327984 +1327987 +1327996 +1327982 +1327983 +1328023 +1328017 +1328018 +1328019 +1328028 +1328029 +17290 +1328030 +1131418 +1328024 +1328025 +1328027 +1328004 +1328006 +1328007 +1328000 +1328001 +1328002 +1328012 +1328013 +1328014 +1328015 +1328008 +1328010 +1328052 +1328055 +1131447 +1131446 +1328051 +1131449 +1328061 +1328063 +1131452 +1328057 +1328058 +1328059 +1328036 +1328037 +1328032 +1328033 +1328034 +1131430 +1328035 +1131433 +1131481 +1328064 +1328066 +17370 +1328074 +17390 +17393 +17401 +17408 +1328150 +1328151 +1328156 +1328157 +1328159 +17430 +17506 +17571 +17599 +1131737 +1131736 +17622 +83166 +1328380 +1328383 +1328378 +1328379 +1328404 +1131792 +1328402 +1328403 +1328413 +1328408 +1328409 +1328410 +1328411 +1328388 +1328389 +1328384 +1328385 +1328396 +1328397 +1328392 +1328393 +1328395 +1328436 +1328437 +1328438 +1328439 +1328433 +1328434 +1328440 +1328441 +1328422 +1328423 +1328416 +1328417 +1328419 +1328430 +1328424 +1328425 +1328470 +1328452 +1328453 +1328454 +1328450 +1328451 +1328462 +1328463 +1328456 +1328457 +1328458 +1328459 +1328508 +1328509 +1328510 +1328511 +1328506 +1328484 +1328485 +1328486 +1328492 +1328493 +1328489 +1328490 +1328491 +1328524 +1328700 +1328701 +1328702 +1328699 +17986 +18016 +18023 +1197671 +1197699 +1197776 +1197771 +1197774 +1197775 +1197772 +1197773 +1132312 +1132314 +1132317 +18219 +18221 +18226 +1132322 +1132325 +1328940 +1328941 +1328936 +1328937 +1328938 +1328939 +18282 +18297 +1329045 +1329043 +1329052 +1329053 +1329055 +1329048 +1329049 +1329051 +1197962 +1197960 +1329076 +1329079 +1329075 +1329080 +1329062 +1329063 +1329056 +1329058 +1329065 +1132497 +1132496 +1329092 +1329093 +1329094 +1132485 +1132484 +1132487 +1132486 +1329091 +1132489 +1132488 +1132491 +1132490 +1329103 +1132493 +1132492 +1132495 +1132494 +1329136 +18406 +18408 +18409 +1329126 +1329127 +1329132 +1329134 +1329135 +1329128 +1329131 +1329182 +1329183 +1132593 +1132592 +1132594 +1132597 +1329184 +1132583 +1132587 +1132591 +1132590 +1132620 +1132622 +1132657 +1132658 +18538 +1198205 +1132650 +1132652 +1132655 +18578 +1132687 +1132720 +1329335 +1329328 +1329329 +1329330 +1329336 +1329337 +1132715 +1329327 +1132717 +1132719 +1329364 +1132752 +1329365 +1132755 +1329366 +1329363 +1132764 +1132747 +1132749 +84190 +1132785 +1132786 +1132772 +18691 +1132825 +1329439 +84244 +1198386 +1329444 +1132880 +84301 +84307 +84308 +84311 +1132879 +84331 +84330 +1132945 +1132947 +84359 +84358 +1132941 +1722842 +1133011 +1722840 +1198545 +1722841 +1722846 +1722847 +1722845 +1133003 +1133004 +1722869 +1722859 +1133027 +1722856 +1722857 +1722862 +1722863 +1722860 +1722861 +1722850 +1722851 +1722855 +1722852 +1133069 +1133068 +84515 +1133089 +1133172 +1133184 +1133187 +19131 +1723126 +1723166 +1723167 +19221 +1723194 +1723195 +1723199 +1723196 +1723186 +1723187 +1723184 +1723185 +1723179 +1723176 +1723183 +1723180 +1723181 +1723170 +1723171 +1723174 +1723175 +1723226 +1723224 +1723225 +1723230 +1723231 +1723229 +1723218 +1723219 +1723216 +1723223 +1723220 +1723210 +1723211 +1723209 +1723214 +1723215 +1723200 +1723201 +1723206 +1723204 +1723205 +1723240 +1723241 +1723234 +1723235 +1723233 +1723238 +1723239 +1723236 +1723237 +1133467 +1133455 +19399 +19400 +19402 +19404 +19405 +19406 +19407 +1723482 +1723483 +1723480 +1723481 +1723486 +1723487 +1723484 +1723485 +1723474 +1723475 +1723472 +1723473 +1723478 +1723479 +1723476 +1723477 +1723466 +1723467 +1723464 +1723465 +1723470 +1723471 +1723468 +1723469 +1723458 +1723459 +1723456 +1723457 +1723462 +1723463 +1723460 +1723461 +19563 +1723490 +1723491 +1723488 +1723489 +1723492 +1723493 +1199310 +19677 +1199309 +19697 +19782 +1199491 +150966 +19913 +1723914 +1723915 +1723912 +1723913 +1723916 +1723911 +1199654 +1199653 +1199662 +1199704 +1134154 +1134156 +1134195 +1134194 +1134205 +85615 +1134182 +1134187 +1134188 +1134234 +1134236 +1134239 +20112 +1199835 +1330910 +1330911 +1199838 +1199837 +1330933 +1330929 +1330931 +1330942 +1330943 +1199869 +1330916 +1724143 +1134310 +1330915 +1330927 +1330921 +1330922 +1330961 +1199874 +1330950 +1330951 +1199878 +1199876 +1330946 +1199877 +1330947 +1330958 +1330952 +1330955 +1330996 +85795 +1134387 +1330998 +1134390 +85801 +1331004 +85805 +1331000 +1331002 +85811 +1330984 +1330985 +1330986 +1330987 +1331028 +1724250 +1331029 +1724251 +1134419 +1724248 +1134418 +1724249 +1724254 +1331025 +1724255 +1331026 +1724252 +1331027 +1724253 +1724242 +1724243 +1724240 +1724241 +1724246 +1724247 +1724244 +1724245 +1724234 +1724235 +1724233 +1724238 +1724239 +1724236 +1724237 +1724282 +1724283 +1724280 +1724281 +1724284 +1724274 +1724275 +1724272 +1724273 +1724278 +1724279 +1724276 +1724277 +1724266 +1724267 +1724264 +1724265 +1724270 +1724271 +1724268 +1724269 +1724258 +1724259 +1724256 +1724257 +1724262 +1724263 +1724260 +1724261 +1331095 +1200031 +1200034 +1331108 +1200035 +1200032 +1200033 +1200042 +1200043 +1200041 +1200044 +1200083 +1069013 +1069014 +1069015 +1069016 +1331161 +1331162 +1200074 +1200075 +1200073 +1200079 +1200077 +1331188 +1331184 +1331185 +1331186 +1331187 +1331197 +1331199 +1331172 +1331173 +1331180 +1331176 +1331222 +1134618 +1331224 +1134620 +1331225 +1331226 +1724474 +1724475 +1724472 +1724473 +1724478 +1724479 +1724476 +1724477 +1331260 +1724466 +1331261 +1724467 +1331262 +1724464 +1724465 +1724470 +1331257 +1724471 +1331258 +1724468 +1331259 +1724469 +1331237 +1331238 +1331232 +1724462 +1331233 +1724463 +1331234 +1331235 +1331245 +1331241 +1331243 +1724490 +1724491 +1331270 +1724488 +1724489 +1724492 +1724482 +1724483 +20570 +1724480 +1724481 +1331272 +1724486 +1331273 +1724487 +1724484 +1724485 +1200241 +86147 +86146 +1134741 +1200346 +1134786 +1200327 +1200331 +1200329 +1134799 +1724657 +1724650 +1724651 +1724652 +1724699 +1724700 +1724701 +1724688 +1724689 +1724694 +1724692 +1724693 +1724683 +1724684 +1724685 +1134897 +1724730 +1134896 +1724731 +1134899 +1134898 +1134901 +1134900 +1724735 +1134903 +1134902 +1724733 +1724722 +151851 +1724723 +1134906 +1724721 +1134909 +1134908 +1724727 +1134880 +1724715 +1724712 +1134887 +1724716 +1724717 +1724706 +1724704 +1724705 +1134893 +1724710 +1724711 +1134913 +1134915 +1724744 +1134914 +1134917 +1134919 +1134918 +1331532 +1724738 +1724739 +1724737 +1724743 +1724741 +86395 +1331615 +1331608 +1331609 +1331632 +1331633 +1331634 +1331635 +1135033 +1135035 +1331646 +1135034 +1331647 +1135037 +1135036 +1135039 +1135038 +1724842 +1724843 +1724840 +1724841 +1724846 +1724847 +1331618 +1724844 +1724845 +1331630 +1724832 +1331631 +1724838 +1724839 +1135057 +1331668 +1135056 +1331669 +1135059 +1331670 +1135058 +1331671 +1135061 +1331664 +1135060 +1331665 +1135063 +1135062 +1331667 +1135064 +1331679 +1331672 +1135041 +1331652 +1135040 +1331653 +1135043 +1135042 +1135045 +1331648 +1135044 +1331649 +1135047 +1135046 +1135049 +1135048 +1331661 +1135051 +1135050 +1135053 +1331656 +1135052 +1331657 +1135055 +1331658 +1135054 +1331682 +86526 +1004047 +1004046 +1004045 +1135127 +1135126 +1004060 +1004059 +1004053 +1004050 +1004049 +1004048 +1135145 +1135226 +1135215 +86654 +86663 +86664 +1331891 +1135312 +1725151 +1331984 +1331985 +1331986 +1331973 +1331975 +1331968 +1331969 +1331970 +1331971 +1331981 +1331982 +1331983 +21276 +1331976 +1331977 +1331978 +21279 +1725220 +1004364 +1004359 +1004358 +1004357 +1135603 +1135606 +1135632 +1135634 +1135643 +1135618 +1135620 +1135625 +1135665 +1135667 +1135666 +1135669 +1135668 +1135671 +1135670 +1135672 +1135650 +1135652 +21563 +1135660 +1135684 +1135686 +1135733 +21656 +1135799 +1135798 +1135805 +1135804 +1135807 +1135806 +21686 +21689 +1135831 +1266911 +1135808 +1135811 +1135810 +1135813 +1135820 +1135823 +1266915 +1266914 +1266913 +1266912 +1266916 +21762 +21780 +21819 +1135967 +1201523 +1135999 +1135969 +1135972 +1201552 +21897 +1136005 +1201547 +21919 +1201549 +21920 +1136121 +1136120 +1136123 +1136122 +1136125 +1136124 +1136127 +1136126 +1136097 +1136096 +1201635 +1136099 +1136098 +1136101 +1136100 +1136103 +1201636 +1136102 +1136105 +1136104 +1136107 +22019 +1136129 +1136128 +1136131 +1136130 +1070640 +1070641 +1136181 +1136180 +1070639 +22082 +1136194 +1136197 +22194 +1726156 +1136369 +1136381 +1136383 +1136382 +1136385 +1201978 +1201980 +1201955 +22363 +1136502 +1726320 +1726321 +1726314 +1726315 +1726312 +1726313 +1726318 +1726319 +1726316 +1726317 +22396 +1726310 +1726311 +1726309 +22402 +22403 +22404 +22453 +22477 +22478 +1726408 +1726409 +1726402 +1726403 +1726406 +1726407 +1726404 +1726405 +1202166 +1202167 +1202174 +1202175 +1202172 +22541 +1202178 +1202179 +1202176 +1202177 +1202180 +1202181 +22574 +1136677 +1726552 +1726553 +1136757 +1726590 +1136760 +1333374 +1136764 +1136766 +1136771 +1136770 +1136777 +1333430 +1136800 +1333501 +1333502 +1136921 +1136920 +1333508 +1333509 +1333510 +1333506 +1333517 +1333518 +1202482 +1202483 +1136934 +1136937 +1202479 +1137011 +1137013 +1137012 +1137015 +1137014 +1202549 +1137017 +1137016 +1137019 +1137020 +1137005 +1137041 +1137043 +1202583 +1137048 +1137050 +1137055 +1333644 +1333645 +1333646 +1333647 +1333643 +1137079 +1137081 +1137083 +1333667 +1202602 +1202627 +1333703 +1202634 +1333708 +1333709 +1137098 +1333704 +1333705 +1333706 +1333707 +1726962 +1726960 +1726961 +1726959 +88571 +88572 +1333788 +1333789 +1137204 +1137234 +1137236 +1137239 +1137241 +1137269 +88678 +1137270 +1137273 +1137272 +88686 +1333858 +1202798 +1202797 +1333903 +1334035 +1727274 +1727275 +1727272 +1727273 +1727276 +1071957 +1071946 +1137649 +1137655 +1137683 +1137685 +1137684 +1137687 +1137689 +1137690 +1137692 +1203381 +1203366 +1203371 +1203372 +89353 +89355 +89357 +89361 +89360 +89362 +89365 +89367 +89366 +89368 +89371 +89370 +89373 +89372 +154925 +1203531 +1138035 +1203578 +1203593 +1400244 +1400243 +1400255 +1138114 +1400257 +1400256 +1138152 +1138154 +1269261 +1269260 +1138359 +1138361 +1138360 +1138363 +1138362 +1138365 +1138364 +1138367 +1138366 +1138385 +1138384 +1138387 +1138386 +1138389 +1138388 +1138391 +1138390 +1138392 +1138369 +1138368 +1138371 +1138370 +1138373 +1138372 +1138375 +1138374 +1138377 +1138376 +1138379 +1138378 +1138381 +1138380 +1138383 +1138382 +1138448 +1138453 +1138433 +1072897 +1138432 +1138435 +1138434 +1138437 +1073083 +1073208 +1073210 +1073212 +1073215 +1138721 +1138720 +1073242 +1073244 +1073246 +1073266 +1073271 +1204346 +1073273 +1073276 +1073249 +1073252 +1073259 +1073296 +1073298 +1073299 +1073302 +1138821 +1138824 +1073291 +1073292 +1073295 +1269943 +1269947 +1269946 +1269945 +1269944 +1728686 +1728684 +1728685 +1466612 +1728760 +1466613 +1728761 +1466611 +1466608 +1728754 +1466623 +1466620 +1466621 +1728758 +1466619 +1728759 +1466616 +1466617 +1728757 +1728746 +1728750 +1728751 +1728749 +1728738 +1466607 +1728736 +1728737 +1728742 +1728743 +1728741 +1728794 +1728795 +1073427 +1466642 +1073429 +1466643 +1466640 +1728796 +1466641 +1138969 +1138968 +1073438 +1073439 +1466631 +1073413 +1466639 +1466636 +1073464 +1139002 +1138977 +1139030 +1139061 +1139067 +1139066 +1073504 +1139096 +1073565 +1139103 +1270192 +1073568 +1270179 +1270180 +1139112 +1139117 +1139119 +1270188 +1073648 +1073650 +1073653 +1139188 +1139190 +1073632 +1073635 +1073638 +1073641 +1073680 +1073683 +1073686 +1073688 +1073677 +1270323 +1270322 +1270320 +1270327 +1270326 +1270325 +1270324 +1270331 +1270329 +1270328 +1073725 +1073727 +1073704 +1270315 +1270314 +1270312 +1270319 +1270316 +1073754 +1139312 +1139316 +1139320 +1073788 +1139325 +1139324 +1073790 +1139326 +1139308 +1139345 +1073812 +1073819 +1139332 +1073849 +1073854 +1336005 +90840 +1073909 +1073911 +1073913 +1073918 +1073891 +1073896 +1139476 +1139484 +1073920 +1073922 +1073925 +1074006 +1074008 +1074010 +1074013 +1074015 +90972 +1074019 +1074027 +1074052 +1074054 +1729560 +1729561 +25605 +1729567 +25606 +25607 +1729558 +1729559 +1729556 +1729557 +1729550 +25629 +1729568 +1729569 +156737 +1270903 +1270901 +1270900 +1139932 +1139935 +1205474 +1140056 +1271187 +1140242 +1205787 +1205785 +1205788 +1205789 +1140239 +1730105 +1730110 +1730108 +1730109 +1730098 +1140280 +1730099 +1140283 +1730102 +1730100 +1730094 +1730095 +1730093 +1730139 +1730136 +1730140 +1730141 +1730130 +1730131 +1730129 +1730134 +1730135 +1730120 +1730121 +1730126 +26198 +1730124 +1730125 +1730114 +1730115 +1730113 +1730119 +1730116 +1730170 +1730171 +1336950 +1730172 +1730162 +1730160 +1730161 +1730166 +1730167 +1730165 +1730155 +1730152 +1730156 +1730157 +1730146 +1730144 +1730145 +1730150 +1730151 +1730149 +1730194 +1730195 +1730192 +1730193 +1730196 +1730197 +1730186 +1730187 +1730184 +1730185 +1730190 +1730191 +1730188 +1730189 +1730176 +1730177 +1730182 +1730183 +1730181 +1730232 +1730226 +1730227 +1730228 +1730229 +1730222 +1730223 +1730220 +1730221 +1337053 +1337054 +1337055 +26327 +1271543 +1337062 +1337063 +1337069 +1337071 +1337064 +1337065 +1337067 +1337095 +1337101 +1337102 +1337096 +1337097 +1337098 +26402 +1271635 +1271634 +1271637 +26439 +1271636 +1206115 +1271655 +1271654 +1271653 +1271656 +1337245 +1337246 +1337247 +1140622 +26529 +1337255 +1140651 +1337256 +1140652 +1140692 +1402835 +1337292 +1337293 +1337294 +26589 +26590 +26591 +26592 +26593 +26594 +26595 +26596 +1337328 +1337324 +1337326 +1337320 +1337321 +26622 +1337322 +26623 +26624 +26625 +26626 +26627 +26628 +26629 +1140745 +26651 +1140785 +1140787 +1140803 +1730633 +26713 +26717 +26718 +26738 +1730714 +1730715 +1730712 +1730713 +1730718 +1730719 +1730716 +1730717 +1730707 +1730704 +1730705 +1730710 +1730711 +1730708 +1730709 +1730698 +1730699 +1730703 +1730700 +1403023 +1730746 +1730747 +1730751 +1730731 +1730728 +1730729 +1730734 +1730733 +1730722 +1730723 +1730720 +1730721 +1272015 +1272070 +1272069 +1272068 +1272075 +1272074 +1272073 +1272077 +1272076 +27027 +1272206 +1272205 +92665 +1141275 +1141277 +1141276 +1141278 +1141297 +1141296 +1141299 +1141298 +1272375 +1141300 +1141304 +1272378 +1272377 +1272376 +1141309 +1141311 +1141310 +1141280 +1141285 +1141284 +1141287 +1141286 +1141289 +1141288 +1141291 +1141290 +1141293 +1141292 +1141295 +1141294 +1337940 +1337941 +1337942 +1337943 +1337936 +1337937 +1337938 +1337939 +1337949 +1337951 +1337945 +1337946 +1337947 +1337932 +1337933 +1337934 +1337935 +1337972 +1337973 +1337974 +1337969 +1337970 +1337971 +1337980 +1337981 +1337982 +1337976 +1337977 +27246 +1337978 +1337979 +1337956 +1337957 +1337959 +1337952 +1337953 +1337954 +1337964 +1337965 +1337966 +1337967 +1337960 +1337961 +1337988 +1337984 +1337985 +1337987 +1272490 +27386 +1207065 +27421 +27422 +27429 +1141539 +1141538 +1207083 +1207084 +1207085 +1207271 +1141847 +93357 +93482 +1142215 +1142216 +1273332 +93707 +93709 +93722 +1666747 +1666738 +1142489 +1142492 +1339286 +1142740 +1142745 +1142744 +1142747 +1142746 +1142751 +1142750 +1142753 +1142752 +1142754 +159777 +1142838 +1142908 +1142880 +1142883 +1142912 +1339817 +1143255 +1405427 +1143345 +1143344 +1208886 +1143351 +1143350 +1143352 +1143332 +1143337 +1143336 +1143339 +1143340 +1143343 +1143342 +1733390 +1733389 +1405749 +1405748 +1405751 +1405750 +1405747 +1405746 +1405756 +1405759 +1405758 +1405753 +1405752 +1405755 +1405754 +1405765 +1405764 +1405760 +1405763 +1274698 +1274700 +1274750 +95104 +95111 +1733506 +1733507 +1733504 +1733505 +1733508 +1733509 +1733558 +1733559 +1733557 +1274835 +1733592 +1274839 +1274837 +1733586 +1733587 +1274846 +1733591 +1733588 +1733578 +1733577 +1733583 +1733581 +1274850 +1274848 +1274852 +1733658 +1733659 +1733663 +1733660 +1733648 +1733649 +1733654 +1733655 +1733652 +1733653 +1733642 +1733643 +1143812 +1733647 +1733644 +1733673 +95289 +95288 +95291 +1733664 +95290 +1733665 +95293 +95292 +95295 +95294 +95296 +1733715 +95363 +95365 +95479 +95482 +95486 +1209630 +1209631 +1209634 +1209632 +1209633 +1275258 +1275282 +1275281 +1144195 +1209764 +1275354 +1734090 +1734089 +1209982 +1209980 +1341088 +30482 +30506 +30507 +30508 +1210207 +1210204 +1210205 +1210210 +1210208 +1275754 +1275752 +30648 +1210335 +1210333 +1275923 +1275922 +1275921 +1275924 +1275915 +1275917 +1275916 +30784 +1144913 +1144912 +1144915 +1144914 +1144917 +1144919 +1144918 +1144921 +1144923 +1144922 +1144925 +1144926 +1144909 +1144908 +1144911 +1144910 +1144952 +30897 +1145027 +1145030 +96477 +96476 +30943 +96478 +1145038 +31030 +1276339 +1276338 +1276336 +1276343 +1276341 +1276340 +1276347 +1276346 +1276345 +1276344 +1276351 +1276350 +1276349 +31158 +1276334 +1276333 +1276332 +1276371 +1276370 +1276369 +1276372 +1276379 +1276377 +1669587 +1276376 +1276383 +1276382 +1276380 +1276355 +1276354 +31187 +1276352 +1276359 +1276358 +31191 +1276356 +31192 +1276363 +31193 +1276361 +1276360 +1276367 +1276366 +1276365 +1276364 +1276403 +1276402 +1276401 +1276400 +1276387 +1276386 +1276384 +1276391 +1276390 +1276389 +1276395 +1276394 +1276393 +1276392 +31228 +1276399 +1276398 +1276397 +1276396 +31240 +1210930 +1210931 +1210928 +1210929 +1210934 +1210935 +1210932 +1210933 +1210938 +1210937 +1210941 +31287 +1210922 +1210923 +1210926 +1210927 +1669736 +1211025 +31384 +31385 +31386 +31387 +31391 +1079993 +1276659 +1276658 +1276657 +1276656 +1276660 +31474 +1276703 +1276707 +1276706 +1276705 +1276704 +1276711 +1276710 +1276709 +1276708 +1276712 +1276758 +31565 +31567 +1276791 +1276790 +1276794 +1276793 +1276792 +31600 +31602 +31603 +1735578 +1735579 +1735577 +1735582 +1735583 +1735580 +1735581 +1276831 +1735574 +1276830 +1735575 +1276829 +31631 +31647 +1473470 +1735602 +1473471 +1735603 +1735600 +31659 +1473469 +1735601 +1473466 +1473467 +1473464 +1735604 +1473465 +1735595 +31667 +1276832 +31668 +1276839 +1735598 +1276838 +1735599 +1735596 +1735597 +1276842 +1276841 +1735584 +1276840 +31685 +31694 +1145823 +31695 +1276867 +1276866 +1473476 +1473477 +1276871 +1473474 +1473475 +1473472 +1276868 +1276873 +1276872 +1473482 +1473483 +1473481 +1276899 +1276898 +1276900 +1276959 +1276958 +1276957 +97301 +1276939 +1276938 +1276937 +1276936 +1276942 +1276983 +1276987 +1276986 +1276985 +1276984 +1276991 +1276990 +1276989 +1276988 +1276963 +1211427 +1276962 +1276961 +1276960 +97332 +97335 +97334 +1211429 +1276964 +1473614 +1277115 +1277114 +1277113 +1277112 +1277116 +97465 +1277151 +1277150 +1277171 +1277170 +1277169 +1277168 +1277175 +1277174 +1277173 +1277172 +1277179 +1277178 +1277176 +1277183 +1277181 +1277180 +1277155 +1277154 +1277153 +1277152 +1277159 +1277158 +1277157 +1277156 +1277163 +1277160 +1277167 +1277166 +1277165 +1277164 +1277184 +1277235 +1277234 +1277233 +1277239 +1277238 +1277237 +1277236 +1277271 +1277270 +1277269 +1277275 +1277274 +1277273 +1277272 +1277279 +1277278 +1277277 +1277276 +1277283 +1277282 +1277281 +1277280 +1277287 +1277286 +1277285 +1277284 +1277288 +1146252 +1146273 +97723 +97731 +1277384 +1277426 +1277424 +1277431 +1277429 +1277428 +1277434 +1277433 +1277438 +1277436 +1277410 +1277408 +1277415 +1277413 +1277412 +1277419 +1277417 +1277422 +1277420 +1277443 +1277442 +1277440 +1277445 +1277491 +1277489 +1277494 +1277499 +1277496 +1277503 +1277501 +1080868 +1080871 +1080874 +1277520 +1408607 +1080924 +1080925 +1277558 +1277557 +1080955 +1080957 +1277539 +1277543 +1408609 +1277542 +1408608 +1277541 +1408611 +1277540 +1408610 +1277547 +1277546 +1277545 +1277544 +1277550 +1277549 +1277548 +1277571 +1277570 +1277569 +1277568 +1277577 +1277576 +1736376 +1736377 +1736382 +1146551 +1736380 +1736381 +1212095 +1736375 +1736414 +1736415 +1736413 +1736406 +1736407 +1736405 +1212096 +1212097 +1081030 +1736386 +1736387 +1736385 +1081037 +1343223 +1277685 +1212154 +1212152 +1736432 +1736433 +1081056 +1736424 +1736425 +1736430 +1081061 +1736431 +1081064 +1736418 +1736419 +1736416 +1736417 +1736423 +1736420 +1736421 +1277714 +1277712 +1736479 +1736457 +1277704 +1277710 +1277708 +1081141 +1081144 +1081122 +1081125 +1736482 +1736483 +1081130 +1736480 +1736481 +1081133 +1277776 +1277770 +1277768 +1277774 +1277772 +1277810 +1277808 +1277814 +1277812 +1277818 +1277816 +1277820 +1277798 +1277802 +1277800 +1277806 +1277804 +1277843 +1277841 +1277847 +1212311 +1277845 +1212309 +1146777 +1277851 +1277849 +1277853 +1277829 +1277839 +1277837 +1277875 +1277873 +1277879 +1277877 +1081272 +1277883 +1277881 +1277887 +1277885 +1277859 +1277857 +1277863 +1277862 +1277867 +1277865 +1277871 +1081262 +1277869 +1277906 +1277904 +1277910 +1146839 +1277908 +1277914 +1277912 +1277918 +1277891 +1277889 +1277894 +1277898 +1277896 +1277902 +1277900 +1146872 +1277922 +1277920 +1277924 +1081321 +1146891 +1081400 +1081403 +1081407 +1736795 +1736792 +1736796 +1278042 +1278040 +1278046 +1736791 +1278044 +1736779 +1081410 +1278027 +1081418 +1278066 +1278064 +1278070 +1278068 +1278074 +1278072 +1278076 +1278050 +1278048 +1278054 +1278052 +1278062 +1736804 +1081478 +1081482 +1278131 +1278129 +1278134 +1278138 +1147066 +1278136 +1278143 +1147068 +1278141 +1278119 +1278117 +1278122 +98490 +1278127 +1278124 +1278163 +1278160 +1278165 +1278170 +1278168 +1278175 +1278172 +1278146 +1278151 +1278148 +1278153 +1278158 +1278156 +1278194 +1278192 +1212662 +1212663 +1212660 +1278196 +1278202 +1212664 +1278200 +1278207 +1278204 +1278179 +1278177 +1278182 +1278187 +1278184 +1278189 +1081616 +1278226 +1081620 +1278230 +1278228 +1278235 +1409309 +1278233 +1409310 +1409305 +1278237 +1278211 +1278209 +1278214 +1081607 +1278219 +1278216 +1278223 +1278221 +1278259 +1278258 +1278257 +1278256 +1278263 +1278262 +1278261 +1278260 +1278267 +1278266 +1278265 +1278264 +1278270 +1278269 +1278268 +1278243 +1278241 +1278247 +1278245 +1278251 +1278250 +1278249 +1278248 +1278255 +1278254 +1212716 +1278253 +1147182 +1278252 +1081685 +1081692 +1278302 +1278272 +1212744 +1278322 +1278320 +1081717 +1278325 +1081696 +1278306 +1081699 +1278304 +1278310 +1278308 +1278314 +1278312 +1278318 +1278316 +1081746 +1081731 +1081736 +1147321 +1147323 +1147325 +1278419 +1278417 +1278422 +1147352 +1278426 +1147354 +1278424 +1278430 +1147330 +1278451 +1278448 +1278455 +1278453 +1278458 +1278463 +1278461 +1278434 +1278432 +1278439 +1278437 +1278441 +1278446 +1278444 +1278466 +1278470 +1147399 +1278468 +1278475 +1278473 +1344052 +1278514 +1278519 +1278517 +1344051 +1278522 +1081915 +1278526 +1081918 +1278524 +1081936 +1278545 +1278548 +1278555 +1278552 +1278557 +1278531 +1278529 +1278533 +1278537 +1081933 +1278541 +1081969 +1278578 +1278583 +1278580 +1278589 +1081983 +1278561 +1278567 +1278565 +1081959 +1081962 +1278569 +1081966 +1278608 +1278615 +1278619 +1278622 +1081986 +1278593 +1278598 +1081991 +1278602 +1081994 +1278600 +1278606 +1278604 +1278640 +1278645 +1082041 +1278649 +1278624 +1278631 +1278629 +1278633 +1082029 +1278638 +1278636 +1278673 +1082068 +1278679 +1082070 +1278683 +1278681 +1278659 +1082049 +164560 +1278657 +1278661 +1082059 +1278671 +1278669 +1278706 +1278704 +1278711 +1278709 +1278713 +1278718 +1278716 +1278689 +1278693 +1278699 +1082090 +1278696 +1278701 +1278738 +1278737 +1082134 +1278740 +1082137 +1278746 +1082139 +1278744 +1278750 +1082142 +1278748 +1278723 +1278720 +1278727 +1278725 +1278730 +1082125 +1278734 +1278733 +1278770 +1278777 +1082173 +1278780 +1082145 +1278754 +1278753 +1278763 +1278767 +1278765 +1278803 +1278800 +1278807 +1278805 +1278811 +1082202 +1278809 +1278815 +1082205 +1082176 +1278786 +1278784 +1082180 +1278791 +1278788 +1278793 +1082189 +1278798 +1278796 +1082226 +1278839 +1278837 +1082231 +1278841 +1278846 +1278844 +1278819 +1278817 +1082211 +1147749 +1147748 +1278822 +1082214 +1278824 +1278831 +1082223 +1278828 +1278866 +1278864 +1278871 +1278870 +1278868 +1278874 +1278873 +1278876 +1278851 +1082241 +1278848 +1278855 +1278853 +1278859 +1278857 +1278856 +1082288 +1278899 +1278898 +1278897 +1278896 +1278903 +1278902 +1278901 +1278900 +1278905 +1278904 +1278883 +1278882 +1278880 +1278885 +1278894 +1278892 +1278929 +1278928 +1082329 +1278927 +1082352 +1082336 +1082340 +1082342 +1082343 +1082349 +1147952 +1213495 +1213493 +1213497 +1082452 +1082456 +1082458 +1082484 +1148022 +1082464 +1148051 +1082527 +1082499 +1082502 +1344648 +1344649 +1344650 +1344651 +1082553 +1082556 +1213630 +1213631 +1082528 +1082533 +1279186 +1082580 +99526 +1082585 +1279194 +99530 +1279199 +99532 +1279197 +1279171 +1148096 +1279175 +1082566 +1279173 +1082569 +1082570 +1279183 +1279181 +1213645 +1279218 +1279216 +1279223 +1279227 +1279230 +1279205 +1279210 +1279208 +1279251 +1279248 +1279259 +1279257 +1279262 +1279232 +1279238 +1279243 +1279240 +1279282 +1279287 +1279285 +1279295 +1279292 +1279267 +1279270 +1279275 +34109 +1279315 +1148242 +1279312 +1279317 +1279323 +1148255 +1279325 +34129 +34130 +1279297 +34131 +1279302 +1279307 +1279305 +34146 +1279351 +1279354 +1279356 +1279328 +1279335 +1279333 +1279338 +1279377 +1279387 +1279391 +34190 +1279389 +1279361 +1213825 +1279366 +1279364 +1279375 +1279372 +1082813 +1082796 +1082798 +1279442 +1279444 +1279451 +1279453 +1279431 +1279434 +1279436 +1082864 +1279474 +1082866 +1279472 +1279479 +1279476 +1279483 +1279481 +1279486 +1279456 +1279462 +1279460 +1279467 +1082857 +1279465 +1082859 +1279469 +1082897 +1213968 +1279505 +1279490 +1279488 +1279495 +1279493 +1279497 +1279503 +1213964 +1213965 +1279500 +1279539 +1279538 +1082930 +1279537 +1279536 +1279543 +1279542 +1279541 +1279540 +1279547 +1279546 +1279545 +1279544 +1279551 +1279550 +1279549 +1279548 +1279522 +1279527 +1345058 +1279524 +1345059 +1279529 +1279535 +1279533 +1279571 +1279570 +1279569 +1279568 +1279575 +1279574 +1279573 +1279572 +1279579 +1279578 +1279577 +1279576 +1279583 +1279581 +1279580 +1279555 +1279554 +1279553 +1279552 +1279559 +1279558 +1279557 +1279556 +1279563 +1279562 +1279561 +1279560 +1279567 +1279566 +1279565 +1279564 +1279603 +1082993 +1279602 +1279601 +1279600 +1279607 +1279606 +1082998 +1279605 +1279604 +1279611 +1279610 +1279609 +1279608 +1279615 +1279614 +1279613 +1279612 +1279587 +1279586 +1279585 +1279584 +1279591 +1279590 +1279589 +1279588 +1082984 +1279595 +1279594 +1279593 +1279592 +1279599 +1279598 +1082990 +1279597 +1082991 +1279596 +1279635 +1279634 +1279633 +1279632 +1279639 +1279638 +1279637 +1279636 +1279643 +1279642 +1279641 +1279640 +1279647 +1279646 +1279645 +1279644 +1279619 +1279618 +1279617 +1279616 +1279623 +1279622 +1279621 +1279620 +1279627 +1279626 +1279625 +1279624 +1279631 +1279630 +34462 +1279629 +1279628 +34464 +1279651 +1279650 +1279649 +1279648 +1083108 +1083110 +1083153 +1083156 +1083166 +1410821 +1410820 +1410823 +1410822 +1410819 +1410818 +1083186 +1083170 +1083183 +1214290 +1279825 +1279824 +1214294 +1279831 +1214299 +1214302 +1279838 +1214300 +1214301 +1083200 +1083203 +1279822 +1279859 +1279857 +1279856 +1279866 +1279871 +1214307 +1279840 +1279847 +1279846 +1279845 +1279849 +1279852 +1279889 +1279893 +1279899 +1279898 +1083290 +1279897 +1279903 +1279902 +1279901 +1279900 +1279875 +1279873 +1279878 +1279881 +1279884 +1148855 +1148854 +1279907 +1279906 +1279905 +1279904 +1279911 +1279910 +1279909 +1279908 +1279915 +1279914 +1279913 +1279912 +1279916 +1279955 +1279954 +1279953 +1279952 +1279959 +1279958 +1279957 +1279956 +1214427 +1279962 +1279960 +1279965 +1279951 +1279950 +1279949 +1083385 +1148920 +1083361 +1083363 +1083366 +1083409 +1083412 +1083416 +1214467 +1148935 +1214468 +1214469 +1148937 +1148939 +1083404 +1083407 +1083447 +1149009 +1280083 +1280081 +1280080 +1149014 +1149016 +1280093 +1280079 +1083493 +1083499 +1083536 +1083529 +1280179 +1280177 +1280183 +1280181 +1280187 +1280185 +1280191 +1280189 +1280167 +1280165 +1280171 +1280169 +1280175 +1280173 +1280211 +1280208 +1280214 +1280218 +1280216 +1280223 +100561 +1280195 +100560 +1280193 +1280197 +1280206 +1280246 +1280244 +1280249 +1280254 +1280227 +1280231 +1280229 +1280234 +1280238 +1280236 +1280256 +1280262 +1280267 +1280266 +1280265 +1280264 +1280270 +1280269 +1280268 +1280307 +1280306 +1280305 +1280304 +1280310 +1280309 +1280308 +1280303 +1280302 +1280301 +1280300 +1149265 +1083729 +1149264 +1149267 +1083731 +1214806 +1149268 +1214807 +1214810 +1214808 +1214809 +1280350 +1149261 +1149260 +1149263 +1083727 +1149262 +1280371 +1280369 +1280372 +1280383 +1280381 +1280354 +1280352 +1280358 +1280356 +1280363 +1280360 +1280366 +1280407 +1280405 +1280410 +1280414 +1280386 +1280391 +1280389 +1280394 +1280399 +1280396 +1280435 +1280434 +1280433 +1280432 +1280419 +1280418 +1280416 +1280423 +1280422 +1280421 +1280420 +1280427 +1280426 +1280425 +1280424 +1280431 +1280430 +1280429 +1280428 +1083857 +1280470 +1280475 +1280472 +1280478 +1214941 +1149378 +1083852 +1280498 +1280501 +1280506 +1083898 +1280504 +1083900 +1280511 +1280508 +1280482 +1280487 +1083878 +1280484 +1280491 +1280489 +1280495 +1280493 +1280531 +1280528 +1280534 +1280539 +1280537 +1280541 +1280513 +1280519 +1280516 +1280523 +1280521 +1280526 +1280567 +1280566 +1280571 +1280570 +1280569 +1280568 +1280575 +1280574 +1280573 +1083967 +1280572 +1280546 +1280544 +1280550 +1280548 +1280552 +1280592 +1280579 +1280576 +1280583 +1280582 +1280581 +1280580 +1280587 +1280586 +1280585 +1280584 +1280591 +1280590 +1280589 +1280588 +1280635 +1280639 +1280658 +1280656 +1280662 +1280660 +1280666 +1280664 +1280668 +1280641 +1084040 +1280689 +1280692 +1280698 +1280696 +1280701 +1215148 +1280726 +1280730 +1280728 +1280735 +1280733 +1280706 +1280704 +1280709 +1280712 +1280718 +1280716 +1739515 +1739512 +1280758 +1739516 +1280756 +1739517 +1280762 +1280767 +1739510 +1739511 +1280764 +1280737 +1280743 +1280745 +1280750 +1280748 +1739546 +1280785 +1739545 +1739551 +1084183 +1280788 +1739549 +1739538 +1739536 +1280792 +1739537 +1739542 +1739541 +1739531 +1280769 +1739528 +1280774 +1739532 +1280772 +1739533 +1739523 +1739520 +1280776 +1280783 +1739524 +1739525 +1739579 +1280817 +1280822 +1280820 +1280826 +1280831 +1280828 +1280803 +1739562 +1739563 +1739560 +1739561 +1280805 +1739554 +1739555 +1280809 +1739552 +1739553 +1739558 +1280814 +1739559 +1739556 +1280812 +1739557 +1739610 +1280850 +1739611 +1149779 +1739608 +1149778 +1739609 +1280855 +1739614 +1739615 +1739612 +1280852 +1739613 +1280859 +1739602 +1739603 +1215320 +1280857 +1739601 +1280863 +1739606 +1739607 +1739604 +1739605 +1739594 +1739595 +1280833 +1739598 +1280838 +1739599 +1739596 +1280836 +1739597 +1280842 +1280844 +1739642 +1280882 +1739643 +1739640 +1280880 +1739641 +1739646 +1739647 +1280885 +1739644 +1739645 +1280891 +1739634 +1739635 +1739632 +1280888 +1739633 +1739638 +1280894 +1739639 +1739636 +1739637 +1280867 +1739626 +1739627 +1280865 +1739624 +1739625 +1739630 +1739631 +1739628 +1739629 +1280875 +1739618 +1739619 +1280873 +1739616 +1739617 +1739622 +1280878 +1739623 +1739620 +1739621 +1280914 +1280912 +1280919 +1084311 +1280916 +1280922 +1280927 +1280924 +1084288 +1280899 +1280897 +1739656 +1280902 +1739650 +1739651 +1280905 +1739648 +1739649 +1739654 +1739655 +1280909 +1739652 +1739653 +1280945 +1280950 +1280948 +1280955 +1280953 +1280957 +1280931 +1280929 +1280934 +1280937 +1280943 +1280940 +1280979 +1280976 +1280982 +1084376 +1280985 +1280990 +1084382 +1280988 +1280961 +1280966 +1280964 +1280970 +1280974 +101343 +1281010 +101351 +1281013 +1281023 +1281021 +1280995 +1280993 +1280998 +1281003 +1281000 +1281005 +1346539 +1281043 +1281042 +1281041 +1281040 +1281047 +1281046 +1281045 +1281051 +1281050 +1281048 +1281055 +1281054 +1281053 +1281052 +1281025 +1281030 +1281028 +1281035 +1281034 +1281033 +1281039 +1281038 +1281037 +1281036 +1281075 +1281074 +1281073 +1281072 +1281079 +1281078 +1281077 +1281076 +1281083 +1281082 +1281081 +1281080 +1281087 +1281086 +1281085 +1281084 +1281059 +1281058 +1281057 +1281056 +1281063 +1281062 +1281061 +1281060 +1281067 +1346604 +1281066 +1084458 +1281065 +1084459 +1281064 +1281071 +1281070 +1346601 +1281069 +1281068 +1346603 +1281107 +1281106 +1281105 +1281104 +1281111 +1346640 +1281110 +1346641 +1281109 +1346642 +1281108 +1281115 +1281114 +1281113 +1281112 +1281119 +1281118 +1281117 +1281116 +1281091 +1084481 +1281090 +1084482 +1281089 +1281088 +1281095 +1281094 +1281092 +1281099 +1346636 +1281098 +1346637 +1281097 +1346639 +1281103 +1281102 +1281100 +1281139 +1281138 +1084530 +1281137 +1281136 +1281143 +1281142 +1281141 +1281140 +1281144 +1281123 +1281122 +1281121 +1281120 +1281127 +1281126 +1281125 +1281124 +1281131 +1739874 +1281130 +1739875 +1739872 +1281128 +1739873 +1281135 +1281134 +1281133 +1281132 +1084553 +1084555 +1084601 +1084607 +1150144 +1150149 +1150148 +1281267 +1150192 +1281270 +1281273 +1281279 +1281277 +1281297 +1281303 +1281300 +1281306 +1281311 +1281308 +1281282 +1281287 +1281285 +1281290 +1281295 +1084685 +1281292 +1281335 +1084725 +1084728 +1281339 +1281338 +1281337 +1084732 +1281343 +1281342 +1281341 +1084735 +1281340 +1281313 +1281318 +1281316 +1281323 +1281321 +1281327 +1281326 +1281325 +1281324 +1084764 +1084767 +1281347 +1281346 +1281345 +1281344 +1281350 +1281349 +1281348 +1084797 +1084799 +1084769 +1084770 +1084771 +101757 +101759 +101758 +101761 +101760 +101763 +101762 +101765 +101764 +101767 +101766 +101769 +101768 +101771 +101770 +101773 +101772 +1084801 +1084851 +1084852 +1084880 +1281491 +1084882 +1281488 +1084884 +1281499 +1281498 +101841 +101842 +101845 +101844 +101846 +1281487 +1084878 +1347124 +102001 +102021 +102020 +102023 +102025 +102024 +102027 +102026 +102029 +102028 +102031 +102030 +102033 +102032 +102035 +102034 +102037 +102036 +102039 +102038 +102041 +102040 +1085111 +1085113 +1085116 +1085122 +1281778 +1281776 +1281781 +1281785 +1281784 +1281791 +1281788 +1347323 +1281773 +1281793 +1281799 +1281803 +1281801 +1281806 +1281843 +1281840 +1281849 +1281854 +1281852 +1281834 +1281832 +1281838 +1281874 +1281873 +1281877 +1281883 +1412957 +1412956 +1281881 +1412959 +1412958 +1281887 +1281886 +1412955 +1281884 +1281856 +1281863 +1281862 +1281867 +1281871 +1281869 +1150833 +1150832 +1150835 +1150834 +1281904 +1281910 +1281915 +1281891 +1412965 +1412964 +1412967 +1412966 +1412961 +1412960 +1281893 +1412963 +1412962 +1281898 +1150827 +1150826 +1281896 +1150829 +1412969 +1150828 +1281902 +1412968 +1478507 +1150831 +1150830 +1412970 +1478505 +1281937 +1281943 +1281941 +1281945 +1281920 +1281927 +1281925 +1281930 +1281934 +1281932 +1281969 +1281974 +1281972 +1281979 +1281982 +1281959 +1281962 +1281967 +1281965 +1282001 +1282006 +1282004 +36812 +102349 +1281985 +1281991 +1281988 +1281995 +1281993 +1281998 +1413117 +1413119 +1413118 +1413113 +1413112 +1413114 +1478634 +1413141 +1282066 +1413140 +1413143 +1413142 +1413137 +1413139 +1282068 +1413138 +1740818 +1282074 +1282072 +1282079 +1413145 +1413144 +1282077 +1413147 +1282051 +1413124 +1282049 +1413127 +1282053 +1413123 +1413122 +1282059 +1413133 +1413135 +1282056 +1413134 +1282063 +1413129 +1413128 +1282061 +1282098 +1282096 +1282103 +1413168 +1282107 +1282105 +1282110 +1282083 +1413157 +1282082 +1282085 +1085480 +1282091 +1282089 +1413167 +1413166 +1413161 +1282094 +1413163 +1413162 +1282130 +1282128 +1282135 +1282133 +1282137 +1282142 +1282115 +1282112 +1282117 +1282122 +1282120 +1282162 +1282160 +1282167 +1282164 +1282169 +1413220 +1282145 +102517 +1282150 +102519 +1282148 +1282155 +1282153 +1282157 +1085592 +1085571 +1085573 +1282180 +1282227 +1282226 +1282225 +1282224 +1282231 +1282230 +1282229 +1282228 +1282235 +1282234 +1282233 +1282232 +1282237 +1282236 +1085601 +1151143 +1151142 +1151144 +1151147 +1282223 +1282222 +1282221 +1282220 +1282259 +1282258 +1282256 +1282263 +1282262 +1282261 +1282260 +1282267 +1282265 +1282264 +1282271 +1151199 +1282269 +1151198 +1282268 +1282243 +1282242 +1282241 +1282247 +1282245 +1282244 +1282251 +1282250 +1282249 +1282248 +1282255 +1282254 +1282253 +1282252 +1282291 +102624 +1282290 +1282289 +102626 +1282288 +1282295 +1282294 +1282292 +1282298 +1282297 +1282296 +1282303 +1282302 +1282300 +1151201 +1282275 +1151200 +1282273 +1282279 +1282278 +1282277 +1282276 +1282282 +1282281 +1282280 +1282287 +1282286 +1085678 +1282285 +1282284 +1282307 +1282306 +1282304 +1282311 +1282310 +1282309 +1282308 +1282313 +1151281 +1085750 +1282367 +1282385 +102729 +1282394 +1282369 +1282374 +1282372 +1282378 +1282383 +1282380 +1741179 +1741176 +1741177 +1741182 +1216887 +1741183 +1741180 +1741181 +1741175 +1282402 +1282407 +1085798 +1085799 +1282404 +1085800 +1282409 +1085841 +1085850 +37261 +1085827 +1085828 +1085834 +1741243 +1282481 +1741240 +1741241 +1741246 +1741244 +1282484 +1741245 +1741234 +1741235 +1741239 +1741236 +1741226 +1741224 +1741225 +1741230 +1741231 +1741229 +1282474 +1741219 +1282479 +1741223 +1741220 +1282476 +1741221 +1282503 +1282507 +1282511 +1741254 +1741255 +1741253 +1282547 +1741306 +1282546 +1282545 +1741304 +1282544 +1741305 +1282551 +1282550 +1282549 +1741308 +1741309 +1282555 +1282554 +1741299 +1282553 +1282552 +1282559 +1282558 +1282557 +1741300 +1282556 +1741301 +1282531 +1741290 +1282529 +1741288 +1741289 +1282535 +1741294 +1282534 +1741295 +1741293 +1282538 +1282537 +1282536 +1741286 +1282541 +1282579 +1282578 +1282577 +1282576 +1282583 +1282582 +1282581 +1282580 +1282588 +1741320 +1282560 +1741321 +1282566 +1282564 +1217034 +1282571 +1741314 +1282570 +1282569 +1741312 +1741313 +1282575 +1741318 +1282574 +1741319 +1282573 +1741316 +1282572 +1741317 +1282610 +1217073 +1282619 +1282617 +1282622 +1217067 +1217065 +1217071 +1282606 +1217069 +102979 +1282640 +1282632 +1282636 +1741418 +1741419 +1741420 +1741421 +1413743 +1413742 +1413737 +1741414 +1741415 +1413739 +1413738 +1741413 +1741466 +1413783 +1741464 +1741465 +1741470 +1741471 +1741468 +1741469 +1413791 +1413784 +1413765 +1741450 +1741451 +1413767 +1413766 +1741449 +1741452 +1413813 +1413814 +1217206 +1413809 +1217207 +1413810 +1413823 +1413822 +1413817 +1413818 +1413799 +1413798 +1413800 +1217234 +1348308 +1217235 +1217232 +1086163 +1217233 +1217238 +1217236 +1217237 +1413829 +1413828 +1413831 +1086147 +1413830 +1086148 +1413825 +1086149 +1413824 +1413827 +1413826 +1217227 +1217230 +1217231 +1217228 +1086159 +1217229 +1282835 +1282832 +1151765 +1151767 +1282837 +1151766 +1741597 +1282843 +1217307 +1282840 +1217308 +1282845 +1086239 +1217309 +1217328 +1282865 +1282871 +1282868 +1282874 +1282879 +1282876 +1282850 +1282848 +1282855 +1282852 +1282863 +1217327 +103235 +103236 +1282881 +1282938 +1282961 +1282966 +1282964 +1282971 +1282969 +1348511 +1282974 +37777 +37778 +1282951 +37783 +37784 +1282954 +1282959 +1282956 +1282995 +1282994 +1282993 +1282992 +1282997 +1282996 +1151928 +1151930 +1151935 +1282979 +1282978 +1282977 +1282983 +1348512 +1282982 +1282981 +1282980 +1282987 +1282986 +1282984 +1282991 +1282990 +1282989 +1282988 +1151953 +1151952 +1151955 +1151954 +1283030 +1283035 +1283032 +1283039 +1283037 +1151966 +1151937 +1151942 +1151947 +1151949 +1283058 +1283056 +1283063 +1283060 +1283067 +37866 +1283065 +1283070 +1283042 +1283046 +1283044 +1283051 +1283049 +1283053 +1283089 +1283088 +1283075 +1283073 +1283079 +1283083 +1283082 +1283081 +1283080 +1283087 +1283086 +37918 +1283085 +1283084 +1283122 +37922 +1086514 +1283120 +1283127 +1283125 +1283130 +1086525 +1283133 +1283107 +1283105 +1283110 +1283113 +1283118 +1283158 +1283156 +1283163 +1283160 +1086558 +1283165 +1283139 +1086529 +1283136 +1283143 +1086533 +1283141 +1283146 +1283151 +1283149 +1283187 +1283185 +1283190 +1283195 +1283193 +1283198 +1152097 +1283170 +1283168 +1283175 +1283172 +1086569 +1283178 +1086573 +1283182 +1283180 +1283219 +1283218 +1283223 +1283222 +1283221 +1283226 +1283224 +1283203 +1283200 +1283205 +1283210 +1283215 +1283213 +1283282 +1283287 +103625 +103624 +1086684 +1283271 +103639 +1283275 +103640 +1086705 +1283327 +1086697 +1086701 +1283310 +1283351 +1283350 +1283349 +1283348 +1283353 +1283352 +1283359 +1283331 +1283330 +1283329 +1283328 +1283335 +1283334 +1283333 +1283332 +1283339 +1283337 +1283336 +1283341 +1283340 +103724 +1086752 +1283362 +1283361 +1283360 +1414443 +1086806 +1283422 +1283420 +1283442 +1283446 +1283444 +1283451 +1283449 +1283455 +1283439 +1283437 +1283459 +1283458 +1283457 +1283460 +1283507 +1283504 +1283511 +1217975 +1217979 +1283519 +1283516 +1283501 +1086928 +1283539 +1283537 +1086932 +1283543 +1283542 +1283541 +1283540 +1283547 +1283546 +1283545 +1283544 +1086942 +1086943 +1283548 +1283522 +1283526 +1283524 +1283531 +1283535 +1086926 +1283533 +1086960 +103904 +1086961 +1086962 +1283569 +1086963 +1086964 +1086965 +1086966 +1086967 +1086968 +1086944 +1086945 +1086946 +1086947 +1086948 +1086949 +1218023 +1086950 +1218020 +1086951 +1086952 +1086953 +1283561 +1086955 +1086956 +1086957 +1283566 +1086958 +1086959 +1283633 +1283639 +1283636 +1283642 +1283647 +1283646 +1283645 +1283644 +1283627 +1283624 +1283630 +1283665 +1283664 +1283670 +104010 +1283651 +1283649 +1283648 +1283655 +1283654 +1283653 +1283652 +1283659 +1283658 +1283657 +1283656 +1283663 +1283662 +1283661 +1283660 +1283795 +1283799 +1283797 +1283803 +1283801 +1087195 +1087198 +1283805 +1283787 +1283785 +1283789 +1283826 +1283824 +1283829 +1283828 +1283839 +1283836 +1283811 +1283809 +1283815 +1283813 +1283822 +1283856 +1283862 +1283860 +1283864 +1283871 +1283868 +1283845 +1283851 +1283849 +1283853 +1283891 +1283888 +1283893 +1283898 +1283896 +1283903 +1283901 +1283873 +1087267 +1087269 +1283878 +1283876 +1283882 +1283880 +1283885 +1283923 +1283921 +1283920 +1283930 +1283928 +1283906 +1283911 +1283910 +1283909 +1152841 +1283915 +1283913 +1283912 +1283919 +1283918 +1283917 +1283916 +1283955 +1087345 +1283953 +1283958 +1283961 +169842 +169843 +169841 +1283942 +169844 +1087339 +1283951 +1087342 +1283984 +1283991 +1283990 +1283989 +1283995 +1283994 +1283993 +1283992 +1283999 +1283998 +1283997 +1283996 +1283970 +1283968 +1283975 +1283972 +1283982 +1283980 +1284019 +1284018 +1284017 +1284016 +1284002 +1284001 +1284000 +1284007 +1284006 +1284005 +1284004 +1284011 +1284010 +1284009 +1284008 +1284015 +1284014 +1284013 +1480669 +1480666 +38861 +1415157 +1415158 +1349608 +38921 +1349644 +1284147 +1284151 +1284149 +1284155 +1284153 +1284159 +1284157 +1087530 +1284179 +38978 +1284177 +1284183 +1284181 +38983 +1284185 +1284188 +1284163 +1284161 +1284167 +1284165 +1284171 +1284169 +1284175 +1284173 +1087600 +1284210 +1284208 +1284213 +1284218 +1284216 +39020 +1284223 +1284221 +1284193 +1284199 +1284197 +1284203 +1087594 +1284201 +1087595 +1087596 +1087597 +1284206 +1087599 +1284241 +1284246 +1284244 +1284251 +39054 +1284253 +1284226 +1284231 +1284228 +1742989 +1284233 +1284239 +1284237 +1284275 +39074 +1284273 +1284278 +39080 +1284281 +1284286 +1284284 +1284259 +1284257 +1284256 +1284263 +1284271 +1284268 +1743065 +1284309 +1284315 +1087706 +1284312 +1284318 +1284316 +1743061 +1284290 +1087683 +39124 +1284294 +1284293 +1284298 +1284303 +1284300 +1284338 +1284337 +1284340 +1284346 +1153274 +1284344 +1284351 +1153276 +39150 +1284349 +1284322 +1087716 +1284326 +1284324 +1284331 +1284332 +1087760 +1284371 +1284369 +1284368 +1087764 +1218838 +1284375 +1284373 +1284379 +1153304 +1284377 +1284376 +1284383 +1284381 +1284380 +1284354 +1284359 +1284356 +1284363 +1284362 +1153291 +1153290 +1284360 +39196 +1153293 +1153292 +1284366 +1284364 +1284403 +1284402 +39202 +1284401 +39203 +39204 +1284406 +1284405 +1284410 +1284409 +1284408 +1284415 +1284414 +1284412 +1284386 +1284385 +1284390 +1284389 +1284388 +1284395 +1284393 +1284392 +1284399 +1284398 +1284396 +1284435 +1284434 +1284433 +1284432 +1284438 +1284437 +1284436 +1284447 +1284446 +1284445 +1284444 +1284418 +1284417 +1284416 +1349953 +1284427 +1284430 +1284467 +1284466 +1284471 +1284470 +1284469 +1218933 +1284468 +1284472 +1284451 +1284450 +1284449 +1284448 +1284455 +1284454 +1284453 +1284452 +1284459 +1284458 +1284457 +1284456 +1153427 +1153428 +1153413 +1153412 +1284531 +1284533 +1284536 +1284543 +1284540 +1284518 +1153446 +1153449 +1284521 +1153452 +1284561 +1284566 +1284564 +1284571 +1284568 +1284573 +1284547 +1284545 +1284550 +1284554 +1284552 +1284559 +1284557 +1284595 +1284593 +1284598 +1284600 +1284606 +1284604 +1284578 +1284577 +39412 +1284582 +1284581 +39417 +1153512 +1284584 +1350120 +1153516 +1284590 +1153518 +1284588 +1284626 +1284625 +1284624 +1284631 +1284629 +1284628 +1284635 +1284634 +1284633 +1284632 +1284639 +1284638 +1284637 +1284609 +1284614 +1284612 +1284619 +1284617 +1284623 +1284621 +1153587 +1284641 +1284640 +39476 +1284646 +1284645 +1284644 +1284649 +1284655 +1284654 +1284652 +1284691 +1284690 +1284689 +1284688 +1284695 +39493 +1284694 +1284693 +1284692 +1284696 +1284679 +1284683 +1284682 +1284681 +1284680 +1284687 +1284686 +1284685 +1284684 +1088113 +1088114 +1284721 +1284726 +1284724 +1284731 +1284729 +1284734 +1284719 +1284754 +1284752 +1284759 +1284758 +1284756 +1284763 +1284762 +1284761 +1284760 +1284767 +1284766 +1284765 +1284764 +1284738 +1284736 +1284743 +1284741 +39575 +1284746 +1153674 +1284787 +1284785 +1284789 +1153721 +1284795 +1153723 +1153725 +1284798 +1284771 +1284769 +1284768 +1219236 +1284773 +1284776 +1284782 +1284780 +1284819 +1284817 +1284823 +1284822 +1284821 +1284824 +1284831 +1284830 +1284828 +39632 +1284800 +1284806 +105174 +105179 +1284809 +1284815 +1153740 +1284813 +1088241 +105186 +1088243 +105189 +105191 +1284858 +1284863 +1284860 +1153760 +1284834 +1284833 +1284832 +39668 +1284883 +1284881 +1284885 +1284891 +1284889 +1284893 +1284866 +1284870 +1284869 +1284874 +1284879 +1350409 +1284877 +1284912 +1284919 +1284918 +1284916 +1284923 +1284922 +1284920 +1284925 +1088319 +1284924 +1284898 +1284896 +105269 +1284902 +1284900 +1284905 +1284910 +1284908 +1284945 +1284951 +1284948 +1153881 +1284955 +1153883 +105290 +1153882 +1153885 +1153884 +1153887 +1284957 +1153886 +1284930 +1284934 +39767 +1284932 +1088329 +1088330 +1153904 +1284978 +1284983 +1153908 +1284981 +1088378 +1284988 +1153889 +1153888 +1284962 +1153890 +1284960 +1153893 +1284967 +1153892 +1153895 +1284965 +1153894 +1284970 +1284975 +1284972 +1153937 +1285009 +1285015 +1285014 +1153943 +1285013 +1153942 +1285012 +1088408 +1153945 +1285019 +1088409 +1153944 +1153947 +1285017 +1088411 +1153946 +1285016 +1153949 +1285023 +1153948 +1153951 +1285021 +1153950 +1285020 +1088384 +1284995 +1088385 +1088387 +1284992 +170902 +1284997 +1088392 +1285003 +1285000 +1285006 +1088399 +1088432 +1285043 +1088433 +1285042 +1285041 +1088435 +1088436 +1285047 +1088437 +1153972 +1088438 +1285045 +1088439 +1153974 +1285044 +1088440 +1285051 +1088441 +1153976 +1285050 +1088442 +1285049 +1285048 +1088444 +1285055 +1088445 +1285054 +1088446 +1285053 +1285052 +1153953 +1285027 +1153952 +1285026 +1153955 +1285025 +1153954 +1285031 +1285030 +1285029 +1088423 +1285028 +1088424 +1285035 +1285034 +1153963 +1285033 +1285032 +1285039 +1088429 +1088430 +1285037 +1088431 +1285036 +1285082 +1416153 +1416152 +1285085 +1285058 +1285057 +1285056 +1088452 +1285063 +1088453 +1088454 +1285060 +1088456 +1285067 +1088457 +1088458 +1219528 +1285065 +1285105 +1285110 +1285108 +1285114 +105459 +1285089 +105458 +1285094 +1285092 +1285096 +1285143 +1285141 +1285147 +1285146 +1154075 +1285145 +1285144 +1285151 +1154076 +1285150 +1285149 +1285148 +1285126 +1285128 +1285153 +1219672 +1285233 +1285242 +105581 +40063 +105601 +105600 +40067 +105602 +40068 +105604 +105607 +105606 +105609 +1285275 +105608 +1285278 +1285251 +1285250 +1285254 +1285253 +1285252 +1154186 +1416372 +1285297 +1285303 +1285306 +1285310 +1285308 +1285282 +1285281 +1285287 +1285284 +1285289 +1285295 +1285292 +1154257 +1285330 +1285328 +1285335 +1285333 +1285339 +1285343 +1285341 +1285314 +1285312 +1285319 +1285316 +1285323 +1285321 +1285326 +1285363 +1285361 +1219830 +1285367 +1154295 +1219828 +1285365 +1219829 +1285371 +1285370 +1219832 +1285374 +1285373 +1285372 +1285345 +1285351 +1285349 +1285355 +1285353 +1285359 +1285357 +1219858 +1285395 +1219859 +1219856 +1285393 +1219857 +1219862 +1219863 +1285398 +1219860 +1219861 +1285402 +1285406 +1219842 +1285379 +1219843 +1285378 +1219841 +1285383 +1285382 +1219844 +1285380 +1219850 +1285387 +1219851 +1285386 +1285385 +1219849 +1285384 +1219854 +1285391 +1219855 +1219852 +1285389 +1219853 +1285388 +1219890 +1285427 +105760 +1219891 +1219888 +1285425 +1219889 +1219894 +1219895 +1219892 +1285429 +1219893 +1219898 +1219899 +1285434 +1219896 +1219897 +1285432 +1219902 +1219903 +1285438 +1219900 +1219901 +1285436 +1219878 +1285415 +1219879 +1219882 +1285419 +1219880 +1285417 +1219881 +1219887 +1285421 +1219922 +1285458 +1219920 +1219921 +1285456 +1285462 +1285460 +1154392 +1285466 +1154394 +1285464 +1154396 +1285470 +1285468 +1219906 +1219907 +1285442 +1154371 +1219904 +1219905 +1285440 +1154373 +1219910 +1154372 +1219911 +1285446 +1154375 +1219908 +1154374 +1219909 +1285444 +105817 +1219914 +1154376 +1219915 +1285450 +1219912 +1219913 +1285448 +1219918 +1285454 +1219916 +1285452 +1285490 +1285494 +1285492 +1285499 +1285496 +1285503 +1285501 +1154401 +1285474 +1285472 +1285479 +1285476 +1154408 +1285482 +1285487 +1285485 +1285522 +1285520 +1285526 +1285524 +1285529 +1285534 +1285532 +1285506 +1219968 +1285511 +1285508 +1285515 +1285513 +1285517 +1154480 +1285552 +1285539 +1285538 +1285537 +1285543 +1285541 +105910 +1285540 +1285547 +1285546 +1285545 +1285544 +1285551 +1285550 +1154479 +1285549 +1285548 +1285587 +1154512 +1154515 +105922 +1285584 +105925 +1154517 +1154519 +1285589 +1285595 +1285592 +1285597 +1154497 +1154501 +1285575 +1285572 +1285579 +1285577 +1154506 +1285582 +1285619 +1285616 +1285623 +1285621 +1285627 +1285626 +1285625 +1285631 +1285630 +1285629 +1285628 +1285603 +1285600 +1285606 +1285610 +1285608 +1285613 +105982 +105984 +105989 +106001 +1285635 +106000 +1285634 +1285633 +1285632 +1285639 +1285638 +1285637 +1285636 +1285640 +1154612 +1154616 +106026 +1154620 +1154623 +1744474 +1744475 +1744472 +1744473 +1744478 +1744479 +106055 +1220180 +1744476 +1744477 +106057 +1744466 +1744467 +1744464 +106058 +1220185 +1744465 +1744470 +1744471 +1220188 +1744468 +1744469 +1154625 +1744458 +1154624 +1744459 +1744456 +1744457 +1744462 +1744463 +1744460 +1154630 +1744461 +1154633 +1744451 +1154635 +1154637 +1744454 +1744455 +1744452 +1744453 +1154657 +1744480 +106137 +1744570 +1744571 +1744569 +1744574 +1744575 +1744572 +40615 +1744573 +40616 +40617 +40618 +40619 +40620 +1744567 +1744565 +106167 +106168 +1744594 +1744592 +1744593 +1744586 +1744587 +1744584 +1744585 +1744590 +1744591 +1744588 +1744589 +1744578 +1744579 +1744576 +1744577 +106205 +1744582 +1744583 +1744580 +1744581 +106212 +1089296 +1154833 +1089297 +1089300 +1089302 +1089303 +1089305 +1089306 +1089307 +1089308 +1089309 +1089310 +1089311 +1089293 +1089294 +1154831 +1089328 +1744698 +1089329 +1089330 +1744696 +1089331 +1744697 +1089335 +1744695 +1089312 +1089313 +1089314 +1089315 +1744681 +1089316 +1744686 +1089317 +1744684 +1744685 +1089321 +1089322 +1089323 +1089324 +1089325 +1089326 +1744677 +1744730 +1744731 +1744729 +1744734 +1744735 +1744720 +1744721 +1744726 +1154911 +1744724 +1744725 +106321 +1744714 +1744715 +1744712 +1744713 +1744719 +1744716 +1744706 +1744707 +1744705 +1744710 +1744711 +106335 +1744708 +1744709 +1744760 +1744761 +1744766 +1744764 +40807 +1744765 +1744754 +1744755 +1744759 +1744756 +1744746 +1744744 +1744745 +1744750 +1154916 +1744751 +1154919 +1744749 +1154921 +1154920 +1744739 +1744736 +1744740 +1154926 +1744741 +1744792 +1744793 +1744787 +1744784 +1744785 +1744788 +1744778 +1154944 +1744779 +1744777 +1744782 +1744783 +1744780 +1744781 +1744770 +1744771 +1744769 +1744774 +1744775 +1744826 +1744827 +1286065 +1286064 +1744830 +1744831 +1744828 +1744829 +1155003 +1155006 +1744810 +1744811 +1744808 +1154978 +1744809 +1744814 +1744812 +1744813 +1286063 +1744807 +1155024 +1155026 +1155030 +1744848 +1744849 +1744842 +1744843 +1744840 +1744841 +1744847 +1744844 +1744845 +1744834 +1744835 +1744832 +1744833 +1744838 +1744839 +1744836 +1744837 +1744891 +1155059 +1744888 +1155061 +1744895 +1155063 +1744892 +1155062 +1744893 +1744882 +1744883 +1744881 +1744886 +1744887 +1155070 +1744878 +1744876 +1744877 +1744920 +1744921 +1155093 +1744926 +1744924 +1744925 +1744914 +1744915 +1744919 +1744916 +1744906 +1744905 +1744910 +1744911 +1744909 +1744898 +1744896 +1744897 +1155085 +1155086 +1744955 +1744952 +1744956 +1744957 +1744946 +1744947 +1744945 +1744950 +1744951 +1744942 +1744940 +1155110 +1744941 +1155113 +1744930 +1744931 +1155115 +1744928 +1155114 +1744929 +1155117 +1155116 +1744932 +1155118 +1089618 +1089619 +1744991 +1744978 +1744979 +1744976 +1744977 +1744980 +1744981 +1744971 +1744975 +1744972 +1744973 +1089608 +1744962 +1089610 +1744960 +1744961 +1089612 +1744966 +1744967 +1744965 +1745018 +1745019 +1745016 +1745017 +1745022 +1745020 +1745021 +1745011 +1745008 +1745014 +1745015 +1745012 +1745002 +1745000 +1745001 +1745007 +1744992 +1744993 +1744996 +1744997 +1745054 +1089685 +1745052 +1089687 +1745053 +1745042 +1745043 +1745040 +1745044 +1745034 +1745035 +1745032 +1745033 +1745038 +1745039 +1745030 +1155249 +1745082 +1155248 +1745083 +1155251 +1745080 +1155250 +1745081 +1155253 +1745086 +1745087 +1155255 +1745084 +1155254 +1745085 +1155257 +1155256 +1155259 +1155258 +1155261 +1745078 +1155260 +1745079 +1155263 +1155262 +1745077 +1745064 +1745069 +1155241 +1745058 +1745059 +1745056 +1155242 +1745057 +1155245 +1745062 +1155244 +1745063 +1155247 +1745060 +1155281 +1155283 +1220825 +1155265 +1745098 +1155264 +1745099 +1745096 +1745097 +1155269 +1155271 +1745100 +1155270 +1745101 +1155273 +1745090 +1155272 +1745091 +1745088 +1155274 +1745089 +1745094 +1745095 +1745092 +1155312 +1155318 +1155323 +1155322 +1155299 +1745180 +106758 +1155350 +1155352 +1745208 +1745209 +1745214 +1745212 +1745213 +1745203 +1745200 +1745201 +1745192 +1745198 +1745199 +1155367 +1745197 +1155369 +1155371 +1745191 +1745247 +1155415 +1483088 +1155414 +1745245 +1155416 +1745235 +1745232 +1745238 +1745239 +1745236 +1745237 +1155393 +1483078 +1745226 +1483079 +1745227 +1155395 +1483077 +1745225 +1155397 +1483074 +1745230 +1483075 +1745231 +1483073 +1483086 +1745218 +1483087 +1483085 +1745217 +1483082 +1745222 +1483083 +1483081 +1745221 +1745274 +1745273 +1745267 +1745264 +1745270 +1745271 +1155455 +1155454 +1745258 +1745259 +1745263 +1745260 +1745250 +1745251 +1745248 +1745249 +1745254 +1155436 +1745255 +1745252 +1745307 +1745311 +1745308 +1745298 +1745299 +1745296 +1745297 +1745302 +1745303 +1745301 +1745290 +1745291 +1745295 +1155463 +1745292 +1155465 +1745282 +1745280 +1745281 +1745286 +1745287 +1745285 +1745339 +1745336 +1745340 +1745341 +1745331 +1745335 +1745332 +1745333 +1745322 +1745320 +1745321 +1745327 +1155499 +1745312 +1155498 +1745313 +1155500 +1745319 +1745316 +1155502 +1745317 +1745370 +1745371 +1745368 +1745372 +1745373 +1745360 +1745367 +1745358 +1745359 +1745347 +1155531 +1155535 +1745348 +1745349 +1745402 +1745401 +1745406 +1745407 +1745404 +1745405 +1745392 +1745393 +1745398 +1745396 +1745397 +1745386 +1745387 +1745384 +1745391 +1745388 +1745378 +1745379 +1745376 +1745434 +1745435 +1745433 +1745438 +1745439 +1745424 +1745425 +1745430 +1745428 +1745429 +1745418 +1745419 +1745423 +1745420 +1155595 +1745466 +1745467 +1745470 +1745471 +1155645 +1745462 +1745463 +1155647 +1155646 +1745461 +1745450 +1745451 +1745448 +1745449 +1745452 +1745443 +1745440 +1155626 +1745447 +1745444 +1745445 +1745498 +1745499 +1745503 +1155671 +1745500 +1745491 +1745494 +1745495 +1155649 +1745482 +1155648 +1745483 +1155651 +1745481 +1745485 +1745475 +1745472 +107098 +1745478 +107100 +1745477 +1745528 +1745529 +1745534 +1745532 +1745533 +1745522 +1745523 +1745527 +1745524 +1745518 +1745519 +1745504 +1745505 +1745510 +1745511 +1745508 +1745509 +1745562 +1745563 +1745561 +1155732 +1155734 +1745554 +1745555 +1745557 +1745547 +1745544 +1745545 +1745548 +1745549 +1745537 +1745543 +1745540 +1745595 +1745592 +1745599 +1745596 +1155769 +1155768 +1745587 +1155771 +1745584 +1155770 +1745585 +1745590 +1745591 +1155775 +1745578 +1745579 +1745583 +1745580 +1745571 +1745568 +1745574 +1745575 +1745625 +1155796 +1155802 +1155806 +1745610 +1745611 +1155779 +1745608 +1745609 +1745614 +1745612 +1745613 +1745603 +1745600 +1745601 +1745606 +1745607 +1745605 +1745657 +1155830 +1745651 +1155835 +1155837 +1745654 +1745652 +107246 +1155838 +1745653 +107257 +1155856 +1155862 +1155871 +1745674 +1745675 +107283 +1745672 +1745673 +1745678 +1745679 +1745676 +1745677 +1745667 +1745670 +1745671 +1155855 +1745668 +1745669 +1745722 +1745723 +107299 +1745720 +1745721 +1745726 +1745727 +1745724 +1745725 +1745715 +107309 +1745718 +1745719 +1745716 +1745717 +1155873 +1155924 +1745746 +1745747 +1155931 +1745744 +1155930 +1745745 +1745750 +1745748 +1745749 +1155905 +1745738 +1745739 +1745736 +1745737 +1745742 +1745743 +1745740 +1745741 +1745730 +1745731 +1745728 +1745729 +1745734 +1745735 +107359 +1745732 +1745733 +172906 +172907 +172905 +172908 +172909 +1155941 +1155940 +1155942 +1155946 +1745821 +1745810 +1745808 +1155997 +1745815 +1745812 +1745806 +1745807 +1155975 +172958 +172959 +172957 +1745850 +1745851 +107427 +172960 +1745854 +1745855 +1745842 +1745843 +1745840 +1745841 +1156029 +1745846 +1745847 +1156030 +1745845 +1745838 +1745836 +1745837 +1745883 +1745884 +1156054 +1745885 +1745874 +1745875 +1745872 +1745873 +1745878 +1745879 +1745876 +1745877 +1745864 +1745870 +1745871 +1745858 +1745859 +1745862 +1745863 +1745914 +1745913 +1156084 +1745917 +1745904 +1745905 +1745910 +1745908 +1745909 +1745898 +1745899 +1745903 +1745900 +1745890 +1745888 +1745889 +1745894 +1745895 +1745893 +1156113 +1745946 +1745947 +1156115 +1156114 +1745945 +1745951 +107527 +1156119 +1745938 +1745936 +1745937 +1156126 +1745931 +1745928 +1745934 +1745935 +1745932 +107545 +1745922 +1156107 +1745920 +1745921 +1745926 +1745927 +1745978 +1745979 +1745982 +1745983 +1745980 +1745981 +1745970 +1745971 +1745974 +1745962 +1745961 +1745966 +1745967 +1745955 +1745952 +1745958 +1746000 +1746001 +1745994 +1745995 +1745992 +1745993 +1745998 +1745999 +1745996 +1745997 +1745986 +1745987 +1745984 +1745985 +1745990 +1745991 +42078 +1745988 +1745989 +1746040 +1746046 +1746044 +1746035 +1746033 +1746038 +1746036 +1746027 +1746030 +1746029 +1221778 +1746074 +1221779 +1746075 +1221776 +1221777 +1746073 +1746078 +1746079 +1221780 +1746076 +1746077 +1746064 +107663 +42130 +1746063 +1221771 +1746051 +1746049 +1221774 +1746054 +1221775 +1221772 +1746052 +1156284 +1746082 +1746083 +1746080 +1746081 +42172 +1746086 +1746084 +1746085 +1746137 +1746134 +1746135 +1156300 +1746171 +173302 +173303 +173304 +173305 +1746207 +1746204 +1746186 +1746187 +1746184 +1746185 +1746188 +1746179 +1746182 +1746183 +1746180 +1746181 +1746234 +1746235 +1746238 +1746239 +1746226 +1746230 +1746228 +1746218 +1746216 +1746217 +1746210 +1746211 +1746214 +1746215 +1746213 +1746266 +1746267 +1746271 +1746268 +1746258 +1746259 +1746262 +1746263 +1746250 +1746249 +1746254 +1746255 +1746253 +107867 +1746241 +107869 +107868 +107870 +1287538 +1746302 +107891 +1746280 +1746274 +1746275 +1746273 +1746278 +1746279 +1746276 +1746277 +1746328 +1746329 +1746334 +1746335 +1746332 +1746333 +1746323 +1746320 +1746324 +1746325 +1746314 +1746315 +1746319 +1746316 +1090951 +1090952 +1090953 +1746305 +1746310 +42397 +1746311 +1746362 +1746363 +1746360 +1746361 +1746366 +1090998 +1090999 +1746354 +1746355 +1287614 +107953 +1746347 +107954 +107957 +1746348 +1746349 +1746338 +1746343 +1746340 +1746394 +1746395 +1746393 +1746398 +1746399 +107975 +1746397 +1746384 +1746385 +1746390 +1746388 +1746389 +1222082 +1287619 +1746378 +1287617 +1746376 +1746377 +1746383 +1746380 +1287620 +1746371 +1746368 +1746372 +1746373 +1746418 +1746419 +1746416 +1746417 +1746422 +1746420 +1746421 +1746410 +1746411 +1746408 +1746409 +1746414 +1746415 +1746412 +1746413 +1746402 +1746403 +1746400 +1746401 +1746407 +1746404 +1746405 +1353239 +108143 +1550007 +1550006 +1550005 +1550014 +108203 +1550013 +1550012 +1550011 +1550008 +1549991 +1549990 +1549989 +1549988 +1549987 +1549992 +1746650 +1746651 +1746648 +1746649 +1746654 +1746655 +1746652 +1746653 +1746642 +1746643 +1746641 +1746646 +1746647 +1746644 +1746645 +1746634 +1746639 +1550016 +1156812 +1746682 +1746683 +1746680 +1746681 +1746686 +1746687 +1746678 +1746679 +1746676 +1746677 +1746666 +1746667 +1746670 +1746668 +1746669 +1746658 +1746659 +1746656 +1746657 +1746663 +1746660 +1746661 +1156881 +1746714 +1156880 +1746715 +1746712 +1156882 +1746713 +1156885 +1746718 +1156884 +1746719 +1746716 +1746717 +1746706 +1746707 +1746704 +1746705 +1746710 +1746711 +1746708 +1746709 +1746698 +1746699 +1746696 +1156866 +1746697 +1746702 +1156868 +1746703 +1746700 +1746701 +1746688 +1746689 +1746694 +1156876 +1746695 +1156879 +1746738 +1746736 +1746737 +1156925 +1746730 +1746731 +1746728 +1156898 +1746729 +1746734 +1746735 +1746732 +1746733 +1746722 +1746723 +1746720 +1746721 +1746726 +1746727 +1746724 +1746725 +1222488 +42833 +1156985 +1156961 +108409 +108440 +1222582 +108467 +174026 +174027 +42954 +174030 +174031 +174028 +42959 +174029 +108503 +108505 +42984 +42985 +42986 +108529 +108528 +1746925 +1746918 +1746916 +1746962 +1157147 +1746960 +1157146 +1746961 +1157149 +1157148 +1157150 +1222658 +1746954 +1746955 +1746953 +1746958 +1746950 +1746949 +1484854 +1484853 +1484848 +1484849 +1157153 +1157152 +1157155 +1484836 +1157154 +1484837 +1157156 +1484844 +1484842 +1746982 +1484843 +1746983 +1484841 +1747037 +174195 +174196 +174202 +174200 +174206 +174207 +108699 +108701 +108700 +108702 +108715 +108740 +43215 +1157313 +174309 +43241 +1353977 +1353978 +1157398 +1157467 +1091931 +1091932 +1091933 +1091934 +1091935 +1747270 +174438 +1091936 +1091937 +1091938 +1091939 +1091940 +1091941 +1091942 +1091943 +1091944 +1091945 +1091946 +1747352 +1747358 +1747359 +1747356 +1747357 +1747346 +1747347 +1747344 +1747345 +1747350 +1747351 +1747348 +1747349 +1157506 +1747343 +1157553 +1157554 +1157557 +1288611 +1747370 +1288610 +1747371 +1747368 +1747369 +1288613 +1747372 +1288612 +1747373 +1747363 +1747366 +1157548 +1747367 +1157551 +1747364 +1747365 +1157592 +1157616 +1157621 +1157620 +1157622 +1157609 +1157611 +1157610 +1747475 +1157691 +1747504 +174639 +1747511 +1747502 +1747500 +1747501 +174650 +174649 +1157723 +174669 +1747534 +1747535 +1747533 +1747522 +43609 +1747523 +1747525 +1157745 +1157744 +1157747 +1157746 +1157749 +1157748 +1157751 +1157750 +1157753 +1157752 +1157755 +1157757 +1157756 +1157759 +1157758 +1157743 +1157742 +1157787 +1747601 +1157760 +1747595 +1747599 +1747596 +1747597 +1747586 +1747587 +1747585 +1747590 +1747591 +1747588 +1747589 +1747632 +1747626 +1747627 +1747630 +1747631 +1747628 +1747629 +1747666 +1747667 +1747664 +1747665 +1747663 +174998 +1747967 +1747998 +1747999 +1747997 +1747987 +1747984 +1747988 +1747989 +1747979 +1747976 +1747983 +1747980 +1747968 +1747974 +1747975 +1747972 +1748002 +1748003 +1748000 +1748001 +1748006 +1748004 +1748005 +1354832 +175176 +1485915 +175180 +1485938 +1485939 +1485937 +1485926 +1485924 +1485925 +175220 +175221 +1485934 +1485933 +1485930 +1485929 +1486066 +1486067 +1486064 +1486065 +1486062 +1486063 +1486060 +1486061 +1289454 +1486059 +1748314 +1748315 +1748313 +1748319 +1748317 +44368 +1224000 +1748375 +1224069 +1420687 +1748401 +1748392 +1748398 +1748396 +1748390 +1748434 +1748432 +1748433 +1748439 +1748436 +1748437 +1748428 +1748429 +44538 +44539 +44540 +44541 +1748506 +1748507 +44546 +1748504 +1748505 +1748508 +1748503 +1748538 +1748539 +1224241 +1748542 +1748543 +1748540 +1748541 +1748526 +175671 +1748524 +175669 +1748525 +1158701 +175679 +175676 +1158702 +1224274 +175680 +1748554 +1748555 +1748552 +1748553 +1748558 +1748559 +1748556 +1748557 +1748546 +1748547 +1748544 +1748545 +1748550 +1748551 +1748548 +1748549 +175737 +1748639 +1748627 +1748628 +1748618 +1289856 +1748622 +1748621 +1748667 +1748664 +1748665 +1748669 +1748659 +1748656 +1748660 +1748684 +1748730 +1748731 +1748728 +1748729 +1748734 +1748735 +1158903 +1748732 +1748733 +1748722 +1748723 +1748720 +1158906 +1748726 +1158908 +1748727 +1748724 +1748725 +1158932 +1158935 +1158937 +1158939 +1748746 +1748747 +1748744 +1748745 +1748748 +1158921 +1748738 +1748739 +1158923 +1748736 +1748737 +1158925 +1748742 +1748743 +1158927 +1748740 +1355531 +1748741 +1224542 +1224544 +1290094 +1290093 +1748922 +1224633 +1748917 +1224665 +1159136 +1159144 +1748963 +1749016 +1749017 +1749014 +1421369 +176206 +176210 +176208 +176217 +1749107 +1749097 +176251 +176254 +176255 +176252 +176253 +1290381 +1749247 +1749259 +1749256 +1749257 +1749260 +1749261 +1749248 +1749249 +1749254 +1749253 +1749310 +1749290 +1749291 +1749288 +1749289 +1749293 +1749281 +1749338 +1749330 +1749328 +1749329 +1749334 +1749321 +1749326 +1749325 +1749314 +1749315 +1749313 +1749317 +1749352 +1749350 +1749351 +1749406 +1749407 +1749405 +1749390 +1749391 +1749389 +1749432 +1749431 +1749416 +1749417 +1749410 +1749411 +1749408 +1749409 +1749414 +1749415 +1749412 +1749413 +1749466 +1749467 +1749464 +1749465 +1749470 +1749468 +1749469 +1749458 +1749459 +1749456 +1749462 +1749463 +1749460 +1749461 +1749450 +1749448 +1749449 +1749453 +1749496 +1749497 +1749490 +1749488 +1749489 +1749494 +1749495 +1749493 +1749486 +1749487 +1749560 +1749567 +1749558 +1749592 +1487454 +1487455 +1487453 +1487450 +1749591 +1487448 +1487449 +1749568 +1487487 +1487463 +1487460 +1487458 +1487459 +1487468 +1487469 +1749607 +1487464 +1487465 +1159824 +45715 +1487490 +1487491 +1159815 +1487488 +1487489 +1159819 +1487542 +1487543 +1487540 +1159858 +1487541 +1159861 +1487538 +1487539 +1159863 +1487536 +1159862 +1159865 +1487550 +1159864 +1159867 +1159866 +1159869 +1159868 +1487547 +1159871 +1487544 +1159870 +45748 +1487534 +1487535 +1159889 +1159888 +1159891 +1159890 +1159893 +1159892 +1159895 +1159894 +1487569 +1159897 +1159896 +1159873 +1487558 +1159872 +1159875 +1159874 +1159877 +1159876 +1159878 +1159881 +1159880 +1159882 +1159885 +1159884 +1159887 +1159886 +1749786 +1749787 +1749790 +1749791 +1749789 +1749777 +1159965 +1749782 +1749783 +1749770 +1749771 +1225478 +1225479 +1749775 +1749772 +1749762 +1225483 +1749763 +1159947 +1225480 +1225481 +1749761 +1225486 +1749766 +1749767 +1225484 +1225485 +176935 +176938 +176936 +176937 +1749807 +1749794 +176952 +1749792 +1749793 +1159981 +176974 +176975 +176978 +176979 +176976 +176977 +1160002 +176982 +176983 +176980 +176981 +176984 +176985 +1749883 +1749880 +1749884 +1749885 +1749878 +1749879 +1749915 +1749913 +1749919 +1749916 +1749907 +1749910 +1749899 +1749896 +1749902 +1749890 +1749891 +1749895 +1749892 +1160115 +1749944 +1749945 +1160117 +1749950 +1160116 +1749951 +1160119 +1160118 +1749938 +1749943 +1749940 +1749928 +1749929 +1749934 +1749932 +1749933 +1749923 +1749920 +1749924 +1749925 +1749968 +1749969 +1749963 +1749960 +1749967 +1749964 +1749954 +1749953 +1749957 +1750015 +1749986 +1750034 +1750035 +1750032 +1750033 +1750036 +1750026 +1750027 +1750024 +1750025 +1750030 +1750031 +1160199 +1750028 +1160198 +1750029 +1750018 +1750019 +1750016 +1750017 +1750022 +1750023 +1750020 +1750021 +1750078 +1750079 +1750060 +1750108 +1750109 +1225818 +1750098 +1225819 +1750099 +1225817 +1750097 +1225822 +1750102 +1225823 +1750103 +1750101 +1750090 +1750088 +1750089 +1750094 +1750093 +1750082 +1750083 +1750080 +1750081 +1750084 +1225843 +1750136 +1750137 +1225847 +1225844 +1225845 +1225850 +1750130 +1225851 +1750131 +1225848 +1225849 +1750129 +1750134 +1750135 +1225852 +1750132 +1750133 +1225824 +1225831 +1750127 +46198 +46199 +1225835 +1225832 +1750113 +1750118 +1225836 +1750116 +1225837 +1750160 +1750159 +1750200 +1750201 +1750206 +1750207 +1750205 +1750194 +1750195 +1750199 +1750196 +1750187 +1750184 +1750185 +1750190 +1750191 +1750189 +1750181 +1750239 +1750210 +1750212 +1750264 +1750269 +1750258 +1750259 +1750256 +1750257 +1750262 +1750263 +1750260 +1750261 +1160416 +1750249 +1750254 +1750255 +1750241 +1750290 +1750288 +1750289 +1750292 +1750293 +1750283 +1750287 +1750284 +1750285 +1750360 +1750364 +1750358 +1750348 +1750341 +1750375 +1750456 +1422781 +1160654 +1226231 +1160698 +1226265 +1750537 +1750530 +1750529 +1750579 +1750618 +1750619 +1750617 +1750622 +1750623 +1750608 +1750609 +1750614 +1750612 +1750613 +1750602 +1750603 +1750607 +1750604 +1750650 +1750651 +1160819 +1750655 +1750652 +1750647 +1750644 +1750632 +1750633 +1750624 +1750630 +1750631 +1750629 +1750682 +1750683 +1750680 +1750681 +1750684 +1750675 +1750673 +1750678 +1750679 +1750676 +1750677 +1750664 +1750665 +1750668 +1750659 +1750656 +1750660 +1750717 +1750708 +1750699 +1750746 +1750744 +1750745 +1750750 +1750751 +1750749 +1750736 +1750737 +1750740 +1750741 +1750730 +1750728 +1750729 +1750733 +1750723 +1750720 +1750724 +1750725 +1750779 +1750780 +1750781 +1750775 +1750762 +1750763 +1750760 +1750761 +1750764 +1750765 +1750754 +1750755 +1750758 +1750759 +1750756 +1750810 +1750808 +1750809 +1750814 +1750815 +1750813 +1750802 +1750800 +1750801 +1750806 +1750805 +1750842 +1750843 +1750840 +1750841 +1750846 +1750847 +1750844 +1750845 +1750834 +1750835 +1750832 +1750833 +1750838 +1750839 +1750836 +1750837 +1750826 +1750827 +1750824 +1750825 +1750830 +1750831 +1750828 +1750829 +1750818 +1750819 +1750823 +1750820 +1750874 +1750875 +1750872 +1750873 +1750878 +1750879 +1750876 +1750877 +1750866 +1750867 +1750864 +1750865 +1750870 +1750871 +1750868 +1750869 +1750858 +1750859 +1750856 +1750857 +1161029 +1750862 +1161028 +1750863 +1750860 +1750861 +1750850 +1750851 +1750848 +1750849 +1750854 +1750855 +1750852 +1750853 +1750906 +1750907 +1750904 +1750905 +1750910 +1750911 +1750908 +1750909 +1750898 +1750899 +1750896 +1750897 +1750902 +1750903 +1750900 +1750901 +1750890 +1750891 +1750888 +1750889 +1750894 +1750895 +1750892 +1750893 +1750882 +1750883 +1750880 +1750881 +1750886 +1750887 +1750884 +1750885 +1750938 +1750939 +1750936 +1750937 +1750942 +178055 +1750943 +1750940 +1750941 +1750930 +1750931 +1750928 +1750929 +1750934 +1750935 +1750932 +1750933 +1750922 +1750923 +1750920 +1750921 +1750926 +1750927 +1750924 +1750925 +1750914 +1750915 +1750912 +1750913 +1750918 +1750919 +1750916 +1750917 +1750962 +1750963 +1750960 +178089 +1750961 +1750966 +1750964 +1750965 +1750954 +1750955 +1750952 +1750953 +1750958 +1750959 +1750956 +1750957 +1750946 +1750947 +1750944 +1750945 +1750950 +1750951 +1750948 +1750949 +1751194 +1751195 +1751192 +1751193 +1751198 +1751199 +1751196 +1751197 +1751190 +1751188 +1751189 +1751218 +1751216 +1751217 +1751222 +1751223 +1751221 +1751211 +1751208 +1751212 +1751213 +1751202 +1751203 +1751201 +1751206 +1751207 +1751258 +1751259 +1751256 +1751257 +1751262 +1751263 +1751260 +1751261 +1751253 +1751242 +1751243 +1751241 +1751244 +1751245 +1751235 +47325 +1751236 +1751237 +1751290 +1751291 +1751274 +1751275 +1751272 +1751273 +1751266 +1751267 +1751264 +1751265 +1751270 +1751271 +1751268 +1751269 +1751326 +1751327 +1751325 +1751312 +1751306 +1751307 +1751311 +1751308 +1751302 +1751301 +1751346 +1751347 +1751345 +1751350 +1751351 +1751349 +1751338 +1751339 +1751340 +1751341 +1751328 +1751386 +1751387 +1751385 +1751391 +1751388 +1751389 +1751418 +1751419 +1751417 +1751421 +1751410 +1751408 +1751409 +1751415 +1751450 +1751451 +1751448 +1751449 +1751452 +1751453 +1751440 +1751441 +1751446 +1751444 +1751445 +1751432 +1751436 +1751437 +1751426 +1161608 +1751427 +1751431 +1751428 +1751482 +1751480 +1751481 +1751486 +1751485 +1751475 +1751472 +1751476 +1751464 +1161637 +1751470 +1751471 +1751463 +1751514 +1751512 +1751506 +1751507 +1751505 +1751510 +1751511 +1751508 +1751509 +1751498 +1751499 +1751502 +1751503 +1751490 +1751489 +1751494 +1751495 +1751493 +1161719 +1161721 +1554943 +1161720 +1554942 +1554941 +1161722 +1554940 +1751542 +1554945 +1554944 +1227322 +1161784 +1227323 +1227321 +1751606 +1751605 +1161765 +1751675 +1751672 +1751676 +1751677 +1751670 +1751671 +1161833 +1751707 +1751704 +1751710 +1751708 +1751709 +1751698 +1751699 +1751696 +1751697 +1751702 +1161884 +1751703 +1161887 +1751690 +1751691 +1751689 +1751695 +1751682 +1751680 +1751681 +1751684 +1751738 +1751736 +1751737 +1161908 +1161915 +1751734 +1751735 +1751733 +1751723 +1751720 +1751726 +1751724 +1751725 +1751714 +1751713 +1751718 +1751719 +1751717 +1751773 +1751764 +1751747 +1751748 +1227547 +1162032 +1162017 +1162229 +1752062 +1752063 +1162231 +1752061 +1752054 +1752055 +1752052 +1752053 +1752090 +1752091 +1752094 +1752095 +1752092 +1752082 +1752083 +1752081 +1752087 +1752084 +1752075 +1752078 +1162247 +1752076 +1162246 +1752077 +1752066 +1752067 +1752064 +1752065 +1752070 +1752071 +1752068 +1752069 +1752120 +1752121 +1752126 +1752124 +1752125 +1752114 +1752115 +1752112 +1752119 +1752116 +1752110 +1752108 +1752109 +1752098 +1752099 +1752096 +1752097 +1752100 +1752101 +1752130 +1752129 +1752187 +1752185 +1752191 +1752189 +1752179 +1752169 +1752218 +1752219 +1490078 +1752211 +1490076 +1752208 +1490077 +1752209 +1490075 +1752215 +1752202 +1752201 +1752206 +1752204 +1752195 +1752193 +1752199 +1752197 +1490102 +1490103 +1490100 +1752248 +1752249 +1490098 +1752254 +1490099 +1752252 +1752253 +1490106 +1490107 +1752247 +1490104 +1490105 +1490084 +1490085 +1752238 +1490083 +1752239 +1490094 +1490095 +1490093 +1490090 +1490088 +1490089 +1752278 +1162460 +1752279 +1752266 +1752267 +1752265 +1752268 +1752258 +1752259 +1752257 +1752260 +1752315 +1162483 +1752312 +1752313 +1752306 +1752307 +1752309 +1752298 +1752297 +1293542 +1752303 +1752295 +1162515 +1162514 +1752379 +1752382 +1162529 +1752410 +1752411 +1752409 +1752413 +1752401 +1752406 +1752407 +1752405 +1752395 +1752398 +1293636 +1752397 +1752386 +1752385 +1752390 +1752391 +1752389 +1162596 +1162602 +1490326 +1490327 +1490325 +1162626 +1162631 +1162667 +1162666 +1162668 +1752538 +1752539 +1752537 +1752542 +1752543 +1752534 +1752532 +1752533 +1752570 +1752571 +1752568 +1752569 +1752572 +1752573 +1162745 +1752562 +1752563 +1752560 +1752561 +1752566 +1752567 +1752564 +1752565 +1752554 +1752553 +1752558 +1752557 +1752546 +1293802 +1752547 +1752544 +1752550 +1162735 +1752592 +1752593 +48660 +1752591 +1752634 +1752635 +1752633 +1752638 +1752639 +1752636 +1752637 +1293915 +1752658 +1293914 +1752659 +1752656 +1752657 +1752660 +1293916 +1752661 +1752650 +1752648 +1752649 +1752642 +1752643 +1752640 +1752641 +1752646 +1752647 +1752644 +1752645 +1293937 +1293936 +1293946 +1293945 +1293922 +1293921 +1293920 +1293930 +1293928 +1293935 +1293934 +1293932 +1752792 +1752793 +1294037 +1752796 +1752797 +1294042 +1752787 +1752784 +1752791 +1294045 +1752788 +1752779 +1752783 +1752780 +1752824 +1752825 +1752818 +1752819 +1752816 +1752817 +1752822 +1752823 +1752820 +1752821 +1752810 +1752811 +1752808 +1752809 +1752814 +1752815 +1752812 +1752813 +1752802 +1752800 +1752801 +1752806 +1752805 +1752856 +1752857 +1752850 +1752851 +1752848 +1752849 +1752854 +1752855 +1752852 +1752853 +1752846 +1752847 +1752845 +48963 +48964 +1752926 +48967 +48968 +48969 +48972 +1228679 +1228829 +1294371 +1294370 +1294379 +1228886 +1228913 +1228903 +1753242 +1753243 +1753240 +1753241 +1753246 +1753247 +1753244 +1753245 +1753238 +1753239 +1753237 +1753275 +1753272 +1294517 +1753259 +1753262 +1753251 +1753248 +1753255 +1294509 +1753291 +1163509 +1294591 +1294589 +1294594 +1294597 +1753402 +1753400 +1294640 +1753406 +1294639 +1294638 +1294637 +1294636 +1753411 +1753409 +1753444 +1294739 +1294743 +1294741 +1294740 +1294747 +1294744 +1294750 +1294749 +1294748 +1753481 +1294727 +1294725 +1294731 +1294730 +1294729 +1294735 +1294732 +1753531 +1294755 +1294754 +1294753 +1294759 +1294758 +1294757 +1294761 +1294760 +1753566 +1294867 +1294864 +1294875 +1294848 +1294855 +1294853 +1294856 +1294863 +1294862 +1294860 +1294899 +1294897 +1294896 +1294903 +1294902 +1294901 +1294907 +1294906 +1229368 +1294910 +1294909 +1294908 +1294895 +1294918 +1294970 +1294975 +1294974 +1753755 +1753759 +1753757 +1294979 +1294978 +1753728 +180894 +180895 +180898 +180896 +180897 +180902 +180903 +180900 +180901 +180904 +180905 +180910 +1229502 +180911 +1753771 +1753762 +1753763 +1753764 +1229547 +1098512 +1098515 +1229595 +1164077 +1164079 +1164078 +1164103 +1164104 +1098619 +1098621 +1164132 +1098630 +1754047 +1295291 +1295295 +1295294 +1295292 +1295312 +1295318 +1295302 +1295301 +1295300 +1295306 +1754048 +1295304 +1295311 +1295309 +1295308 +1754142 +1754143 +1164315 +1164316 +1295413 +1295416 +1754202 +1754200 +1754201 +1754206 +1754205 +1754197 +1754234 +1754235 +1754232 +1754233 +1754227 +1754230 +1754231 +1754228 +1754229 +1754219 +1754216 +1754220 +1754221 +1229930 +1754210 +1229931 +1754211 +1754209 +1754214 +1754215 +1229983 +1229984 +1754360 +1754361 +1754364 +1754365 +1754359 +1230049 +1754392 +1754393 +1754396 +1754397 +1754391 +1754370 +1754368 +1754369 +1754374 +1754375 +1754373 +1754424 +1754430 +1754428 +1754429 +1754418 +1754419 +1754420 +1754410 +1754411 +1754409 +1754414 +1754415 +1754400 +1754401 +1754406 +1754404 +1754456 +1754457 +1754462 +1754460 +1754461 +1754450 +1754451 +1754448 +1754455 +1754452 +1754440 +1754446 +1754447 +1754434 +1754435 +1754433 +1754438 +1754439 +1754490 +1754488 +1754489 +1754482 +1754483 +1754480 +1754481 +1754486 +1754487 +1754484 +1164670 +1754485 +1754475 +1754472 +1754473 +1754478 +1754479 +1754476 +1754477 +1754467 +1754465 +1754470 +1754471 +1754468 +1754469 +1164691 +1164693 +1164672 +1426868 +1426867 +1164803 +1164804 +1164806 +1164808 +1558081 +1754811 +1754808 +1754812 +1754802 +1754803 +1754806 +1754807 +1754804 +1754834 +1754835 +1754833 +1754838 +1754836 +1754837 +1754824 +1754830 +1754831 +1754829 +1427149 +1754818 +1427148 +1754819 +1754822 +1754823 +1754820 +1427513 +1230908 +1427515 +1230883 +182329 +1755226 +1755227 +1755224 +1755225 +1165397 +1755230 +1755231 +1755228 +1755229 +1755216 +1755217 +1755210 +1755211 +1755208 +1755209 +1755212 +1755213 +1755206 +1165391 +1755205 +1165425 +1755258 +1755259 +1755256 +1755257 +1165429 +1755262 +1755263 +1755260 +1755261 +1755250 +1755251 +1165435 +1755248 +1755249 +1755254 +1755255 +1165439 +1755252 +1755253 +1755242 +1755240 +1755241 +1230951 +1755247 +1755244 +1755245 +1165417 +1755234 +1755235 +1755232 +1755233 +1165421 +1755238 +1755239 +1755236 +1755237 +1493142 +1493143 +1493140 +1493141 +1165461 +1493136 +1493148 +1165466 +1493149 +1493146 +1493147 +1165470 +1165443 +1230980 +1165446 +1493134 +1755266 +1493135 +1755267 +1493132 +1755264 +1165450 +1755265 +1493130 +1755270 +1493131 +1165455 +1755268 +1755269 +1165490 +1165494 +1165498 +1165502 +1493158 +1493156 +1493157 +1165479 +1493152 +1493153 +1493166 +1493164 +1165482 +1493165 +1493162 +1493163 +1165486 +1493161 +1165523 +1165522 +1165525 +1755338 +1165506 +1755340 +1755341 +1165512 +1165516 +51423 +1231095 +1165561 +1231098 +1755378 +1165560 +1231099 +1755379 +1165563 +1231096 +1755376 +1165562 +1231097 +1755377 +1755382 +1165564 +1231100 +1755380 +1231101 +1755381 +1165537 +1165536 +1165539 +1165538 +1165541 +1165540 +1165543 +1165542 +1165545 +1165544 +1231106 +1231151 +1231190 +1231191 +182642 +182641 +182646 +182648 +182654 +182653 +1165726 +1231344 +1231345 +1165819 +1165821 +1165820 +1165822 +1231492 +1493678 +1493679 +1493677 +1231570 +1231571 +1231575 +1231579 +1231577 +1166045 +1166046 +1231581 +1231555 +1231558 +1231566 +1231567 +1231586 +1362660 +1362661 +1231584 +1362662 +1362663 +1362656 +1362657 +1362658 +1362659 +1362668 +51962 +1166059 +51963 +1362664 +1362665 +1362666 +1362667 +51982 +1166112 +1166157 +1166156 +183177 +52320 +52346 +1166513 +118147 +52668 +52669 +52670 +52671 +52672 +52673 +52674 +52675 +52676 +52677 +52678 +52679 +1166815 +118249 +1363636 +1167088 +1167091 +1167081 +1167083 +1167085 +1167084 +1167087 +1167086 +1167121 +1167120 +1167123 +1167122 +1167125 +1167124 +1167127 +1167126 +1167128 +1167109 +1167108 +1167111 +1167110 +1167113 +1167112 +1167115 +1167114 +1167117 +1167116 +1167119 +1167118 +1757019 +1757023 +1757020 +1757011 +1757014 +1757015 +1757042 +1757040 +1757041 +1757034 +118643 +1757033 +1757038 +118644 +1757039 +1757037 +1757027 +1757024 +1757025 +1757030 +1757083 +184192 +184193 +1757086 +1757087 +1757084 +1757085 +1757078 +1757079 +1757077 +53142 +53150 +53151 +53152 +53153 +53154 +53155 +53156 +53157 +53160 +1757107 +1757104 +1757105 +1757111 +1757108 +1757109 +1757098 +1757099 +1757096 +1757097 +1757102 +1757103 +118711 +1757100 +118710 +1757101 +118713 +1757095 +1298419 +1298417 +1298423 +1298427 +1298425 +1298408 +1298480 +1298486 +1298485 +1298484 +1298491 +1298490 +1298489 +1298488 +1298492 +1298467 +1298466 +1298471 +1298470 +1298468 +1298475 +1298479 +1298478 +1298477 +1298476 +118867 +1298591 +1298590 +1298594 +1298592 +118997 +118996 +119113 +119118 +119120 +1167739 +1233298 +1233299 +1233297 +1233300 +1364360 +1167793 +1167792 +1167801 +1560997 +1560996 +1167781 +1560995 +1560994 +1167783 +1560993 +1560992 +1167785 +1167791 +1233401 +1364449 +119287 +1298960 +1298966 +1298965 +1298964 +1298971 +1298970 +1167899 +1298975 +1298972 +119317 +1298950 +1298949 +1298948 +1298955 +1298953 +1298952 +1298959 +1298957 +1298956 +119344 +1298977 +1298976 +119351 +1233499 +1299091 +1299090 +1299095 +1299093 +1299092 +1168025 +1168024 +1299096 +1168051 +1168053 +1168052 +1168054 +1168056 +1168085 +1233606 +1233633 +1233640 +1233641 +1758042 +1758043 +1758040 +1758046 +1758044 +1758034 +1758035 +1758032 +1758033 +1758038 +1758039 +1758036 +1758037 +1758030 +1758031 +1758073 +1758067 +1758065 +1233791 +1758071 +1233789 +1758069 +1758056 +1758050 +1758051 +1758048 +1758049 +1758054 +1758052 +1758053 +185247 +1233878 +1233879 +1233882 +1233881 +1233884 +119887 +54388 +119942 +54486 +54487 +120033 +120034 +1758555 +1234366 +1234367 +1234374 +1234375 +1234373 +1234376 +1234377 +1758710 +1758711 +1758746 +1758748 +1758739 +1758742 +1758730 +1758728 +1758735 +1758732 +1758722 +1758721 +1758777 +1758783 +1758780 +1758768 +1758774 +1758763 +1758760 +1758764 +1758765 +1758754 +1758757 +1758808 +1758802 +1758805 +1758793 +1758796 +1758786 +1758789 +1758842 +1758843 +1758841 +1758846 +1758847 +1758845 +1758833 +1758838 +1758839 +1758836 +1758826 +1758824 +1758830 +1758831 +1758828 +1758817 +1758822 +1758820 +1758874 +1758875 +1758872 +1758873 +1758876 +1758866 +1758867 +1758864 +1758865 +1758870 +1758871 +1758858 +1758859 +1758856 +1758857 +1758862 +1758863 +1758860 +1758861 +1758850 +186011 +1758851 +1758849 +1758854 +1758855 +1758852 +1758853 +1431209 +1431210 +1758942 +1758940 +1758941 +1758930 +1758931 +1758932 +1758926 +1758927 +1758925 +1758970 +1758971 +1758975 +1758972 +1758962 +1758960 +1758961 +1758966 +1758967 +1758965 +1758955 +1758952 +1758956 +1758957 +1758946 +1758947 +1758945 +1758950 +1758951 +1759002 +1759000 +1759001 +1758995 +1758992 +1758996 +1758997 +1758990 +1758991 +1758976 +1758977 +1758982 +1758980 +1758981 +1759034 +1759032 +1759033 +1759026 +1759024 +1759025 +1759029 +186175 +1759058 +1759059 +1759057 +186220 +120831 +186387 +186390 +186391 +186388 +186389 +120871 +120870 +120873 +120872 +120875 +120874 +120877 +120876 +120878 +120881 +120880 +120883 +120882 +120885 +120884 +120887 +120886 +120889 +120888 +120891 +120890 +120893 +120895 +120894 +120897 +120899 +120898 +120901 +1169493 +120900 +1169492 +120903 +1169495 +120902 +1169497 +120904 +120907 +120906 +1169498 +120909 +1169501 +120908 +1169500 +120911 +1169503 +120910 +120912 +120933 +120934 +1169505 +120944 +1169585 +1169592 +1169576 +1169581 +1169580 +1169651 +1169650 +1169665 +1235282 +1235284 +1235275 +1235319 +1235322 +1235323 +1235321 +1235353 +1169895 +186890 +186888 +1235465 +1235468 +55839 +1235469 +55840 +55841 +55842 +55843 +55844 +55845 +55884 +1235577 +1759915 +1759966 +1759958 +1759959 +1235651 +1235655 +1235652 +121575 +121581 +121580 +121585 +1760006 +1235762 +1760122 +1760123 +1760126 +1760127 +1760124 +1235812 +1235813 +1760154 +1760152 +1760153 +1760158 +1760159 +1760156 +1760157 +1760147 +1760144 +1760148 +1760149 +1760138 +1760139 +1760137 +1760142 +1760143 +1760128 +1760129 +1760134 +1760132 +1760133 +1760160 +1760161 +56256 +1760193 +121868 +121887 +121886 +121890 +121898 +1236006 +1236051 +1236053 +1236043 +1236080 +1367154 +121964 +1236071 +1236072 +1236073 +1236076 +1236077 +1170578 +1170580 +1170560 +1170562 +1236102 +1432705 +1170564 +1170566 +1760443 +1760440 +1760444 +1760445 +1760434 +1760432 +1760433 +1760437 +1760426 +1760429 +1760473 +1760478 +1760476 +1760477 +1760466 +1760467 +1760465 +1760470 +1760459 +1760456 +1760462 +1760451 +1760448 +1760454 +1760455 +1760506 +1760510 +1760511 +1760509 +1760498 +1760499 +1760503 +1760500 +1760488 +1760489 +1760495 +1760492 +1760481 +1760487 +1760484 +1760539 +1760536 +1760542 +1760543 +1760531 +1760528 +1760532 +1760533 +1760522 +1760520 +1760521 +1760525 +1760514 +1760517 +1760569 +1760574 +1760572 +1760573 +1760561 +1760566 +1760564 +1760565 +1760554 +1760555 +122163 +1760553 +1760558 +1760547 +1760544 +1760550 +1760602 +1760606 +1760607 +1760605 +1760594 +1760595 +1760599 +1760596 +1760584 +1760585 +1760591 +1760588 +1760577 +122205 +122204 +1760583 +122207 +1760580 +122206 +1760634 +122208 +1760635 +122211 +122210 +122212 +1760639 +122215 +1760636 +122214 +122217 +122216 +1760627 +122219 +1760624 +122221 +122220 +122223 +1760628 +122222 +1760629 +122225 +1760618 +122227 +1760616 +1760617 +122228 +122231 +122230 +1760621 +122233 +1760610 +122234 +122239 +122238 +1760613 +122241 +1760666 +122240 +1760667 +1760664 +122242 +1760665 +122245 +1760670 +122244 +1760671 +1760668 +122246 +1760669 +122249 +1760658 +1760659 +122251 +1760656 +122250 +1760657 +122253 +1760662 +1760663 +122255 +1760660 +122254 +1760661 +122257 +122256 +122259 +1760648 +1760649 +122261 +1760654 +1760655 +1760652 +122262 +1760653 +1760643 +1760640 +122268 +1760647 +1760644 +122270 +1760698 +1760699 +1760696 +1760697 +122277 +122276 +1760700 +122281 +1760690 +122280 +1760691 +1760688 +1760689 +1760694 +1760695 +1760692 +1760693 +1760682 +1760683 +1760680 +1760681 +1760686 +1760687 +1760684 +1760685 +1760674 +1760675 +1760672 +1760673 +1760678 +1760679 +1760676 +1760677 +1760720 +1760714 +1760715 +1760712 +1760713 +1760718 +1760719 +1760716 +1760717 +1760710 +1760711 +1760709 +187883 +187884 +187919 +187916 +187917 +187920 +1760826 +187939 +1760827 +1760824 +1760825 +1760830 +1760831 +187940 +1760828 +1760829 +1760818 +1760819 +1760816 +1760817 +1760822 +1760823 +1760821 +122418 +1760814 +1760815 +1760813 +1760851 +1760848 +1760855 +1498713 +1760842 +1760843 +1760840 +1760841 +1760846 +1760844 +1760845 +1760834 +1760835 +1760832 +1760833 +1760838 +1760836 +1760837 +188060 +1171127 +188081 +1236650 +1171112 +1236651 +122565 +122564 +1171163 +188110 +1367748 +188112 +1761016 +1761020 +1761021 +1761008 +122610 +1761001 +1761007 +1761050 +1761051 +1761055 +1761052 +1761040 +1761041 +1761046 +1761044 +1761045 +1761032 +1761036 +1761037 +1761026 +1761027 +1761025 +1761030 +1761031 +1761082 +1761080 +1761081 +1761074 +1761075 +1367870 +1761072 +1761073 +1761078 +1761079 +1761076 +1761077 +1761070 +1761071 +1761069 +1761056 +1761057 +1761060 +1761061 +1761142 +1761140 +1761141 +1761178 +1761179 +1761176 +1761177 +1761182 +1761183 +1761180 +1761181 +1761171 +1761168 +1761169 +1761174 +1761175 +1761172 +1761173 +1367944 +1761186 +1761187 +1761184 +1761185 +1761190 +1761191 +1761188 +1761189 +1761242 +1761243 +1761240 +1761241 +1761246 +1761247 +1761234 +1761235 +1761232 +1761233 +1761238 +1761239 +1761236 +1761237 +1761226 +1761227 +1761224 +1761225 +1761230 +1761231 +1761228 +1761229 +1761222 +1761223 +1761221 +1368052 +1761272 +1761266 +1761267 +1761264 +1761265 +1368056 +1761270 +1761271 +1761268 +1761269 +1761258 +1761259 +1761256 +1761257 +1761262 +1761263 +1761260 +1761261 +1761250 +1761251 +1761248 +1761249 +1761254 +1761255 +1761252 +1761253 +1761305 +1761311 +1761308 +1761302 +1761338 +1761336 +1761337 +1761342 +1761340 +1761341 +1761333 +1761322 +1368101 +1761323 +1761324 +1761325 +1368108 +1761314 +1761315 +1761313 +1761316 +1761370 +1106001 +1761371 +1761369 +1761374 +1761375 +1761373 +1761362 +1761361 +1761366 +1761367 +1761365 +1761354 +1761352 +1761358 +1761359 +1761357 +1761346 +1761347 +1761345 +1761350 +1761351 +1761402 +1761403 +1761400 +1761401 +1761406 +1761407 +1761404 +1761405 +1761394 +1761395 +1761392 +1761393 +1761398 +1761399 +122991 +1761396 +1761397 +1106020 +1761390 +1761389 +1761378 +1761376 +1761377 +1761434 +1761433 +1761438 +1761437 +1761427 +1761430 +1761429 +1171591 +1761408 +1761466 +1761467 +1761464 +1761465 +1761470 +1761471 +1761468 +1761469 +1761458 +1761459 +1761456 +1761457 +1761462 +1761463 +1761460 +1761461 +1761450 +1761451 +1761449 +1761454 +1761455 +1761452 +1761453 +1761442 +1761443 +1761441 +1761446 +1761447 +1761498 +1761499 +1761497 +1761500 +1761501 +1761491 +1761488 +1761482 +1761483 +1761481 +1761486 +1761487 +1761474 +1761472 +1761473 +1761478 +1761479 +1761477 +1761530 +1761531 +188647 +1761535 +1761532 +123124 +123127 +1761563 +1761560 +1761564 +1761565 +1761554 +1761552 +1761553 +1761559 +1761547 +1761544 +1761548 +1761549 +1761536 +1761537 +1761594 +1761593 +1761598 +1761599 +1761597 +1761584 +1761585 +1761590 +1761591 +1761583 +1761570 +1761568 +1761569 +1761574 +1761575 +1761573 +1761626 +1368406 +1761630 +1761631 +123207 +123211 +123210 +1761622 +1761620 +1761621 +1761602 +1761603 +1761606 +1761658 +1761656 +1761657 +1761662 +1761663 +1761661 +1761642 +1761641 +1761645 +1761634 +1761635 +1761638 +1761691 +1761689 +1761694 +1761682 +1761683 +1761680 +1761686 +1761684 +1761685 +1761674 +1761672 +1761673 +1761667 +1761669 +1171893 +1171892 +1171899 +1761697 +1761700 +1761701 +1171921 +1171925 +1171927 +1171929 +1171933 +1171935 +123353 +123355 +123354 +1171954 +1368567 +1171956 +1171958 +1171962 +1368568 +1171964 +1171967 +1171937 +1171939 +1171943 +1171945 +123384 +1171969 +1171968 +1171970 +1172035 +1368697 +1172145 +1368756 +1368757 +1368752 +1368753 +1368754 +1368755 +1368764 +1368765 +1368766 +1368767 +1368748 +1368749 +1368750 +1368751 +1368747 +1368788 +1368789 +1368791 +1368784 +1368792 +1368793 +1368794 +1368795 +1368772 +1368773 +1368774 +1368775 +1368768 +1368770 +1368771 +1368780 +1368781 +1368776 +1368777 +1368778 +1368779 +1434356 +1368804 +1368805 +1368800 +1368801 +1368803 +1106719 +123886 +1237989 +189434 +1237994 +189432 +189433 +1106961 +1106963 +1172498 +1238029 +1238079 +1172573 +1172575 +1238080 +1172578 +124032 +124034 +189574 +189573 +124040 +1107097 +1107100 +1107074 +124050 +1172614 +124058 +1107085 +1107087 +124076 +124080 +1107145 +1369361 +1369399 +1369400 +1369401 +1369402 +1369403 +1369413 +1369408 +1369409 +1369411 +189794 +124420 +189974 +189973 +124495 +124494 +124496 +124499 +1173105 +1173109 +1173114 +1173101 +124564 +190104 +124570 +124581 +124596 +1697529 +1697528 +1697530 +1697525 +1697527 +1697526 +190223 +59184 +1173283 +59187 +59191 +1173289 +124747 +124755 +124754 +124756 +124758 +124761 +124760 +124763 +124762 +124765 +124764 +124767 +124769 +124768 +124771 +124770 +124773 +124775 +124774 +124776 +124785 +124787 +59254 +59255 +59257 +59314 +124852 +124854 +1239020 +1239052 +124972 +1239101 +1239118 +1370230 +1108182 +1108189 +59641 +125195 +125197 +125196 +125199 +125198 +1370576 +1370577 +1370584 +1370586 +125390 +1370573 +1370574 +1370575 +1370620 +1370621 +1370617 +1370618 +1370619 +125429 +125445 +125461 +125462 +125467 +125466 +125469 +125468 +125471 +125473 +125472 +125475 +125474 +125476 +125479 +125478 +125481 +125483 +125482 +125487 +125488 +125495 +125498 +125503 +125505 +125512 +125516 +60042 +1370804 +1370805 +1370803 +1370812 +1370813 +1370814 +1370810 +1370811 +1174258 +1239819 +191276 +191281 +191287 +125754 +1239849 +191297 +125781 +60269 +60276 +1239916 +60288 +60293 +1240033 +1240036 +1240040 +1174571 +126015 +1240108 +126016 +60513 +1240191 +126183 +60651 +1240433 +1174934 +1371573 +191939 +1502710 +1502711 +1502708 +1502709 +1502704 +1502718 +1502719 +1502716 +1502717 +1502714 +1502715 +1502712 +1502713 +1502702 +1502703 +1502700 +1502701 +1175057 +1175056 +1502743 +1175059 +1175058 +1175061 +1175060 +1175063 +1175062 +1175065 +1502750 +1175064 +1175067 +1502748 +1175066 +1175069 +1502746 +1175068 +1175071 +1175070 +1502745 +1502726 +1502727 +1175043 +1502724 +1175042 +1502725 +1175045 +1502722 +1175044 +1502723 +1175047 +1502720 +1175046 +1502721 +1175049 +1502734 +1175048 +1175051 +1502732 +1175050 +1502733 +1175053 +1502730 +1175052 +1502731 +1175055 +1502728 +1175054 +1502729 +1502775 +1502773 +1502770 +1502771 +1502769 +1502780 +1502781 +1502779 +1502776 +1502777 +1502758 +1175072 +1502754 +1502755 +1502753 +1502766 +1502764 +1502762 +1502763 +1502760 +1175134 +1502793 +1502838 +1502839 +1502836 +1502837 +1502834 +1502835 +1502846 +1502847 +1502844 +1502845 +1502842 +1502843 +1502840 +1502841 +1175136 +1175138 +1175140 +1175142 +1502854 +1502852 +1502853 +1502850 +1502848 +1502849 +1502887 +126671 +126673 +1241088 +61523 +127060 +127066 +127103 +127107 +127333 +127338 +127342 +127344 +1175915 +1175914 +1175916 +127363 +127364 +1372665 +1241631 +1241628 +1241629 +1241650 +1241651 +1241648 +1241649 +127530 +127541 +1176107 +1241646 +1241647 +127564 +1176136 +1176138 +1372852 +1176248 +1176252 +1176255 +1176257 +1176261 +1241880 +1176367 +193356 +1176389 +1176391 +1176445 +127931 +128125 +128205 +128204 +128207 +128206 +128208 +128214 +1176779 +1373386 +1176823 +1176825 +1176830 +1176850 +1176852 +1176832 +1176837 +1176839 +1176847 +1176865 +1176867 +1176866 +1176869 +1176875 +128317 +128319 +128318 +128321 +128320 +128323 +128322 +128325 +128324 +128327 +128326 +128329 +128328 +128331 +128330 +128333 +128332 +1176924 +128335 +128334 +128337 +1176897 +128336 +128339 +128338 +128341 +128340 +128343 +128342 +1176954 +128371 +1176930 +1176937 +1111494 +1111497 +128479 +128481 +128480 +128483 +128485 +128484 +128487 +128486 +128489 +128488 +128491 +128490 +128493 +128492 +1111549 +128495 +128494 +1111551 +128497 +128496 +128499 +128498 +128501 +128500 +128503 +128502 +128505 +128504 +128506 +1111557 +128537 +128539 +128541 +128540 +128567 +128568 +1111594 +1111595 +128573 +128572 +128574 +1570375 +1570372 +1570369 +1570382 +1177163 +1570379 +1570378 +1570431 +128624 +1570460 +1570459 +1570434 +1570485 +1570483 +1570518 +1570514 +1570541 +1570538 +1570561 +1373960 +1570623 +1570622 +1570621 +1570620 +1570619 +1570617 +1177426 +1570628 +1570627 +1570626 +1570625 +1570624 +1570636 +1570635 +1177462 +1177469 +1177510 +1177512 +1177518 +1177561 +1243134 +1243135 +1243144 +1505332 +1505328 +1505329 +1505326 +1505325 +1505323 +1243352 +1243353 +1374404 +1374405 +1374406 +1374407 +1374403 +1374409 +1243391 +194802 +194814 +194815 +194818 +194819 +194816 +194817 +194820 +194821 +1243392 +129305 +129304 +1177937 +1243462 +1177924 +1177935 +1177968 +1177952 +1177957 +1177956 +1177989 +1243682 +195139 +1243742 +1243740 +1243741 +1309289 +1309288 +1309292 +1178361 +1375037 +1375038 +1375039 +1243986 +1243990 +1375050 +1178480 +1375134 +1178554 +1375167 +1375142 +1375143 +1375138 +1375139 +1375148 +1375149 +1375150 +1375151 +129991 +1375168 +1375169 +1375170 +1375171 +130013 +130014 +130017 +130016 +130019 +1375252 +1375253 +1375254 +195654 +195655 +195653 +195658 +195659 +195656 +195657 +195662 +195663 +195660 +195661 +195666 +195667 +195664 +195665 +1244225 +1244272 +1244273 +1178748 +1244270 +1244271 +195715 +195771 +195772 +1244333 +130258 +1244358 +1244356 +1244357 +1244361 +1113393 +1113395 +1113523 +1375671 +1113524 +1179043 +64955 +1113515 +64956 +64957 +64958 +1244734 +1048122 +1048118 +1048117 +1244766 +1244738 +1244739 +1244737 +1244744 +1375901 +1375902 +1244805 +1375924 +1375925 +1375926 +1375927 +1375920 +1375921 +1375922 +1375923 +1375932 +1375933 +1375934 +1375935 +1375928 +1375929 +1375930 +1375931 +1375909 +1375910 +1375911 +1375904 +1375905 +1375906 +1375907 +1375916 +1375917 +1375918 +1375919 +1375912 +1375913 +1375914 +1375915 +1375956 +1375957 +1375958 +1375959 +1375952 +1375953 +1375954 +1375955 +1375964 +1375965 +1375966 +1375960 +1375961 +1375962 +1375963 +1375940 +1375941 +1375942 +1375943 +1375936 +1375937 +1375938 +1375939 +1375948 +1375949 +1375950 +1375944 +1375945 +1375946 +1375947 +1375972 +1375973 +1375968 +1375969 +1375970 +1375971 +1179441 +1244991 +1244988 +1179472 +1179474 +1179478 +1179481 +1179480 +1179483 +1179482 +1179485 +1179484 +1179487 +1179486 +1244994 +1244995 +1244992 +1244993 +1244998 +1244999 +1244996 +1244997 +1245000 +1179466 +1245040 +1179489 +1179488 +1179491 +1179490 +1179493 +1179492 +130973 From e268a349e0451deec0d8896978eef7181572f2c7 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Fri, 22 Dec 2023 16:27:12 -0800 Subject: [PATCH 09/25] Block user icons which are invalid GUIDs --- .../Endpoints/Game/UserEndpoints.cs | 17 ++++++++++---- .../Services/GuidCheckerService.cs | 22 ++++++++++++------- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs b/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs index 0d30536c..424ce7c2 100644 --- a/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs +++ b/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs @@ -58,7 +58,7 @@ public SerializedUserList GetMultipleUsers(RequestContext context, GameDatabaseC [GameEndpoint("updateUser", HttpMethods.Post, ContentType.Xml)] [NullStatusCode(BadRequest)] - public string? UpdateUser(RequestContext context, GameDatabaseContext database, GameUser user, string body, IDataStore dataStore, Token token) + public string? UpdateUser(RequestContext context, GameDatabaseContext database, GameUser user, string body, IDataStore dataStore, Token token, GuidCheckerService guidChecker) { SerializedUpdateData? data = null; @@ -96,10 +96,19 @@ public SerializedUserList GetMultipleUsers(RequestContext context, GameDatabaseC return null; } - if (data.IconHash != null && !data.IconHash.StartsWith("g") && !dataStore.ExistsInStore(data.IconHash)) + if (data.IconHash != null) { - database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was missing on the server.", user); - return null; + if (!data.IconHash.StartsWith('g') && !dataStore.ExistsInStore(data.IconHash)) + { + database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was missing on the server.", user); + return null; + } + + if(data.IconHash.StartsWith('g') && !guidChecker.IsTextureGuid(token.TokenGame, long.Parse(data.IconHash.AsSpan()[1..]))) + { + database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was an invalid GUID.", user); + return null; + } } if (data.PlanetsHash != null && !dataStore.ExistsInStore(data.PlanetsHash)) diff --git a/Refresh.GameServer/Services/GuidCheckerService.cs b/Refresh.GameServer/Services/GuidCheckerService.cs index e33d8da9..54807ec4 100644 --- a/Refresh.GameServer/Services/GuidCheckerService.cs +++ b/Refresh.GameServer/Services/GuidCheckerService.cs @@ -41,13 +41,19 @@ private static void ReadStream(Stream stream, HashSet set) /// /// /// - public bool IsTextureGuid(TokenGame game, long guid) => game switch + public bool IsTextureGuid(TokenGame game, long guid) { - TokenGame.LittleBigPlanet1 => this._validMainlineTextureGuids.TryGetValue(guid, out _), - TokenGame.LittleBigPlanet2 => this._validMainlineTextureGuids.TryGetValue(guid, out _), - TokenGame.LittleBigPlanet3 => this._validMainlineTextureGuids.TryGetValue(guid, out _), - TokenGame.LittleBigPlanetVita => this._validVitaTextureGuids.TryGetValue(guid, out _), - TokenGame.LittleBigPlanetPSP => true, - _ => throw new ArgumentOutOfRangeException(nameof(game), game, null), - }; + //Allow g0 explicitly + if (guid == 0) return true; + + return game switch + { + TokenGame.LittleBigPlanet1 => this._validMainlineTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanet2 => this._validMainlineTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanet3 => this._validMainlineTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanetVita => this._validVitaTextureGuids.TryGetValue(guid, out _), + TokenGame.LittleBigPlanetPSP => true, + _ => throw new ArgumentOutOfRangeException(nameof(game), game, null), + }; + } } \ No newline at end of file From af501a95319e017d6617f3b535f400375bab7791 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Fri, 22 Dec 2023 19:20:19 -0800 Subject: [PATCH 10/25] GuidCheckerService: Verify PSP avatar GUIDs --- .../Endpoints/Game/UserEndpoints.cs | 25 +++++++++++++------ .../Services/GuidCheckerService.cs | 2 +- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs b/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs index 424ce7c2..2d51c4a8 100644 --- a/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs +++ b/Refresh.GameServer/Endpoints/Game/UserEndpoints.cs @@ -98,16 +98,27 @@ public SerializedUserList GetMultipleUsers(RequestContext context, GameDatabaseC if (data.IconHash != null) { - if (!data.IconHash.StartsWith('g') && !dataStore.ExistsInStore(data.IconHash)) + //If the icon is a GUID + if (data.IconHash.StartsWith('g')) { - database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was missing on the server.", user); - return null; + //Parse out the GUID + long guid = long.Parse(data.IconHash.AsSpan()[1..]); + + //If its not a valid GUID, block the request + if(data.IconHash.StartsWith('g') && !guidChecker.IsTextureGuid(token.TokenGame, guid)) + { + database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was an invalid GUID.", user); + return null; + } } - - if(data.IconHash.StartsWith('g') && !guidChecker.IsTextureGuid(token.TokenGame, long.Parse(data.IconHash.AsSpan()[1..]))) + else { - database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was an invalid GUID.", user); - return null; + //If the asset does not exist on the server, block the request + if (!dataStore.ExistsInStore(data.IconHash)) + { + database.AddErrorNotification("Profile update failed", "Your avatar failed to update because the asset was missing on the server.", user); + return null; + } } } diff --git a/Refresh.GameServer/Services/GuidCheckerService.cs b/Refresh.GameServer/Services/GuidCheckerService.cs index 54807ec4..ff9d652a 100644 --- a/Refresh.GameServer/Services/GuidCheckerService.cs +++ b/Refresh.GameServer/Services/GuidCheckerService.cs @@ -52,7 +52,7 @@ public bool IsTextureGuid(TokenGame game, long guid) TokenGame.LittleBigPlanet2 => this._validMainlineTextureGuids.TryGetValue(guid, out _), TokenGame.LittleBigPlanet3 => this._validMainlineTextureGuids.TryGetValue(guid, out _), TokenGame.LittleBigPlanetVita => this._validVitaTextureGuids.TryGetValue(guid, out _), - TokenGame.LittleBigPlanetPSP => true, + TokenGame.LittleBigPlanetPSP => guid is >= 0 and <= 63, //PSP avatar GUIDs can be g0 - g63 _ => throw new ArgumentOutOfRangeException(nameof(game), game, null), }; } From c98dbe88b0350d53533a3ac4c56df958ddbdec6e Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sat, 23 Dec 2023 13:16:40 -0800 Subject: [PATCH 11/25] ResourceHelper: Add vectorized XOR function This is going to be used to decrypt LBP PSP MIP files, which are encrypted using a simple XOR key. --- Refresh.GameServer/Refresh.GameServer.csproj | 6 ++ .../Resources/ResourceHelper.cs | 63 ++++++++++++++++++- .../Tests/Resources/XorTests.cs | 49 +++++++++++++++ 3 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 RefreshTests.GameServer/Tests/Resources/XorTests.cs diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index abdfa6fd..7372eb13 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -11,6 +11,7 @@ TRACE;DEBUG true + true @@ -19,6 +20,11 @@ true + true + + + + true diff --git a/Refresh.GameServer/Resources/ResourceHelper.cs b/Refresh.GameServer/Resources/ResourceHelper.cs index 2e50094a..a20a6124 100644 --- a/Refresh.GameServer/Resources/ResourceHelper.cs +++ b/Refresh.GameServer/Resources/ResourceHelper.cs @@ -1,4 +1,6 @@ +using System.Numerics; using System.Reflection; +using Microsoft.Toolkit.HighPerformance; namespace Refresh.GameServer.Resources; @@ -8,5 +10,64 @@ public static Stream StreamFromResource(string name) { Assembly assembly = Assembly.GetExecutingAssembly(); return assembly.GetManifestResourceStream(name)!; - } + } + + private static unsafe void XorVectorized(Span data, ReadOnlySpan key) + { + fixed (byte* dataPtr = data) + { + //Get the misalignment of the data + int misalignment = (int)((nint)dataPtr % sizeof(nint)); + + if (misalignment != 0) + { + //XOR the data before the aligned data + XorScalar(data[..misalignment], key); + } + + //Get the span of data which is aligned to word boundaries + Span alignedData = data[misalignment..]; + + //Get a Vector of the data, offset by the misalignment, making this data byte-aligned + Span> alignedDataVec = alignedData.Cast>(); + //Get a Vector of the key, offset by the misalignment + ReadOnlySpan> keyVec = key[misalignment..].Cast>(); + + //Iterate over every item in the data vector + for (int i = 0; i < alignedDataVec.Length; i++) + //XOR it with the key + alignedDataVec[i] ^= keyVec[i]; + + //Get the amount of bytes which are left over + int leftoverCount = data.Length - (alignedDataVec.Length * Vector.Count * sizeof(byte)) - misalignment; + + //If theres no leftover bytes, return out + if (leftoverCount <= 0) return; + + //Get the start index of the leftover bytes + int leftoverOffset = data.Length - leftoverCount; + //Slice the data to only have the leftover data + Span leftover = data[leftoverOffset..]; + + XorScalar(leftover, key[leftoverOffset..]); + } + } + + private static void XorScalar(Span data, ReadOnlySpan key) + { + //Iterate over all bytes + for (int i = 0; i < data.Length; i++) + //Iterate over all data, and XOR it with the key + data[i] ^= key[i]; + } + + public static unsafe void Xor(Span data, ReadOnlySpan key) + { + if (key.Length < data.Length) throw new ArgumentException("Key must be as long or longer than the data!", nameof(key)); + + if (Vector.IsSupported && data.Length >= Vector.Count * sizeof(byte)) + XorVectorized(data, key); + else + XorScalar(data, key); + } } \ No newline at end of file diff --git a/RefreshTests.GameServer/Tests/Resources/XorTests.cs b/RefreshTests.GameServer/Tests/Resources/XorTests.cs new file mode 100644 index 00000000..d26dc2ab --- /dev/null +++ b/RefreshTests.GameServer/Tests/Resources/XorTests.cs @@ -0,0 +1,49 @@ +using Refresh.GameServer.Resources; + +namespace RefreshTests.GameServer.Tests.Resources; + +public class XorTests +{ + [Test] + public void BasicXor() + { + byte[] data = [0xF0, 0x0F]; + byte[] key = [0x0F, 0xF0]; + + ResourceHelper.Xor(data, key); + + Assert.That(data, Is.EquivalentTo(new byte[] {0xFF, 0xFF})); + } + + [Test] + public void BigXor() + { + byte[] data = [0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F]; + byte[] key = [0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0]; + + ResourceHelper.Xor(data, key); + + Assert.That(data, + Is.EquivalentTo(new byte[] + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF })); + } + + [Test] + public void BigXorMisaligned() + { + byte[] data = + [ + 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, + ]; + byte[] key = + [ + 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, + ]; + + ResourceHelper.Xor(data.AsSpan()[1..], key.AsSpan()[1..]); + + Assert.That(data[1..], + Is.EquivalentTo(new byte[] + { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF })); + } +} \ No newline at end of file From 72888bed65e56229ed4381e4493629b2e2e67036 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sat, 23 Dec 2023 15:01:40 -0800 Subject: [PATCH 12/25] Importer: Detect MIP files if PSP encryption key is present --- Refresh.GameServer/Importing/AssetImporter.cs | 1 + Refresh.GameServer/Importing/Importer.cs | 68 +++++++++++++++++- Refresh.GameServer/Refresh.GameServer.csproj | 1 + .../Resources/ResourceHelper.cs | 70 ++++++++++++++++++- .../Types/Assets/AssetSafetyLevel.cs | 1 + .../Types/Assets/GameAssetType.cs | 6 ++ 6 files changed, 142 insertions(+), 5 deletions(-) diff --git a/Refresh.GameServer/Importing/AssetImporter.cs b/Refresh.GameServer/Importing/AssetImporter.cs index fcafc5fc..9a11bebc 100644 --- a/Refresh.GameServer/Importing/AssetImporter.cs +++ b/Refresh.GameServer/Importing/AssetImporter.cs @@ -132,6 +132,7 @@ or GameAssetType.Png or GameAssetType.Tga or GameAssetType.Texture or GameAssetType.GameDataTexture + or GameAssetType.Mip or GameAssetType.Unknown) { return false; diff --git a/Refresh.GameServer/Importing/Importer.cs b/Refresh.GameServer/Importing/Importer.cs index 73985853..1c56a49e 100644 --- a/Refresh.GameServer/Importing/Importer.cs +++ b/Refresh.GameServer/Importing/Importer.cs @@ -5,6 +5,7 @@ using Bunkum.Core; using NotEnoughLogs; using Refresh.GameServer.Authentication; +using Refresh.GameServer.Resources; using Refresh.GameServer.Types.Assets; namespace Refresh.GameServer.Importing; @@ -13,6 +14,7 @@ public abstract class Importer { private readonly Logger _logger; protected readonly Stopwatch Stopwatch; + private readonly Lazy _pspKey; protected Importer(Logger? logger = null) { @@ -23,6 +25,27 @@ protected Importer(Logger? logger = null) this._logger = logger; this.Stopwatch = new Stopwatch(); + + this._pspKey = new(() => + { + try + { + return File.ReadAllBytes("keys/psp"); + } + catch(Exception e) + { + if (e.GetType() == typeof(FileNotFoundException) || e.GetType() == typeof(DirectoryNotFoundException)) + { + this._logger.LogWarning(BunkumCategory.Digest, "PSP key file not found, encrypting/decrypting of PSP images will not work."); + } + else + { + this._logger.LogError(BunkumCategory.Digest, "Unknown error while loading PSP key! err: {0}", e.ToString()); + } + + return null; + } + }, LazyThreadSafetyMode.ExecutionAndPublication); } [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -99,8 +122,47 @@ private static bool IsPspTga(ReadOnlySpan data) return true; } + + private bool IsMip(Span rawData) + { + //If we dont have a key, then we cant determine the data type + if (this._pspKey.Value == null) return false; + + //Data less than this size isn't encrypted(?) and all Mip files uploaded to the server will be encrypted + //See https://github.com/ennuo/lbparc/blob/16ad36aa7f4eae2f7b406829e604082750f16fe1/tools/toggle.js#L33 + if (rawData.Length < 0x19) return false; + + //Decrypt the data + ReadOnlySpan data = ResourceHelper.PspDecrypt(rawData, this._pspKey.Value); + + uint clutOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[..4]); + uint width = BinaryPrimitives.ReadUInt32LittleEndian(data[4..8]); + uint height = BinaryPrimitives.ReadUInt32LittleEndian(data[8..12]); + byte bpp = data[12]; + byte numBlocks = data[13]; + byte texMode = data[14]; + byte alpha = data[15]; + uint dataOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[16..20]); + + //Its unlikely that any mip textures are ever gonna be this big + if (width > 512 || height > 512) return false; + + //We only support MIP files which have a bpp of 4 and 8 + if (bpp is not 8 and 4) return false; + + //Alpha can only be 0 or 1 + if (alpha > 1) return false; + + //If the data offset is past the end of the file, its not a MIP + if (dataOffset > data.Length || clutOffset > data.Length) return false; + + //If the size of the image is too big for the data passed in, its not a MIP + if (width * height * bpp / 8 > data.Length - dataOffset) return false; + + return true; + } - protected GameAssetType DetermineAssetType(ReadOnlySpan data, TokenPlatform? tokenPlatform) + protected GameAssetType DetermineAssetType(Span data, TokenPlatform? tokenPlatform) { // LBP assets if (MatchesMagic(data, "TEX "u8)) return GameAssetType.Texture; @@ -121,8 +183,10 @@ protected GameAssetType DetermineAssetType(ReadOnlySpan data, TokenPlatfor if (MatchesMagic(data, 0xFFD8FFE0)) return GameAssetType.Jpeg; if (MatchesMagic(data, 0x89504E470D0A1A0A)) return GameAssetType.Png; + // ReSharper disable once ConvertIfStatementToSwitchStatement if (tokenPlatform is null or TokenPlatform.PSP && IsPspTga(data)) return GameAssetType.Tga; - + if (tokenPlatform is null or TokenPlatform.PSP && this.IsMip(data)) return GameAssetType.Mip; + this.Warn($"Unknown asset header [0x{Convert.ToHexString(data[..4])}] [str: {Encoding.ASCII.GetString(data[..4])}]"); return GameAssetType.Unknown; diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index 7372eb13..92d7eae3 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -71,6 +71,7 @@ + diff --git a/Refresh.GameServer/Resources/ResourceHelper.cs b/Refresh.GameServer/Resources/ResourceHelper.cs index a20a6124..8e980630 100644 --- a/Refresh.GameServer/Resources/ResourceHelper.cs +++ b/Refresh.GameServer/Resources/ResourceHelper.cs @@ -1,5 +1,9 @@ +using System.Buffers; +using System.Buffers.Binary; using System.Numerics; using System.Reflection; +using System.Security.Cryptography; +using IronCompress; using Microsoft.Toolkit.HighPerformance; namespace Refresh.GameServer.Resources; @@ -12,13 +16,15 @@ public static Stream StreamFromResource(string name) return assembly.GetManifestResourceStream(name)!; } - private static unsafe void XorVectorized(Span data, ReadOnlySpan key) + private static unsafe void XorVectorized(Span rawData, ReadOnlySpan key) { - fixed (byte* dataPtr = data) + fixed (byte* dataPtr = rawData) { //Get the misalignment of the data int misalignment = (int)((nint)dataPtr % sizeof(nint)); + Span data = new(dataPtr, rawData.Length); + if (misalignment != 0) { //XOR the data before the aligned data @@ -61,7 +67,65 @@ private static void XorScalar(Span data, ReadOnlySpan key) data[i] ^= key[i]; } - public static unsafe void Xor(Span data, ReadOnlySpan key) + private static readonly ThreadLocal Iron = new(() => new Iron(ArrayPool.Shared)); + + private static void Encrypt(Span data, ReadOnlySpan key) + { + throw new NotImplementedException(); //TODO + } + + /// + /// Decrypt a PSP asset + /// + /// The data to decrypt + /// The decryption key + /// The decrypted data. + public static byte[] PspDecrypt(Span data, ReadOnlySpan key) + { + //XOR the data + Xor(data, key); + + //Get the data buffer + Span buf = data[..^0x19]; + //Get the info of the file + Span info = data[^0x19..]; + + uint len = BinaryPrimitives.ReadUInt32LittleEndian(info[..4]); + + ReadOnlySpan signature = info[^0x10..]; + + //If the hash in the file does not match the data contained, the file is likely corrupt. + if (!signature.SequenceEqual(MD5.HashData(data[..^0x10]))) throw new InvalidDataException("Encrypted PSP asset hash does not match signature, likely corrupt"); + + //If the data is not compressed, just return a copy of the raw buffer + if (info[0x4] != 1) + { + Xor(data, key); + return buf.ToArray(); + } + + //Decompress the data + using IronCompressResult decompressed = Iron.Value!.Decompress(Codec.LZO, buf, (int)len); + + Xor(data, key); + + //Return a copy of the decompressed data + return decompressed.AsSpan().ToArray(); + } + + public static byte[] XorAlloc(ReadOnlySpan data, ReadOnlySpan key) + { + //Allocate the new array + byte[] result = new byte[data.Length]; + //Copy the old data to the result + data.CopyTo(result); + //XOR the output array + Xor(result, key); + //Return the result + return result; + } + + public static void Xor(Span data, ReadOnlySpan key) { if (key.Length < data.Length) throw new ArgumentException("Key must be as long or longer than the data!", nameof(key)); diff --git a/Refresh.GameServer/Types/Assets/AssetSafetyLevel.cs b/Refresh.GameServer/Types/Assets/AssetSafetyLevel.cs index f398be8c..7da9837b 100644 --- a/Refresh.GameServer/Types/Assets/AssetSafetyLevel.cs +++ b/Refresh.GameServer/Types/Assets/AssetSafetyLevel.cs @@ -32,6 +32,7 @@ public static AssetSafetyLevel FromAssetType(GameAssetType type) GameAssetType.VoiceRecording => AssetSafetyLevel.Safe, GameAssetType.Painting => AssetSafetyLevel.Safe, GameAssetType.SyncedProfile => AssetSafetyLevel.Safe, + GameAssetType.Mip => AssetSafetyLevel.Safe, GameAssetType.Material => AssetSafetyLevel.PotentiallyUnwanted, GameAssetType.Mesh => AssetSafetyLevel.PotentiallyUnwanted, diff --git a/Refresh.GameServer/Types/Assets/GameAssetType.cs b/Refresh.GameServer/Types/Assets/GameAssetType.cs index 66e9dc13..e7c15bae 100644 --- a/Refresh.GameServer/Types/Assets/GameAssetType.cs +++ b/Refresh.GameServer/Types/Assets/GameAssetType.cs @@ -111,4 +111,10 @@ public enum GameAssetType /// This is bundled with Cross-Controller levels since the uploading logic for those levels isn't great. /// SyncedProfile = 14, + /// + /// A PSP MIP image file. While this file type has no magic, we do some heuristics on the file to detect it. + /// This image is uploaded by LBP PSP for new levels, and is what it loads for level badges. + /// + /// + Mip = 15, } \ No newline at end of file From 9a91cb7b1087c4f19b8462641064cb9a6926054b Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sat, 23 Dec 2023 17:13:38 -0800 Subject: [PATCH 13/25] ApiV3: Prefix PSP level icons in level responses with `psp/` --- .../Endpoints/ApiV3/DataTypes/Response/ApiGameLevelResponse.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/ApiGameLevelResponse.cs b/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/ApiGameLevelResponse.cs index bcad45d4..3dcf090e 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/ApiGameLevelResponse.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/DataTypes/Response/ApiGameLevelResponse.cs @@ -49,7 +49,7 @@ public class ApiGameLevelResponse : IApiResponse, IDataConvertableFrom Date: Sat, 23 Dec 2023 17:14:18 -0800 Subject: [PATCH 14/25] AssetImporter: Fix importing of PSP assets from IDataStore --- Refresh.GameServer/Importing/AssetImporter.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Refresh.GameServer/Importing/AssetImporter.cs b/Refresh.GameServer/Importing/AssetImporter.cs index 9a11bebc..0aab7476 100644 --- a/Refresh.GameServer/Importing/AssetImporter.cs +++ b/Refresh.GameServer/Importing/AssetImporter.cs @@ -25,15 +25,20 @@ public void ImportFromDataStore(GameDatabaseContext database, IDataStore dataSto int newAssets = 0; this.Stopwatch.Start(); - IEnumerable assetHashes = dataStore.GetKeysFromStore() - .Where(key => !key.Contains('/')); + IEnumerable assetHashes = dataStore.GetKeysFromStore(); - List assets = new(); - foreach (string hash in assetHashes) + List assets = new(assetHashes.Count()); + foreach (string path in assetHashes) { - byte[] data = dataStore.GetDataFromStore(hash); + bool isPsp = path.StartsWith("psp/"); + //If the hash has a `/` and it doesnt start with `psp/`, then its an invalid asset + if (path.Contains('/') && !isPsp) continue; + + string hash = isPsp ? path[4..] : path; + + byte[] data = dataStore.GetDataFromStore(path); - GameAsset? newAsset = this.ReadAndVerifyAsset(hash, data, null); + GameAsset? newAsset = this.ReadAndVerifyAsset(hash, data, isPsp ? TokenPlatform.PSP : null); if (newAsset == null) continue; GameAsset? oldAsset = database.GetAssetFromHash(hash); From 636c3fcd795ea27b20471b77f79359e160afa67b Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sat, 23 Dec 2023 17:14:39 -0800 Subject: [PATCH 15/25] ImageImporter: Add MIP importing --- .../Endpoints/ApiV3/ResourceApiEndpoints.cs | 9 +- .../Importing/ImageImporter.Conversions.cs | 7 + Refresh.GameServer/Importing/ImageImporter.cs | 13 +- Refresh.GameServer/Importing/Importer.cs | 66 +++++---- .../Importing/Mip/MipDecoder.cs | 126 ++++++++++++++++++ Refresh.GameServer/Importing/Mip/MipFormat.cs | 16 +++ Refresh.GameServer/Importing/Mip/MipHeader.cs | 43 ++++++ .../Importing/Mip/MipMetadata.cs | 6 + 8 files changed, 251 insertions(+), 35 deletions(-) create mode 100644 Refresh.GameServer/Importing/Mip/MipDecoder.cs create mode 100644 Refresh.GameServer/Importing/Mip/MipFormat.cs create mode 100644 Refresh.GameServer/Importing/Mip/MipHeader.cs create mode 100644 Refresh.GameServer/Importing/Mip/MipMetadata.cs diff --git a/Refresh.GameServer/Endpoints/ApiV3/ResourceApiEndpoints.cs b/Refresh.GameServer/Endpoints/ApiV3/ResourceApiEndpoints.cs index de563a16..85d8d89a 100644 --- a/Refresh.GameServer/Endpoints/ApiV3/ResourceApiEndpoints.cs +++ b/Refresh.GameServer/Endpoints/ApiV3/ResourceApiEndpoints.cs @@ -11,7 +11,6 @@ using Refresh.GameServer.Endpoints.ApiV3.ApiTypes.Errors; using Refresh.GameServer.Endpoints.ApiV3.DataTypes.Response; using Refresh.GameServer.Importing; -using Refresh.GameServer.Time; using Refresh.GameServer.Types.Assets; using Refresh.GameServer.Types.UserData; using Refresh.GameServer.Verification; @@ -59,7 +58,7 @@ public Response DownloadPspGameAsset(RequestContext context, IDataStore dataStor [DocError(typeof(ApiInternalError), ApiInternalError.CouldNotGetAssetErrorWhen)] [DocError(typeof(ApiValidationError), ApiValidationError.HashMissingErrorWhen)] public Response DownloadGameAssetAsImage(RequestContext context, IDataStore dataStore, GameDatabaseContext database, - [DocSummary("The SHA1 hash of the asset")] string hash) + [DocSummary("The SHA1 hash of the asset")] string hash, ImageImporter importer) { bool isPspAsset = hash.StartsWith("psp/"); @@ -73,8 +72,8 @@ public Response DownloadGameAssetAsImage(RequestContext context, IDataStore data { GameAsset? asset = database.GetAssetFromHash(realHash); if (asset == null) return ApiInternalError.CouldNotGetAssetDatabaseError; - - ImageImporter.ImportAsset(asset, dataStore); + + importer.ImportAsset(asset, dataStore); } bool gotData = dataStore.TryGetDataFromStore("png/" + realHash, out byte[]? data); @@ -90,7 +89,7 @@ public Response DownloadGameAssetAsImage(RequestContext context, IDataStore data [DocError(typeof(ApiInternalError), ApiInternalError.CouldNotGetAssetErrorWhen)] [DocError(typeof(ApiValidationError), ApiValidationError.HashMissingErrorWhen)] public Response DownloadPspGameAssetAsImage(RequestContext context, IDataStore dataStore, GameDatabaseContext database, - [DocSummary("The SHA1 hash of the asset")] string hash) => this.DownloadGameAssetAsImage(context, dataStore, database, $"psp/{hash}"); + [DocSummary("The SHA1 hash of the asset")] string hash, ImageImporter importer) => this.DownloadGameAssetAsImage(context, dataStore, database, $"psp/{hash}", importer); [ApiV3Endpoint("assets/{hash}"), Authentication(false)] [DocSummary("Gets information from the database about a particular hash. Includes user who uploaded, dependencies, timestamps, etc.")] diff --git a/Refresh.GameServer/Importing/ImageImporter.Conversions.cs b/Refresh.GameServer/Importing/ImageImporter.Conversions.cs index 13af2ba5..0b9e86fd 100644 --- a/Refresh.GameServer/Importing/ImageImporter.Conversions.cs +++ b/Refresh.GameServer/Importing/ImageImporter.Conversions.cs @@ -1,6 +1,7 @@ using ICSharpCode.SharpZipLib.Zip.Compression; using Pfim; using Refresh.GameServer.Importing.Gtf; +using Refresh.GameServer.Importing.Mip; using SixLabors.ImageSharp.Formats; namespace Refresh.GameServer.Importing; @@ -33,6 +34,12 @@ private static void GtfToPng(Stream stream, Stream writeStream) using Image image = new GtfDecoder().Decode(new DecoderOptions(), stream); image.SaveAsPng(writeStream); } + + private static void MipToPng(Stream stream, Stream writeStream) + { + using Image image = new MipDecoder().Decode(new DecoderOptions(), stream); + image.SaveAsPng(writeStream); + } private static readonly PfimConfig Config = new(); diff --git a/Refresh.GameServer/Importing/ImageImporter.cs b/Refresh.GameServer/Importing/ImageImporter.cs index 579da99a..9ed0d702 100644 --- a/Refresh.GameServer/Importing/ImageImporter.cs +++ b/Refresh.GameServer/Importing/ImageImporter.cs @@ -3,6 +3,7 @@ using NotEnoughLogs; using Refresh.GameServer.Database; using Refresh.GameServer.Extensions; +using Refresh.GameServer.Resources; using Refresh.GameServer.Types.Assets; namespace Refresh.GameServer.Importing; @@ -22,6 +23,7 @@ public void ImportFromDataStore(GameDatabaseContext context, IDataStore dataStor assets.AddRange(context.GetAssetsByType(GameAssetType.GameDataTexture)); assets.AddRange(context.GetAssetsByType(GameAssetType.Jpeg)); assets.AddRange(context.GetAssetsByType(GameAssetType.Png)); + assets.AddRange(context.GetAssetsByType(GameAssetType.Mip)); this.Info("Acquired all other assets"); @@ -66,7 +68,7 @@ private void ThreadTask(ConcurrentQueue assetQueue, IDataStore dataSt this._runningCount--; } - public static void ImportAsset(GameAsset asset, IDataStore dataStore) + public void ImportAsset(GameAsset asset, IDataStore dataStore) { using Stream stream = dataStore.GetStreamFromStore(asset.IsPSP ? "psp/" + asset.AssetHash : asset.AssetHash); using Stream writeStream = dataStore.OpenWriteStream("png/" + asset.AssetHash); @@ -76,6 +78,15 @@ public static void ImportAsset(GameAsset asset, IDataStore dataStore) case GameAssetType.GameDataTexture: GtfToPng(stream, writeStream); break; + case GameAssetType.Mip: { + byte[] rawData = dataStore.GetDataFromStore(asset.IsPSP ? "psp/" + asset.AssetHash : asset.AssetHash); + byte[] data = ResourceHelper.PspDecrypt(rawData, this._pspKey.Value); + + using MemoryStream dataStream = new(data); + + MipToPng(dataStream, writeStream); + break; + } case GameAssetType.Texture: TextureToPng(stream, writeStream); break; diff --git a/Refresh.GameServer/Importing/Importer.cs b/Refresh.GameServer/Importing/Importer.cs index 1c56a49e..579ce775 100644 --- a/Refresh.GameServer/Importing/Importer.cs +++ b/Refresh.GameServer/Importing/Importer.cs @@ -14,7 +14,7 @@ public abstract class Importer { private readonly Logger _logger; protected readonly Stopwatch Stopwatch; - private readonly Lazy _pspKey; + protected readonly Lazy _pspKey; protected Importer(Logger? logger = null) { @@ -127,41 +127,49 @@ private bool IsMip(Span rawData) { //If we dont have a key, then we cant determine the data type if (this._pspKey.Value == null) return false; - + //Data less than this size isn't encrypted(?) and all Mip files uploaded to the server will be encrypted //See https://github.com/ennuo/lbparc/blob/16ad36aa7f4eae2f7b406829e604082750f16fe1/tools/toggle.js#L33 if (rawData.Length < 0x19) return false; - //Decrypt the data - ReadOnlySpan data = ResourceHelper.PspDecrypt(rawData, this._pspKey.Value); - - uint clutOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[..4]); - uint width = BinaryPrimitives.ReadUInt32LittleEndian(data[4..8]); - uint height = BinaryPrimitives.ReadUInt32LittleEndian(data[8..12]); - byte bpp = data[12]; - byte numBlocks = data[13]; - byte texMode = data[14]; - byte alpha = data[15]; - uint dataOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[16..20]); - - //Its unlikely that any mip textures are ever gonna be this big - if (width > 512 || height > 512) return false; - - //We only support MIP files which have a bpp of 4 and 8 - if (bpp is not 8 and 4) return false; - - //Alpha can only be 0 or 1 - if (alpha > 1) return false; - - //If the data offset is past the end of the file, its not a MIP - if (dataOffset > data.Length || clutOffset > data.Length) return false; - - //If the size of the image is too big for the data passed in, its not a MIP - if (width * height * bpp / 8 > data.Length - dataOffset) return false; + try + { + //Decrypt the data + ReadOnlySpan data = ResourceHelper.PspDecrypt(rawData, this._pspKey.Value); + + uint clutOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[..4]); + uint width = BinaryPrimitives.ReadUInt32LittleEndian(data[4..8]); + uint height = BinaryPrimitives.ReadUInt32LittleEndian(data[8..12]); + byte bpp = data[12]; + byte numBlocks = data[13]; + byte texMode = data[14]; + byte alpha = data[15]; + uint dataOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[16..20]); + + //Its unlikely that any mip textures are ever gonna be this big + if (width > 512 || height > 512) return false; + + //We only support MIP files which have a bpp of 4 and 8 + if (bpp is not 8 and 4) return false; + + //Alpha can only be 0 or 1 + if (alpha > 1) return false; + + //If the data offset is past the end of the file, its not a MIP + if (dataOffset > data.Length || clutOffset > data.Length) return false; + + //If the size of the image is too big for the data passed in, its not a MIP + if (width * height * bpp / 8 > data.Length - dataOffset) return false; + } + catch + { + //If the data is invalid an invalid encrypted file, its not a MIP + return false; + } return true; } - + protected GameAssetType DetermineAssetType(Span data, TokenPlatform? tokenPlatform) { // LBP assets diff --git a/Refresh.GameServer/Importing/Mip/MipDecoder.cs b/Refresh.GameServer/Importing/Mip/MipDecoder.cs new file mode 100644 index 00000000..385385d5 --- /dev/null +++ b/Refresh.GameServer/Importing/Mip/MipDecoder.cs @@ -0,0 +1,126 @@ +using SixLabors.ImageSharp.Formats; +using SixLabors.ImageSharp.Memory; +using SixLabors.ImageSharp.Metadata; + +namespace Refresh.GameServer.Importing.Mip; + +public class MipDecoder : ImageDecoder +{ + protected override Image Decode(DecoderOptions options, Stream stream, CancellationToken cancellationToken) + { + MipHeader header = MipHeader.Read(stream); + + Image image = new(options.Configuration, (int)header.Width, (int)header.Height); + Buffer2D pixels = image.Frames.RootFrame.PixelBuffer; + + this.ProcessPixels(header, stream, pixels); + + return image; + } + + private void ProcessPixels(MipHeader header, Stream stream, Buffer2D pixels) where TPixel : unmanaged, IPixel + { + stream.Seek(header.DataOffset, SeekOrigin.Begin); + + BinaryReader reader = new(stream); + + const int blockWidth = 16; + const int blockHeight = 8; + + int x = 0; + int y = 0; + int xStart = 0; + int xTarget = blockWidth; + int yStart = 0; + int yTarget = blockHeight; + for (int i = 0; i < header.Width * header.Height; i++) + { + #region hack to get swizzled coordinates + + if (x == xTarget && y == yTarget - 1) + { + xStart += blockWidth; + xTarget += blockWidth; + + if (xStart == header.Width) + { + xStart = 0; + xTarget = blockWidth; + yStart += blockHeight; + yTarget += blockHeight; + } + + x = xStart; + y = yStart; + } + else + { + if (x == xTarget) + { + y += 1; + x = xStart; + } + + if (y == yTarget) + { + xStart += blockWidth; + xTarget += blockWidth; + x = xStart; + y = yStart; + } + } + + #endregion + + switch (header.Bpp) + { + case 8: { + TPixel pixel = new(); + pixel.FromRgba32(header.Clut[reader.ReadByte()]); + pixels[x, (int)(header.Height - y - 1)] = pixel; + + x++; + break; + } + case 4: { + TPixel pixel = new(); + + byte data = reader.ReadByte(); + + pixel.FromRgba32(header.Clut[data & 0x0f]); + pixels[x, (int)(header.Height - y - 1)] = pixel; + + pixel.FromRgba32(header.Clut[data >> 4]); + pixels[x + 1, (int)(header.Height - y - 1)] = pixel; + + x += 2; + break; + } + default: + throw new Exception("Unknown BPP"); + } + + } + } + + protected override Image Decode(DecoderOptions options, Stream stream, CancellationToken cancellationToken) + { + return this.Decode(options, stream, cancellationToken); + } + + protected override ImageInfo Identify(DecoderOptions options, Stream stream, CancellationToken cancellationToken) + { + MipHeader header = MipHeader.Read(stream); + + return new ImageInfo( + new PixelTypeInfo(32), + new Size((int)header.Width, (int)header.Height), + new ImageMetadata + { + HorizontalResolution = header.Width, + VerticalResolution = header.Height, + ResolutionUnits = PixelResolutionUnit.AspectRatio, + } + ); + } +} \ No newline at end of file diff --git a/Refresh.GameServer/Importing/Mip/MipFormat.cs b/Refresh.GameServer/Importing/Mip/MipFormat.cs new file mode 100644 index 00000000..e4f3bcb4 --- /dev/null +++ b/Refresh.GameServer/Importing/Mip/MipFormat.cs @@ -0,0 +1,16 @@ +using Refresh.GameServer.Importing.Gtf; +using SixLabors.ImageSharp.Formats; + +namespace Refresh.GameServer.Importing.Mip; + +public class MipFormat : IImageFormat +{ + public MipMetadata CreateDefaultFormatMetadata() => new(); + + public string Name => "MIP"; + public string DefaultMimeType => ""; + public IEnumerable MimeTypes => new string[] { }; + public IEnumerable FileExtensions => new[] { "MIP" }; + + public static IImageFormat Instance { get; } = new MipFormat(); +} \ No newline at end of file diff --git a/Refresh.GameServer/Importing/Mip/MipHeader.cs b/Refresh.GameServer/Importing/Mip/MipHeader.cs new file mode 100644 index 00000000..9a9b5914 --- /dev/null +++ b/Refresh.GameServer/Importing/Mip/MipHeader.cs @@ -0,0 +1,43 @@ +using Rgba32 = SixLabors.ImageSharp.PixelFormats.Rgba32; + +namespace Refresh.GameServer.Importing.Mip; + +public class MipHeader +{ + public uint ClutOffset; + public uint Width; + public uint Height; + public byte Bpp; + public byte NumBlocks; + public byte TexMode; + public bool Alpha; + public uint DataOffset; + + public Rgba32[] Clut; + + public static MipHeader Read(Stream stream) + { + BinaryReader reader = new(stream); + + MipHeader header = new MipHeader + { + ClutOffset = reader.ReadUInt32(), + Width = reader.ReadUInt32(), + Height = reader.ReadUInt32(), + Bpp = reader.ReadByte(), + NumBlocks = reader.ReadByte(), + TexMode = reader.ReadByte(), + Alpha = reader.ReadByte() == 1, + DataOffset = reader.ReadUInt32(), + Clut = new Rgba32[256], + }; + + stream.Seek(header.ClutOffset, SeekOrigin.Begin); + for (int i = 0; i < header.Clut.Length; i++) + { + header.Clut[i] = new Rgba32(reader.ReadByte(), reader.ReadByte(), reader.ReadByte(), reader.ReadByte()); + } + + return header; + } +} \ No newline at end of file diff --git a/Refresh.GameServer/Importing/Mip/MipMetadata.cs b/Refresh.GameServer/Importing/Mip/MipMetadata.cs new file mode 100644 index 00000000..05418a03 --- /dev/null +++ b/Refresh.GameServer/Importing/Mip/MipMetadata.cs @@ -0,0 +1,6 @@ +namespace Refresh.GameServer.Importing.Mip; + +public class MipMetadata +{ + +} \ No newline at end of file From 8b56eb3694d6aea42b2e6aad5c9bb2fd0d8a245e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Dec 2023 04:59:10 +0000 Subject: [PATCH 16/25] Bump Bunkum.AutoDiscover from 4.4.1 to 4.4.3 Bumps [Bunkum.AutoDiscover](https://github.com/LittleBigRefresh/Bunkum) from 4.4.1 to 4.4.3. - [Commits](https://github.com/LittleBigRefresh/Bunkum/compare/v4.4.1...v4.4.3) --- updated-dependencies: - dependency-name: Bunkum.AutoDiscover dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Refresh.GameServer/Refresh.GameServer.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index abdfa6fd..bf05fe60 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -53,7 +53,7 @@ - + From 03fdf3ada1a4e75e0b95bdd1fa83705052af59c5 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Tue, 26 Dec 2023 22:10:39 -0800 Subject: [PATCH 17/25] LevelFilterSettings: LBP3 sometimes sends `dontCare` Right now we return a 500 InternalServerError, which crashes the game and the console. Whoops! --- .../Endpoints/Game/Levels/FilterSettings/LevelFilterSettings.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Refresh.GameServer/Endpoints/Game/Levels/FilterSettings/LevelFilterSettings.cs b/Refresh.GameServer/Endpoints/Game/Levels/FilterSettings/LevelFilterSettings.cs index 54ec9dbd..50798222 100644 --- a/Refresh.GameServer/Endpoints/Game/Levels/FilterSettings/LevelFilterSettings.cs +++ b/Refresh.GameServer/Endpoints/Game/Levels/FilterSettings/LevelFilterSettings.cs @@ -98,6 +98,7 @@ public LevelFilterSettings(RequestContext context, TokenGame game) : this(game) "true" => MoveFilterType.True, "false" => MoveFilterType.False, "only" => MoveFilterType.Only, + "dontCare" => MoveFilterType.True, _ => throw new ArgumentOutOfRangeException(), }; From 22156217aef9a0a7c596410bc44ee972e969e4f1 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Wed, 27 Dec 2023 17:30:50 -0800 Subject: [PATCH 18/25] Fix csproj weirdness from rider --- Refresh.GameServer/Refresh.GameServer.csproj | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index 92d7eae3..ba6d6ae9 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -6,12 +6,12 @@ enable Debug;Release;DebugLocalBunkum AnyCPU + true TRACE;DEBUG true - true @@ -20,13 +20,8 @@ true - true - - true - - ..\..\Bunkum\Bunkum.Core\bin\Debug\net8.0\Bunkum.Core.dll From d2a8aef18877f3af5ced183730f89526b92ecd14 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Wed, 27 Dec 2023 17:37:11 -0800 Subject: [PATCH 19/25] ResourceHelper: Remove XorAlloc --- Refresh.GameServer/Resources/ResourceHelper.cs | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/Refresh.GameServer/Resources/ResourceHelper.cs b/Refresh.GameServer/Resources/ResourceHelper.cs index 8e980630..dcdd5f48 100644 --- a/Refresh.GameServer/Resources/ResourceHelper.cs +++ b/Refresh.GameServer/Resources/ResourceHelper.cs @@ -113,18 +113,6 @@ public static byte[] PspDecrypt(Span data, ReadOnlySpan key) return decompressed.AsSpan().ToArray(); } - public static byte[] XorAlloc(ReadOnlySpan data, ReadOnlySpan key) - { - //Allocate the new array - byte[] result = new byte[data.Length]; - //Copy the old data to the result - data.CopyTo(result); - //XOR the output array - Xor(result, key); - //Return the result - return result; - } - public static void Xor(Span data, ReadOnlySpan key) { if (key.Length < data.Length) throw new ArgumentException("Key must be as long or longer than the data!", nameof(key)); From 6129f7501181fc202ca262d50ee007b26bc6ecbd Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Thu, 28 Dec 2023 13:47:43 -0800 Subject: [PATCH 20/25] ResourceHelper: Directly decrypt PSP assets Switches from an XOR blob to directly decrypting the data as we stream it in. --- Refresh.GameServer/Importing/ImageImporter.cs | 2 +- Refresh.GameServer/Importing/Importer.cs | 20 +++-- Refresh.GameServer/Refresh.GameServer.csproj | 2 +- .../Resources/ResourceHelper.cs | 82 ++----------------- .../Tests/Resources/XorTests.cs | 49 ----------- 5 files changed, 26 insertions(+), 129 deletions(-) delete mode 100644 RefreshTests.GameServer/Tests/Resources/XorTests.cs diff --git a/Refresh.GameServer/Importing/ImageImporter.cs b/Refresh.GameServer/Importing/ImageImporter.cs index 9ed0d702..b30eaae9 100644 --- a/Refresh.GameServer/Importing/ImageImporter.cs +++ b/Refresh.GameServer/Importing/ImageImporter.cs @@ -80,7 +80,7 @@ public void ImportAsset(GameAsset asset, IDataStore dataStore) break; case GameAssetType.Mip: { byte[] rawData = dataStore.GetDataFromStore(asset.IsPSP ? "psp/" + asset.AssetHash : asset.AssetHash); - byte[] data = ResourceHelper.PspDecrypt(rawData, this._pspKey.Value); + byte[] data = ResourceHelper.PspDecrypt(rawData, this.PSPKey.Value); using MemoryStream dataStream = new(data); diff --git a/Refresh.GameServer/Importing/Importer.cs b/Refresh.GameServer/Importing/Importer.cs index 579ce775..d6e7680e 100644 --- a/Refresh.GameServer/Importing/Importer.cs +++ b/Refresh.GameServer/Importing/Importer.cs @@ -1,6 +1,7 @@ using System.Buffers.Binary; using System.Diagnostics; using System.Runtime.CompilerServices; +using System.Security.Cryptography; using System.Text; using Bunkum.Core; using NotEnoughLogs; @@ -14,7 +15,7 @@ public abstract class Importer { private readonly Logger _logger; protected readonly Stopwatch Stopwatch; - protected readonly Lazy _pspKey; + protected readonly Lazy PSPKey; protected Importer(Logger? logger = null) { @@ -26,11 +27,20 @@ protected Importer(Logger? logger = null) this._logger = logger; this.Stopwatch = new Stopwatch(); - this._pspKey = new(() => + this.PSPKey = new(() => { try { - return File.ReadAllBytes("keys/psp"); + //Read the key + byte[] key = File.ReadAllBytes("keys/psp"); + + //If the hash matches, return the read key + if (SHA1.HashData(key).AsSpan().SequenceEqual(new byte[] { 0x12, 0xb5, 0xa8, 0xb5, 0x91, 0x55, 0x24, 0x96, 0x00, 0xdf, 0x0e, 0x33, 0xf9, 0xc5, 0xa8, 0x76, 0xc1, 0x85, 0x43, 0xfe })) + return key; + + //If the hash does not match, log an error and return null + this._logger.LogError(BunkumCategory.Digest, "PSP key failed to validate! Correct hash is 12b5a8b59155249600df0e33f9c5a876c18543fe"); + return null; } catch(Exception e) { @@ -126,7 +136,7 @@ private static bool IsPspTga(ReadOnlySpan data) private bool IsMip(Span rawData) { //If we dont have a key, then we cant determine the data type - if (this._pspKey.Value == null) return false; + if (this.PSPKey.Value == null) return false; //Data less than this size isn't encrypted(?) and all Mip files uploaded to the server will be encrypted //See https://github.com/ennuo/lbparc/blob/16ad36aa7f4eae2f7b406829e604082750f16fe1/tools/toggle.js#L33 @@ -135,7 +145,7 @@ private bool IsMip(Span rawData) try { //Decrypt the data - ReadOnlySpan data = ResourceHelper.PspDecrypt(rawData, this._pspKey.Value); + ReadOnlySpan data = ResourceHelper.PspDecrypt(rawData, this.PSPKey.Value); uint clutOffset = BinaryPrimitives.ReadUInt32LittleEndian(data[..4]); uint width = BinaryPrimitives.ReadUInt32LittleEndian(data[4..8]); diff --git a/Refresh.GameServer/Refresh.GameServer.csproj b/Refresh.GameServer/Refresh.GameServer.csproj index ba6d6ae9..c3d685d1 100644 --- a/Refresh.GameServer/Refresh.GameServer.csproj +++ b/Refresh.GameServer/Refresh.GameServer.csproj @@ -6,7 +6,6 @@ enable Debug;Release;DebugLocalBunkum AnyCPU - true @@ -66,6 +65,7 @@ + diff --git a/Refresh.GameServer/Resources/ResourceHelper.cs b/Refresh.GameServer/Resources/ResourceHelper.cs index dcdd5f48..71f89ad3 100644 --- a/Refresh.GameServer/Resources/ResourceHelper.cs +++ b/Refresh.GameServer/Resources/ResourceHelper.cs @@ -1,10 +1,9 @@ using System.Buffers; using System.Buffers.Binary; -using System.Numerics; using System.Reflection; using System.Security.Cryptography; +using FastAes; using IronCompress; -using Microsoft.Toolkit.HighPerformance; namespace Refresh.GameServer.Resources; @@ -15,61 +14,10 @@ public static Stream StreamFromResource(string name) Assembly assembly = Assembly.GetExecutingAssembly(); return assembly.GetManifestResourceStream(name)!; } - - private static unsafe void XorVectorized(Span rawData, ReadOnlySpan key) - { - fixed (byte* dataPtr = rawData) - { - //Get the misalignment of the data - int misalignment = (int)((nint)dataPtr % sizeof(nint)); - - Span data = new(dataPtr, rawData.Length); - - if (misalignment != 0) - { - //XOR the data before the aligned data - XorScalar(data[..misalignment], key); - } - - //Get the span of data which is aligned to word boundaries - Span alignedData = data[misalignment..]; - - //Get a Vector of the data, offset by the misalignment, making this data byte-aligned - Span> alignedDataVec = alignedData.Cast>(); - //Get a Vector of the key, offset by the misalignment - ReadOnlySpan> keyVec = key[misalignment..].Cast>(); - - //Iterate over every item in the data vector - for (int i = 0; i < alignedDataVec.Length; i++) - //XOR it with the key - alignedDataVec[i] ^= keyVec[i]; - - //Get the amount of bytes which are left over - int leftoverCount = data.Length - (alignedDataVec.Length * Vector.Count * sizeof(byte)) - misalignment; - - //If theres no leftover bytes, return out - if (leftoverCount <= 0) return; - - //Get the start index of the leftover bytes - int leftoverOffset = data.Length - leftoverCount; - //Slice the data to only have the leftover data - Span leftover = data[leftoverOffset..]; - - XorScalar(leftover, key[leftoverOffset..]); - } - } - - private static void XorScalar(Span data, ReadOnlySpan key) - { - //Iterate over all bytes - for (int i = 0; i < data.Length; i++) - //Iterate over all data, and XOR it with the key - data[i] ^= key[i]; - } private static readonly ThreadLocal Iron = new(() => new Iron(ArrayPool.Shared)); - private static void Encrypt(Span data, ReadOnlySpan key) + private static void Encrypt(ReadOnlySpan data, ReadOnlySpan key) { throw new NotImplementedException(); //TODO } @@ -82,9 +30,13 @@ private static void Encrypt(Span data, ReadOnlySpan key) /// The decrypted data. public static byte[] PspDecrypt(Span data, ReadOnlySpan key) { - //XOR the data - Xor(data, key); + byte[] initialCounter = new byte[16]; + key[..8].CopyTo(initialCounter); + //Decrypt the data + AesCtr ctr = new(key, initialCounter); + ctr.DecryptBytes(data, data); + //Get the data buffer Span buf = data[..^0x19]; //Get the info of the file @@ -98,28 +50,12 @@ public static byte[] PspDecrypt(Span data, ReadOnlySpan key) if (!signature.SequenceEqual(MD5.HashData(data[..^0x10]))) throw new InvalidDataException("Encrypted PSP asset hash does not match signature, likely corrupt"); //If the data is not compressed, just return a copy of the raw buffer - if (info[0x4] != 1) - { - Xor(data, key); - return buf.ToArray(); - } + if (info[0x4] != 1) return buf.ToArray(); //Decompress the data using IronCompressResult decompressed = Iron.Value!.Decompress(Codec.LZO, buf, (int)len); - Xor(data, key); - //Return a copy of the decompressed data return decompressed.AsSpan().ToArray(); } - - public static void Xor(Span data, ReadOnlySpan key) - { - if (key.Length < data.Length) throw new ArgumentException("Key must be as long or longer than the data!", nameof(key)); - - if (Vector.IsSupported && data.Length >= Vector.Count * sizeof(byte)) - XorVectorized(data, key); - else - XorScalar(data, key); - } } \ No newline at end of file diff --git a/RefreshTests.GameServer/Tests/Resources/XorTests.cs b/RefreshTests.GameServer/Tests/Resources/XorTests.cs deleted file mode 100644 index d26dc2ab..00000000 --- a/RefreshTests.GameServer/Tests/Resources/XorTests.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Refresh.GameServer.Resources; - -namespace RefreshTests.GameServer.Tests.Resources; - -public class XorTests -{ - [Test] - public void BasicXor() - { - byte[] data = [0xF0, 0x0F]; - byte[] key = [0x0F, 0xF0]; - - ResourceHelper.Xor(data, key); - - Assert.That(data, Is.EquivalentTo(new byte[] {0xFF, 0xFF})); - } - - [Test] - public void BigXor() - { - byte[] data = [0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F]; - byte[] key = [0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0]; - - ResourceHelper.Xor(data, key); - - Assert.That(data, - Is.EquivalentTo(new byte[] - { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF })); - } - - [Test] - public void BigXorMisaligned() - { - byte[] data = - [ - 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, - ]; - byte[] key = - [ - 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, 0xF0, 0x0F, - ]; - - ResourceHelper.Xor(data.AsSpan()[1..], key.AsSpan()[1..]); - - Assert.That(data[1..], - Is.EquivalentTo(new byte[] - { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF })); - } -} \ No newline at end of file From 278f722aa1d9988369ec96e1f9c81d76b37cb195 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sun, 31 Dec 2023 15:47:07 -0800 Subject: [PATCH 21/25] Importer: Fix detection of 4bpp MIP files --- Refresh.GameServer/Importing/Importer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Refresh.GameServer/Importing/Importer.cs b/Refresh.GameServer/Importing/Importer.cs index d6e7680e..d3142e15 100644 --- a/Refresh.GameServer/Importing/Importer.cs +++ b/Refresh.GameServer/Importing/Importer.cs @@ -160,7 +160,7 @@ private bool IsMip(Span rawData) if (width > 512 || height > 512) return false; //We only support MIP files which have a bpp of 4 and 8 - if (bpp is not 8 and 4) return false; + if (bpp != 8 && bpp != 4) return false; //Alpha can only be 0 or 1 if (alpha > 1) return false; From ef91615546a1532b5bdea902ef0f799dd5a03a3a Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sun, 31 Dec 2023 15:47:34 -0800 Subject: [PATCH 22/25] MipHeader: Read the right amount of data from the CLUT Some files dont have a full 256 entries --- Refresh.GameServer/Importing/Mip/MipHeader.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Refresh.GameServer/Importing/Mip/MipHeader.cs b/Refresh.GameServer/Importing/Mip/MipHeader.cs index 9a9b5914..8ed4c0f5 100644 --- a/Refresh.GameServer/Importing/Mip/MipHeader.cs +++ b/Refresh.GameServer/Importing/Mip/MipHeader.cs @@ -33,7 +33,7 @@ public static MipHeader Read(Stream stream) }; stream.Seek(header.ClutOffset, SeekOrigin.Begin); - for (int i = 0; i < header.Clut.Length; i++) + for (int i = 0; i < header.DataOffset && i < header.Clut.Length; i++) { header.Clut[i] = new Rgba32(reader.ReadByte(), reader.ReadByte(), reader.ReadByte(), reader.ReadByte()); } From c4ec322c5f16b6534afdf3dc4c994427148a1f41 Mon Sep 17 00:00:00 2001 From: Beyley Thomas Date: Sun, 31 Dec 2023 15:48:02 -0800 Subject: [PATCH 23/25] MipDecoder: Read the right amount of bytes on 4bpp images --- Refresh.GameServer/Importing/Mip/MipDecoder.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Refresh.GameServer/Importing/Mip/MipDecoder.cs b/Refresh.GameServer/Importing/Mip/MipDecoder.cs index 385385d5..9ac7cb15 100644 --- a/Refresh.GameServer/Importing/Mip/MipDecoder.cs +++ b/Refresh.GameServer/Importing/Mip/MipDecoder.cs @@ -33,7 +33,10 @@ private void ProcessPixels(MipHeader header, Stream stream, Buffer2D Date: Sun, 31 Dec 2023 15:48:24 -0800 Subject: [PATCH 24/25] MipDecoder: Use correct MIP block width on 4bpp images --- Refresh.GameServer/Importing/Mip/MipDecoder.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Refresh.GameServer/Importing/Mip/MipDecoder.cs b/Refresh.GameServer/Importing/Mip/MipDecoder.cs index 9ac7cb15..4f7949b2 100644 --- a/Refresh.GameServer/Importing/Mip/MipDecoder.cs +++ b/Refresh.GameServer/Importing/Mip/MipDecoder.cs @@ -24,8 +24,8 @@ private void ProcessPixels(MipHeader header, Stream stream, Buffer2D Date: Sun, 31 Dec 2023 19:02:31 -0800 Subject: [PATCH 25/25] ModerationEndpoints: Dont try to parse every message as a command --- .../Endpoints/Game/ModerationEndpoints.cs | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/Refresh.GameServer/Endpoints/Game/ModerationEndpoints.cs b/Refresh.GameServer/Endpoints/Game/ModerationEndpoints.cs index 67d5589e..27c1484e 100644 --- a/Refresh.GameServer/Endpoints/Game/ModerationEndpoints.cs +++ b/Refresh.GameServer/Endpoints/Game/ModerationEndpoints.cs @@ -55,20 +55,24 @@ public string Filter(RequestContext context, CommandService commandService, stri { context.Logger.LogInfo(BunkumCategory.Filter, $"<{user}>: {body}"); - try + //If the text starts with a `/`, its a command + if (body.StartsWith('/')) { - CommandInvocation command = commandService.ParseCommand(body); - - context.Logger.LogInfo(BunkumCategory.Commands, $"User used command '{command.Name.ToString()}' with args '{command.Arguments.ToString()}'"); + try + { + CommandInvocation command = commandService.ParseCommand(body); - commandService.HandleCommand(command, database, user, token); - return "(Command)"; + context.Logger.LogInfo(BunkumCategory.Commands, $"User used command '{command.Name.ToString()}' with args '{command.Arguments.ToString()}'"); + + commandService.HandleCommand(command, database, user, token); + return "(Command)"; + } + catch(Exception ex) + { + context.Logger.LogWarning(BunkumCategory.Commands, $"Error running command {body}. ex {ex}"); + //do nothing + } } - catch(Exception ex) - { - context.Logger.LogWarning(BunkumCategory.Commands, $"Error running command {body}. ex {ex}"); - //do nothing - } } return body;