aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/2015_09_03_00_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_01_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_02_world.sql7
-rw-r--r--sql/updates/world/2015_09_03_03_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_04_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_05_world_335.sql3
-rw-r--r--sql/updates/world/2015_09_03_06_world.sql5
-rw-r--r--sql/updates/world/2015_09_03_07_world.sql6
-rw-r--r--sql/updates/world/2015_09_03_08_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_09_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_10_world.sql2
-rw-r--r--sql/updates/world/2015_09_03_11_world.sql10
-rw-r--r--sql/updates/world/2015_09_04_00_world.sql2
-rw-r--r--sql/updates/world/2015_09_04_01_world.sql2
-rw-r--r--sql/updates/world/2015_09_04_02_world.sql2
-rw-r--r--sql/updates/world/2015_09_04_03_world.sql3
-rw-r--r--sql/updates/world/2015_09_05_00_world.sql335
-rw-r--r--sql/updates/world/2015_09_05_01_world.sql6
-rw-r--r--sql/updates/world/2015_09_05_02_world_335.sql110
-rw-r--r--sql/updates/world/2015_09_06_00_world.sql73
-rw-r--r--sql/updates/world/2015_09_07_00_world.sql10
-rw-r--r--sql/updates/world/2015_09_07_01_world.sql7
-rw-r--r--sql/updates/world/2015_09_07_02_world.sql5
-rw-r--r--sql/updates/world/2015_09_07_03_world.sql163
-rw-r--r--sql/updates/world/2015_09_07_04_world.sql8
-rw-r--r--sql/updates/world/2015_09_07_05_world.sql5
-rw-r--r--sql/updates/world/2015_09_08_00_world.sql15
-rw-r--r--sql/updates/world/2015_09_08_01_world.sql39
-rw-r--r--sql/updates/world/2015_09_08_02_world.sql2
-rw-r--r--sql/updates/world/2015_09_09_00_world.sql8
-rw-r--r--sql/updates/world/2015_09_10_00_world_335.sql21
-rw-r--r--sql/updates/world/2015_09_10_01_world_335.sql10
-rw-r--r--sql/updates/world/2015_09_12_00_world.sql5
-rw-r--r--sql/updates/world/2015_09_15_00_world_335.sql32
-rw-r--r--sql/updates/world/2015_09_15_01_world.sql2
-rw-r--r--sql/updates/world/2015_09_15_02_world.sql2
-rw-r--r--sql/updates/world/2015_09_15_03_world.sql2
-rw-r--r--sql/updates/world/2015_09_16_00_world.sql2
-rw-r--r--sql/updates/world/2015_09_17_00_world.sql2
-rw-r--r--sql/updates/world/2015_09_20_00_world.sql3
-rw-r--r--sql/updates/world/2015_09_21_00_world.sql2
-rw-r--r--sql/updates/world/2015_09_21_01_world.sql4
-rw-r--r--sql/updates/world/2015_09_21_02_world.sql32
-rw-r--r--sql/updates/world/2015_09_21_03_world.sql3
-rw-r--r--sql/updates/world/2015_09_21_04_world.sql246
-rw-r--r--sql/updates/world/2015_09_21_05_world.sql41
-rw-r--r--sql/updates/world/2015_09_21_06_world.sql18
-rw-r--r--sql/updates/world/2015_09_21_07_world.sql6
-rw-r--r--sql/updates/world/2015_09_21_08_world.sql10
-rw-r--r--sql/updates/world/2015_09_21_09_world.sql95
-rw-r--r--sql/updates/world/2015_09_21_10_world.sql14
-rw-r--r--src/common/Collision/Management/MMapManager.cpp2
-rw-r--r--src/common/Common.h1
-rw-r--r--src/common/Debugging/Errors.cpp19
-rw-r--r--src/common/Debugging/Errors.h4
-rw-r--r--src/common/Utilities/Util.h2
-rw-r--r--src/server/authserver/Realms/RealmList.cpp2
-rw-r--r--src/server/authserver/authserver.conf.dist2
-rw-r--r--src/server/database/Database/DatabaseWorkerPool.h2
-rw-r--r--src/server/game/AI/SmartScripts/SmartScript.cpp9
-rw-r--r--src/server/game/AI/SmartScripts/SmartScriptMgr.h3
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp2
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp12
-rw-r--r--src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp4
-rw-r--r--src/server/game/Chat/Chat.cpp28
-rw-r--r--src/server/game/Chat/Chat.h4
-rw-r--r--src/server/game/DataStores/DBCStores.cpp2
-rw-r--r--src/server/game/DataStores/DBCStructure.h15
-rw-r--r--src/server/game/DungeonFinding/LFGQueue.cpp48
-rw-r--r--src/server/game/DungeonFinding/LFGQueue.h2
-rw-r--r--src/server/game/Entities/Creature/CreatureGroups.cpp7
-rw-r--r--src/server/game/Entities/Creature/GossipDef.cpp32
-rw-r--r--src/server/game/Entities/Creature/TemporarySummon.cpp2
-rw-r--r--src/server/game/Entities/GameObject/GameObject.h2
-rw-r--r--src/server/game/Entities/Item/Item.cpp2
-rw-r--r--src/server/game/Entities/Object/Object.cpp8
-rw-r--r--src/server/game/Entities/Pet/Pet.h4
-rw-r--r--src/server/game/Entities/Player/Player.cpp74
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp18
-rw-r--r--src/server/game/Globals/ObjectMgr.cpp146
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp2
-rw-r--r--src/server/game/Handlers/TaxiHandler.cpp64
-rw-r--r--src/server/game/Maps/Map.cpp10
-rw-r--r--src/server/game/Maps/MapInstanced.cpp6
-rw-r--r--src/server/game/Maps/TransportMgr.cpp8
-rw-r--r--src/server/game/Maps/TransportMgr.h2
-rw-r--r--src/server/game/Movement/MotionMaster.cpp3
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp109
-rwxr-xr-xsrc/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h38
-rw-r--r--src/server/game/Movement/Spline/Spline.h2
-rw-r--r--src/server/game/Movement/Waypoints/Path.h100
-rw-r--r--src/server/game/Quests/QuestDef.cpp49
-rw-r--r--src/server/game/Quests/QuestDef.h66
-rw-r--r--src/server/game/Scripting/ScriptMgr.cpp4
-rw-r--r--src/server/game/Spells/Auras/SpellAuras.cpp8
-rw-r--r--src/server/game/Spells/Spell.cpp4
-rw-r--r--src/server/scripts/Commands/cs_lfg.cpp2
-rw-r--r--src/server/scripts/Commands/cs_ticket.cpp27
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp74
-rw-r--r--src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp80
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp164
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp4
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp14
-rw-r--r--src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h23
-rw-r--r--src/server/scripts/Spells/spell_generic.cpp42
-rw-r--r--src/server/scripts/World/npcs_special.cpp67
-rw-r--r--src/server/worldserver/Main.cpp2
108 files changed, 2176 insertions, 650 deletions
diff --git a/sql/updates/world/2015_09_03_00_world.sql b/sql/updates/world/2015_09_03_00_world.sql
new file mode 100644
index 00000000000..90eeee2e0ee
--- /dev/null
+++ b/sql/updates/world/2015_09_03_00_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=137997 AND `id`=10319;
diff --git a/sql/updates/world/2015_09_03_01_world.sql b/sql/updates/world/2015_09_03_01_world.sql
new file mode 100644
index 00000000000..0f1a0348ef1
--- /dev/null
+++ b/sql/updates/world/2015_09_03_01_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=208775 AND `id`=25958;
diff --git a/sql/updates/world/2015_09_03_02_world.sql b/sql/updates/world/2015_09_03_02_world.sql
new file mode 100644
index 00000000000..3baa80fbac1
--- /dev/null
+++ b/sql/updates/world/2015_09_03_02_world.sql
@@ -0,0 +1,7 @@
+--
+DELETE FROM `creature` WHERE `guid`=201508 AND `id`=37824;
+DELETE FROM `creature` WHERE `guid`=201460 AND `id`=38228;
+DELETE FROM `creature` WHERE `guid`=201661 AND `id`=38228;
+DELETE FROM `creature` WHERE `guid`=201442 AND `id`=38231;
+DELETE FROM `creature` WHERE `guid`=201490 AND `id`=38232;
+DELETE FROM `creature` WHERE `guid`=201539 AND `id`=38232;
diff --git a/sql/updates/world/2015_09_03_03_world.sql b/sql/updates/world/2015_09_03_03_world.sql
new file mode 100644
index 00000000000..8e717422930
--- /dev/null
+++ b/sql/updates/world/2015_09_03_03_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=88282 AND `id`=18700;
diff --git a/sql/updates/world/2015_09_03_04_world.sql b/sql/updates/world/2015_09_03_04_world.sql
new file mode 100644
index 00000000000..9c4d4d98828
--- /dev/null
+++ b/sql/updates/world/2015_09_03_04_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=28649 AND `id`=17148;
diff --git a/sql/updates/world/2015_09_03_05_world_335.sql b/sql/updates/world/2015_09_03_05_world_335.sql
new file mode 100644
index 00000000000..eed2d862803
--- /dev/null
+++ b/sql/updates/world/2015_09_03_05_world_335.sql
@@ -0,0 +1,3 @@
+ALTER TABLE `quest_template`
+ CHANGE COLUMN `Method` `QuestType` TINYINT(3) UNSIGNED NOT NULL DEFAULT '2' AFTER `ID`,
+ CHANGE COLUMN `QuestType` `QuestInfoID` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `QuestSortID`;
diff --git a/sql/updates/world/2015_09_03_06_world.sql b/sql/updates/world/2015_09_03_06_world.sql
new file mode 100644
index 00000000000..3444afe1d77
--- /dev/null
+++ b/sql/updates/world/2015_09_03_06_world.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=2546000 AND `source_type`=9 AND `id`=0 AND `action_type`=11;
+UPDATE `smart_scripts` SET `id`=0 WHERE `entryorguid`=2546000 AND `source_type`=9 AND `id`=1 AND `action_type`=53;
+
+DELETE FROM `creature_addon` WHERE `guid`=137997; -- fix a DB error
diff --git a/sql/updates/world/2015_09_03_07_world.sql b/sql/updates/world/2015_09_03_07_world.sql
new file mode 100644
index 00000000000..28736bdf787
--- /dev/null
+++ b/sql/updates/world/2015_09_03_07_world.sql
@@ -0,0 +1,6 @@
+--
+UPDATE `creature_template` SET `spell1`=49297 WHERE `entry` IN (27664,40281);
+DELETE FROM `creature_template_addon` WHERE `entry` IN (27664,40281);
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `bytes1`, `bytes2`, `emote`, `auras`) VALUES
+(27664,0,0,0,0,0,'49384'),
+(40281,0,0,0,0,0,'75110');
diff --git a/sql/updates/world/2015_09_03_08_world.sql b/sql/updates/world/2015_09_03_08_world.sql
new file mode 100644
index 00000000000..9331944eb09
--- /dev/null
+++ b/sql/updates/world/2015_09_03_08_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `item_template` SET `socketcolor_1` = 4 WHERE `entry` = 44176;
diff --git a/sql/updates/world/2015_09_03_09_world.sql b/sql/updates/world/2015_09_03_09_world.sql
new file mode 100644
index 00000000000..516d2245f3c
--- /dev/null
+++ b/sql/updates/world/2015_09_03_09_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template_addon` SET `mount`=21158 WHERE `entry`=22980;
diff --git a/sql/updates/world/2015_09_03_10_world.sql b/sql/updates/world/2015_09_03_10_world.sql
new file mode 100644
index 00000000000..5394299e737
--- /dev/null
+++ b/sql/updates/world/2015_09_03_10_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `spell_proc_event` SET `Cooldown`=45 WHERE `entry`=64786;
diff --git a/sql/updates/world/2015_09_03_11_world.sql b/sql/updates/world/2015_09_03_11_world.sql
new file mode 100644
index 00000000000..c499b5a71c6
--- /dev/null
+++ b/sql/updates/world/2015_09_03_11_world.sql
@@ -0,0 +1,10 @@
+--
+SET @ENTRY := 3584;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0 AND `id`>=5;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,5,7,61,0,100,0,945,0,0,0,2,250,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest 'Therylune's Escape' Taken - Set Faction 250"),
+(@ENTRY,0,6,8,11,0,100,0,0,0,0,0,2,124,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Respawn - Set Faction 124"),
+(@ENTRY,0,7,9,61,0,100,0,0,0,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest 'Therylune's Escape' Taken - Remove Flags Immune To NPC's"),
+(@ENTRY,0,8,0,61,0,100,0,0,0,0,0,18,512,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Respawn - Set Flags Immune To NPC's"),
+(@ENTRY,0,9,0,61,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Therylune - On Quest 'Therylune's Escape' Taken - Remove npc flag");
+UPDATE `smart_scripts` SET `link`=5 WHERE `entryorguid`=3584 AND `source_type`=0 AND `id`=1 AND `link`=0;
diff --git a/sql/updates/world/2015_09_04_00_world.sql b/sql/updates/world/2015_09_04_00_world.sql
new file mode 100644
index 00000000000..2e67495733c
--- /dev/null
+++ b/sql/updates/world/2015_09_04_00_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=151994 AND `id`=32475;
diff --git a/sql/updates/world/2015_09_04_01_world.sql b/sql/updates/world/2015_09_04_01_world.sql
new file mode 100644
index 00000000000..e9c3f9884ad
--- /dev/null
+++ b/sql/updates/world/2015_09_04_01_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=134518 AND `id`=23810;
diff --git a/sql/updates/world/2015_09_04_02_world.sql b/sql/updates/world/2015_09_04_02_world.sql
new file mode 100644
index 00000000000..9b96e3a43fa
--- /dev/null
+++ b/sql/updates/world/2015_09_04_02_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=123124 AND `id`=32769;
diff --git a/sql/updates/world/2015_09_04_03_world.sql b/sql/updates/world/2015_09_04_03_world.sql
new file mode 100644
index 00000000000..33509c700c6
--- /dev/null
+++ b/sql/updates/world/2015_09_04_03_world.sql
@@ -0,0 +1,3 @@
+--
+DELETE FROM `creature` WHERE `guid`=120833 AND `id`=32769;
+DELETE FROM `creature` WHERE `guid`=120831 AND `id`=32769;
diff --git a/sql/updates/world/2015_09_05_00_world.sql b/sql/updates/world/2015_09_05_00_world.sql
new file mode 100644
index 00000000000..a259ae99f23
--- /dev/null
+++ b/sql/updates/world/2015_09_05_00_world.sql
@@ -0,0 +1,335 @@
+--
+SET @GUID := 52011; -- 11 FREE CGUID SET BY TC
+DELETE FROM `creature` WHERE `guid` BETWEEN @GUID AND @GUID + 10;
+INSERT INTO `creature` (`guid`, `id`, `map`, `modelid`, `position_x`, `position_y`, `position_z`, `orientation`, `curhealth`) VALUES
+(@GUID + 0, 24833, 584, 22659, 26.68381, 5.156456, 11.14973, 1.562181, 1474), -- Captain "Stash" Torgoley <The Lady Mehley> - 75958
+(@GUID + 1, 24834, 584, 22660, 17.73618, -7.963644, 6.181007, 1.658063, 1474), -- Galley Chief Grace <The Lady Mehley> - 75959
+(@GUID + 2, 24835, 584, 22661, 24.61499, 5.468628, 16.04766, 3.176499, 1358), -- First Mate Kowalski <The Lady Mehley> - 75960
+(@GUID + 3, 24836, 584, 262, -4.359131, 3.349854, 6.099176, 1.576669, 312), -- Abe the Cabin Boy <The Lady Mehley> - 75961
+(@GUID + 4, 24837, 584, 22662, 19.20459, -7.213135, 6.097228, 3.667171, 867), -- Navigator Mehran <The Lady Mehley> - 75962
+(@GUID + 5, 24838, 584, 22663, -27.50586, -3.588379, 21.17929, 2.405203, 804), -- Sailor Henders <The Lady Mehley> - 75963
+(@GUID + 6, 24839, 584, 22664, 6.123779, 10.77246, 11.47038, 1.539951, 804), -- Sailor Wicks <The Lady Mehley> - 75964
+(@GUID + 7, 24840, 584, 22665, 28.74146, 6.708008, 6.096051, 1.087228, 804), -- Sailor Vines <The Lady Mehley> - 75965
+(@GUID + 8, 24841, 584, 1858, -9.322998, -1.669921, 6.09808, 0.01745319, 10236), -- Marine Halters - 75966
+(@GUID + 9, 24842, 584, 22666, 14.44629, 0.1442871, 12.0214, 3.309605, 10236), -- Marine Anderson - 75967
+(@GUID + 10, 24843, 584, 22667, 6.350558, 8.718207, 6.180843, 5.427974, 928); -- Engineer Combs <The Lady Mehley> - 75968
+
+-- Pathing for Entry: 24833 'TDB FORMAT'
+SET @NPC := @GUID;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=37.03026,`position_y`=4.622362,`position_z`=6.176411, `orientation`=1.00 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,1,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,37.03026,4.622362,6.176411,1.00,35000,0,0,100,0),
+(@PATH,2,33.79711,3.379296,6.136233,0,0,0,0,100,0),
+(@PATH,3,30.11437,1.977602,6.346729,0,0,0,0,100,0),
+(@PATH,4,28.86437,2.977602,6.346729,0,0,0,0,100,0),
+(@PATH,5,26.34205,5.299405,6.347331,0,0,0,0,100,0),
+(@PATH,6,23.84205,5.299405,6.347331,0,0,0,0,100,0),
+(@PATH,7,17.09205,5.049405,6.347331,0,0,0,0,100,0),
+(@PATH,8,10.25663,4.995337,6.348217,0,0,0,0,100,0),
+(@PATH,9,7.917565,0.5690584,6.348763,0,0,0,0,100,0),
+(@PATH,10,8.917565,-0.9309416,6.348763,0,0,0,0,100,0),
+(@PATH,11,11.10869,-4.599314,6.348672,0,0,0,0,100,0),
+(@PATH,12,18.60869,-4.849314,6.348672,0,0,0,0,100,0),
+(@PATH,13,24.60869,-5.099314,6.348672,0,0,0,0,100,0),
+(@PATH,14,26.69126,-5.140297,6.623405,0,0,0,0,100,0),
+(@PATH,15,26.69126,-3.640297,6.623405,0,0,0,0,100,0),
+(@PATH,16,26.69126,3.859703,11.3734,0,0,0,0,100,0),
+(@PATH,17,26.56619,3.997062,11.49595,0,0,0,0,100,0),
+(@PATH,18,26.56619,5.497062,11.49595,0,0,0,0,100,0),
+(@PATH,19,24.06619,5.497062,11.49595,0,0,0,0,100,0),
+(@PATH,20,22.81619,5.497062,11.99595,0,0,0,0,100,0),
+(@PATH,21,21.56619,5.497062,12.24595,0,0,0,0,100,0),
+(@PATH,22,5.473877,5.844482,11.85669,0,25000,0,0,100,0),
+(@PATH,23,7.723877,-1.405518,11.85669,0,0,0,0,100,0),
+(@PATH,24,10.47388,-6.155518,11.85669,0,0,0,0,100,0),
+(@PATH,25,10.43553,-5.953337,11.88334,0,0,0,0,100,0),
+(@PATH,26,10.93553,-6.953337,11.88334,0,0,0,0,100,0),
+(@PATH,27,5.371088,-7.016384,11.77661,0,0,0,0,100,0),
+(@PATH,28,2.413238,-4.390701,11.56228,0,0,0,0,100,0),
+(@PATH,29,1.163238,-4.390701,11.31228,0,0,0,0,100,0),
+(@PATH,30,-3.086762,-5.140701,6.562281,0,0,0,0,100,0);
+-- 0x1C15A0002018404000004000006049B5 .go 37.03026 4.622362 6.176411
+
+-- Pathing for Entry: 24835 'TDB FORMAT'
+SET @NPC := @GUID + 2;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=24.61543,`position_y`=5.468647,`position_z`=16.12396 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,24.61543,5.468647,16.12396,3.246287,0,0,0,100,0),
+(@PATH,2,24.59153,3.553659,16.31282,0,0,0,0,100,0),
+(@PATH,3,24.59153,0.05365944,16.31282,0,0,0,0,100,0),
+(@PATH,4,24.59153,-3.446341,16.06282,0,0,0,0,100,0),
+(@PATH,5,24.57548,-5.133168,16.0891,0,0,0,0,100,0),
+(@PATH,6,23.32548,-5.383168,16.0891,0,0,0,0,100,0),
+(@PATH,7,20.07548,-5.883168,12.5891,0,0,0,0,100,0),
+(@PATH,8,19.97622,-5.8692,12.62369,0,0,0,0,100,0),
+(@PATH,9,19.22622,-5.8692,12.62369,0,0,0,0,100,0),
+(@PATH,10,18.97622,-4.6192,12.62369,0,0,0,0,100,0),
+(@PATH,11,17.54005,-0.2464206,12.32892,0,0,0,0,100,0),
+(@PATH,12,18.04005,3.753579,12.32892,0,0,0,0,100,0),
+(@PATH,13,18.07397,3.926754,12.37037,0,0,0,0,100,0),
+(@PATH,14,18.32397,5.676754,12.12037,0,0,0,0,100,0),
+(@PATH,15,20.28442,3.827637,12.37757,0,0,0,0,100,0),
+(@PATH,16,19.53442,-0.1723633,12.37757,0,0,0,0,100,0),
+(@PATH,17,19.03442,-4.672363,12.12757,0,0,0,0,100,0),
+(@PATH,18,18.88482,-4.669163,12.44052,0,0,0,0,100,0),
+(@PATH,19,18.88482,-5.669163,12.44052,0,0,0,0,100,0),
+(@PATH,20,20.13482,-5.669163,12.69052,0,0,0,0,100,0),
+(@PATH,21,23.13482,-5.169163,15.94052,0,0,0,0,100,0),
+(@PATH,22,25.75478,-4.782483,16.3373,0,0,0,0,100,0),
+(@PATH,23,25.75478,-3.282483,16.3373,0,0,0,0,100,0),
+(@PATH,24,26.00478,-0.03248262,16.5873,0,0,0,0,100,0),
+(@PATH,25,26.25478,3.467517,16.5873,0,0,0,0,100,0),
+(@PATH,26,24.61548,5.46875,16.04771,0,0,0,0,100,0),
+(@PATH,27,24.61548,5.46875,16.04771,3.176499,80000,0,0,100,0);
+-- 0x1C15A000201840C000004000006048CF .go 24.61543 5.468647 16.12396
+
+-- Pathing for Entry: 24836 'TDB FORMAT'
+SET @NPC := @GUID + 3;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-2.233398,`position_y`=2.553833,`position_z`=6.099016 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-2.233398,2.553833,6.099016,0,0,0,0,100,0),
+(@PATH,2,-2.233398,2.553833,6.099016,2.059489,0,0,0,100,0),
+(@PATH,3,1.698853,3.417053,6.348891,0,0,0,0,100,0),
+(@PATH,4,3.448853,4.167053,6.348891,0,0,0,0,100,0),
+(@PATH,5,7.448853,-0.5829468,6.348891,0,0,0,0,100,0),
+(@PATH,6,9.774704,-2.902952,6.349678,0,0,0,0,100,0),
+(@PATH,7,9.800768,-3.249776,6.348591,0,0,0,0,100,0),
+(@PATH,8,13.55077,-3.999776,6.348591,0,0,0,0,100,0),
+(@PATH,9,18.30077,-4.749776,6.348591,0,0,0,0,100,0),
+(@PATH,10,20.13506,-5.121357,6.347137,0,0,0,0,100,0),
+(@PATH,11,24.38506,-5.371357,6.347137,0,0,0,0,100,0),
+(@PATH,12,24.58777,-5.452598,6.623333,0,0,0,0,100,0),
+(@PATH,13,26.83777,-5.702598,6.623333,0,0,0,0,100,0),
+(@PATH,14,26.58777,-3.452598,6.623333,0,0,0,0,100,0),
+(@PATH,15,26.58777,3.797402,11.37333,0,0,0,0,100,0),
+(@PATH,16,26.85096,4.066658,11.19734,0,0,0,0,100,0),
+(@PATH,17,26.85096,5.566658,11.19734,0,0,0,0,100,0),
+(@PATH,18,26.86504,5.718296,11.3996,0,0,0,0,100,0),
+(@PATH,19,30.61504,5.718296,11.3996,0,0,0,0,100,0),
+(@PATH,20,30.61504,3.718296,11.3996,0,0,0,0,100,0),
+(@PATH,21,29.54675,3.707764,11.3996,0,0,0,0,100,0),
+(@PATH,22,28.29675,4.207764,11.3996,0,0,0,0,100,0),
+(@PATH,23,24.39871,5.605234,11.61975,0,0,0,0,100,0),
+(@PATH,24,23.39871,5.605234,11.61975,0,0,0,0,100,0),
+(@PATH,25,22.14871,5.605234,12.11975,0,0,0,0,100,0),
+(@PATH,26,21.82304,5.810547,12.27328,0,0,0,0,100,0),
+(@PATH,27,20.07304,5.810547,12.27328,0,0,0,0,100,0),
+(@PATH,28,17.32304,3.810547,12.27328,0,0,0,0,100,0),
+(@PATH,29,17.06653,3.683082,12.10866,0,0,0,0,100,0),
+(@PATH,30,14.56653,1.933082,12.10866,0,0,0,0,100,0),
+(@PATH,31,13.06653,-1.066918,12.10866,0,0,0,0,100,0),
+(@PATH,32,9.639757,-6.127687,11.82736,0,0,0,0,100,0),
+(@PATH,33,3.298409,-6.022044,11.54611,0,0,0,0,100,0),
+(@PATH,34,2.798409,-4.272044,11.54611,0,0,0,0,100,0),
+(@PATH,35,1.048409,-4.522044,11.29611,0,0,0,0,100,0),
+(@PATH,36,-2.951591,-5.022044,6.546112,0,0,0,0,100,0),
+(@PATH,37,-4.002031,-4.848095,6.186443,0,0,0,0,100,0),
+(@PATH,38,-4.002031,-0.0980947,6.186443,0,0,0,0,100,0),
+(@PATH,39,-2.233643,2.553955,6.099016,0,0,0,0,100,0);
+-- 0x1C15A0000018410000002F0000604858 .go -2.233398 2.553833 6.099016
+
+-- Pathing for Entry: 24837 'TDB FORMAT'
+SET @NPC := @GUID + 4;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=21.28821,`position_y`=-6.498474,`position_z`=6.346781 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,21.28821,-6.498474,6.346781,0,0,0,0,100,0),
+(@PATH,2,24.28821,-6.248474,6.346781,0,0,0,0,100,0),
+(@PATH,3,24.5675,-5.887867,6.623326,0,0,0,0,100,0),
+(@PATH,4,26.3175,-5.637867,6.623326,0,0,0,0,100,0),
+(@PATH,5,26.5675,-3.637867,6.623326,0,0,0,0,100,0),
+(@PATH,6,26.8175,3.862133,11.37333,0,0,0,0,100,0),
+(@PATH,7,27.0207,5.456285,11.61129,0,0,0,0,100,0),
+(@PATH,8,24.0207,5.456285,11.61129,0,0,0,0,100,0),
+(@PATH,9,22.7707,5.706285,11.86129,0,0,0,0,100,0),
+(@PATH,10,21.5207,5.706285,12.36129,0,0,0,0,100,0),
+(@PATH,11,21.19737,5.743245,12.28643,0,0,0,0,100,0),
+(@PATH,12,19.69737,5.743245,12.28643,0,0,0,0,100,0),
+(@PATH,13,18.44737,3.743245,12.28643,0,0,0,0,100,0),
+(@PATH,14,16.32088,0.3530575,12.37261,0,0,0,0,100,0),
+(@PATH,15,18.57088,-4.646943,12.37261,0,0,0,0,100,0),
+(@PATH,16,18.82599,-4.72204,12.55197,0,0,0,0,100,0),
+(@PATH,17,19.32599,-5.72204,12.55197,0,0,0,0,100,0),
+(@PATH,18,23.32599,-5.22204,16.05197,0,0,0,0,100,0),
+(@PATH,19,24.89713,-4.957284,16.51354,0,0,0,0,100,0),
+(@PATH,20,27.89713,-4.707284,17.01354,0,0,0,0,100,0),
+(@PATH,21,35.14713,-3.957284,18.26354,0,0,0,0,100,0),
+(@PATH,22,35.03859,-3.71197,18.26312,0,0,0,0,100,0),
+(@PATH,23,35.53859,-3.71197,18.51312,0,0,0,0,100,0),
+(@PATH,24,36.03859,-2.71197,18.51312,0,0,0,0,100,0),
+(@PATH,25,36.78859,-1.21197,18.51312,0,0,0,0,100,0),
+(@PATH,26,36.83167,-1.03315,18.61353,0,0,0,0,100,0),
+(@PATH,27,37.33167,-0.0331502,18.61353,0,0,0,0,100,0),
+(@PATH,28,35.83167,-0.0331502,18.36353,0,0,0,0,100,0),
+(@PATH,29,33.81982,0.05114746,18.28621,0,80000,0,0,100,0);
+-- 0x1C15A0000018414000002F0000604858 .go 21.28821 -6.498474 6.346781
+
+-- Pathing for Entry: 24838 'TDB FORMAT'
+SET @NPC := @GUID + 5;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-27.21704,`position_y`=-0.001220703,`position_z`=21.58302 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-27.21704,-0.001220703,21.58302,3.141593,15000,0,0,100,0),
+(@PATH,2,-26.7854,3.492676,21.49658,0,0,0,0,100,0),
+(@PATH,3,-27.21509,0.02246094,21.582,0,0,0,0,100,0),
+(@PATH,4,-27.21509,0.02246094,21.582,3.141593,15000,0,0,100,0),
+(@PATH,5,-27.31982,-3.39917,21.29024,0,0,0,0,100,0),
+(@PATH,6,-23.06238,-6.165868,20.58522,0,0,0,0,100,0);
+-- 0x1C15A0000018418000002F0000604859 .go -27.21704 -0.001220703 21.58302
+
+-- Pathing for Entry: 24839 'TDB FORMAT'
+SET @NPC := @GUID + 6;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=9.595876,`position_y`=-1.214922,`position_z`=11.80095 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,9.595876,-1.214922,11.80095,0,10000,0,0,100,0),
+(@PATH,2,10.84588,3.285078,12.05095,0,0,0,0,100,0),
+(@PATH,3,10.78306,3.165822,11.99681,0,0,0,0,100,0),
+(@PATH,4,11.03306,4.415822,11.99681,0,0,0,0,100,0),
+(@PATH,5,9.130737,-1.28125,11.96241,0,0,0,0,100,0),
+(@PATH,6,9.877741,-6.322785,11.91132,0,0,0,0,100,0),
+(@PATH,7,6.444749,-7.275679,11.82178,0,0,0,0,100,0),
+(@PATH,8,6.444749,-9.525679,11.57178,0,0,0,0,100,0),
+(@PATH,9,7.006714,-9.58252,11.59527,0,0,0,0,100,0),
+(@PATH,10,8.256714,-8.08252,11.84527,0,10000,0,0,100,0),
+(@PATH,11,9.506714,-6.58252,11.84527,0,0,0,0,100,0),
+(@PATH,12,9.757862,-6.227444,12.01764,0,0,0,0,100,0),
+(@PATH,13,10.25786,-5.227444,11.76764,0,0,0,0,100,0),
+(@PATH,14,11.50786,-1.227444,12.01764,0,0,0,0,100,0),
+(@PATH,15,10.53357,-1.442627,12.06874,0,0,0,0,100,0),
+(@PATH,16,9.107422,-2.769531,11.71875,3.385939,10000,0,0,100,0),
+(@PATH,17,9.595581,-1.214111,11.99324,0,0,0,0,100,0),
+(@PATH,18,10.84558,3.285889,11.99324,0,0,0,0,100,0),
+(@PATH,19,10.78296,3.167067,11.99682,0,0,0,0,100,0),
+(@PATH,20,11.03296,4.417067,11.99682,0,10000,0,0,100,0);
+-- 0x1C15A000201841C000004000006049B5 .go 9.595876 -1.214922 11.80095
+
+-- Pathing for Entry: 24840 'TDB FORMAT'
+SET @NPC := @GUID + 7;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=-12.18092,`position_y`=5.488965,`position_z`=6.140242 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,-12.18092,5.488965,6.140242,0,0,0,0,100,0),
+(@PATH,2,-11.93092,4.238965,6.140242,0,0,0,0,100,0),
+(@PATH,3,1.66333,3.382568,6.347836,0,0,0,0,100,0),
+(@PATH,4,3.41333,4.132568,6.347836,0,0,0,0,100,0),
+(@PATH,5,16.41333,5.132568,6.347836,0,0,0,0,100,0),
+(@PATH,6,23.91333,5.632568,6.347836,0,0,0,0,100,0),
+(@PATH,7,27.02629,5.782645,6.348631,0,0,0,0,100,0),
+(@PATH,8,28.7417,6.706543,6.096051,0,0,0,0,100,0),
+(@PATH,9,23.86475,6.410645,6.347143,0,0,0,0,100,0),
+(@PATH,10,18.36475,6.160645,6.347143,0,0,0,0,100,0),
+(@PATH,11,16.61475,5.910645,6.347143,0,0,0,0,100,0),
+(@PATH,12,15.36475,5.910645,6.347143,0,0,0,0,100,0),
+(@PATH,13,3.364746,5.410645,6.347143,0,0,0,0,100,0),
+(@PATH,14,3.131845,5.415648,6.349216,0,0,0,0,100,0),
+(@PATH,15,1.881845,5.415648,6.349216,0,0,0,0,100,0),
+(@PATH,16,-8.868155,6.665648,6.349216,0,0,0,0,100,0),
+(@PATH,17,-9.868155,6.915648,6.349216,0,0,0,0,100,0),
+(@PATH,18,-12.56714,7.07666,6.098746,0,0,0,0,100,0),
+(@PATH,19,-12.56714,7.07666,6.098746,3.525565,0,0,0,100,0),
+(@PATH,20,-12.18091,5.489014,6.348577,0,0,0,0,100,0),
+(@PATH,21,-11.93091,4.239014,6.348577,0,0,0,0,100,0),
+(@PATH,22,1.663208,3.382813,6.347836,0,0,0,0,100,0),
+(@PATH,23,3.413208,4.132813,6.347836,0,0,0,0,100,0),
+(@PATH,24,16.41321,5.132813,6.347836,0,0,0,0,100,0),
+(@PATH,25,23.91321,5.632813,6.347836,0,0,0,0,100,0);
+-- 0x1C15A0002018420000004000006049B5 .go -12.18092 5.488965 6.140242
+
+-- Pathing for Entry: 24842 'TDB FORMAT'
+SET @NPC := @GUID + 9;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=20.11769,`position_y`=-6.318613,`position_z`=6.388871 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,20.11769,-6.318613,6.388871,0,0,0,0,100,0),
+(@PATH,2,24.36769,-6.068613,6.138871,0,0,0,0,100,0),
+(@PATH,3,26.54725,-5.752126,6.622897,0,0,0,0,100,0),
+(@PATH,4,26.54725,-3.502126,6.622897,0,0,0,0,100,0),
+(@PATH,5,26.79725,3.747874,11.3729,0,0,0,0,100,0),
+(@PATH,6,26.79725,5.497874,11.3729,0,0,0,0,100,0),
+(@PATH,7,26.84597,3.878396,11.42881,0,0,0,0,100,0),
+(@PATH,8,26.84597,5.378396,11.42881,0,0,0,0,100,0),
+(@PATH,9,26.84597,6.128396,11.42881,0,0,0,0,100,0),
+(@PATH,10,24.09597,5.878396,11.42881,0,0,0,0,100,0),
+(@PATH,11,22.59597,5.878396,11.92881,0,0,0,0,100,0),
+(@PATH,12,21.59597,5.878396,12.42881,0,0,0,0,100,0),
+(@PATH,13,21.2122,5.86385,12.2945,0,0,0,0,100,0),
+(@PATH,14,18.7122,5.61385,12.2945,0,0,0,0,100,0),
+(@PATH,15,17.7122,3.61385,12.2945,0,0,0,0,100,0),
+(@PATH,16,14.01855,0.09912109,12.00374,0,0,0,0,100,0),
+(@PATH,17,15.29224,0.3544922,12.05542,0,0,0,0,100,0),
+(@PATH,18,14.146,0.02685547,12.00965,0,0,0,0,100,0),
+(@PATH,19,20.63428,3.088379,12.32969,0,0,0,0,100,0),
+(@PATH,20,21.63428,4.088379,12.07969,0,0,0,0,100,0),
+(@PATH,21,23.38428,4.838379,11.57969,0,0,0,0,100,0),
+(@PATH,22,26.57771,5.543217,11.23778,0,0,0,0,100,0),
+(@PATH,23,26.57771,3.793216,11.23778,0,0,0,0,100,0),
+(@PATH,24,26.32771,-3.456784,6.487778,0,0,0,0,100,0),
+(@PATH,25,26.43777,-3.82635,6.296148,0,0,0,0,100,0),
+(@PATH,26,26.43777,-5.32635,6.296148,0,0,0,0,100,0),
+(@PATH,27,24.43777,-5.32635,6.296148,0,0,0,0,100,0),
+(@PATH,28,19.93777,-5.57635,6.296148,0,0,0,0,100,0),
+(@PATH,29,6.767334,-6.272217,6.347435,0,0,0,0,100,0),
+(@PATH,30,6.116943,-6.608887,6.097135,2.286381,10000,0,0,100,0);
+-- 0x1C15A0002018428000004000006049B5 .go 20.11769 -6.318613 6.388871
+
+SET @Sailor := 24838;
+SET @Kowalski := 24835;
+SET @Mehran := 24837;
+SET @Stash := 24833;
+-- Add text
+DELETE FROM `creature_text` WHERE `entry` IN (@Sailor, @Kowalski, @Mehran, @Stash);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextID`) VALUES
+(@Sailor, 0, 0, 'Land ho, Mr. Kowalski! Port is in sight, sir!', 12, 7, 100, 0, 0, 0, 'Sailor Henders', 23941),
+(@Kowalski, 0, 0, 'Thank you, Mr. Henders.', 12, 7, 100, 0, 0, 0, 'First Mate Kowalski', 23942),
+(@Kowalski, 1, 0, 'Bring us into port, please, Mr. Mehran.', 12, 7, 100, 0, 0, 0, 'First Mate Kowalski', 23943),
+(@Mehran, 0, 0, 'Aye aye, Mr. Kowalski.', 12, 0, 100, 0, 0, 0, 'Navigator Mehran', 23951),
+(@Kowalski, 2, 0, 'Captain Stash! We''ll be arriving shortly, sir!', 12, 7, 100, 0, 0, 0, 'First Mate Kowalski', 23944),
+(@Stash, 0, 0, 'Thank you, Mr. Kowalski! You may return to your post to oversee docking!', 12, 7, 100, 0, 0, 0, 'Captain "Stash" Torgoley', 23945),
+(@Stash, 1, 0, 'Well done, all. Please bring us safely to our next port. ', 12, 7, 100, 0, 0, 0, 'Captain "Stash" Torgoley', 23946);
+
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@Sailor, @Kowalski, @Mehran, @Stash);
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Sailor AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Stash AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Kowalski AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Stash*100 AND `source_type`=9;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@Kowalski*100 AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@Sailor,0,0,0,25,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Sailor - on reset - Say Line 0"),
+(@Stash,0,0,0,25,0,100,0,0,0,0,0,80,@Stash*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - on reset - action list"),
+(@Stash*100,9,0,0,0,0,100,0,36000,36000,0,0,91,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - action list - Stand up"),
+(@Stash*100,9,1,0,0,0,100,0,49000,49000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - action list - Say Line 1"),
+(@Stash*100,9,2,0,0,0,100,0,0,0,0,0,5,21,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stash - action list - Play emote applaud"),
+(@Kowalski,0,0,0,25,0,100,0,0,0,0,0,80,@Kowalski*100,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kowalski - On reset - Action list"),
+(@Kowalski*100,9,0,0,0,0,100,0,4000,4000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kowalski- ooc los - Say Line 0"),
+(@Kowalski*100,9,1,0,0,0,100,0,3000,3000,0,0,1,1,0,0,0,0,0,1,0,40,0,0,0,0,0,"Kowalski - ooc los - Say Line 1"),
+(@Kowalski*100,9,2,0,0,0,100,0,3000,3000,0,0,1,0,0,0,0,0,0,19,@Mehran,40,0,0,0,0,0,"Kowalski- ooc los - Say Line 0"),
+(@Kowalski*100,9,3,0,0,0,100,0,3000,3000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kowalski - ooc los - Say Line 2"),
+(@Kowalski*100,9,4,0,0,0,100,0,4000,4000,0,0,1,0,0,0,0,0,0,19,@Stash,40,0,0,0,0,0,"Kowalski - ooc los - Say Line 0");
diff --git a/sql/updates/world/2015_09_05_01_world.sql b/sql/updates/world/2015_09_05_01_world.sql
new file mode 100644
index 00000000000..cabdd4b9057
--- /dev/null
+++ b/sql/updates/world/2015_09_05_01_world.sql
@@ -0,0 +1,6 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21719 AND `source_type`=0 AND `id`=15;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21720 AND `source_type`=0 AND `id`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21717 AND `source_type`=0 AND `id`=3;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=21718 AND `source_type`=0 AND `id`=13;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22331 AND `source_type`=0 AND `id`=20;
diff --git a/sql/updates/world/2015_09_05_02_world_335.sql b/sql/updates/world/2015_09_05_02_world_335.sql
new file mode 100644
index 00000000000..20d2a79a63a
--- /dev/null
+++ b/sql/updates/world/2015_09_05_02_world_335.sql
@@ -0,0 +1,110 @@
+--
+UPDATE `creature` SET `spawntimesecs`=60 WHERE `guid`=50005;
+
+-- Kindal Moonweaver SAI
+SET @ENTRY := 7956;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=795601 AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,1,19,0,100,0,2969,0,0,0,29,4,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Start Follow Invoker"),
+(@ENTRY,0,1,2,61,0,100,0,0,0,0,0,90,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Remove Flag Standstate Kneel"),
+(@ENTRY,0,2,3,61,0,100,0,0,0,0,0,2,774,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Set Faction 774"),
+(@ENTRY,0,3,4,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Say Line 0"),
+(@ENTRY,0,4,5,61,0,100,0,0,0,0,0,19,512,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Remove unit flag 512"),
+(@ENTRY,0,5,6,61,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Remove npcflag 2"),
+(@ENTRY,0,6,7,61,0,100,0,0,0,0,0,8,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - React def"),
+(@ENTRY,0,7,8,61,0,100,0,0,0,0,0,64,1,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Store target"),
+(@ENTRY,0,8,0,61,0,100,0,0,0,0,0,41,360000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Quest 'Freedom for All Creatures' Taken - Despawn In 360000 ms"),
+(@ENTRY,0,9,0,4,0,100,0,0,0,0,0,1,1,0,1,0,0,0,7,0,0,0,0,0,0,0,"Kindal Moonweaver - On Aggro - Say Line 1"),
+(@ENTRY,0,10,0,38,0,100,1,1,1,0,0,80,@ENTRY*100+00,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Data Set 1 1 - Action list"),
+(@ENTRY,0,11,0,7,0,100,0,0,0,0,0,90,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Evade - Set stand state"),
+(@ENTRY,0,12,0,77,0,100,0,1,5,0,0,80,795601,2,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On counter=5 - Action ist"),
+(795601,9,0,0,0,0,100,0,1000,1000,0,0,1,3,0,0,0,0,0,12,1,0,0,0,0,0,0,"Kindal Moonweaver - On Script - Say Line 3"),
+(795601,9,1,0,0,0,100,0,0,0,0,0,6,2969,0,0,0,0,0,18,20,0,0,0,0,0,0,"Kindal Moonweaver - On Script - Quest fails"),
+(795601,9,2,0,0,0,100,0,3000,3000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Script - Despawn");
+
+-- Actionlist SAI
+SET @ENTRY := 795600;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,1000,1000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Script - Say Line 2"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,15,2969,0,0,0,0,0,18,20,0,0,0,0,0,0,"Kindal Moonweaver - On Script - Quest Credit 'Freedom for All Creatures'"),
+(@ENTRY,9,2,0,0,0,100,0,5000,5000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Kindal Moonweaver - On Script - Despawn In 3000 ms");
+
+/* Script for the Door, it will start the event for the creatures */
+UPDATE `gameobject_template` SET `AIName`='SmartGameObjectAI' WHERE `entry`=143979;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=143979;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(143979, 1, 0, 0, 70, 0, 100, 0, 2, 0, 0, 0, 80, 143979*100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'bambus door - On activate - start script');
+-- Actionlist SAI
+SET @ENTRY := 14397900;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,45,1,1,0,0,0,0,11,7997,20,0,0,0,0,0,"On Script - Set Data 1 1");
+
+-- Captured Sprite Darter SAI
+SET @ENTRY := 7997;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,38,0,100,0,1,1,0,0,80,@ENTRY*100,2,0,0,0,0,1,0,0,0,0,0,0,0,"Captured Sprite Darter - On Data Set 1 1 - Run Script"),
+(@ENTRY,0,1,2,40,0,100,0,13,7997,0,0,45,1,1,0,0,0,0,19,7956,50,0,0,0,0,0,"Captured Sprite Darter - On Waypoint 13 Reached - Set Data 1 1"),
+(@ENTRY,0,2,0,61,0,100,0,0,0,0,0,41,3000,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captured Sprite Darter - On Waypoint 13 Reached - Despawn In 3s"),
+(@ENTRY,0,3,0,11,0,100,0,0,0,0,0,2,534,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captured Sprite Darter - On Respawn - Set Faction 534"),
+(@ENTRY,0,4,0,6,0,100,0,0,0,0,0,63,1,1,0,0,0,0,19,7956,50,0,0,0,0,0,"Captured Sprite Darter - On Death - set counter");
+
+/* Call script for waypoint-start */
+
+-- Actionlist SAI
+SET @ENTRY := 799700;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,2000,2000,0,0,53,0,7997,0,0,0,1,1,0,0,0,0,0,0,0,"On Script - Start Waypoint"),
+(@ENTRY,9,1,0,0,0,100,0,100,100,0,0,2,774,0,0,0,0,0,1,0,0,0,0,0,0,0,"Captured Sprite Darter - On Script - Set Faction 774");
+
+/* Texts for Kindal Moonweaver */
+DELETE FROM `creature_text` WHERE `entry` in (7956);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`, `BroadcastTextId`) VALUES
+(7956, 0, 0, 'I''m ready when you are, $n. Lead the way!', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4079),
+(7956, 1, 0, 'Die, $n. Elune will not have you harm her creatures any longer!', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4123),
+(7956, 1, 1, 'You dare touch me?!', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4125),
+(7956, 1, 2, 'Death to you, $n. How dare you come within a bow''s shot of me!', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4124),
+(7956, 1, 3, 'Quickly! $n attacks!', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4122),
+(7956, 2, 0, 'We\'ve done it! Meet me back by Jer\'kai above the Grim Totem camp.', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4080),
+(7956, 3, 0, 'No! The faerie dragons aren''t making it, $n! I must return to Jer''kai to make sure she hasn''t been found. Elune be with you.', 12, 0, 100, 0, 0, 0, 'Kindal Moonweaver', 4081);
+
+/* Waypoints for Captured Sprite Darter */
+DELETE FROM `waypoints` WHERE `entry`=7997;
+INSERT INTO `waypoints` (`entry`, `pointid`, `position_x`, `position_y`, `position_z`, `point_comment`) VALUES
+(7997, 1, -4532.19, 807.833, 59.9749, 'Captured Sprite Darter'),
+(7997, 2, -4526.04, 799.328, 59.4271, 'Captured Sprite Darter'),
+(7997, 3, -4518.87, 786.24, 59.9261, 'Captured Sprite Darter'),
+(7997, 4, -4516.6, 766.617, 60.6654, 'Captured Sprite Darter'),
+(7997, 5, -4516.79, 749.124, 60.4805, 'Captured Sprite Darter'),
+(7997, 6, -4517.52, 731.643, 60.9822, 'Captured Sprite Darter'),
+(7997, 7, -4522.3, 710.707, 60.8061, 'Captured Sprite Darter'),
+(7997, 8, -4530.08, 695.036, 60.6917, 'Captured Sprite Darter'),
+(7997, 9, -4537.26, 679.979, 60.5726, 'Captured Sprite Darter'),
+(7997, 10, -4541.54, 655.429, 58.551, 'Captured Sprite Darter'),
+(7997, 11, -4539.33, 649.443, 57.9488, 'Captured Sprite Darter'),
+(7997, 12, -4526.54, 639.678, 56.2069, 'Captured Sprite Darter'),
+(7997, 13, -4507.92, 627.417, 55.6034, 'Captured Sprite Darter');
+
+UPDATE `creature_template_addon` SET `auras`= "" WHERE entry=7726;
+SET @ENTRY := 7726;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,100,1,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - On Aggro - Set Event Phase 1 (No Repeat)"),
+(@ENTRY,0,1,0,4,1,100,1,0,0,0,0,11,9739,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimtotem Naturalist - On Aggro - Cast 'Wrath' (Phase 1) (No Repeat)"),
+(@ENTRY,0,2,0,9,1,100,0,0,40,3400,4700,11,9739,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimtotem Naturalist - Within 0-40 Range - Cast 'Wrath' (Phase 1)"),
+(@ENTRY,0,3,0,3,1,100,0,0,15,0,0,22,2,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - Between 0-15% Mana - Set Event Phase 2 (Phase 1)"),
+(@ENTRY,0,4,0,3,2,100,0,30,100,100,100,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - Between 30-100% Mana - Set Event Phase 1 (Phase 2)"),
+(@ENTRY,0,5,0,7,1,100,1,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - On Evade - Set Event Phase 0 (Phase 1) (No Repeat)"),
+(@ENTRY,0,6,7,2,0,100,1,0,50,0,0,22,3,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - Between 0-50% Health - Set Event Phase 3 (Phase 1) (No Repeat)"),
+(@ENTRY,0,7,0,61,0,100,1,0,50,0,0,11,19030,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - Between 0-50% Health - Cast 'Bear Form' (Phase 1) (No Repeat)"),
+(@ENTRY,0,8,0,0,4,100,0,3000,4500,12000,13000,11,12161,0,0,0,0,0,2,0,0,0,0,0,0,0,"Grimtotem Naturalist - In Combat - Cast 'Maul' (Phase 4)"),
+(@ENTRY,0,9,0,0,4,100,0,8000,9000,25000,26000,11,15727,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - In Combat - Cast 'Demoralizing Roar' (Phase 4)"),
+(@ENTRY,0,10,0,7,4,100,1,0,0,0,0,28,19030,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - On Evade - Remove Aura (Phase 4) (No Repeat)"),
+(@ENTRY,0,11,0,7,4,100,1,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Grimtotem Naturalist - On Evade - Set Event Phase 0 (Phase 4) (No Repeat)");
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22331 AND `source_type`=0 AND `id`=20;
diff --git a/sql/updates/world/2015_09_06_00_world.sql b/sql/updates/world/2015_09_06_00_world.sql
new file mode 100644
index 00000000000..79f9ae687c0
--- /dev/null
+++ b/sql/updates/world/2015_09_06_00_world.sql
@@ -0,0 +1,73 @@
+SET @CGUID := 136178;
+
+DELETE FROM `creature` WHERE `id`=23311;
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `MovementType`) VALUES
+(@CGUID+0, 23311, 530, 1, 1, -5076.106, 25.09657, 80.35052, 6.236346, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+1, 23311, 530, 1, 1, -5233.175, 64.53071, 64.41123, 0.7679449, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+2, 23311, 530, 1, 1, -5185.78, 143.9119, 71.66191, 1.692969, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+3, 23311, 530, 1, 1, -5275.489, 149.1322, 58.53136, 2.443461, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+4, 23311, 530, 1, 1, -5091.079, -114.7144, 64.35689, 1.239184, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+5, 23311, 530, 1, 1, -4979.629, -99.6888, 42.13466, 4.049164, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+6, 23311, 530, 1, 1, -5214.68, 221.5429, 72.53944, 4.380776, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+7, 23311, 530, 1, 1, -5227.612, 271.558, 70.12395, 0.3334433, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+8, 23311, 530, 1, 1, -5286.284, 241.2294, 67.83147, 4.598778, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+9, 23311, 530, 1, 1, -5269.888, 303.3626, 73.55891, 0.05235988, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+10, 23311, 530, 1, 1, -5285.691, 388.9862, 54.89359, 5.131268, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+11, 23311, 530, 1, 1, -5329.144, 192.1793, 52.40875, 0.5977584, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40714 - 40714)
+(@CGUID+12, 23311, 530, 1, 1, -5313.125, 170.9132, 54.45731, 2.199115, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+13, 23311, 530, 1, 1, -4988.237, 135.2316, 79.1295, 4.974188, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+14, 23311, 530, 1, 1, -4926.947, 217.0098, 65.26778, 3.333579, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+15, 23311, 530, 1, 1, -4922.614, 151.7855, 56.78815, 1.780236, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+16, 23311, 530, 1, 1, -4993.667, 235.146, 80.8679, 5.72468, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+17, 23311, 530, 1, 1, -4991.519, 300.2075, 82.21542, 4.956735, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40732 - 40732) (possible waypoints or random movement)
+(@CGUID+18, 23311, 530, 1, 1, -4849.121, 450.1942, 60.71572, 1.780236, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+19, 23311, 530, 1, 1, -4982.719, -33.12109, 69.65373, 2.86234, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+20, 23311, 530, 1, 1, -5073.178, 478.2025, 84.05375, 0.4363323, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40735 - 40735) (possible waypoints or random movement)
+(@CGUID+21, 23311, 530, 1, 1, -5037.911, 538.4877, 88.20789, 5.393067, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+22, 23311, 530, 1, 1, -4993.51, 508.6491, 85.82965, 5.986479, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+23, 23311, 530, 1, 1, -4962.048, 525.7373, 79.19551, 3.764333, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+24, 23311, 530, 1, 1, -5005.264, 532.8912, 87.46109, 4.386611, 120, 10, 1), -- 23311 (Area: -1) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+25, 23311, 530, 1, 1, -4892.17, 276.9066, 64.75311, 0.4014257, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40732 - 40732)
+(@CGUID+26, 23311, 530, 1, 1, -5141.98, 473.9572, 78.60102, 0.4886922, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+27, 23311, 530, 1, 1, -5200.688, 589.4948, 60.42498, 2.792527, 120, 0, 0), -- 23311 (Area: -1) (Auras: 40735 - 40735)
+(@CGUID+28, 23311, 530, 1, 1, -5281.205, 653.8297, 41.3046, 4.782202, 120, 0, 0), -- 23311 (Area: 3759) (Auras: 40735 - 40735)
+(@CGUID+29, 23311, 530, 1, 1, -5221.946, 685.913, 60.32657, 4.27563, 120, 10, 1), -- 23311 (Area: 3759) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+30, 23311, 530, 1, 1, -5148.24, 737.8401, 73.05395, 4.782202, 120, 0, 0), -- 23311 (Area: 3965) (Auras: 40732 - 40732)
+(@CGUID+31, 23311, 530, 1, 1, -5013.051, 702.1115, 82.42272, 3.435459, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+32, 23311, 530, 1, 1, -4969.671, 576.4045, 77.05217, 0.5155401, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+33, 23311, 530, 1, 1, -4876.813, 515.5291, 60.59084, 5.581461, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+34, 23311, 530, 1, 1, -4943.457, 693.7371, 71.826, 1.425557, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+-- Below are what existed in TC previously
+(@CGUID+35, 23311, 530, 1, 1, -5241.89, 110.241, 58.1161, 5.43882, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+36, 23311, 530, 1, 1, -5231.88, 73.5107, 64.2172, 2.70563, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+37, 23311, 530, 1, 1, -5223.67, 41.7543, 68.7341, 5.06183, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+38, 23311, 530, 1, 1, -5315.02, 241.323, 59.5668, 4.75553, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+39, 23311, 530, 1, 1, -5135.13, 472.366, 78.4078, 3.1219, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+40, 23311, 530, 1, 1, -5172.18, 449.631, 76.6452, 4.06438, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+41, 23311, 530, 1, 1, -5200.65, 414.947, 74.4594, 4.13114, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+42, 23311, 530, 1, 1, -5248.11, 369.244, 68.7189, 3.43999, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+43, 23311, 530, 1, 1, -5289.96, 304.915, 67.6901, 3.63634, 120, 10, 1), -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+(@CGUID+44, 23311, 530, 1, 1, -5043.44, 498.824, 86.5357, 3.86411, 120, 10, 1); -- 23311 (Area: 3965) (Auras: 40714 - 40714) (possible waypoints or random movement)
+
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid`=23311;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2331100,2331101,2331102);
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(23311, 0, 0, 1, 8, 0, 100, 1, 40742, 0, 0, 0, 33, 23311, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - On Spell Hit (Booterang) - Give Kill Credit'),
+(23311, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 28, 40714, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Remove Aura Dazed and Confused'),
+(23311, 0, 2, 3, 61, 0, 100, 0, 0, 0, 0, 0, 28, 40732, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Remove Aura Lazy and Good for Nothing'),
+(23311, 0, 3, 4, 61, 0, 100, 0, 0, 0, 0, 0, 28, 40735, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Remove Aura Defiant and Enraged'),
+(23311, 0, 4, 5, 61, 0, 100, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Say'),
+(23311, 0, 5, 6, 61, 0, 100, 0, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Set Run'),
+(23311, 0, 6, 7, 61, 0, 100, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 19, 23308, 200, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Move to closest Dragonmaw Peon Work Node'),
+(23311, 0, 7, 8, 61, 0, 100, 0, 0, 0, 0, 0, 11, 39160, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Cast Booterang'),
+(23311, 0, 8, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 30000, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Despawn After 30 seconds'),
+(23311, 0, 9, 10, 38, 0, 100, 0, 1, 1, 0, 0, 45, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - On Data Set - Set Data'),
+(23311, 0, 10, 0, 61, 0, 100, 0, 0, 0, 0, 0, 5, 233, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Play emote'),
+(23311, 0, 11, 0, 11, 0, 100, 0, 0, 0, 0, 0, 87, 2331100, 2331101, 2331102, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - On Spawn - Run Random Script'),
+(2331100, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 40714, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Add Aura Dazed and Confused'),
+(2331101, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 40732, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 2 - Add Aura Lazy and Good for Nothing'),
+(2331102, 9, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 75, 40735, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 3 - Add Aura Defiant and Enraged');
+
+
+
diff --git a/sql/updates/world/2015_09_07_00_world.sql b/sql/updates/world/2015_09_07_00_world.sql
new file mode 100644
index 00000000000..46c7c4a66bd
--- /dev/null
+++ b/sql/updates/world/2015_09_07_00_world.sql
@@ -0,0 +1,10 @@
+--
+UPDATE `smart_scripts` SET `action_param2`=2 WHERE `entryorguid` IN (2991401) AND `source_type`=9 AND `id`=0;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry` IN (30208);
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (30208) AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (2991401, 2991400) AND `source_type`=9 AND id>1;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(2991400,9,2,0,0,0,100,0,0,0,0,0,11,56230,0,0,0,0,0,7,0,0,0,0,0,0,0,"Dead Iron Giant - On Script - Cast 'Create Fireforged Eyes'"),
+(2991401,9,2,0,0,0,100,0,0,0,0,0,11,56243,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dead Iron Giant - On Script - Cast 'Summon Iron Dwarf'"),
+(2991401,9,3,0,0,0,100,0,0,0,0,0,11,56243,2,0,0,0,0,1,0,0,0,0,0,0,0,"Dead Iron Giant - On Script - Cast 'Summon Iron Dwarf'"),
+(30208,0,0,0,54,0,100,0,0,0,0,0,49,0,0,0,0,0,0,21,30,0,0,0,0,0,0,"Stormforged Ambusher - Just summoned - Start attack");
diff --git a/sql/updates/world/2015_09_07_01_world.sql b/sql/updates/world/2015_09_07_01_world.sql
new file mode 100644
index 00000000000..ae43bc753ed
--- /dev/null
+++ b/sql/updates/world/2015_09_07_01_world.sql
@@ -0,0 +1,7 @@
+UPDATE `creature` SET `spawndist`=0, `MovementType`=0 WHERE `id`=23311;
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2331100,2331101,2331102) AND `id`>0;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(2331100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Set Faction'),
+(2331100, 9, 2, 0, 0, 0, 100, 0, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Set Random Movement'),
+(2331101, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 35, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 2 - Set Faction');
diff --git a/sql/updates/world/2015_09_07_02_world.sql b/sql/updates/world/2015_09_07_02_world.sql
new file mode 100644
index 00000000000..3edb064e696
--- /dev/null
+++ b/sql/updates/world/2015_09_07_02_world.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22143 AND `source_type`=0 AND `id`=4;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22144 AND `source_type`=0 AND `id`=4;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=22148 AND `source_type`=0 AND `id`=2;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=23022 AND `source_type`=0 AND `id`=12;
diff --git a/sql/updates/world/2015_09_07_03_world.sql b/sql/updates/world/2015_09_07_03_world.sql
new file mode 100644
index 00000000000..495d42c3136
--- /dev/null
+++ b/sql/updates/world/2015_09_07_03_world.sql
@@ -0,0 +1,163 @@
+--
+-- DK Faction Endquest - Implement Reaction for Orgrimmar and Alliance Guards
+
+DELETE FROM `creature_text` WHERE `entry` IN (68,1756,1976,3296) AND `groupid`>1;
+DELETE FROM `creature_text` WHERE `entry` IN (14304);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `comment`) VALUES
+(68, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Stormwind City Guard'),
+(68, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Stormwind City Guard'),
+(68, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Stormwind City Guard'),
+(68, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Stormwind City Guard'),
+(68, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Stormwind City Guard'),
+(68, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Stormwind City Guard'),
+(68, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Stormwind City Guard'),
+(68, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Stormwind City Guard'),
+(68, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Stormwind City Guard'),
+(68, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Stormwind City Guard'),
+(68, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Stormwind City Guard'),
+(14304, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Kor''kron Elite'),
+(14304, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Kor''kron Elite'),
+(14304, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Kor''kron Elite'),
+(14304, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Kor''kron Elite'),
+(14304, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Kor''kron Elite'),
+(14304, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Kor''kron Elite'),
+(14304, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Kor''kron Elite'),
+(14304, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Kor''kron Elite'),
+(14304, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Kor''kron Elite'),
+(14304, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Kor''kron Elite'),
+(14304, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Kor''kron Elite'),
+(1756, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Stormwind Royal Guard'),
+(1756, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Stormwind Royal Guard'),
+(1756, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Stormwind Royal Guard'),
+(1756, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Stormwind Royal Guard'),
+(1756, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Stormwind Royal Guard'),
+(1756, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Stormwind Royal Guard'),
+(1756, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Stormwind Royal Guard'),
+(1756, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Stormwind Royal Guard'),
+(1756, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Stormwind Royal Guard'),
+(1756, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Stormwind Royal Guard'),
+(1756, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Stormwind Royal Guard'),
+(1976, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Stormwind City Patroller'),
+(1976, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Stormwind City Patroller'),
+(1976, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Stormwind City Patroller'),
+(1976, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Stormwind City Patroller'),
+(1976, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Stormwind City Patroller'),
+(1976, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Stormwind City Patroller'),
+(1976, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Stormwind City Patroller'),
+(1976, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Stormwind City Patroller'),
+(1976, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Stormwind City Patroller'),
+(1976, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Stormwind City Patroller'),
+(1976, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Stormwind City Patroller'),
+(3296, 2, 0, '%s throws a rotten apple at $n.', 16, 0, 100, 0, 0, 0, 31671, 'Orgrimmar Grunt'),
+(3296, 3, 0, '%s throws rotten banana on $n.', 16, 0, 100, 0, 0, 0, 31672, 'Orgrimmar Grunt'),
+(3296, 4, 0, '%s spits on $n.', 16, 0, 100, 0, 0, 0, 31673, 'Orgrimmar Grunt'),
+(3296, 5, 0, 'Monster!', 12, 0, 100, 0, 0, 0, 31662, 'Orgrimmar Grunt'),
+(3296, 5, 1, 'Murderer!', 12, 0, 100, 0, 0, 0, 31679, 'Orgrimmar Grunt'),
+(3296, 5, 2, 'GET A ROPE!', 12, 0, 100, 0, 0, 0, 31669, 'Orgrimmar Grunt'),
+(3296, 5, 3, 'How dare you set foot in our city!', 12, 0, 100, 0, 0, 0, 31684, 'Orgrimmar Grunt'),
+(3296, 5, 4, 'You disgust me.', 12, 0, 100, 0, 0, 0, 31680, 'Orgrimmar Grunt'),
+(3296, 5, 5, 'Looks like we''re going to have ourselves an execution.', 12, 0, 100, 0, 0, 0, 31682, 'Orgrimmar Grunt'),
+(3296, 5, 6, 'Traitorous dog.', 12, 0, 100, 0, 0, 0, 31665, 'Orgrimmar Grunt'),
+(3296, 5, 7, 'My family was wiped out by the Scourge! MONSTER!', 12, 0, 100, 0, 0, 0, 31667, 'Orgrimmar Grunt'),
+(14304, 0, 0, 'Taste blade, mongrel!', 12, 0, 100, 0, 0, 0, 10950, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 1, 'Please tell me that you didn''t just do what I think you just did. Please tell me that I''m not going to have to hurt you... ', 12, 0, 100, 0, 0, 0, 10951, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 2, 'As if we don''t have enough problems, you go and create more!', 12, 0, 100, 0, 0, 0, 10953, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 3, 'You dare spill blood on neutral ground? OUT! OUT, I SAY!', 12, 0, 100, 0, 0, 0, 10948, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 4, 'We don''t take kindly to miscreants, $r.', 12, 0, 100, 0, 0, 0, 10949, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 5, 'Get a rope!',12, 0, 100, 0, 0, 0, 10952, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 6, 'Believe me when I tell you this: You''re gonna wish you weren''t born, sissy!', 12, 0, 100, 0, 0, 0, 10954, 'Kor''kron Elite - On Aggro'),
+(14304, 0, 7, 'Your actions shame us all, $c. I hurt inside as I beat you senseless.', 12, 0, 100, 0, 0, 0, 10955, 'Kor''kron Elite - On Aggro');
+
+-- AIs
+-- Stormwind City Guard SAI
+SET @ENTRY := 68;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,10,0,100,0,1,10,10000,10000,87,@ENTRY*100+00,@ENTRY*100+01,@ENTRY*100+02,@ENTRY*100+03,0,0,1,0,0,0,0,0,0,0,"Stormwind City Guard - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=68;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,68,0,0,28,0,13188,0,0,0,"","Only Run script if quest is completed");
+
+-- Kor''kron Elite SAI
+SET @ENTRY := 14304;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Kor''kron Elite - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Kor''kron Elite - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=14304;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,14304,0,0,28,0,13189,0,0,0,"","Only Run script if quest is completed");
+
+-- Stormwind City Patroller SAI
+SET @ENTRY := 1976;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Stormwind City Patroller - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Patroller - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=1976;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,1976,0,0,28,0,13188,0,0,0,"","Only Run script if quest is completed");
+
+-- Stormwind Royal Guard SAI
+SET @ENTRY := 1756;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Stormwind Royal Guard - Within 1-10 Range Out of Combat LoS - Run Random Script");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=1756;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,1756,0,0,28,0,13188,0,0,0,"","Only Run script if quest is completed");
+
+-- Orgrimmar Grunt SAI
+SET @ENTRY := 3296;
+UPDATE `creature_template` SET `AIName`="SmartAI", `ScriptName`='' WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,10,0,100,0,1,10,10000,10000,87,68*100+00,68*100+01,68*100+02,68*100+03,0,0,1,0,0,0,0,0,0,0,"Orgrimmar Grunt - Within 1-10 Range Out of Combat LoS - Run Random Script"),
+(@ENTRY,0,1,0,4,0,100,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,"Orgrimmar Grunt - On aggro - Say text1");
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceGroup`=1 AND `SourceEntry`=3296;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES
+(22,1,3296,0,0,28,0,13189,0,0,0,"","Only Run script if quest is completed");
+
+-- Actionlist SAI
+SET @ENTRY := 6800;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,11,58509,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Cast ''Rotten Apple Toss'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,2,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 2");
+
+-- Actionlist SAI
+SET @ENTRY := 6801;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,11,58513,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Cast 'Rotten Banana Toss'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,3,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 3");
+
+-- Actionlist SAI
+SET @ENTRY := 6802;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,11,58520,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Cast 'Spit'"),
+(@ENTRY,9,1,0,0,0,100,0,0,0,0,0,1,4,0,0,0,0,0,7,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 4");
+
+-- Actionlist SAI
+SET @ENTRY := 6803;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,9,0,0,0,0,100,0,0,0,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,"Stormwind City Guard - On Script - Say Line 5");
+
+
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (58509, 58513, 58520);
+INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES
+(58509, 58511, 0, 'Rotten Apple - Rotten Apple'),
+(58513, 58514, 0, 'Rotten Banana - Rotten Banana'),
+(58520, 58519, 0, 'Spit - Spit');
diff --git a/sql/updates/world/2015_09_07_04_world.sql b/sql/updates/world/2015_09_07_04_world.sql
new file mode 100644
index 00000000000..bfae5b6eafd
--- /dev/null
+++ b/sql/updates/world/2015_09_07_04_world.sql
@@ -0,0 +1,8 @@
+DELETE FROM `smart_scripts` WHERE `source_type`=9 AND `entryorguid` IN(2331100,2331101,2331102) AND `id`>0;
+DELETE FROM `smart_scripts` WHERE `source_type`=0 AND `entryorguid` =23311 AND `id`=12;
+UPDATE `smart_scripts` SET `link`=12 WHERE `entryorguid`=23311 AND `source_type`=0 AND `id`=8 AND `link`=0;
+
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(2331100, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 89, 10, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 1 - Set Random Movement'),
+(2331102, 9, 1, 0, 0, 0, 100, 0, 0, 0, 0, 0, 2, 14, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Script 3 - Set Faction'),
+(23311, 0, 12, 0, 61, 0, 100, 0, 0, 0, 0, 0, 2, 62, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Disobedient Dragonmaw Peon - Linked with Previous Event - Set Faction');
diff --git a/sql/updates/world/2015_09_07_05_world.sql b/sql/updates/world/2015_09_07_05_world.sql
new file mode 100644
index 00000000000..6ddd137c60d
--- /dev/null
+++ b/sql/updates/world/2015_09_07_05_world.sql
@@ -0,0 +1,5 @@
+--
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 57387;
+INSERT INTO `spell_linked_spell` VALUES (57387, 57608, 0, 'Argent Cannon - Powering Up The Core');
+UPDATE `creature` SET `curhealth`=126000 WHERE `id`=30236;
+UPDATE `creature_template` SET `unit_flags2`=0, `RegenHealth`=0 WHERE `entry`=30236;
diff --git a/sql/updates/world/2015_09_08_00_world.sql b/sql/updates/world/2015_09_08_00_world.sql
new file mode 100644
index 00000000000..1b000429a1a
--- /dev/null
+++ b/sql/updates/world/2015_09_08_00_world.sql
@@ -0,0 +1,15 @@
+--
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=17 AND `SourceEntry` IN (58203);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(17,0,58203,0,0,31,1,3,31075,0,0,0,'','Iron Chain');
+
+UPDATE `smart_scripts` SET `event_param1`=500, `event_param2`=500, `action_type`=51 WHERE `entryorguid` IN (3092000) AND `source_type`=9 AND `id`=5;
+UPDATE `smart_scripts` SET `event_param1`=2000, `event_param2`=2000, `action_param1`=52520 WHERE `entryorguid` IN (3092000) AND `source_type`=9 AND `id`=0;
+UPDATE `smart_scripts` SET `event_param1`=2000, `event_param2`=2000, `action_param1`=58231, `target_type`=1, `target_param1`=0 WHERE `entryorguid` IN (3107500) AND `source_type`=9 AND `id`=0;
+UPDATE `smart_scripts` SET `event_type`=38, `event_param1`=1, `event_param2`=1, `event_param3`=0, `event_param4`=0, `action_type`=103, `action_param1`=1, `comment`="Scourge Bomb - On Data Set 1 1 - Root" WHERE `entryorguid` IN (31075) AND `source_type`=0 AND `id`=3;
+UPDATE `smart_scripts` SET `event_param1`=1000, `event_param2`=1000, `action_param1`=0 WHERE `entryorguid` IN (3107500) AND `source_type`=9 AND `id`=1;
+UPDATE `smart_scripts` SET `event_param3`=3 WHERE `entryorguid` IN (30920) AND `source_type`=0 AND `id`=1;
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (58231);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(13,2,58231,0,0,31,0,3,31075,0,1,0,'','Exploding Abomination');
diff --git a/sql/updates/world/2015_09_08_01_world.sql b/sql/updates/world/2015_09_08_01_world.sql
new file mode 100644
index 00000000000..ac4c458096e
--- /dev/null
+++ b/sql/updates/world/2015_09_08_01_world.sql
@@ -0,0 +1,39 @@
+--
+-- Weapon Master Hanashi: add the missing linked IDs in `action_menu_id`
+UPDATE `gossip_menu_option` SET `action_menu_id`= 5262 WHERE `menu_id`= 5263 AND `OptionBroadcastTextID`= 8812;
+
+-- Hanashi is a troll, using Low Common "Troll" speech, so link the correct text lines for him:
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8603 WHERE `menu_id`= 5262 AND `option_text`= 'Crossbow';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8604 WHERE `menu_id`= 5262 AND `option_text`= 'Dagger';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8605 WHERE `menu_id`= 5262 AND `option_text`= 'Fist Weapon';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8606 WHERE `menu_id`= 5262 AND `option_text`= 'Gun';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8607 WHERE `menu_id`= 5262 AND `option_text`= 'Mace';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8608 WHERE `menu_id`= 5262 AND `option_text`= 'Polearm';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8609 WHERE `menu_id`= 5262 AND `option_text`= 'Sword';
+
+-- Weapon Master Archibald: add missing linked IDs to `action_menu_id` (using default gossip from npc_text)
+UPDATE `gossip_menu_option` SET `action_menu_id`= 5268 WHERE `menu_id`= 5269 AND `OptionBroadcastTextID`= 8812;
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8592 WHERE `menu_id`= 5268 AND `option_text`= 'Axe';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8593 WHERE `menu_id`= 5268 AND `option_text`= 'Bow';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8596 WHERE `menu_id`= 5268 AND `option_text`= 'Fist Weapon';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8597 WHERE `menu_id`= 5268 AND `option_text`= 'Gun';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8598 WHERE `menu_id`= 5268 AND `option_text`= 'Mace';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8600 WHERE `menu_id`= 5268 AND `option_text`= 'Staff';
+UPDATE `gossip_menu_option` SET `action_menu_id`= 8602 WHERE `menu_id`= 5268 AND `option_text`= 'Thrown';
+
+-- Weapon Master Sayoc: add the gossip link ID 5220 in `action_menu_id` and link it in `gossip_menu` too
+UPDATE `gossip_menu_option` SET `action_menu_id` = 5222 WHERE `menu_id` = 5221 AND `OptionBroadcastTextID`= 8812;
+-- Sayoc needs new lines in `gossip_menu_option` as well as the linked lines from npc_text :
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 5222 AND `OptionBroadcastTextID` IN (20582,20585,20586,20587,20588,20589);
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`) VALUES
+(5222,0,0,'Crossbow',20582,1,1,8594,0,0,0,'',0),
+(5222,1,0,'Gun',20585,1,1,8597,0,0,0,'',0),
+(5222,2,0,'Mace',20586,1,1,8598,0,0,0,'',0),
+(5222,3,0,'Polearm',20587,1,1,8599,0,0,0,'',0),
+(5222,4,0,'Staff',20588,1,1,8610,0,0,0,'',0), --
+(5222,5,0,'Sword',20589,1,1,8601,0,0,0,'',0);
+
+UPDATE `creature_template` SET `type_flags`=134217728 WHERE `entry` IN (17005);
+DELETE FROM `gossip_menu_option` WHERE (`menu_id`=7337);
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`) VALUES
+(7337,0,3,'Show me what you know, Larenis.',13168,5,16,0,0,0,0,'',0);
diff --git a/sql/updates/world/2015_09_08_02_world.sql b/sql/updates/world/2015_09_08_02_world.sql
new file mode 100644
index 00000000000..5fbf0df3488
--- /dev/null
+++ b/sql/updates/world/2015_09_08_02_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `type_flags`=`type_flags`|134217728 WHERE `npcflag`>16 AND `gossip_menu_id`!= 0;
diff --git a/sql/updates/world/2015_09_09_00_world.sql b/sql/updates/world/2015_09_09_00_world.sql
new file mode 100644
index 00000000000..697123fefac
--- /dev/null
+++ b/sql/updates/world/2015_09_09_00_world.sql
@@ -0,0 +1,8 @@
+--
+DELETE FROM `creature` WHERE `guid` IN (120831,120833,123124);
+INSERT INTO `creature` (`guid`, `id`, `map`, `spawnMask`, `phaseMask`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `spawndist`, `currentwaypoint`, `curhealth`, `curmana`, `MovementType`, `npcflag`, `unit_flags`, `dynamicflags`, `VerifiedBuild`) VALUES
+(120831, 32769, 571, 1, 1, 25753, 0, 7523.09, 1852.78, 491.641, 3.23212, 300, 0, 0, 12600, 3994, 0, 0, 0, 0, 0),
+(120833, 32769, 571, 1, 1, 25753, 0, 7703.2, 1822.89, 469.378, 3.94286, 300, 0, 0, 12600, 3994, 0, 0, 0, 0, 0),
+(123124, 32769, 571, 1, 1, 25753, 0, 7733.55, 1578.02, 469.378, 2.51066, 300, 0, 0, 12600, 3994, 0, 0, 0, 0, 0);
+
+DELETE FROM pool_creature WHERE guid = 151994;
diff --git a/sql/updates/world/2015_09_10_00_world_335.sql b/sql/updates/world/2015_09_10_00_world_335.sql
new file mode 100644
index 00000000000..f3fb517d486
--- /dev/null
+++ b/sql/updates/world/2015_09_10_00_world_335.sql
@@ -0,0 +1,21 @@
+ALTER TABLE `quest_template`
+ CHANGE COLUMN `LimitTime` `TimeAllowed` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `PointOption`,
+ CHANGE COLUMN `RequiredRaces` `RequiredRaces` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `TimeAllowed`,
+ CHANGE COLUMN `NextQuestIdChain` `RewardNextQuest` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RequiredFactionValue2`,
+ CHANGE COLUMN `RewardXPId` `RewardXPDifficulty` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardNextQuest`,
+ CHANGE COLUMN `RewardOrRequiredMoney` `RewardMoney` INT(11) NOT NULL DEFAULT '0' AFTER `RewardXPDifficulty`,
+ CHANGE COLUMN `RewardMoneyMaxLevel` `RewardBonusMoney` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardMoney`,
+ CHANGE COLUMN `RewardSpell` `RewardDisplaySpell` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardBonusMoney`,
+ CHANGE COLUMN `RewardSpellCast` `RewardSpell` INT(11) NOT NULL DEFAULT '0' AFTER `RewardDisplaySpell`,
+ CHANGE COLUMN `RewardHonorMultiplier` `RewardKillHonor` FLOAT NOT NULL DEFAULT '0' AFTER `RewardHonor`,
+ CHANGE COLUMN `SourceItemId` `StartItem` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardKillHonor`,
+ CHANGE COLUMN `RewardTitle` `RewardTitle` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardChoiceItemQuantity6`,
+ CHANGE COLUMN `RewardTalents` `RewardTalents` TINYINT(3) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardTitle`,
+ CHANGE COLUMN `RewardArenaPoints` `RewardArenaPoints` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardTalents`;
+-- split needed to avoid import errors
+ALTER TABLE `quest_template`
+ CHANGE COLUMN `PointMapId` `POIContinent` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardChoiceItemQuantity6`,
+ CHANGE COLUMN `PointX` `POIx` FLOAT NOT NULL DEFAULT '0' AFTER `POIContinent`,
+ CHANGE COLUMN `PointY` `POIy` FLOAT NOT NULL DEFAULT '0' AFTER `POIx`,
+ CHANGE COLUMN `PointOption` `POIPriority` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `POIy`,
+ CHANGE COLUMN `EndText` `AreaDescription` TEXT NULL AFTER `QuestDescription`;
diff --git a/sql/updates/world/2015_09_10_01_world_335.sql b/sql/updates/world/2015_09_10_01_world_335.sql
new file mode 100644
index 00000000000..4a14da07ff8
--- /dev/null
+++ b/sql/updates/world/2015_09_10_01_world_335.sql
@@ -0,0 +1,10 @@
+ALTER TABLE `quest_template`
+ CHANGE COLUMN `RequiredRaces` `AllowableRaces` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `TimeAllowed`,
+ CHANGE COLUMN `RequiredSourceItemId1` `ItemDrop1` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `RewardAmount4`,
+ CHANGE COLUMN `RequiredSourceItemCount1` `ItemDropQuantity1` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDrop1`,
+ CHANGE COLUMN `RequiredSourceItemId2` `ItemDrop2` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDropQuantity1`,
+ CHANGE COLUMN `RequiredSourceItemCount2` `ItemDropQuantity2` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDrop2`,
+ CHANGE COLUMN `RequiredSourceItemId3` `ItemDrop3` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDropQuantity2`,
+ CHANGE COLUMN `RequiredSourceItemCount3` `ItemDropQuantity3` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDrop3`,
+ CHANGE COLUMN `RequiredSourceItemId4` `ItemDrop4` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDropQuantity3`,
+ CHANGE COLUMN `RequiredSourceItemCount4` `ItemDropQuantity4` SMALLINT(5) UNSIGNED NOT NULL DEFAULT '0' AFTER `ItemDrop4`;
diff --git a/sql/updates/world/2015_09_12_00_world.sql b/sql/updates/world/2015_09_12_00_world.sql
new file mode 100644
index 00000000000..cfa8399c350
--- /dev/null
+++ b/sql/updates/world/2015_09_12_00_world.sql
@@ -0,0 +1,5 @@
+UPDATE `creature_template` SET `ScriptName`='npc_brann_bronzebeard_ulduar_intro' WHERE `entry`=33579;
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger`=48750 AND `spell_effect`=48770;
+DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_gen_burning_depths_necrolyte_image';
+INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES
+(48750, 'spell_gen_burning_depths_necrolyte_image');
diff --git a/sql/updates/world/2015_09_15_00_world_335.sql b/sql/updates/world/2015_09_15_00_world_335.sql
new file mode 100644
index 00000000000..d76511a05f6
--- /dev/null
+++ b/sql/updates/world/2015_09_15_00_world_335.sql
@@ -0,0 +1,32 @@
+
+-- `creature_questitem`.`VerifiedBuild`
+
+ALTER TABLE `creature_questitem`
+ ADD COLUMN `VerifiedBuild` SMALLINT(5) NOT NULL DEFAULT '0';
+
+UPDATE `creature_questitem` SET `VerifiedBuild` = -12340 WHERE `CreatureEntry` = 38545;
+UPDATE `creature_questitem` SET `VerifiedBuild` = 11159 WHERE `CreatureEntry` = 138;
+UPDATE `creature_questitem` SET `VerifiedBuild` = 12340 WHERE `CreatureEntry` IN (3, 6, 30, 36, 38, 40, 43, 46, 48, 54, 60, 61, 66, 68, 69, 74, 78, 79, 80, 89, 92, 94, 95, 97, 98, 99, 100, 103, 113, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 151, 152, 154, 157, 167, 171, 190, 193, 196, 197, 198, 199, 202, 203, 205, 206, 210, 212, 213, 215, 217, 218, 222, 223, 225, 226, 227, 228, 232, 233, 234, 235, 237, 238, 239, 240, 241, 244, 246, 247, 248, 250, 251, 252, 253, 255, 257, 258, 261, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 284, 285, 288, 289, 294, 295, 297, 299, 300, 302, 304, 305, 306, 307, 308, 311, 313, 314, 315, 325, 327, 328, 329, 330, 331, 332, 334, 335, 338, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 352, 353, 356, 358, 359, 372, 374, 375, 376, 377, 379, 381, 382, 383, 384, 385, 390, 391, 392, 395, 397, 412, 415, 416, 417, 422, 423, 424, 426, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 440, 441, 442, 445, 446, 448, 449, 450, 452, 453, 454, 456, 458, 459, 460, 461, 462, 464, 465, 466, 467, 468, 469, 471, 472, 473, 474, 475, 476, 478, 480, 481, 482, 483, 485, 486, 487, 488, 489, 490, 491, 494, 495, 499, 500, 501, 502, 503, 504, 505, 506, 507, 510, 511, 513, 514, 515, 517, 518, 519, 520, 521, 522, 523, 524, 525, 531, 533, 534, 539, 541, 543, 544, 545, 547, 548, 550, 565, 568, 569, 570, 572, 573, 574, 575, 576, 578, 579, 580, 582, 583, 584, 587, 588, 589, 590, 594, 595, 596, 597, 598, 599, 603, 604, 615, 616, 619, 620, 622, 623, 624, 625, 626, 628, 633, 634, 636, 639, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 656, 657, 658, 659, 660, 661, 663, 664, 667, 669, 670, 671, 672, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 694, 696, 697, 698, 699, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 721, 723, 724, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 750, 751, 752, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 775, 777, 780, 781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 804, 805, 806, 807, 808, 810, 811, 812, 813, 814, 815, 818, 819, 820, 821, 822, 823, 824, 826, 827, 828, 829, 830, 831, 832, 833, 834, 836, 837, 840, 842, 843, 844, 846, 847, 848, 849, 850, 851, 853, 854, 855, 856, 857, 858, 859, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 873, 874, 875, 876, 877, 878, 879, 880, 881, 883, 885, 886, 887, 888, 889, 890, 891, 892, 893, 894, 895, 896, 898, 900, 903, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 920, 921, 922, 923, 925, 926, 927, 928, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 954, 955, 956, 957, 958, 959, 960, 963, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 999, 1000, 1001, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1057, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1081, 1082, 1083, 1084, 1085, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1103, 1104, 1105, 1106, 1108, 1109, 1110, 1111, 1112, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1137, 1138, 1139, 1140, 1141, 1142, 1144, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1169, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197, 1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1222, 1224, 1225, 1226, 1228, 1229, 1231, 1232, 1233, 1234, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1265, 1266, 1267, 1268, 1269, 1270, 1271, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1289, 1291, 1292, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1358, 1360, 1362, 1364, 1365, 1366, 1367, 1368, 1370, 1371, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1385, 1386, 1387, 1388, 1393, 1395, 1397, 1398, 1399, 1400, 1402, 1404, 1405, 1407, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1456, 1457, 1458, 1459, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1469, 1470, 1471, 1472, 1473, 1474, 1475, 1476, 1477, 1478, 1479, 1480, 1481, 1482, 1483, 1484, 1487, 1488, 1489, 1490, 1491, 1492, 1493, 1494, 1495, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1504, 1505, 1506, 1507, 1508, 1509, 1511, 1512, 1513, 1514, 1515, 1516, 1518, 1519, 1520, 1521, 1522, 1523, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1543, 1544, 1545, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1557, 1558, 1559, 1560, 1561, 1562, 1563, 1564, 1565, 1568, 1569, 1570, 1571, 1572, 1573, 1574, 1575, 1632, 1642, 1645, 1646, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1660, 1661, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1678, 1679, 1680, 1681, 1682, 1683, 1684, 1685, 1686, 1687, 1688, 1689, 1690, 1691, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1706, 1707, 1708, 1711, 1713, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1723, 1724, 1725, 1726, 1727, 1729, 1731, 1732, 1733, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1763, 1765, 1766, 1767, 1768, 1769, 1770, 1772, 1773, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1787, 1788, 1789, 1791, 1793, 1794, 1795, 1796, 1797, 1800, 1801, 1802, 1804, 1805, 1806, 1808, 1809, 1812, 1813, 1815, 1816, 1817, 1821, 1822, 1824, 1826, 1827, 1831, 1832, 1833, 1834, 1835, 1836, 1837, 1838, 1839, 1840, 1841, 1842, 1843, 1844, 1845, 1846, 1847, 1848, 631, 1851, 1852, 1853, 1854, 1855, 1860, 1863, 1865, 1866, 1867, 1868, 1869, 1870, 1871, 1872, 1880, 1883, 1884, 1885, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1901, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1931, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1963, 1964, 1965, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1981, 1983, 1984, 1985, 1986, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020, 2021, 2022, 2025, 2027, 2029, 2030, 2031, 2032, 2033, 2034, 2038, 2039, 2041, 2042, 2043, 2044, 2045, 2046, 2050, 2052, 2053, 2054, 2055, 2056, 2057, 2058, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2077, 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2086, 2089, 2090, 2091, 2092, 2093, 2094, 2096, 2097, 2098, 2099, 2102, 2103, 2104, 2105, 2106, 2107, 2108, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123, 2124, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2134, 2135, 2136, 2137, 2140, 2142, 2149, 2150, 2151, 2152, 2153, 2155, 2156, 2157, 2158, 2159, 2160, 2162, 2163, 2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173, 2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183, 2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2198, 2201, 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2214, 2215, 2216, 2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243, 2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253, 2254, 2255, 2256, 2257, 2258, 2260, 2261, 2263, 2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2274, 2275, 2276, 2277, 2278, 2283, 2284, 2285, 2287, 2299, 2302, 2303, 2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323, 2324, 2326, 2327, 2329, 2330, 2331, 2332, 2333, 2334, 2335, 2336, 2337, 2338, 2339, 2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2354, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363, 2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, 2414, 2415, 2416, 2417, 2418, 2419, 2420, 2421, 2422, 2423, 2425, 2427, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2435, 2436, 2437, 2438, 2439, 2440, 2442, 2447, 2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458, 2459, 2460, 2461, 2462, 2464, 2465, 2466, 2468, 2469, 2470, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480, 2481, 2482, 2483, 2485, 2486, 2487, 2488, 2489, 2490, 2491, 2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2540, 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2569, 2570, 2571, 2572, 2573, 2574, 2575, 2577, 2578, 2579, 2580, 2581, 2582, 2583, 2584, 2585, 2586, 2587, 2588, 2589, 2590, 2591, 2592, 2594, 2595, 2596, 2597, 2598, 2599, 2600, 2601, 2602, 2603, 2604, 2605, 2606, 2607, 2608, 2609, 2610, 2611, 2612, 2614, 2615, 2616, 2618, 2619, 2620, 2621, 2622, 2623, 2624, 2625, 2626, 2627, 2628, 2630, 2634, 2635, 2636, 2638, 2639, 2640, 2641, 2642, 2643, 2644, 2645, 2646, 2647, 2648, 2649, 2650, 2651, 2652, 2653, 2654, 2655, 2656, 2657, 2658, 2659, 2662, 2663, 2664, 2667, 2668, 2669, 2670, 2671, 2672, 2673, 2674, 2675, 2676, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2686, 2687, 2688, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2701, 2703, 2704, 2705, 2706, 2707, 2708, 2711, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2720, 2721, 2723, 2725, 2726, 2727, 2728, 2729, 2730, 2731, 2732, 2733, 2734, 2735, 2736, 2737, 2738, 2739, 2740, 2742, 2743, 2744, 2745, 2748, 2749, 2751, 2752, 2753, 2754, 2755, 2757, 2759, 2760, 2761, 2762, 2763, 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2778, 2779, 2780, 2781, 2782, 2783, 2784, 2785, 2786, 2787, 2788, 2789, 2790, 2791, 2792, 2793, 2794, 2795, 2796, 2798, 2799, 2801, 2802, 2803, 2804, 2805, 2806, 2808, 2810, 2812, 2814, 2816, 2817, 2818, 2819, 2820, 2821, 2829, 2830, 2831, 2832, 2834, 2835, 2836, 2837, 2838, 2839, 2840, 2842, 2843, 2844, 2845, 2846, 2847, 2848, 2849, 2850, 2851, 2852, 2853, 2855, 2856, 2857, 2858, 2859, 2860, 2861, 2870, 2876, 2878, 2879, 2880, 2881, 2887, 2888, 2892, 2893, 2894, 2906, 2907, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2915, 2916, 2917, 2918, 2919, 2920, 2921, 2922, 2923, 2924, 2925, 2926, 2927, 2928, 2929, 2930, 2931, 2932, 2934, 2937, 2941, 2942, 2943, 2944, 2945, 2946, 2947, 2948, 2949, 2950, 2951, 2952, 2953, 2954, 2955, 2956, 2957, 2958, 2959, 2960, 2961, 2962, 2963, 2964, 2965, 2966, 2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976, 2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986, 2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996, 2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016, 3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026, 3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036, 3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046, 3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056, 3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066, 3067, 3068, 3069, 3072, 3073, 3074, 3075, 3076, 3077, 3078, 3079, 3080, 3081, 3083, 3084, 3085, 3086, 3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106, 3107, 3108, 3110, 3111, 3112, 3113, 3114, 3115, 3116, 3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126, 3127, 3128, 3129, 3130, 3131, 3133, 3134, 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3147, 3149, 3150, 3153, 3154, 3155, 3156, 3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166, 3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186, 3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196, 3197, 3198, 3199, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246, 3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256, 3257, 3258, 3260, 3261, 3263, 3265, 3266, 3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3289, 3290, 3291, 3292, 3293, 3294, 3295, 3296, 3297, 3298, 3300, 3301, 3304, 3305, 3306, 3309, 3310, 3312, 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333, 3334, 3335, 3336, 3337, 3338, 3339, 3341, 3342, 3343, 3344, 3345, 3346, 3347, 3348, 3349, 3350, 3351, 3352, 3353, 3354, 3355, 3356, 3357, 3358, 3359, 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, 3373, 3374, 3375, 3376, 3377, 3378, 3379, 3380, 3381, 3382, 3383, 3384, 3385, 3386, 3387, 3388, 3389, 3390, 3391, 3392, 3393, 3394, 3395, 3396, 3397, 3398, 3399, 3400, 3401, 3402, 3403, 3404, 3405, 3406, 3407, 3408, 3409, 3410, 3411, 3412, 3413, 3414, 3415, 3416, 3417, 3418, 3419, 3421, 3424, 3425, 3426, 3428, 3429, 3430, 3431, 3432, 3433, 3434, 3435, 3436, 3438, 3439, 3441, 3442, 3443, 3444, 3445, 3446, 3447, 3448, 3449, 3450, 3451, 3452, 3453, 3454, 3455, 3456, 3457, 3458, 3459, 3461, 3463, 3464, 3465, 3466, 3467, 3468, 3469, 3470, 3471, 3472, 3473, 3474, 3475, 3476, 3477, 3478, 3479, 3480, 3481, 3482, 3483, 3484, 3485, 3486, 3487, 3488, 3489, 3490, 3491, 3492, 3493, 3494, 3495, 3496, 3497, 3498, 3499, 3500, 3501, 3502, 3503, 3504, 3505, 3507, 3508, 3509, 3510, 3511, 3512, 3513, 3514, 3515, 3516, 3517, 3518, 3519, 3520, 3521, 3522, 3523, 3527, 3528, 3529, 3530, 3531, 3532, 3533, 3534, 3535, 3536, 3537, 3538, 3539, 3540, 3541, 3542, 3543, 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, 3557, 3560, 3561, 3562, 3566, 3567, 3568, 3569, 3570, 3571, 3572, 3573, 3574, 3577, 3578, 3579, 3581, 3582, 3583, 3584, 3585, 3586, 3587, 3588, 3589, 3590, 3591, 3592, 3593, 3594, 3595, 3596, 3597, 3598, 3599, 3600, 3601, 3602, 3603, 3604, 3605, 3606, 3607, 3608, 3609, 3610, 3611, 3612, 3613, 3614, 3615, 3616, 3617, 3619, 3620, 3621, 3622, 3624, 3625, 3626, 3627, 3628, 3629, 3630, 3631, 3632, 3633, 3634, 3636, 3637, 3638, 3639, 3640, 3641, 3644, 3649, 3650, 3652, 3653, 3654, 3655, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, 3665, 3666, 3667, 3669, 3670, 3671, 3672, 3673, 3674, 3678, 3679, 3680, 3681, 3682, 3683, 3684, 3685, 3688, 3689, 3690, 3691, 3692, 3693, 3694, 3695, 3696, 3698, 3700, 3701, 3702, 3703, 3704, 3705, 3706, 3707, 3708, 3711, 3712, 3713, 3715, 3717, 3721, 3722, 3725, 3727, 3728, 3730, 3732, 3733, 3734, 3735, 3736, 3737, 3739, 3740, 3742, 3743, 3745, 3746, 3748, 3749, 3750, 3752, 3754, 3755, 3757, 3758, 3759, 3762, 3763, 3765, 3767, 3770, 3771, 3772, 3773, 3774, 3779, 3780, 3781, 3782, 3783, 3784, 3789, 3791, 3792, 3794, 3795, 3797, 3799, 3801, 3802, 3803, 3804, 3806, 3807, 3808, 3809, 3810, 3811, 3812, 3814, 3815, 3816, 3817, 3818, 3819, 3820, 3821, 3823, 3824, 3825, 3833, 3834, 3835, 3836, 3837, 3838, 3840, 3841, 3842, 3843, 3844, 3845, 3846, 3847, 3848, 3849, 3850, 3851, 3853, 3854, 3855, 3857, 3859, 3861, 3862, 3863, 3864, 3865, 3866, 3868, 3872, 3873, 3875, 3877, 3879, 3880, 3881, 3882, 3883, 3884, 3885, 3886, 3887, 3888, 3890, 3891, 3892, 3893, 3894, 3895, 3896, 3897, 3898, 3899, 3900, 3901, 3902, 3903, 3904, 3906, 3907, 3908, 3909, 3911, 3912, 3913, 3914, 3915, 3916, 3917, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3931, 3932, 3933, 3934, 3935, 3936, 3937, 3939, 3940, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948, 3950, 3951, 3952, 3953, 3954, 3955, 3956, 3958, 3959, 3960, 3961, 3962, 3963, 3964, 3965, 3967, 3968, 3969, 3970, 3974, 3975, 3976, 3977, 3978, 3979, 3980, 3981, 3982, 3983, 3984, 3985, 3986, 3987, 3988, 3989, 3990, 3991, 3992, 3993, 3994, 3995, 3996, 3998, 3999, 4001, 4002, 4003, 4004, 4005, 4006, 4007, 4008, 4009, 4011, 4012, 4013, 4014, 4015, 4016, 4017, 4018, 4019, 4020, 4021, 4022, 4023, 4024, 4025, 4026, 4027, 4028, 4029, 4030, 4031, 4032, 4033, 4034, 4035, 4036, 4037, 4038, 4040, 4041, 4042, 4043, 4044, 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054, 4056, 4057, 4059, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4068, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4098, 4099, 4100, 4101, 4104, 4107, 4109, 4110, 4111, 4112, 4113, 4114, 4116, 4117, 4118, 4119, 4120, 4124, 4126, 4127, 4128, 4129, 4130, 4131, 4132, 4133, 4138, 4139, 4140, 4142, 4143, 4144, 4146, 4147, 4150, 4151, 4154, 4155, 4156, 4158, 4159, 4160, 4161, 4163, 4164, 4165, 4166, 4167, 4168, 4169, 4170, 4171, 4172, 4173, 4175, 4177, 4180, 4181, 4182, 4183, 4184, 4185, 4186, 4187, 4188, 4189, 4190, 4191, 4192, 4193, 4194, 4195, 4196, 4197, 4198, 4200, 4201, 4202, 4203, 4204, 4205, 4207, 4208, 4209, 4210, 4211, 4212, 4213, 4214, 4215, 4216, 4217, 4218, 4219, 4220, 4221, 4222, 4223, 4225, 4226, 4228, 4229, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4240, 4241, 4242, 4243, 4244, 4248, 4249, 4250, 4251, 4252, 4254, 4255, 4256, 4257, 4258, 4259, 4260, 4262, 4263, 4264, 4265, 4266, 4267, 4268, 4269, 4270, 4271, 4272, 4273, 4274, 4275, 4276, 4277, 4278, 4279, 4280, 4281, 4282, 4283, 4284, 4285, 4286, 4287, 4288, 4289, 4290, 4291, 4292, 4293, 4294, 4295, 4296, 4297, 4298, 4299, 4300, 4301, 4302, 4303, 4304, 4305, 4306, 4307, 4308, 4309, 4310, 4311, 4312, 4314, 4316, 4317, 4319, 4320, 4321, 4323, 4324, 4328, 4329, 4331, 4334, 4339, 4341, 4342, 4343, 4344, 4345, 4351, 4352, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, 4363, 4364, 4366, 4368, 4370, 4371, 4374, 4376, 4377, 4378, 4379, 4380, 4382, 4385, 4386, 4387, 4388, 4389, 4390, 4391, 4392, 4393, 4396, 4397, 4398, 4399, 4400, 4401, 4402, 4403, 4404, 4405, 4407, 4409, 4411, 4412, 4413, 4414, 4415, 4416, 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4427, 4428, 4429, 4430, 4435, 4436, 4437, 4438, 4440, 4442, 4444, 4445, 4446, 4449, 23450, 4451, 4452, 4453, 4454, 4455, 4456, 4457, 4458, 4459, 4460, 4461, 4462, 4463, 4464, 4465, 4466, 4467, 4468, 4469, 4472, 4474, 4475, 4476, 4479, 4480, 4481, 4483, 4484, 4485, 4486, 4488, 4489, 4490, 4493, 4494, 4495, 4496, 4497, 4498, 4499, 4500, 4501, 4502, 4503, 4504, 4505, 4506, 4507, 4508, 4509, 4510, 4511, 4512, 4514, 4515, 4516, 4517, 4518, 4519, 4520, 4521, 4522, 4523, 4525, 4526, 4528, 4530, 4531, 4532, 4534, 4535, 4538, 4539, 4540, 4541, 4542, 4543, 4544, 4545, 4546, 4547, 4548, 4549, 4550, 4551, 4552, 4553, 4554, 4555, 4556, 4557, 4558, 4559, 4560, 4561, 4562, 4563, 4564, 4565, 4566, 4567, 4568, 4569, 4570, 4571, 4572, 4573, 4574, 4575, 4576, 4577, 4578, 4580, 4581, 4582, 4583, 4584, 4585, 4586, 4587, 4588, 4589, 4590, 4591, 4592, 4593, 4594, 4595, 4596, 4597, 4598, 4599, 4600, 4601, 4602, 4603, 4604, 4605, 4606, 4607, 4608, 4609, 4610, 4611, 4612, 4613, 4614, 4615, 4616, 4617, 4618, 4619, 4620, 4623, 4624, 4625, 4627, 4629, 4630, 4631, 4632, 4633, 4634, 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4642, 4643, 4644, 4645, 4646, 4647, 4648, 4649, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, 4664, 4665, 4666, 4667, 4668, 4670, 4671, 4672, 4673, 4674, 4675, 4676, 4677, 4678, 4679, 4680, 4681, 4682, 4684, 4685, 4686, 4687, 4688, 4689, 4690, 4692, 4693, 4694, 4695, 4696, 4697, 4699, 4700, 4701, 4702, 4705, 4706, 4707, 4708, 4709, 4710, 4711, 4712, 4713, 4714, 4715, 4716, 4718, 4719, 4720, 4721, 4722, 4723, 4724, 4726, 4727, 4728, 4729, 4730, 4731, 4732, 4752, 4753, 4772, 4773, 4775, 4777, 4778, 4779, 4780, 4781, 4782, 4783, 4784, 4785, 4786, 4787, 4788, 4789, 4791, 4792, 4794, 4795, 4798, 4799, 4802, 4803, 4805, 4807, 4809, 4810, 4811, 4812, 4813, 4814, 4815, 4818, 4819, 4820, 4821, 4822, 4823, 4824, 4825, 4827, 4829, 4830, 4831, 4832, 4834, 4841, 4842, 4844, 4845, 4846, 4847, 4848, 4849, 4850, 4851, 4852, 4853, 4854, 4855, 4856, 4857, 4860, 4861, 4863, 4872, 4875, 4876, 4877, 4878, 4879, 4880, 4883, 4884, 4885, 4886, 4887, 4888, 4889, 4890, 4891, 4892, 4893, 4894, 4895, 4896, 4897, 4898, 4899, 4900, 4901, 4902, 4921, 4922, 4923, 4924, 4926, 4941, 4943, 4944, 4945, 4946, 4947, 4948, 4949, 4950, 4951, 4952, 4953, 4954, 4958, 4959, 4960, 4961, 4962, 4963, 4964, 4965, 4966, 4967, 4968, 4969, 4971, 4972, 4973, 4974, 4977, 4978, 4979, 4980, 4981, 4982, 4983, 4984, 4995, 4996, 5042, 5043, 5044, 5045, 5046, 5047, 5048, 5049, 5052, 5053, 5054, 5055, 5056, 5057, 5058, 5081, 5082, 5083, 5085, 5086, 5087, 5088, 5089, 5090, 5091, 5092, 5093, 5094, 5095, 5096, 5097, 5099, 5100, 5101, 5102, 5103, 5106, 5107, 5108, 5109, 5110, 5111, 5112, 5113, 5114, 5115, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, 5125, 5126, 5127, 5128, 5129, 5130, 5132, 5133, 5134, 5135, 5137, 5138, 5139, 5140, 5141, 5142, 5143, 5144, 5145, 5146, 5147, 5148, 5149, 5150, 5151, 5152, 5153, 5154, 5155, 5156, 5157, 5158, 5159, 5160, 5161, 5162, 5163, 5164, 5165, 5166, 5167, 5169, 5170, 5171, 5172, 5173, 5174, 5175, 5177, 5178, 5184, 5185, 5186, 5188, 5189, 5190, 5191, 5193, 5194, 5195, 5196, 5197, 5198, 5199, 5200, 5202, 5204, 5224, 5225, 5226, 5228, 5229, 5232, 5234, 5235, 5236, 5237, 5238, 5239, 5240, 5241, 5243, 5244, 5245, 5246, 5247, 5249, 5251, 5253, 5254, 5255, 5256, 5258, 5259, 5260, 5261, 5262, 5263, 5267, 5268, 5269, 5270, 5271, 5272, 5273, 5274, 5276, 5277, 5278, 5280, 5283, 5286, 5287, 5288, 5291, 5292, 5293, 5295, 5296, 5297, 5299, 5300, 5304, 5305, 5306, 5307, 5308, 5312, 5314, 5317, 5319, 5320, 5327, 5328, 5331, 5332, 5333, 5334, 5335, 5336, 5337, 5343, 5345, 5346, 5347, 5349, 5350, 5352, 5353, 5354, 5355, 5356, 5357, 5358, 5359, 5360, 5361, 5362, 5363, 5364, 5366, 5384, 5385, 5386, 5387, 5388, 5389, 5390, 5391, 5392, 5393, 5394, 5395, 5396, 5397, 5398, 5399, 5400, 5401, 5402, 5403, 5404, 5405, 5406, 5409, 5411, 5412, 5413, 5414, 5416, 5418, 5419, 5420, 5421, 5422, 5423, 5424, 5425, 5426, 5427, 5428, 5429, 5430, 5431, 5432, 5433, 5434, 5435, 5436, 5437, 5438, 5439, 5440, 5441, 5444, 5446, 5448, 5449, 5450, 5451, 5452, 5453, 5454, 5455, 5456, 5457, 5458, 5459, 5460, 5461, 5462, 5464, 5465, 5466, 5467, 5469, 5470, 5471, 5472, 5473, 5474, 5475, 5476, 5477, 5479, 5480, 5481, 5482, 5483, 5484, 5485, 5489, 5490, 5491, 5492, 5493, 5494, 5495, 5496, 5497, 5498, 5499, 5500, 5501, 5502, 5503, 5504, 5505, 5506, 5508, 5509, 5510, 5511, 5512, 5513, 5514, 5515, 5516, 5517, 5518, 5519, 5520, 5523, 5543, 5546, 5547, 5564, 5565, 5566, 5567, 5568, 5569, 5570, 5591, 5592, 5593, 5594, 5595, 5597, 5598, 5599, 5600, 5601, 5602, 5603, 5605, 5606, 5607, 5608, 5609, 5610, 5611, 5612, 5613, 5614, 5615, 5616, 5617, 5618, 5620, 5622, 5623, 5624, 5634, 5635, 5636, 5637, 5638, 5639, 5640, 5641, 5642, 5643, 5644, 5645, 5646, 5647, 5648, 5649, 5650, 5651, 5652, 5653, 5654, 5655, 5656, 5657, 5658, 5659, 5660, 5661, 5662, 5663, 5664, 5665, 5666, 5667, 5668, 5669, 5670, 5671, 5672, 5674, 5675, 5676, 5677, 5679, 5680, 5681, 5682, 5683, 5685, 5686, 5687, 5688, 5689, 5690, 5691, 5692, 5693, 5694, 5695, 5696, 5697, 5698, 5699, 5700, 5701, 5702, 5703, 5704, 5705, 5706, 5707, 5708, 5709, 5710, 5711, 5712, 5713, 5714, 5715, 5716, 5717, 5718, 5719, 5720, 5721, 5722, 5723, 5724, 5725, 5726, 5727, 5728, 5729, 5730, 5731, 5732, 5733, 5734, 5735, 5736, 5738, 5739, 5741, 5742, 5743, 5744, 5745, 5747, 5748, 5749, 5750, 5752, 5753, 5754, 5755, 5756, 5757, 5758, 5759, 5760, 5761, 5762, 5763, 5764, 5765, 5766, 5767, 5768, 5769, 5770, 5771, 5774, 5775, 5780, 5781, 5782, 5783, 5784, 5785, 5786, 5787, 5792, 5797, 5798, 5799, 5800, 5806, 5807, 5808, 5809, 5810, 5811, 5812, 5814, 5815, 5816, 5817, 5819, 5820, 5821, 5822, 5823, 5824, 5826, 5827, 5828, 5829, 5830, 5831, 5832, 5833, 5834, 5835, 5836, 5837, 5838, 5839, 5840, 5841, 5842, 5843, 5844, 5846, 5847, 5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, 5860, 5861, 5862, 5863, 5864, 5865, 5870, 5871, 5873, 5874, 5875, 5878, 5879, 5880, 5881, 5882, 5883, 5884, 5885, 5886, 5887, 5888, 5889, 5890, 5891, 5892, 5893, 5894, 5895, 5896, 5897, 5898, 5899, 5900, 5901, 5902, 5905, 5906, 5907, 5908, 5909, 5910, 5911, 5912, 5913, 5914, 5915, 5916, 5917, 5918, 5919, 5920, 5921, 5922, 5923, 5924, 5925, 5926, 5927, 5929, 5930, 5931, 5932, 5933, 5934, 5935, 5937, 5938, 5939, 5940, 5941, 5942, 5943, 5944, 5950, 5951, 5952, 5953, 5955, 5957, 5958, 5974, 5975, 5976, 5977, 5978, 5979, 5981, 5982, 5984, 5985, 5988, 5990, 5991, 5992, 5993, 5994, 5996, 5997, 5998, 5999, 6000, 6001, 6002, 6003, 6004, 6005, 6006, 6007, 6008, 6009, 6010, 6011, 6012, 6013, 6014, 6015, 6016, 6017, 6018, 6019, 6020, 6021, 6026, 6027, 6028, 6030, 6031, 6033, 6034, 6035, 6047, 6066, 6068, 6069, 6070, 6071, 6072, 6073, 6074, 6075, 6086, 6087, 6089, 6090, 6091, 6093, 6094, 6109, 6110, 6111, 6112, 6113, 6114, 6115, 6116, 6117, 6118, 6119, 6120, 6121, 6122, 6123, 6124, 6125, 6126, 6127, 6128, 6129, 6130, 6131, 6132, 6133, 6134, 6135, 6136, 6137, 6138, 6139, 6140, 6141, 6142, 6143, 6144, 6145, 6146, 6147, 6148, 6166, 6167, 6168, 6169, 6170, 6171, 6172, 6173, 6174, 6175, 6176, 6177, 6178, 6179, 6180, 6181, 6182, 6184, 6185, 6186, 6187, 6188, 6189, 6190, 6193, 6194, 6195, 6196, 6198, 6199, 6200, 6201, 6202, 6206, 6207, 6208, 6209, 6210, 6211, 6212, 6213, 6215, 6218, 6219, 6220, 6221, 6222, 6223, 6224, 6225, 6226, 6227, 6228, 6229, 6230, 6231, 6232, 6233, 6234, 6235, 6236, 6237, 6238, 6239, 6240, 6241, 6243, 6244, 6245, 6246, 6247, 6248, 6249, 6250, 6251, 6252, 6253, 6254, 6266, 6267, 6268, 6271, 6272, 6286, 6287, 6288, 6289, 6290, 6291, 6292, 6293, 6294, 6295, 6297, 6298, 6299, 6300, 6301, 6306, 6328, 6329, 6347, 6348, 6349, 6350, 6351, 6352, 6366, 6367, 6368, 6369, 6370, 6371, 6372, 6373, 6374, 6375, 6376, 6377, 6378, 6379, 6380, 6382, 6386, 6387, 6388, 6389, 6390, 6391, 6392, 6393, 6394, 6395, 6407, 6408, 6410, 6411, 6412, 6426, 6427, 6446, 6466, 6467, 6486, 6487, 6488, 6489, 6490, 6491, 6492, 6493, 6494, 6495, 6496, 6497, 6498, 6499, 6500, 6501, 6502, 6503, 6504, 6505, 6506, 6507, 6508, 6509, 6510, 6511, 6512, 6513, 6514, 6516, 6517, 6518, 6519, 6520, 6521, 6522, 6523, 6527, 6546, 6547, 6548, 6549, 6550, 6551, 6552, 6553, 6554, 6555, 6556, 6557, 6559, 6560, 6566, 6567, 6568, 6569, 6570, 6574, 6575, 6576, 6577, 6578, 6579, 6581, 6582, 6583, 6584, 6585, 6586, 6606, 6607, 6626, 6646, 6647, 6648, 6649, 6650, 6651, 6652, 6653, 6667, 6668, 6669, 6670, 6706, 6707, 6726, 6727, 6728, 6729, 6730, 6731, 6732, 6733, 6734, 6735, 6736, 6737, 6738, 6739, 6740, 6741, 6746, 6747, 6748, 6749, 6766, 6768, 6771, 6774, 6775, 6776, 6777, 6778, 6779, 6780, 6781, 6782, 6784, 6785, 6786, 6787, 6788, 6789, 6790, 6791, 6806, 6807, 6826, 6827, 6846, 6866, 6867, 6868, 6886, 6887, 6906, 6907, 6908, 6909, 6910, 6911, 6912, 6913, 6927, 6928, 6929, 6930, 6932, 6946, 6966, 6986, 6987, 7007, 7009, 7010, 7011, 7012, 7015, 7016, 7017, 7022, 7023, 7024, 7025, 7026, 7027, 7028, 7029, 7030, 7031, 7032, 7033, 7034, 7035, 7036, 7037, 7038, 7039, 7040, 7041, 7042, 7043, 7044, 7045, 7046, 7047, 7048, 7049, 7050, 7051, 7052, 7053, 7055, 7056, 7057, 7067, 7068, 7069, 7070, 7071, 7072, 7073, 7074, 7075, 7076, 7077, 7078, 7079, 7086, 7087, 7088, 7089, 7091, 7092, 7093, 7097, 7098, 7099, 7100, 7101, 7104, 7105, 7106, 7107, 7108, 7109, 7110, 7111, 7112, 7113, 7114, 7115, 7118, 7120, 7125, 7126, 7132, 7135, 7136, 7137, 7138, 7139, 7149, 7153, 7154, 7155, 7156, 7157, 7158, 7161, 7166, 7167, 7168, 7170, 7172, 7175, 7206, 7207, 7208, 7209, 7226, 7228, 7229, 7230, 7231, 7232, 7233, 7234, 7235, 7246, 7247, 7266, 7267, 7268, 7269, 7271, 7272, 7273, 7274, 7275, 7276, 7286, 7287, 7288, 7290, 7291, 7292, 7293, 7294, 7295, 7296, 7297, 7298, 7307, 7308, 7309, 7310, 7311, 7312, 7313, 7315, 7316, 7317, 7318, 7319, 7320, 7321, 7322, 7323, 7324, 7325, 7327, 7328, 7329, 7332, 7333, 7334, 7335, 7337, 7340, 7341, 7342, 7343, 7344, 7345, 7346, 7347, 7348, 7349, 7351, 7352, 7353, 7354, 7355, 7356, 7357, 7358, 7360, 7361, 7363, 7364, 7365, 7366, 7367, 7368, 7369, 7370, 7371, 7372, 7376, 7379, 7380, 7381, 7382, 7383, 7384, 7385, 7386, 7387, 7389, 7390, 7391, 7392, 7394, 7395, 7396, 7397, 7398, 7399, 7400, 7401, 7402, 7403, 7404, 7405, 7406, 7407, 7408, 7409, 7410, 7411, 7412, 7413, 7414, 7415, 7416, 7423, 7424, 7425, 7427, 7428, 7429, 7430, 7431, 7432, 7433, 7434, 7435, 7436, 7437, 7438, 7439, 7440, 7441, 7442, 7443, 7444, 7445, 7446, 7447, 7448, 7449, 7450, 7451, 7452, 7453, 7454, 7455, 7456, 7457, 7458, 7459, 7460, 7461, 7462, 7463, 7464, 7465, 7466, 7467, 7468, 7469, 7483, 7484, 7485, 7486, 7487, 7489, 7505, 7506, 7523, 7524, 7527, 7543, 7544, 7545, 7549, 7550, 7553, 7555, 7560, 7562, 7564, 7565, 7566, 7567, 7568, 7569, 7572, 7583, 7584, 7603, 7604, 7605, 7606, 7607, 7608, 7623, 7643, 7664, 7665, 7666, 7667, 7668, 7669, 7670, 7671, 7683, 7684, 7686, 7687, 7690, 7704, 7706, 7707, 7708, 7714, 7724, 7725, 7726, 7727, 7728, 7729, 7730, 7731, 7732, 7733, 7734, 7735, 7736, 7737, 7738, 7739, 7740, 7744, 7749, 7750, 7763, 7764, 7765, 7766, 7767, 7768, 7769, 7770, 7771, 7772, 7773, 7774, 7775, 7776, 7777, 7778, 7779, 7780, 7783, 7784, 7785, 7786, 7787, 7788, 7789, 7790, 7792, 7793, 7794, 7795, 7796, 7797, 7798, 7799, 7800, 7801, 7802, 7803, 7804, 7805, 7806, 7807, 7808, 7809, 7823, 7824, 7825, 7826, 7843, 7844, 7845, 7846, 7847, 7848, 7849, 7850, 7851, 7852, 7853, 7854, 7855, 7856, 7857, 7858, 7863, 7864, 7865, 7866, 7867, 7868, 7869, 7870, 7871, 7872, 7873, 7874, 7875, 7876, 7877, 7878, 7879, 7880, 7881, 7882, 7883, 7884, 7885, 7886, 7895, 7897, 7899, 7900, 7901, 7902, 7903, 7904, 7907, 7915, 7916, 7917, 7918, 7936, 7937, 7939, 7940, 7941, 7942, 7943, 7944, 7945, 7946, 7947, 7948, 7949, 7950, 7951, 7952, 7953, 7954, 7955, 7956, 7957, 7975, 7976, 7977, 7978, 7980, 7995, 7996, 7997, 7998, 7999, 8015, 8016, 8017, 8018, 8019, 8020, 8021, 8022, 8023, 8024, 8025, 8026, 8035, 8055, 8075, 8095, 8096, 8115, 8116, 8117, 8118, 8119, 8120, 8121, 8122, 8123, 8124, 8125, 8126, 8127, 8128, 8129, 8130, 8131, 8136, 8137, 8138, 8139, 8140, 8141, 8142, 8143, 8144, 8145, 8146, 8147, 8149, 8150, 8151, 8152, 8153, 8154, 8155, 8156, 8157, 8158, 8159, 8160, 8161, 8176, 8177, 8178, 8179, 8196, 8197, 8198, 8199, 8200, 8201, 8202, 8203, 8204, 8205, 8207, 8208, 8210, 8211, 8212, 8213, 8214, 8215, 8216, 8217, 8218, 8219, 8236, 8256, 8257, 8276, 8277, 8278, 8279, 8280, 8281, 8282, 8283, 8284, 8296, 8297, 8298, 8299, 8300, 8301, 8302, 8303, 8304, 8305, 8306, 8307, 8308, 8309, 8310, 8311, 8317, 8318, 8319, 8320, 8324, 8336, 8337, 8338, 8356, 8357, 8358, 8359, 8360, 8361, 8362, 8363, 8364, 8376, 8378, 8379, 8380, 8381, 8382, 8383, 8384, 8385, 8386, 8387, 8388, 8389, 8390, 8391, 8392, 8393, 8394, 8395, 8396, 8397, 8398, 8399, 8400, 8401, 8402, 8403, 8404, 8405, 8408, 8409, 8416, 8417, 8418, 8419, 8420, 8421, 8436, 8437, 8438, 8439, 8440, 8441, 8442, 8443, 8444, 8446, 8447, 8477, 8478, 8479, 8480, 8496, 8497, 8503, 8504, 8506, 8507, 8508, 8509, 8510, 8516, 8517, 8518, 8519, 8520, 8521, 8522, 8523, 8524, 8525, 8526, 8527, 8528, 8529, 8530, 8531, 8532, 8534, 8535, 8538, 8539, 8540, 8541, 8542, 8543, 8544, 8545, 8546, 8547, 8548, 8550, 8551, 8553, 8554, 8555, 8556, 8557, 8558, 8560, 8561, 8562, 8563, 8564, 8565, 8566, 8567, 8576, 8578, 8579, 8580, 8581, 8582, 8583, 8584, 8585, 8586, 8587, 8588, 8596, 8597, 8598, 8600, 8601, 8602, 8603, 8605, 8606, 8607, 8608, 8609, 8610, 8611, 8612, 8615, 8616, 8617, 8636, 8637, 8656, 8657, 8658, 8659, 8660, 8661, 8662, 8664, 8665, 8666, 8667, 8668, 8669, 8670, 8671, 8672, 8673, 8674, 8675, 8678, 8679, 8680, 8681, 8696, 8716, 8717, 8718, 8719, 8720, 8721, 8722, 8723, 8724, 8736, 8737, 8738, 8756, 8757, 8758, 8759, 8760, 8761, 8762, 8763, 8764, 8766, 8767, 8776, 8816, 8836, 8837, 8856, 8876, 8877, 8878, 8879, 8881, 8882, 8883, 8884, 8885, 8886, 8888, 8889, 8890, 8891, 8892, 8893, 8894, 8895, 8896, 8897, 8898, 8899, 8900, 8901, 8902, 8903, 8904, 8905, 8906, 8907, 8908, 8909, 8910, 8911, 8912, 8913, 8914, 8915, 8916, 8917, 8920, 8921, 8922, 8923, 8924, 8925, 8926, 8927, 8928, 8929, 8931, 8932, 8933, 8934, 8937, 8956, 8957, 8958, 8959, 8960, 8961, 8962, 8963, 8964, 8965, 8976, 8977, 8978, 8979, 8980, 8981, 8982, 8983, 8996, 8997, 9016, 9017, 9018, 9019, 9020, 9021, 9022, 9023, 9024, 9025, 9026, 9027, 9028, 9029, 9030, 9031, 9032, 9033, 9034, 9035, 9036, 9037, 9038, 9039, 9040, 9041, 9042, 9043, 9044, 9045, 9046, 9047, 9056, 9076, 9077, 9078, 9079, 9080, 9081, 9082, 9083, 9084, 9085, 9086, 9087, 9096, 9097, 9098, 9099, 9116, 9117, 9118, 9119, 9136, 9156, 9157, 9158, 9162, 9163, 9164, 9165, 9166, 9167, 9176, 9177, 9178, 9179, 9196, 9197, 9198, 9199, 9200, 9201, 9216, 9217, 9218, 9219, 9236, 9237, 9238, 9239, 9240, 9241, 9256, 9257, 9258, 9259, 9260, 9261, 9262, 9263, 9264, 9265, 9266, 9267, 9268, 9269, 9270, 9271, 9272, 9273, 9274, 9296, 9297, 9298, 9299, 9316, 9317, 9318, 9319, 9336, 9356, 9376, 9377, 9396, 9397, 9398, 9416, 9436, 9437, 9438, 9439, 9441, 9442, 9443, 9445, 9447, 9448, 9449, 9450, 9451, 9452, 9453, 9454, 9456, 9457, 9458, 9459, 9460, 9461, 9462, 9464, 9465, 9467, 9476, 9477, 9496, 9498, 9499, 9500, 9501, 9502, 9503, 9516, 9517, 9518, 9520, 9521, 9522, 9523, 9524, 9525, 9526, 9527, 9528, 9529, 9536, 9537, 9538, 9539, 9540, 9541, 9543, 9544, 9545, 9546, 9547, 9548, 9549, 9550, 9551, 9552, 9553, 9554, 9555, 9556, 9558, 9559, 9560, 9561, 9562, 9563, 9564, 9565, 9566, 9568, 9580, 9583, 9584, 9596, 9598, 9600, 9601, 9602, 9604, 9605, 9616, 9618, 9619, 9620, 9621, 9622, 9623, 9636, 9637, 9656, 9657, 9660, 9662, 9676, 9677, 9678, 9679, 9680, 9681, 9682, 9683, 9684, 9687, 9688, 9689, 9690, 9691, 9692, 9693, 9694, 9695, 9696, 9697, 9698, 9699, 9700, 9701, 9706, 9707, 9708, 9716, 9717, 9718, 9736, 9776, 9777, 9778, 9779, 9796, 9816, 9817, 9818, 9819, 9836, 9856, 9857, 9858, 9859, 9860, 9861, 9862, 9876, 9877, 9878, 9879, 9916, 9937, 9938, 9956, 9976, 9977, 9978, 9979, 9980, 9981, 9982, 9983, 9984, 9985, 9986, 9987, 9988, 9989, 9990, 9996, 9997, 9998, 9999, 10000, 10016, 10017, 10036, 10037, 10038, 10040, 10041, 10042, 10043, 10045, 10046, 10047, 10048, 10049, 10050, 10051, 10052, 10053, 10054, 10055, 10056, 10057, 10058, 10059, 10060, 10061, 10062, 10063, 10076, 10077, 10078, 10079, 10082, 10083, 10085, 10086, 10088, 10089, 10090, 10096, 10116, 10117, 10118, 10119, 10120, 10136, 10157, 10158, 10159, 10160, 10161, 10162, 10176, 10177, 10179, 10180, 10181, 10182, 10183, 10184, 10196, 10197, 10198, 10199, 10200, 10201, 10202, 10204, 10216, 10217, 10218, 10219, 10220, 10221, 10257, 10258, 10259, 10260, 10261, 10262, 10263, 10264, 10266, 10267, 10268, 10276, 10277, 10278, 10290, 10293, 10296, 10299, 10300, 10301, 10302, 10303, 10304, 10305, 10306, 10307, 10316, 10317, 10318, 10319, 10321, 10322, 10323, 10336, 10337, 10338, 10339, 10340, 10356, 10357, 10358, 10359, 10360, 10361, 10363, 10364, 10366, 10367, 10369, 10370, 10371, 10372, 10373, 10374, 10375, 10376, 10377, 10378, 10379, 10380, 10381, 10382, 10383, 10384, 10385, 10387, 10388, 10389, 10390, 10391, 10393, 10394, 10398, 10399, 10400, 10405, 10406, 10407, 10408, 10409, 10411, 10412, 10413, 10414, 10415, 10416, 10417, 10418, 10419, 10420, 10421, 10422, 10423, 10424, 10425, 10426, 10427, 10428, 10429, 10430, 10431, 10432, 10433, 10435, 10436, 10437, 10438, 10439, 10440, 10441, 10442, 10445, 10447, 10455, 10456, 10460, 10461, 10463, 10464, 10467, 10468, 10469, 10470, 10471, 10472, 10473, 10475, 10476, 10477, 10478, 10479, 10480, 10481, 10482, 10485, 10486, 10487, 10488, 10489, 10491, 10495, 10497, 10498, 10499, 10500, 10502, 10503, 10504, 10505, 10506, 10507, 10508, 10509, 10510, 10516, 10536, 10537, 10538, 10539, 10540, 10541, 10556, 10557, 10558, 10559, 10577, 10578, 10580, 10581, 10582, 10583, 10584, 10596, 10598, 10599, 10600, 10601, 10602, 10603, 10604, 10605, 10606, 10608, 10610, 10611, 10612, 10616, 10617, 10618, 10619, 10636, 10637, 10638, 10639, 10640, 10641, 10642, 10643, 10644, 10645, 10646, 10647, 10648, 10656, 10657, 10658, 10659, 10660, 10661, 10662, 10663, 10664, 10665, 10666, 10667, 10668, 10676, 10678, 10680, 10681, 10682, 10683, 10684, 10685, 10696, 10697, 10698, 10699, 10716, 10717, 10718, 10719, 10720, 10721, 10737, 10738, 10739, 10740, 10741, 10742, 10756, 10757, 10758, 10759, 10760, 10761, 10762, 10776, 10778, 10779, 10780, 10781, 10782, 10799, 10800, 10801, 10802, 10803, 10804, 10805, 10806, 10807, 10808, 10809, 10811, 10812, 10813, 10814, 10816, 10817, 10821, 10822, 10823, 10824, 10825, 10826, 10827, 10828, 10836, 10837, 10838, 10839, 10840, 10856, 10857, 10876, 10877, 10878, 10879, 10880, 10881, 10882, 10896, 10897, 10899, 10901, 10902, 10903, 10904, 10905, 10916, 10917, 10918, 10919, 10920, 10921, 10922, 10923, 10924, 10925, 10926, 10927, 10928, 10929, 10930, 10936, 10937, 10938, 10939, 10940, 10941, 10942, 10943, 10944, 10945, 10946, 10947, 10948, 10949, 10950, 10951, 10952, 10953, 10954, 10955, 10956, 10976, 10977, 10978, 10979, 10980, 10981, 10982, 10983, 10984, 10986, 10987, 10988, 10990, 10991, 10992, 10993, 10996, 10997, 11016, 11017, 11018, 11019, 11020, 11021, 11022, 11023, 11024, 11025, 11026, 11027, 11028, 11029, 11030, 11031, 11032, 11033, 11034, 11035, 11036, 11037, 11038, 11039, 11040, 11041, 11042, 11043, 11044, 11046, 11047, 11048, 11049, 11050, 11051, 11052, 11053, 11054, 11055, 11056, 11057, 11058, 11063, 11064, 11065, 11066, 11067, 11068, 11069, 11070, 11071, 11072, 11073, 11074, 11075, 11076, 11077, 11078, 11079, 11081, 11082, 11083, 11084, 11096, 11097, 11098, 11099, 11100, 11101, 11102, 11103, 11104, 11105, 11106, 11116, 11117, 11118, 11119, 11120, 11121, 11122, 11136, 11137, 11138, 11139, 11140, 11141, 11142, 11143, 11145, 11146, 11147, 11150, 11152, 11153, 11154, 11155, 11156, 11176, 11177, 11178, 11180, 11181, 11182, 11183, 11184, 11185, 11186, 11187, 11188, 11189, 11190, 11191, 11192, 11193, 11194, 11195, 11196, 11197, 11198, 11199, 11200, 11216, 11217, 11218, 11219, 11236, 11256, 11257, 11258, 11259, 11260, 11261, 11262, 11263, 11276, 11277, 11278, 11279, 11280, 11281, 11282, 11283, 11284, 11285, 11286, 11287, 11288, 11289, 11290, 11291, 11296, 11316, 11317, 11318, 11319, 11320, 11321, 11322, 11323, 11324, 11325, 11326, 11327, 11328, 11338, 11339, 11340, 11346, 11347, 11348, 11350, 11351, 11352, 11353, 11355, 11356, 11357, 11359, 11360, 11361, 11365, 11368, 11370, 11371, 11372, 11373, 11374, 11378, 11380, 11382, 11383, 11387, 11388, 11389, 11390, 11391, 11397, 11401, 11406, 11407, 11438, 11439, 11440, 11441, 11442, 11443, 11444, 11445, 11446, 11447, 11448, 11450, 11451, 11452, 11453, 11454, 11455, 11456, 11457, 11458, 11459, 11460, 11461, 11462, 11464, 11465, 11466, 11467, 11469, 11470, 11471, 11472, 11473, 11475, 11476, 11477, 11480, 11483, 11484, 11486, 11487, 11488, 11489, 11490, 11491, 11492, 11496, 11497, 11498, 11501, 11502, 11516, 11517, 11518, 11519, 11520, 11521, 11536, 11546, 11548, 11551, 11552, 11553, 11554, 11555, 11556, 11557, 11558, 11559, 11560, 11561, 11562, 11563, 11564, 11576, 11577, 11578, 11582, 11583, 11596, 11598, 11600, 11602, 11603, 11604, 11605, 11608, 11609, 11610, 11611, 11613, 11614, 11615, 11616, 11620, 11621, 11622, 24368, 11624, 11625, 11626, 11627, 11629, 11636, 11637, 11656, 11657, 11658, 11659, 11661, 11662, 11663, 11664, 11665, 11666, 11667, 11668, 11669, 11671, 11672, 11673, 11675, 11677, 11678, 11679, 11680, 11681, 11682, 11683, 11684, 11685, 11686, 11687, 11688, 11689, 11690, 11696, 11697, 11698, 11699, 11700, 11701, 11702, 11703, 11704, 11705, 11706, 11707, 11708, 11709, 11710, 11711, 11712, 11713, 11714, 11715, 11716, 11717, 11718, 11720, 11721, 11722, 11723, 11724, 11725, 11726, 11727, 11728, 11729, 11730, 11731, 11732, 11733, 11734, 11735, 11736, 11737, 11738, 11739, 11740, 11741, 11744, 11745, 11746, 11747, 11748, 11749, 11750, 11751, 11752, 11753, 11754, 11755, 11756, 11757, 11758, 11776, 11777, 11778, 11781, 11782, 11783, 11784, 11785, 11786, 11787, 11788, 11789, 11790, 11791, 11792, 11793, 11794, 11795, 11796, 11797, 11798, 11799, 11800, 11801, 11802, 11803, 11804, 11805, 11806, 11807, 11808, 11810, 11811, 11812, 11813, 11814, 11815, 11817, 11818, 11819, 11820, 11821, 11822, 11823, 11824, 11825, 11826, 11827, 11828, 11829, 11830, 11831, 11832, 11833, 11834, 11835, 11836, 11837, 11838, 11839, 11840, 11856, 11857, 11858, 11859, 11860, 11861, 11862, 11863, 11864, 11865, 11866, 11867, 11868, 11869, 11870, 11871, 11872, 11873, 11874, 11875, 11876, 11877, 11878, 11880, 11881, 11882, 11883, 11884, 11885, 11886, 11887, 11896, 11897, 11898, 11899, 11900, 11901, 11910, 11911, 11912, 11913, 11914, 11915, 11916, 11917, 11918, 11920, 11921, 11936, 11937, 11939, 11940, 11941, 11942, 11943, 11944, 11945, 11946, 11947, 11948, 11949, 11956, 11957, 11979, 11980, 11981, 11982, 11983, 11988, 11994, 11996, 11997, 11998, 12017, 12018, 12019, 12021, 12022, 12023, 12024, 12025, 12026, 12027, 12028, 12029, 12030, 12031, 12032, 12033, 12034, 12037, 12042, 12043, 12045, 12046, 12047, 12048, 12050, 12051, 12052, 12053, 12056, 12057, 12076, 12096, 12097, 12098, 12099, 12100, 12101, 12116, 12118, 12119, 12120, 12121, 12122, 12123, 12124, 12125, 12126, 12127, 12128, 12129, 12136, 12137, 12138, 12140, 12141, 12143, 12144, 12148, 12149, 12150, 12151, 12152, 12156, 12157, 12158, 12159, 12160, 12178, 12179, 12180, 12196, 12197, 12198, 12199, 12201, 12202, 12203, 12204, 12205, 12206, 12207, 12208, 12216, 12217, 12218, 12219, 12220, 12221, 12222, 12223, 12224, 12225, 12236, 12237, 12238, 12239, 12240, 12241, 12242, 12243, 12244, 12245, 12246, 12247, 12248, 12249, 12250, 12251, 12252, 12253, 12254, 12255, 12256, 12257, 12258, 12259, 12261, 12262, 12263, 12264, 12265, 12276, 12277, 12296, 12297, 12298, 12299, 12319, 12320, 12321, 12322, 12336, 12337, 12338, 12339, 12340, 12341, 12342, 12343, 12344, 12345, 12346, 12347, 12348, 12349, 12350, 12351, 12352, 12353, 12354, 12355, 12356, 12357, 12358, 12359, 12360, 12361, 12362, 12363, 12364, 12365, 12366, 12367, 12368, 12369, 12370, 12371, 12372, 12373, 12374, 12375, 12376, 12377, 12378, 12379, 12380, 12381, 12382, 12383, 12384, 12385, 12387, 12396, 12397, 12416, 12418, 12419, 12420, 12422, 12423, 12425, 12426, 12427, 12428, 12429, 12430, 12431, 12432, 12433, 12435, 12457, 12458, 12459, 12460, 12461, 12463, 12464, 12465, 12467, 12468, 12473, 12474, 12475, 12476, 12477, 12478, 12479, 12480, 12481, 12496, 12497, 12498, 12557, 12576, 12577, 12578, 12579, 12580, 12581, 12596, 12616, 12617, 12636, 12656, 12657, 12658, 12676, 12677, 12678, 12696, 12716, 12717, 12718, 12719, 12720, 12721, 12722, 12723, 12724, 12736, 12737, 12738, 12739, 12740, 12756, 12757, 12759, 12776, 12777, 12778, 12779, 12780, 12781, 12782, 12783, 12784, 12785, 12786, 12787, 12788, 12789, 12790, 12791, 12792, 12793, 12794, 12795, 12796, 12797, 12798, 12799, 12800, 12801, 12802, 12803, 12805, 12806, 12807, 12816, 12818, 12836, 12837, 12856, 12858, 12859, 12860, 12861, 12862, 12863, 12864, 12865, 12866, 12867, 12876, 12877, 12896, 12897, 12899, 12900, 12902, 12903, 12904, 12918, 12919, 12920, 12921, 12922, 12923, 12924, 12925, 12936, 12937, 12938, 12939, 12940, 12941, 12942, 12943, 12944, 12956, 12957, 12958, 12959, 12960, 12961, 12962, 12976, 12977, 12996, 12997, 12998, 12999, 13000, 13016, 13017, 13018, 13019, 13020, 13021, 13022, 13036, 13076, 13078, 13079, 13080, 13081, 13082, 13084, 13085, 13086, 13087, 13088, 13089, 13096, 13097, 13098, 13099, 13116, 13117, 13118, 13136, 13137, 13138, 13139, 13140, 13141, 13142, 13143, 13144, 13145, 13146, 13147, 13149, 13150, 13151, 13152, 13153, 13154, 13155, 13156, 13157, 13158, 13159, 13160, 13161, 13176, 13177, 13178, 13179, 13180, 13181, 13196, 13197, 13216, 13217, 13218, 13219, 13220, 13221, 13236, 13256, 13257, 13276, 13277, 13278, 13279, 13280, 13282, 13283, 13284, 13285, 13296, 13297, 13298, 13299, 13300, 13301, 13316, 13317, 13318, 13319, 13320, 13321, 13322, 13323, 13324, 13325, 13326, 13327, 13328, 13329, 13330, 13331, 13332, 13333, 13334, 13335, 13336, 13337, 13338, 13356, 13357, 13358, 13359, 13377, 13378, 13396, 13397, 13416, 13417, 13418, 13419, 13420, 13421, 13422, 13424, 13425, 13426, 13427, 13428, 13429, 13430, 13431, 13432, 13433, 13434, 13435, 13436, 13437, 13438, 13439, 13440, 13441, 13442, 13443, 13444, 13445, 13446, 13447, 13448, 13449, 13456, 13476, 13524, 13525, 13526, 13527, 13528, 13529, 13530, 13531, 13533, 13534, 13535, 13536, 13537, 13538, 13539, 13540, 13541, 13542, 13543, 13544, 13545, 13546, 13547, 13548, 13549, 13550, 13551, 13552, 13553, 13554, 13555, 13556, 13557, 13576, 13577, 13596, 13597, 13598, 13599, 13601, 13602, 13616, 13617, 13618, 13636, 13656, 13676, 13696, 13697, 13698, 13699, 13716, 13717, 13718, 13736, 13737, 13738, 13739, 13740, 13741, 13742, 13743, 13756, 13776, 13777, 13778, 13796, 13797, 13798, 13816, 13817, 13836, 13837, 13839, 13840, 13841, 13842, 13843, 13876, 13896, 13916, 13917, 13936, 13956, 13957, 13958, 13959, 13976, 13996, 14020, 14021, 14022, 14023, 14024, 14025, 14026, 14027, 14028, 14029, 14030, 14031, 14041, 14081, 14121, 14122, 14123, 14182, 14183, 14185, 14186, 14187, 14188, 14221, 14222, 14223, 14224, 14225, 14226, 14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235, 14236, 14237, 14241, 14242, 14262, 14263, 14264, 14266, 14267, 14268, 14269, 14270, 14271, 14272, 14273, 14275, 14276, 14277, 14278, 14279, 14280, 14281, 14282, 14283, 14284, 14285, 14301, 14303, 14304, 14305, 14308, 14321, 14322, 14323, 14324, 14325, 14326, 14327, 14329, 14330, 14331, 14332, 14333, 14334, 14335, 14336, 14337, 14338, 14339, 14340, 14342, 14343, 14344, 14345, 14347, 14348, 14349, 14350, 14351, 14353, 14354, 14355, 14356, 14357, 14358, 14361, 14362, 14363, 14364, 14365, 14366, 14367, 14368, 14369, 14370, 14371, 14372, 14373, 14374, 14375, 14376, 14377, 14378, 14379, 14380, 14381, 14382, 14383, 14385, 14386, 14387, 14388, 14389, 14390, 14392, 14393, 14394, 14395, 14396, 14397, 14398, 14399, 14400, 14401, 14402, 14403, 14404, 14421, 14423, 14424, 14425, 14426, 14427, 14428, 14429, 14430, 14431, 14432, 14433, 14434, 14435, 14436, 14437, 14438, 14439, 14440, 14441, 14442, 14444, 14445, 14446, 14447, 14448, 14449, 14450, 14451, 14452, 14453, 14454, 14455, 14456, 14457, 14458, 14459, 14460, 14461, 14462, 14463, 14464, 14465, 14466, 14467, 14469, 14470, 14471, 14472, 14473, 14474, 14475, 14476, 14477, 14478, 14479, 14480, 14481, 14482, 14483, 14484, 14485, 14486, 14487, 14488, 14489, 14490, 14491, 14492, 14494, 14495, 14496, 14497, 14498, 14499, 14500, 14502, 14503, 14504, 14505, 14506, 14507, 14508, 14509, 14510, 14511, 14512, 14513, 14514, 14515, 14516, 14517, 14518, 14519, 14520, 14521, 14522, 14523, 14524, 14525, 14526, 14527, 14528, 14529, 14530, 14531, 14532, 14533, 14534, 14535, 14536, 14538, 14539, 14540, 14541, 14542, 14543, 14544, 14545, 14546, 14547, 14548, 14549, 14550, 14551, 14552, 14553, 14555, 14556, 14557, 14558, 14559, 14560, 14561, 14564, 14565, 14566, 14567, 14568, 14581, 14601, 14602, 14603, 14604, 14621, 14622, 14624, 14625, 14626, 14627, 14628, 14634, 14637, 14638, 14639, 14640, 14645, 14646, 14661, 14662, 14663, 14664, 14666, 14667, 14668, 14686, 14693, 14715, 14717, 14718, 14720, 14721, 14722, 14723, 14724, 14725, 14726, 14727, 14728, 14729, 14730, 14731, 14732, 14733, 14734, 14736, 14737, 14738, 14739, 14740, 14741, 14742, 14743, 14744, 14745, 14748, 14750, 14751, 14752, 14753, 14754, 14757, 14758, 14762, 14763, 14764, 14765, 14766, 14767, 14768, 14769, 14770, 14771, 14772, 14773, 14774, 14775, 14776, 14777, 14781, 14821, 14822, 14823, 14825, 14826, 14827, 14828, 14829, 14832, 14833, 14834, 14841, 14842, 14843, 14844, 14845, 14846, 14847, 14848, 14849, 14850, 14857, 14859, 14860, 14861, 14862, 14864, 14865, 14866, 14867, 14868, 14869, 14871, 14872, 14873, 14874, 14875, 14876, 14878, 14880, 14881, 14882, 14883, 14884, 14887, 14888, 14889, 14890, 14892, 14893, 14894, 14901, 14902, 14903, 14904, 14905, 14908, 14909, 14910, 14911, 14912, 14921, 14942, 14943, 14944, 14945, 14946, 14947, 14948, 14961, 14962, 14963, 14964, 14965, 14981, 14982, 14983, 14984, 14986, 14987, 14988, 14989, 14990, 14991, 14994, 15001, 15002, 15003, 15004, 15005, 15006, 15007, 15008, 15009, 15010, 15011, 15012, 15021, 15022, 15041, 15042, 15043, 15045, 15046, 15047, 15061, 15062, 15063, 15064, 15065, 15066, 15067, 15068, 15069, 15070, 15071, 15072, 15073, 15074, 15075, 15076, 15077, 15078, 15079, 15080, 15082, 15083, 15084, 15086, 15087, 15088, 15089, 15090, 15091, 15101, 15102, 15103, 15104, 15105, 15106, 15107, 15108, 15109, 15111, 15112, 15113, 15114, 15115, 15116, 15117, 15119, 15122, 15124, 15125, 15126, 15127, 15128, 15130, 15131, 15136, 15137, 15138, 15140, 15141, 15146, 15162, 15163, 15164, 15165, 15168, 15169, 15170, 15171, 15172, 15174, 15175, 15176, 15177, 15178, 15179, 15180, 15181, 15182, 15183, 15184, 15185, 15186, 15187, 15188, 15189, 15190, 15191, 15192, 15193, 15194, 15195, 15196, 15197, 15198, 15199, 15200, 15201, 15202, 15203, 15204, 15205, 15206, 15207, 15208, 15209, 15211, 15212, 15213, 15215, 15218, 15220, 15221, 15222, 15224, 15229, 15230, 15233, 15235, 15236, 15240, 15241, 15242, 15246, 15247, 15249, 15250, 15252, 15260, 15261, 15262, 15263, 15264, 15270, 15271, 15273, 15274, 15275, 15276, 15277, 15278, 15279, 15280, 15281, 15282, 15283, 15284, 15285, 15286, 15287, 15288, 15289, 15290, 15291, 15292, 15293, 15294, 15295, 15296, 15297, 15298, 15299, 15300, 15301, 15302, 15303, 15304, 15305, 15306, 15307, 15308, 15309, 15310, 15311, 15312, 15315, 15316, 15318, 15319, 15320, 15323, 15324, 15325, 15327, 15333, 15334, 15335, 15336, 15338, 15339, 15340, 15341, 15343, 15344, 15348, 15350, 15351, 15352, 15353, 15354, 15355, 15358, 15362, 15363, 15366, 15367, 15369, 15370, 15371, 15372, 15378, 15379, 15380, 15381, 15384, 15385, 15386, 15387, 15388, 15389, 15390, 15391, 15392, 15395, 15397, 15398, 15399, 15400, 15401, 15402, 15403, 15404, 15405, 15406, 15407, 15408, 15409, 15415, 15416, 15417, 15418, 15419, 15420, 15428, 15429, 15430, 15433, 15438, 15439, 15440, 15441, 15442, 15443, 15444, 15447, 15458, 15461, 15462, 15463, 15464, 15467, 15468, 15470, 15471, 15473, 15474, 15476, 15477, 15478, 15479, 15480, 15482, 15483, 15484, 15487, 15489, 15491, 15492, 15493, 15494, 15496, 15497, 15498, 15499, 15500, 15501, 15502, 15503, 15504, 15505, 15508, 15509, 15510, 15511, 15513, 15515, 15516, 15517, 15521, 15526, 15527, 15528, 15537, 15538, 15540, 15541, 15542, 15543, 15544, 15546, 15547, 15548, 15549, 15550, 15551, 15554, 15555, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564, 15565, 15566, 15567, 15568, 15569, 15570, 15572, 15573, 15574, 15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584, 15585, 15586, 15587, 15588, 15589, 15592, 15593, 15594, 15595, 15596, 15597, 15598, 15599, 15600, 15601, 15602, 15603, 15604, 15605, 15606, 15607, 15608, 15612, 15613, 15614, 15615, 15616, 15617, 15620, 15621, 15622, 15624, 15630, 15631, 15635, 15636, 15637, 15638, 15641, 15642, 15643, 15644, 15645, 15647, 15648, 15649, 15650, 15651, 15652, 15654, 15655, 15656, 15657, 15658, 15659, 15664, 15665, 15667, 15668, 15669, 15670, 15675, 15676, 15677, 15678, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15689, 15690, 15691, 15692, 15696, 15698, 15699, 15700, 15702, 15704, 15706, 15707, 15708, 15714, 15715, 15716, 15718, 15722, 15725, 15726, 15727, 15728, 15732, 15739, 15740, 15741, 15742, 15743, 15744, 15745, 15760, 15761, 15762, 15763, 15764, 15765, 15766, 15767, 15768, 15802, 15803, 15818, 15852, 15853, 15854, 15857, 15858, 15859, 15862, 15866, 15868, 15869, 15870, 15871, 15882, 15883, 15891, 15892, 15893, 15894, 15895, 15897, 15898, 15903, 15904, 15910, 15918, 15920, 15921, 15924, 15928, 15929, 15930, 15931, 15932, 15936, 15937, 15938, 15939, 15940, 15941, 15942, 15945, 15946, 15948, 15949, 15950, 15951, 15952, 15953, 15954, 15956, 15958, 15962, 15963, 15964, 15965, 15966, 15967, 15968, 15969, 15970, 15971, 15974, 15975, 15976, 15977, 15978, 15979, 15980, 15981, 15984, 15989, 15990, 15991, 16006, 16011, 16012, 16013, 16014, 16015, 16016, 16017, 16018, 16020, 16021, 16022, 16024, 16025, 16028, 16029, 16030, 16031, 16032, 16033, 16034, 16036, 16037, 16042, 16043, 16044, 16045, 16046, 16047, 16048, 16059, 16060, 16061, 16062, 16063, 16064, 16065, 16067, 16068, 16069, 16070, 16073, 16076, 16079, 16080, 16081, 16085, 16090, 16091, 16094, 16096, 16097, 16101, 16102, 16103, 16104, 16112, 16113, 16114, 16115, 16116, 16117, 16118, 16119, 16127, 16131, 16132, 16133, 16134, 16135, 16143, 16144, 16145, 16146, 16147, 16149, 16151, 16152, 16153, 16154, 16156, 16157, 16158, 16159, 16160, 16161, 16162, 16163, 16164, 16165, 16166, 16167, 16168, 16169, 16170, 16171, 16173, 16174, 16175, 16176, 16177, 16178, 16179, 16180, 16183, 16185, 16186, 16187, 16189, 16191, 16192, 16193, 16194, 16196, 16197, 16198, 16199, 16200, 16201, 16202, 16203, 16204, 16205, 16206, 16208, 16209, 16210, 16213, 16215, 16216, 16217, 16218, 16219, 16220, 16221, 16222, 16224, 16225, 16226, 16227, 16228, 16229, 16230, 16231, 16232, 16236, 16237, 16238, 16239, 16240, 16241, 16242, 16243, 16244, 16245, 16246, 16247, 16248, 16249, 16250, 16251, 16252, 16253, 16254, 16256, 16257, 16258, 16259, 16260, 16261, 16262, 16263, 16264, 16266, 16267, 16268, 16269, 16270, 16271, 16272, 16273, 16274, 16275, 16276, 16277, 16278, 16279, 16280, 16283, 16287, 16288, 16289, 16290, 16291, 16292, 16293, 16294, 16295, 16297, 16298, 16299, 16300, 16301, 16302, 16303, 16304, 16305, 16307, 16308, 16309, 16310, 16311, 16313, 16314, 16315, 16316, 16317, 16318, 16319, 16320, 16321, 16322, 16323, 16324, 16325, 16326, 16327, 16328, 16329, 16330, 16331, 16332, 16333, 16334, 16335, 16336, 16337, 16338, 16339, 16340, 16341, 16342, 16343, 16344, 16345, 16346, 16347, 16348, 16349, 16350, 16351, 16352, 16353, 16354, 16355, 16357, 16358, 16361, 16362, 16364, 16365, 16366, 16367, 16368, 16371, 16372, 16375, 16376, 16377, 16379, 16380, 16381, 16382, 16383, 16384, 16385, 16386, 16387, 16388, 16389, 16390, 16392, 16394, 16395, 16396, 16397, 16398, 16399, 16400, 16401, 16402, 16403, 16404, 16405, 16406, 16407, 16408, 16409, 16410, 16411, 16412, 16414, 16415, 16416, 16417, 16418, 16424, 16425, 16426, 16431, 16438, 16441, 16442, 16443, 16444, 16446, 16447, 16448, 16449, 16451, 16452, 16453, 16457, 16458, 16459, 16460, 16461, 16462, 16463, 16464, 16465, 16466, 16467, 16468, 16469, 16470, 16471, 16472, 16473, 16474, 16475, 16476, 16477, 16478, 16479, 16480, 16481, 16482, 16483, 16484, 16485, 16488, 16489, 16490, 16491, 16492, 16493, 16494, 16495, 16499, 16500, 16501, 16502, 16503, 16504, 16505, 16506, 16507, 16514, 16516, 16517, 16518, 16519, 16520, 16521, 16522, 16523, 16524, 16525, 16526, 16528, 16529, 16530, 16531, 16534, 16535, 16537, 16539, 16540, 16541, 16542, 16543, 16544, 16545, 16546, 16547, 16548, 16549, 16550, 16551, 16553, 16554, 16568, 16573, 16574, 16575, 16576, 16577, 16578, 16579, 16580, 16582, 16583, 16584, 16585, 16586, 16587, 16588, 16589, 16590, 16591, 16592, 16593, 16594, 16595, 16596, 16597, 16598, 16599, 16600, 16601, 16602, 16603, 16604, 16610, 16611, 16612, 16613, 16615, 16616, 16617, 16618, 16619, 16620, 16621, 16623, 16624, 16625, 16626, 16627, 16628, 16629, 16631, 16632, 16633, 16634, 16635, 16636, 16637, 16638, 16639, 16640, 16641, 16642, 16643, 16644, 16646, 16647, 16648, 16649, 16650, 16651, 16652, 16653, 16654, 16655, 16656, 16657, 16658, 16659, 16660, 16662, 16663, 16664, 16665, 16666, 16667, 16668, 16669, 16670, 16671, 16672, 16673, 16674, 16675, 16676, 16677, 16678, 16679, 16680, 16681, 16683, 16684, 16685, 16686, 16687, 16688, 16689, 16690, 16691, 16692, 16693, 16694, 16695, 16696, 16697, 16698, 16699, 16700, 16701, 16702, 16703, 16704, 16705, 16706, 16707, 16708, 16709, 16710, 16712, 16713, 16714, 16715, 16716, 16718, 16719, 16721, 16722, 16723, 16724, 16725, 16726, 16727, 16728, 16729, 16731, 16732, 16733, 16734, 16735, 16736, 16738, 16739, 16740, 16741, 16742, 16743, 16744, 16745, 16746, 16747, 16748, 16749, 16750, 16751, 16752, 16753, 16755, 16756, 16757, 16761, 16762, 16763, 16764, 16765, 16766, 16767, 16768, 16769, 16771, 16772, 16773, 16774, 16775, 16776, 16777, 16778, 16779, 16780, 16781, 16782, 16786, 16787, 16788, 16789, 16790, 16791, 16792, 16793, 16794, 16795, 16796, 16797, 16798, 16799, 16800, 16801, 16802, 16803, 16804, 16805, 16806, 16807, 16808, 16809, 16810, 16811, 16812, 16813, 16814, 16815, 16816, 16817, 16818, 16819, 16820, 16821, 16822, 16823, 16824, 16825, 16826, 16827, 16828, 16829, 16830, 16831, 16832, 16833, 16834, 16835, 16836, 16837, 16838, 16839, 16840, 16841, 16842, 16843, 16844, 16845, 16846, 16847, 16848, 16850, 16851, 16852, 16854, 16855, 16856, 16857, 16858, 16859, 16860, 16862, 16863, 16864, 16865, 16866, 16867, 16870, 16871, 16873, 16876, 16878, 16879, 16880, 16884, 16885, 16886, 16887, 16888, 16896, 16897, 16898, 16899, 16901, 16903, 16904, 16905, 16906, 16907, 16911, 16912, 16914, 16915, 16916, 16917, 16918, 16919, 16920, 16921, 16922, 16923, 16924, 16925, 16927, 16928, 16929, 16932, 16933, 16934, 16937, 16938, 16939, 16943, 16944, 16945, 16946, 16947, 16948, 16949, 16950, 16951, 16952, 16954, 16959, 16960, 16964, 16966, 16967, 16968, 16971, 16972, 16973, 16974, 16975, 16976, 16977, 16978, 16980, 16991, 16992, 16993, 16994, 16995, 16996, 16998, 17000, 17001, 17002, 17003, 17004, 17005, 17006, 17007, 17008, 17014, 17015, 17023, 17034, 17035, 17038, 17039, 17041, 17046, 17047, 17048, 17049, 17050, 17051, 17052, 17053, 17056, 17057, 17058, 17059, 17060, 17062, 17066, 17067, 17068, 17069, 17070, 17071, 17072, 17073, 17074, 17076, 17077, 17079, 17080, 17083, 17084, 17085, 17086, 17087, 17088, 17089, 17090, 17092, 17093, 17094, 17095, 17096, 17097, 17098, 17099, 17100, 17101, 17102, 17103, 17104, 17105, 17106, 17108, 17109, 17110, 17111, 17112, 17113, 17114, 17115, 17116, 17117, 17119, 17120, 17121, 17122, 17123, 17124, 17125, 17126, 17127, 17128, 17129, 17130, 17131, 17132, 17133, 17134, 17135, 17136, 17137, 17138, 17139, 17141, 17142, 17143, 17144, 17146, 17147, 17148, 17149, 17150, 17151, 17152, 17153, 17154, 17155, 17156, 17157, 17158, 17159, 17160, 17161, 17167, 17168, 17169, 17170, 17171, 17172, 17173, 17174, 17175, 17176, 17178, 17179, 17180, 17181, 17182, 17183, 17184, 17185, 17186, 17187, 17188, 17189, 17190, 17191, 17192, 17193, 17194, 17195, 17196, 17197, 17199, 17200, 17201, 17202, 17203, 17204, 17205, 17206, 17208, 17209, 17210, 17211, 17212, 17213, 17214, 17215, 17216, 17217, 17218, 17219, 17220, 17222, 17223, 17224, 17225, 17226, 17228, 17229, 17230, 17231, 17232, 17233, 17234, 17235, 17236, 17238, 17240, 17241, 17242, 17243, 17244, 17245, 17246, 17247, 17248, 17249, 17250, 17251, 17252, 17253, 17255, 17256, 17257, 17259, 17260, 17262, 17263, 17264, 17265, 17266, 17267, 17268, 17269, 17270, 17271, 17272, 17274, 17275, 17276, 17277, 17278, 17279, 17280, 17281, 17282, 17283, 17285, 17287, 17290, 17291, 17293, 17296, 17298, 17299, 17300, 17303, 17304, 17305, 17306, 17307, 17308, 17309, 17310, 17311, 17312, 17314, 17316, 17317, 17318, 17320, 17321, 17322, 17323, 17324, 17325, 17326, 17327, 17328, 17329, 17330, 17331, 17333, 17334, 17336, 17337, 17338, 17339, 17340, 17341, 17342, 17343, 17344, 17345, 17346, 17347, 17348, 17349, 17350, 17352, 17353, 17355, 17356, 17357, 17358, 17359, 17360, 17361, 17362, 17363, 17364, 17370, 17371, 17372, 17373, 17374, 17375, 17377, 17378, 17379, 17380, 17381, 17391, 17392, 17393, 17395, 17397, 17398, 17399, 17400, 17401, 17402, 17403, 17404, 17405, 17406, 17407, 17408, 17409, 17410, 17412, 17413, 17414, 17416, 17417, 17418, 17420, 17421, 17423, 17424, 17425, 17426, 17427, 17429, 17431, 17432, 17433, 17434, 17435, 17436, 17437, 17438, 17439, 17440, 17441, 17442, 17443, 17444, 17445, 17446, 17447, 17448, 17452, 17453, 17455, 17459, 17461, 17462, 17464, 17465, 17467, 17468, 17469, 17471, 17473, 17474, 17475, 17477, 17478, 17479, 17480, 17481, 17482, 17483, 17484, 17485, 17486, 17487, 17488, 17489, 17490, 17491, 17493, 17494, 17495, 17496, 17499, 17500, 17503, 17504, 17505, 17508, 17509, 17510, 17511, 17512, 17513, 17514, 17517, 17518, 17519, 17520, 17521, 17522, 17523, 17524, 17525, 17527, 17528, 17529, 17530, 17531, 17532, 17535, 17536, 17537, 17538, 17539, 17540, 17541, 17542, 17543, 17544, 17545, 17546, 17547, 17548, 17549, 17550, 17551, 17552, 17553, 17554, 17555, 17556, 17557, 17558, 17578, 17584, 17585, 17586, 17587, 17588, 17589, 17591, 17592, 17598, 17599, 17600, 17603, 17604, 17606, 17607, 17608, 17609, 17610, 17611, 17612, 17613, 17614, 17621, 17622, 17623, 17624, 17626, 17627, 17628, 17629, 17630, 17631, 17632, 17633, 17634, 17635, 17636, 17637, 17642, 17645, 17647, 17649, 17651, 17653, 17654, 17655, 17656, 17657, 17658, 17659, 17660, 17661, 17662, 17663, 17664, 17666, 17667, 17669, 17670, 17671, 17673, 17674, 17676, 17678, 17680, 17681, 17682, 17683, 17684, 17686, 17687, 17689, 17690, 17693, 17694, 17695, 17696, 17698, 17701, 17702, 17703, 17704, 17705, 17707, 17710, 17711, 17712, 17713, 17714, 17715, 17716, 17717, 17718, 17719, 17720, 17721, 17722, 17723, 17724, 17725, 17726, 17727, 17728, 17729, 17730, 17731, 17732, 17734, 17735, 17765, 17766, 17767, 17768, 17769, 17770, 17771, 17772, 17773, 17794, 17795, 17796, 17797, 17798, 17799, 17800, 17801, 17802, 17803, 17804, 17805, 17807, 17808, 17814, 17815, 17816, 17817, 17819, 17820, 17822, 17824, 17825, 17826, 17827, 17830, 17831, 17832, 17833, 17834, 17835, 17836, 17837, 17838, 17839, 17840, 17841, 17842, 17843, 17844, 17845, 17846, 17847, 17848, 17849, 17850, 17852, 17853, 17855, 17856, 17857, 17858, 17860, 17862, 17865, 17866, 17870, 17871, 17874, 17875, 17876, 17877, 17878, 17879, 17880, 17881, 17882, 17883, 17884, 17885, 17886, 17887, 17888, 17889, 17890, 17892, 17893, 17894, 17895, 17896, 17897, 17898, 17899, 17900, 17901, 17904, 17909, 17915, 17917, 17918, 17919, 17920, 17921, 17922, 17923, 17924, 17925, 17926, 17927, 17928, 17929, 17930, 17931, 17932, 17933, 17934, 17935, 17936, 17937, 17938, 17940, 17941, 17942, 17943, 17944, 17945, 17947, 17948, 17951, 17952, 17953, 17954, 17955, 17956, 17957, 17958, 17959, 17960, 17961, 17962, 17963, 17964, 17968, 17969, 17972, 17974, 17975, 17976, 17977, 17978, 17979, 17980, 17981, 17982, 17983, 17984, 17985, 17986, 17987, 17988, 17989, 17990, 17991, 17992, 17993, 17994, 17995, 17996, 17998, 17999, 18000, 18002, 18003, 18004, 18005, 18006, 18007, 18008, 18009, 18010, 18011, 18012, 18013, 18014, 18015, 18016, 18017, 18018, 18019, 18020, 18021, 18022, 18023, 18024, 18025, 18026, 18027, 18028, 18029, 18030, 18031, 18032, 18033, 18034, 18035, 18037, 18038, 18039, 18042, 18043, 18044, 18046, 18062, 18063, 18064, 18065, 18066, 18067, 18068, 18069, 18070, 18071, 18072, 18073, 18074, 18075, 18076, 18077, 18079, 18080, 18086, 18087, 18088, 18089, 18090, 18091, 18092, 18093, 18094, 18096, 18097, 18098, 18099, 18100, 18101, 18102, 18103, 18105, 18106, 18109, 18110, 18113, 18114, 18115, 18116, 18117, 18118, 18119, 18120, 18121, 18122, 18123, 18124, 18125, 18126, 18127, 18128, 18129, 18130, 18131, 18132, 18133, 18134, 18135, 18136, 18137, 18138, 18139, 18140, 18141, 18142, 18143, 18144, 18145, 18146, 18147, 18150, 18151, 18152, 18155, 18159, 18160, 18161, 18162, 18165, 18166, 18167, 18168, 18170, 18171, 18172, 18173, 18174, 18175, 18176, 18177, 18179, 18180, 18181, 18182, 18183, 18185, 18186, 18187, 18188, 18189, 18190, 18191, 18192, 18194, 18196, 18197, 18199, 18200, 18201, 18202, 18203, 18204, 18205, 18206, 18207, 18208, 18209, 18210, 18211, 18212, 18213, 18214, 18215, 18218, 18220, 18221, 18222, 18223, 18224, 18225, 18226, 18228, 18229, 18230, 18231, 18232, 18233, 18234, 18235, 18236, 18237, 18238, 18240, 18242, 18243, 18244, 18245, 18246, 18247, 18248, 18249, 18250, 18251, 18252, 18253, 18255, 18256, 18257, 18258, 18259, 18260, 18261, 18262, 18263, 18264, 18265, 18266, 18267, 18272, 18273, 18274, 18275, 18276, 18277, 18278, 18280, 18281, 18282, 18283, 18285, 18286, 18289, 18290, 18292, 18293, 18294, 18295, 18296, 18297, 18298, 18299, 18300, 18301, 18302, 18303, 18305, 18306, 18307, 18308, 18309, 18311, 18312, 18313, 18314, 18315, 18317, 18318, 18319, 18320, 18321, 18322, 18323, 18325, 18326, 18327, 18328, 18331, 18332, 18333, 18334, 18335, 18336, 18337, 18338, 18340, 18341, 18342, 18343, 18344, 18345, 18346, 18347, 18348, 18349, 18350, 18351, 18352, 18353, 18354, 18357, 18358, 18359, 18360, 18362, 18363, 18364, 18365, 18369, 18370, 18371, 18372, 18373, 18374, 18375, 18376, 18377, 18378, 18379, 18380, 18381, 18382, 18383, 18384, 18385, 18386, 18387, 18388, 18389, 18390, 18391, 18392, 18393, 18394, 18395, 18396, 18397, 18398, 18399, 18400, 18401, 18402, 18404, 18405, 18406, 18407, 18408, 18409, 18411, 18412, 18413, 18414, 18415, 18416, 18417, 18418, 18419, 18420, 18421, 18422, 18423, 18424, 18426, 18427, 18428, 18429, 18430, 18431, 18437, 18438, 18439, 18440, 18441, 18442, 18443, 18444, 18445, 18446, 18447, 18448, 18449, 18450, 18451, 18452, 18453, 18454, 18455, 18456, 18457, 18458, 18459, 18460, 18461, 18462, 18463, 18464, 18465, 18466, 18467, 18468, 18469, 18470, 18471, 18472, 18473, 18475, 18476, 18477, 18478, 18480, 18481, 18482, 18483, 18484, 18485, 18486, 18487, 18488, 18489, 18490, 18491, 18492, 18493, 18494, 18495, 18496, 18497, 18498, 18499, 18500, 18501, 18502, 18503, 18504, 18506, 18507, 18521, 18524, 18525, 18527, 18530, 18531, 18532, 18533, 18535, 18536, 18537, 18538, 18539, 18540, 18541, 18542, 18543, 18544, 18545, 18547, 18548, 18549, 18553, 18554, 18555, 18556, 18557, 18558, 18559, 18560, 18563, 18564, 18565, 18566, 18567, 18568, 18581, 18583, 18584, 18585, 18586, 18587, 18588, 18589, 18590, 18593, 18594, 18595, 18596, 18597, 18598, 18600, 18622, 18625, 18626, 18627, 18628, 18629, 18631, 18632, 18633, 18634, 18635, 18636, 18637, 18638, 18639, 18640, 18641, 18642, 18644, 18646, 18647, 18648, 18649, 18650, 18651, 18652, 18653, 18654, 18655, 18656, 18657, 18658, 18659, 18660, 18661, 18662, 18663, 18664, 18666, 18667, 18668, 18669, 18670, 18671, 18672, 18673, 18674, 18675, 18676, 18677, 18678, 18680, 18681, 18682, 18683, 18685, 18686, 18687, 18688, 18690, 18693, 18694, 18696, 18698, 18700, 18701, 18702, 18703, 18704, 18705, 18706, 18707, 18708, 18712, 18713, 18714, 18715, 18716, 18717, 18718, 18719, 18720, 18722, 18723, 18724, 18725, 18726, 18727, 18728, 18729, 18730, 18731, 18732, 18733, 18734, 18735, 18736, 18737, 18743, 18744, 18745, 18747, 18748, 18749, 18750, 18751, 18752, 18753, 18754, 18755, 18756, 18757, 18758, 18759, 18760, 18761, 18762, 18763, 18764, 18765, 18766, 18768, 18771, 18772, 18773, 18774, 18775, 18776, 18777, 18778, 18779, 18781, 18782, 18785, 18788, 18789, 18790, 18791, 18792, 18793, 18794, 18795, 18796, 18797, 18798, 18799, 18800, 18802, 18803, 18804, 18805, 18807, 18808, 18809, 18810, 18811, 18812, 18813, 18814, 18815, 18816, 18817, 18818, 18821, 18822, 18823, 18824, 18825, 18826, 18827, 18828, 18829, 18830, 18831, 18832, 18834, 18835, 18836, 18838, 18839, 18840, 18841, 18842, 18843, 18847, 18848, 18849, 18850, 18852, 18853, 18855, 18856, 18857, 18858, 18859, 18860, 18864, 18865, 18866, 18867, 18869, 18870, 18872, 18873, 18875, 18877, 18879, 18880, 18881, 18882, 18883, 18884, 18885, 18886, 18887, 18888, 18891, 18892, 18893, 18894, 18895, 18896, 18897, 18898, 18899, 18900, 18901, 18902, 18903, 18904, 18905, 18906, 18907, 18908, 18909, 18910, 18911, 18912, 18913, 18914, 18915, 18916, 18917, 18918, 18919, 18921, 18922, 18924, 18926, 18927, 18928, 18929, 18930, 18931, 18933, 18934, 18937, 18938, 18939, 18940, 18942, 18943, 18944, 18945, 18946, 18947, 18948, 18949, 18950, 18951, 18952, 18953, 18954, 18955, 18956, 18957, 18959, 18960, 18962, 18963, 18964, 18965, 18966, 18967, 18968, 18969, 18970, 18971, 18972, 18973, 18974, 18975, 18976, 18977, 18978, 18981, 18982, 18983, 18984, 18985, 18986, 18987, 18988, 18989, 18990, 18991, 18992, 18993, 18994, 18995, 18996, 18997, 18998, 18999, 19000, 19001, 19002, 19003, 19004, 19005, 19006, 19007, 19008, 19009, 19011, 19012, 19013, 19014, 19015, 19016, 19017, 19018, 19019, 19020, 19021, 19022, 19023, 19024, 19025, 19026, 19027, 19028, 19029, 19030, 19032, 19033, 19034, 19035, 19038, 19041, 19042, 19043, 19044, 19045, 19046, 19047, 19048, 19049, 19050, 19051, 19052, 19053, 19055, 19056, 19063, 19064, 19065, 19067, 19068, 19071, 19073, 19074, 19075, 19076, 19077, 19120, 19133, 19136, 19137, 19138, 19139, 19140, 19141, 19142, 19144, 19147, 19148, 19149, 19150, 19151, 19152, 19153, 19154, 19155, 19156, 19157, 19158, 19159, 19161, 19162, 19163, 19164, 19165, 19166, 19167, 19168, 19169, 19170, 19171, 19172, 19173, 19174, 19175, 19176, 19177, 19178, 19179, 19180, 19181, 19182, 19183, 19184, 19185, 19186, 19187, 19188, 19189, 19190, 19191, 19192, 19193, 19194, 19195, 19196, 19197, 19201, 19202, 19203, 19204, 19205, 19206, 19207, 19208, 19209, 19210, 19211, 19212, 19213, 19215, 19216, 19217, 19218, 19219, 19220, 19221, 19222, 19223, 19224, 19225, 19226, 19227, 19229, 19231, 19232, 19234, 19235, 19236, 19238, 19239, 19240, 19241, 19242, 19243, 19244, 19245, 19246, 19248, 19249, 19250, 19251, 19252, 19253, 19254, 19255, 19256, 19257, 19258, 19259, 19261, 19263, 19264, 19265, 19266, 19270, 19271, 19272, 19273, 19274, 19275, 19276, 19277, 19278, 19279, 19280, 19281, 19282, 19283, 19284, 19289, 19291, 19292, 19293, 19294, 19295, 19296, 19297, 19298, 19299, 19300, 19301, 19302, 19303, 19304, 19305, 19306, 19307, 19308, 19309, 19310, 19312, 19314, 19315, 19316, 19317, 19318, 19319, 19321, 19324, 19326, 19328, 19329, 19330, 19331, 19332, 19333, 19335, 19336, 19337, 19338, 19339, 19340, 19341, 19342, 19343, 19344, 19345, 19346, 19348, 19349, 19350, 19351, 19352, 19353, 19354, 19355, 19358, 19359, 19361, 19362, 19363, 19364, 19367, 19368, 19369, 19370, 19371, 19372, 19373, 19374, 19375, 19376, 19377, 19378, 19379, 19380, 19381, 19382, 19383, 19384, 19387, 19388, 19389, 19390, 19392, 19393, 19394, 19395, 19397, 19398, 19399, 19400, 19401, 19402, 19405, 19408, 19409, 19410, 19411, 19412, 19413, 19414, 19415, 19416, 19417, 19419, 19420, 19421, 19422, 19423, 19424, 19425, 19426, 19427, 19428, 19429, 19432, 19433, 19434, 19435, 19436, 19437, 19438, 19439, 19440, 19441, 19442, 19443, 19444, 19445, 19446, 19447, 19449, 19450, 19451, 19452, 19453, 19455, 19456, 19457, 19458, 19459, 19460, 19461, 19464, 19466, 19467, 19468, 19469, 19470, 19471, 19472, 19473, 19474, 19475, 19476, 19477, 19478, 19479, 19480, 19481, 19482, 19483, 19484, 19485, 19486, 19488, 19489, 19493, 19494, 19495, 19496, 19497, 19498, 19499, 19500, 19501, 19502, 19503, 19504, 19505, 19506, 19507, 19508, 19509, 19510, 19511, 19512, 19513, 19514, 19516, 19517, 19518, 19519, 19520, 19521, 19523, 19524, 19525, 19526, 19527, 19528, 19529, 19530, 19531, 19532, 19533, 19534, 19535, 19536, 19537, 19538, 19539, 19540, 19541, 19542, 19543, 19544, 19545, 19546, 19547, 19548, 19549, 19550, 19551, 19554, 19555, 19556, 19557, 19558, 19559, 19560, 19561, 19562, 19565, 19568, 19569, 19570, 19571, 19572, 19573, 19574, 19575, 19576, 19578, 19579, 19580, 19581, 19582, 19583, 19588, 19589, 19590, 19592, 19593, 19594, 19595, 19597, 19598, 19599, 19604, 19606, 19607, 19608, 19610, 19612, 19616, 19617, 19618, 19619, 19620, 19621, 19622, 19623, 19624, 19625, 19626, 19627, 19628, 19629, 19631, 19632, 19633, 19634, 19635, 19640, 19641, 19642, 19643, 19644, 19645, 19646, 19647, 19648, 19649, 19651, 19652, 19653, 19654, 19655, 19656, 19657, 19658, 19659, 19660, 19661, 19662, 19663, 19664, 19665, 19666, 19667, 19668, 19669, 19670, 19671, 19672, 19673, 19674, 19675, 19676, 19677, 19678, 19679, 19680, 19681, 19682, 19683, 19684, 19685, 19686, 19687, 19688, 19689, 19690, 19692, 19693, 19694, 19697, 19698, 19701, 19702, 19705, 19706, 19707, 19709, 19710, 19712, 19713, 19715, 19716, 19717, 19718, 19719, 19720, 19722, 19723, 19724, 19725, 19726, 19727, 19728, 19729, 19730, 19731, 19732, 19733, 19734, 19735, 19736, 19737, 19738, 19740, 19744, 19747, 19754, 19755, 19756, 19757, 19759, 19760, 19762, 19763, 19764, 19765, 19766, 19767, 19768, 19769, 19772, 19773, 19774, 19775, 19776, 19777, 19778, 19779, 19780, 19781, 19782, 19783, 19784, 19788, 19789, 19792, 19795, 19796, 19797, 19799, 19800, 19801, 19802, 19806, 19823, 19824, 19825, 19826, 19827, 19830, 19831, 19832, 19833, 19836, 19837, 19838, 19839, 19840, 19842, 19843, 19844, 19845, 19847, 19848, 19849, 19850, 19851, 19852, 19853, 19855, 19856, 19857, 19858, 19859, 19860, 19861, 19862, 19863, 19864, 19865, 19866, 19867, 19868, 19869, 19870, 19871, 19872, 19873, 19874, 19875, 19876, 19878, 19879, 19880, 19881, 19882, 19905, 19906, 19907, 19908, 19909, 19910, 19911, 19912, 19913, 19914, 19915, 19916, 19918, 19919, 19920, 19921, 19922, 19923, 19924, 19925, 19926, 19932, 19933, 19934, 19935, 19936, 19937, 19938, 19939, 19940, 19942, 19943, 19944, 19945, 19946, 19947, 19948, 19949, 19950, 19951, 19952, 19953, 19956, 19957, 19958, 19959, 19960, 19961, 19962, 19963, 19964, 19965, 19966, 19967, 19968, 19969, 19970, 19971, 19972, 19973, 19978, 19979, 19980, 19982, 19983, 19984, 19985, 19986, 19987, 19988, 19989, 19990, 19991, 19992, 19993, 19994, 19995, 19996, 19997, 19998, 20003, 20020, 20021, 20023, 20024, 20025, 20026, 20027, 20028, 20029, 20030, 20031, 20032, 20033, 20034, 20035, 20036, 20037, 20038, 20039, 20040, 20041, 20042, 20043, 20044, 20046, 20052, 20053, 20054, 20055, 20058, 20059, 20060, 20061, 20062, 20063, 20064, 20066, 20067, 20068, 20069, 20071, 20072, 20075, 20076, 20078, 20079, 20080, 20081, 20082, 20083, 20084, 20086, 20087, 20088, 20089, 20090, 20092, 20093, 20095, 20096, 20097, 20098, 20100, 20101, 20102, 20109, 20110, 20111, 20112, 20113, 20114, 20115, 20116, 20117, 20118, 20119, 20120, 20121, 20123, 20124, 20125, 20126, 20127, 20129, 20130, 20131, 20132, 20133, 20134, 20135, 20136, 20137, 20138, 20139, 20140, 20141, 20142, 20143, 20145, 20148, 20149, 20150, 20151, 20152, 20153, 20154, 20155, 20156, 20157, 20158, 20159, 20160, 20161, 20162, 20163, 20194, 20195, 20196, 20197, 20198, 20199, 20201, 20202, 20203, 20204, 20205, 20206, 20207, 20208, 20209, 20210, 20211, 20214, 20215, 20216, 20217, 20218, 20220, 20221, 20222, 20223, 20224, 20226, 20227, 20229, 20230, 20231, 20232, 20233, 20234, 20235, 20236, 20237, 20238, 20239, 20240, 20241, 20242, 20243, 20244, 20246, 20247, 20248, 20249, 20250, 20251, 20269, 20270, 20271, 20272, 20273, 20274, 20276, 20278, 20279, 20280, 20281, 20283, 20284, 20285, 20286, 20287, 20288, 20289, 20290, 20291, 20292, 20293, 20294, 20295, 20296, 20324, 20326, 20327, 20329, 20330, 20331, 20332, 20333, 20334, 20335, 20336, 20337, 20338, 20339, 20340, 20341, 20342, 20343, 20344, 20345, 20346, 20347, 20348, 20349, 20350, 20351, 20352, 20353, 20354, 20355, 20357, 20358, 20359, 20360, 20361, 20362, 20363, 20365, 20368, 20370, 20372, 20373, 20374, 20376, 20377, 20378, 20379, 20380, 20381, 20382, 20383, 20384, 20385, 20386, 20387, 20388, 20389, 20390, 20391, 20392, 20393, 20394, 20395, 20396, 20397, 20398, 20399, 20400, 20401, 20402, 20403, 20404, 20405, 20406, 20407, 20408, 20409, 20410, 20411, 20415, 20416, 20417, 20418, 20419, 20420, 20422, 20424, 20426, 20427, 20428, 20429, 20430, 20431, 20432, 20433, 20434, 20435, 20436, 20438, 20439, 20440, 20441, 20442, 20443, 20444, 20445, 20447, 20448, 20449, 20450, 20451, 20452, 20453, 20454, 20455, 20456, 20458, 20459, 20460, 20463, 20464, 20465, 20470, 20471, 20472, 20473, 20474, 20475, 20476, 20477, 20478, 20479, 20480, 20481, 20482, 20483, 20484, 20485, 20486, 20488, 20489, 20490, 20491, 20492, 20493, 20494, 20495, 20496, 20497, 20498, 20499, 20500, 20501, 20502, 20503, 20504, 20505, 20506, 20507, 20508, 20509, 20510, 20511, 20512, 20513, 20514, 20515, 20516, 20518, 20520, 20551, 20552, 20553, 20554, 20555, 20556, 20557, 20561, 20563, 20564, 20599, 20600, 20601, 20603, 20604, 20605, 20606, 20607, 20608, 20609, 20610, 20611, 20612, 20613, 20614, 20616, 20617, 20618, 20619, 20634, 20635, 20666, 20668, 20669, 20670, 20671, 20672, 20673, 20674, 20676, 20677, 20678, 20679, 20680, 20682, 20683, 20684, 20685, 20709, 20710, 20713, 20714, 20722, 20723, 20724, 20726, 20727, 20728, 20729, 20730, 20731, 20732, 20735, 20736, 20747, 20748, 20749, 20751, 20752, 20753, 20755, 20756, 20757, 20762, 20763, 20764, 20765, 20766, 20767, 20768, 20769, 20770, 20771, 20772, 20773, 20774, 20775, 20777, 20778, 20779, 20780, 20781, 20782, 20783, 20784, 20785, 20786, 20787, 20788, 20789, 20790, 20791, 20792, 20793, 20794, 20795, 20796, 20797, 20798, 20799, 20800, 20801, 20802, 20803, 20804, 20805, 20806, 20807, 20808, 20809, 20810, 20811, 20812, 20813, 20814, 20815, 20816, 20825, 20845, 20846, 20847, 20848, 20849, 20850, 20851, 20852, 20853, 20854, 20855, 20856, 20857, 20858, 20859, 20864, 20865, 20866, 20867, 20868, 20869, 20870, 20871, 20872, 20873, 20874, 20875, 20876, 20877, 20878, 20879, 20880, 20881, 20882, 20883, 20885, 20886, 20887, 20889, 20890, 20891, 20892, 20893, 20894, 20895, 20896, 20897, 20898, 20899, 20900, 20901, 20902, 20903, 20904, 20905, 20906, 20907, 20908, 20909, 20910, 20911, 20912, 20913, 20914, 20915, 20916, 20917, 20918, 20920, 20921, 20922, 20924, 20925, 20926, 20927, 20928, 20929, 20930, 20931, 20932, 20933, 20934, 20977, 20978, 20980, 20981, 20982, 20983, 20984, 20985, 20986, 20987, 20988, 20989, 20990, 20995, 20998, 21004, 21005, 21006, 21007, 21008, 21009, 21010, 21018, 21019, 21021, 21022, 21023, 21024, 21025, 21026, 21027, 21029, 21030, 21032, 21033, 21039, 21040, 21041, 21042, 21044, 21045, 21046, 21047, 21048, 21049, 21050, 21051, 21052, 21053, 21055, 21056, 21057, 21058, 21059, 21060, 21061, 21062, 21063, 21064, 21065, 21066, 21071, 21072, 21073, 21074, 21075, 21077, 21078, 21079, 21080, 21081, 21082, 21083, 21084, 21085, 21086, 21087, 21088, 21089, 21090, 21092, 21093, 21094, 21095, 21096, 21097, 21101, 21102, 21103, 21104, 21105, 21106, 21107, 21108, 21109, 21110, 21111, 21112, 21113, 21114, 21115, 21116, 21117, 21118, 21119, 21120, 21123, 21124, 21126, 21127, 21128, 21129, 21130, 21131, 21132, 21133, 21134, 21135, 21136, 21137, 21138, 21139, 21142, 21145, 21147, 21148, 21151, 21152, 21153, 21155, 21156, 21157, 21158, 21159, 21160, 21161, 21164, 21168, 21170, 21171, 21172, 21173, 21174, 21175, 21176, 21178, 21179, 21180, 21181, 21182, 21183, 21185, 21186, 21188, 21189, 21192, 21193, 21194, 21195, 21196, 21197, 21198, 21200, 21203, 21205, 21207, 21209, 21210, 21211, 21212, 21213, 21214, 21215, 21216, 21217, 21218, 21220, 21221, 21225, 21233, 21234, 21235, 21236, 21237, 21238, 21241, 21242, 21244, 21245, 21246, 21249, 21250, 21251, 21253, 21254, 21255, 21256, 21257, 21258, 21259, 21261, 21262, 21263, 21264, 21265, 21267, 21275, 21276, 21277, 21279, 21283, 21284, 21285, 21286, 21287, 21288, 21289, 21290, 21291, 21292, 21293, 21294, 21295, 21296, 21300, 21301, 21302, 21303, 21304, 21305, 21306, 21307, 21308, 21309, 21310, 21311, 21312, 21313, 21314, 21315, 21316, 21317, 21318, 21319, 21322, 21323, 21324, 21325, 21326, 21328, 21330, 21331, 21332, 21334, 21335, 21336, 21337, 21338, 21339, 21340, 21341, 21342, 21343, 21344, 21345, 21346, 21347, 21348, 21349, 21350, 21351, 21352, 21353, 21354, 21357, 21359, 21362, 21365, 21368, 21370, 21373, 21375, 21376, 21380, 21381, 21382, 21383, 21384, 21385, 21386, 21387, 21389, 21391, 21393, 21394, 21395, 21396, 21397, 21398, 21399, 21400, 21402, 21403, 21404, 21405, 21408, 21409, 21410, 21411, 21413, 21414, 21416, 21417, 21419, 21420, 21422, 21423, 21425, 21426, 21427, 21428, 21429, 21430, 21432, 21434, 21435, 21436, 21437, 21438, 21439, 21440, 21441, 21443, 21444, 21445, 21446, 21447, 21448, 21449, 21450, 21451, 21452, 21453, 21454, 21455, 21456, 21457, 21458, 21459, 21460, 21461, 21462, 21463, 21464, 21465, 21466, 21467, 21468, 21469, 21470, 21471, 21472, 21474, 21475, 21476, 21477, 21478, 21483, 21484, 21485, 21487, 21488, 21489, 21492, 21493, 21494, 21496, 21497, 21498, 21499, 21500, 21501, 21502, 21503, 21504, 21505, 21506, 21510, 21512, 21514, 21515, 21516, 21517, 21518, 21519, 21520, 23408, 21713, 20588, 21627, 21628, 21632, 21633, 21636, 21637, 21638, 21639, 21640, 21641, 21643, 21644, 21648, 21649, 21650, 21651, 21652, 21654, 21655, 21656, 21657, 21658, 21659, 21660, 21661, 21662, 21663, 21664, 21682, 21683, 21684, 21685, 21686, 21687, 21690, 21691, 21692, 21694, 21695, 21696, 21699, 21700, 21701, 21702, 21703, 21704, 21705, 21706, 21707, 21708, 21709, 21710, 21711, 21717, 21718, 21719, 21720, 21721, 21722, 21723, 21724, 21725, 21726, 21727, 21728, 21729, 21730, 21731, 21732, 21733, 21734, 21735, 21736, 21737, 21738, 21739, 21740, 21741, 21742, 21743, 21744, 21746, 21747, 21748, 21749, 21750, 21751, 21752, 21753, 21754, 21755, 21756, 21757, 21759, 21760, 21761, 21763, 21766, 21767, 21768, 21769, 21770, 21771, 21772, 21773, 21774, 21775, 21776, 21777, 21778, 21779, 21780, 21782, 21783, 21784, 21787, 21788, 21789, 21790, 21791, 21792, 21793, 21794, 21795, 21796, 21797, 21798, 21801, 21802, 21803, 21804, 21805, 21807, 21808, 21809, 21810, 21811, 21814, 21815, 21816, 21817, 21818, 21819, 21820, 21821, 21822, 21823, 21824, 21826, 21827, 21829, 21837, 21839, 21840, 21844, 21846, 21847, 21849, 21851, 21852, 21853, 21854, 21855, 21856, 21858, 21859, 21860, 21861, 21862, 21864, 21867, 21869, 21870, 21872, 21876, 21877, 21878, 21879, 21891, 21892, 21893, 21894, 21895, 21896, 21897, 21898, 21899, 21901, 21902, 21903, 21904, 21905, 21906, 21907, 21908, 21909, 21911, 21912, 21921, 21922, 21923, 21924, 21925, 21926, 21928, 21930, 21931, 21935, 21936, 21937, 21938, 21939, 21940, 21941, 21942, 21944, 21945, 21946, 21947, 21949, 21950, 21951, 21952, 21953, 21954, 21955, 21956, 21957, 21960, 21961, 21962, 21963, 21967, 21968, 21969, 21970, 21971, 21974, 21975, 21976, 21978, 21979, 21981, 21983, 21984, 21985, 21986, 21992, 21993, 21995, 21996, 21997, 21998, 21999, 22000, 22001, 22002, 22003, 22004, 22005, 22006, 22007, 22008, 22009, 22011, 22012, 22013, 22015, 22016, 22017, 22018, 22019, 22020, 22021, 22022, 22023, 22024, 22025, 22026, 22027, 22037, 22038, 22039, 22040, 22042, 22043, 22044, 22045, 22046, 22051, 22052, 22053, 22054, 22058, 22059, 22060, 22061, 22062, 22063, 22064, 22065, 22066, 22068, 22069, 22070, 22071, 22072, 22073, 22074, 22075, 22076, 22077, 22078, 22079, 22080, 22081, 22082, 22083, 22084, 22085, 22086, 22087, 22088, 22089, 22090, 22093, 22094, 22095, 22096, 22097, 22098, 22099, 22100, 22101, 22102, 22103, 22105, 22106, 22107, 22108, 22110, 22112, 22113, 22114, 22115, 22116, 22121, 22122, 22123, 22124, 22125, 22126, 22127, 22130, 22132, 22133, 22134, 22135, 22136, 22137, 22138, 22139, 22141, 22142, 22143, 22144, 22146, 22148, 22149, 22150, 22151, 22160, 22174, 22175, 22177, 22180, 22181, 22182, 22187, 22189, 22194, 22195, 22196, 22197, 22199, 22201, 22202, 22204, 22205, 22206, 22208, 22211, 22212, 22213, 22214, 22215, 22216, 22217, 22218, 22221, 22224, 22225, 22226, 22227, 22228, 22229, 22230, 22231, 22232, 22233, 22234, 22235, 22237, 22239, 22240, 22241, 22242, 22243, 22244, 22246, 22252, 22253, 22254, 22255, 22257, 22258, 22259, 22260, 22261, 22262, 22263, 22265, 22267, 22268, 22269, 22272, 22273, 22274, 22275, 22277, 22278, 22279, 22280, 22281, 22282, 22283, 22285, 22286, 22287, 22288, 22289, 22291, 22292, 22293, 22295, 22297, 22298, 22301, 22302, 22303, 22305, 22306, 22307, 22308, 22309, 22310, 22311, 22312, 22313, 22314, 22315, 22317, 22318, 22320, 22323, 22325, 22326, 22327, 22331, 22332, 22333, 22334, 22336, 22337, 22338, 22339, 22340, 22341, 22342, 22343, 22348, 22350, 22351, 22355, 22356, 22357, 22358, 22360, 22362, 22363, 22364, 22365, 22367, 22368, 22369, 22370, 22371, 22372, 22373, 22374, 22375, 22376, 22377, 22378, 22380, 22381, 22384, 22385, 22386, 22387, 22388, 22389, 22390, 22392, 22393, 22394, 22395, 22396, 22400, 22401, 22402, 22403, 22404, 22405, 22406, 22407, 22408, 22410, 22417, 22419, 22420, 22421, 22422, 22423, 22424, 22427, 22429, 22430, 22431, 22432, 22433, 22434, 22435, 22436, 22437, 22438, 22439, 22440, 22441, 22442, 22443, 22444, 22445, 22446, 22447, 22448, 22449, 22451, 22452, 22453, 22454, 22455, 22456, 22457, 22458, 22459, 22460, 22461, 22462, 22463, 22464, 22465, 22466, 22467, 22468, 22469, 22470, 22471, 22472, 22473, 22474, 22476, 22477, 22478, 22479, 22480, 22481, 22482, 22483, 22484, 22485, 22488, 22489, 22490, 22491, 22492, 22494, 22495, 22496, 22497, 22498, 22499, 22500, 22502, 22503, 22504, 22505, 22506, 22507, 22508, 22510, 22511, 22512, 22513, 22514, 22519, 22520, 22523, 22656, 22798, 22799, 22800, 22801, 22819, 22821, 22822, 22831, 22832, 22841, 22842, 22843, 22844, 22845, 22846, 22847, 22848, 22849, 22851, 22853, 22855, 22869, 22871, 22873, 22874, 22875, 22876, 22877, 22878, 22880, 22881, 22882, 22883, 22884, 22885, 22887, 22890, 22891, 22892, 22893, 22898, 22899, 22905, 22917, 22918, 22922, 22924, 22939, 22940, 22945, 22947, 22948, 22949, 22950, 22951, 22952, 22953, 22954, 22955, 22960, 22963, 22972, 22974, 22980, 22982, 22985, 22987, 22991, 23016, 23022, 23028, 23029, 23030, 23038, 23042, 23048, 23050, 23051, 23066, 23079, 23082, 23086, 23127, 23147, 23151, 23162, 23165, 23172, 23175, 23176, 23177, 23178, 23179, 23204, 23207, 23219, 23257, 23263, 23270, 23271, 23272, 23273, 23306, 23330, 23337, 23339, 23363, 23367, 23378, 23381, 23383, 23291, 23411, 23415, 23418, 23419, 23420, 23421, 23433, 23434, 23435, 23437, 23440, 23443, 23446, 23449, 23461, 23462, 23463, 23464, 23465, 23466, 23483, 23484, 24003, 24004, 23320, 23489, 22997, 21714, 21715, 21716, 23258, 17207, 17809, 17810, 17811, 17812, 20923, 22834, 22837, 22932, 22981, 22979, 23036, 22993, 23338, 22994, 22992, 23002, 22931, 15666, 14443, 15214, 15383, 15431, 15432, 15434, 15437, 15445, 15446, 15448, 15450, 15451, 15452, 15453, 15455, 15456, 15457, 15485, 15486, 15488, 15490, 15520, 15539, 15663, 15701, 15709, 15720, 15731, 15733, 15734, 15735, 17376, 17708, 18528, 21140, 21166, 21252, 22515, 22833, 22857, 22859, 22861, 22862, 22863, 22864, 22872, 22934, 22935, 22936, 22966, 23033, 23102, 23180, 23268, 23326, 23373, 23396, 23409, 23452, 23454, 23534, 23535, 23536, 23699, 23719, 17910, 17911, 17912, 17913, 17914, 22986, 23035, 19, 29, 31, 49, 55, 62, 65, 71, 73, 82, 87, 90, 93, 102, 105, 106, 107, 108, 109, 111, 112, 120, 129, 130, 153, 192, 201, 211, 221, 224, 229, 230, 242, 262, 280, 281, 282, 283, 286, 287, 290, 291, 303, 309, 351, 361, 364, 365, 370, 371, 373, 387, 388, 389, 393, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 418, 421, 542, 564, 566, 567, 601, 638, 693, 700, 749, 841, 852, 860, 882, 929, 994, 995, 996, 1055, 1056, 1067, 1171, 1227, 1293, 1384, 1392, 1403, 1406, 1408, 1409, 1468, 1541, 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1593, 1594, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604, 1605, 1606, 1607, 1608, 1609, 1613, 1614, 1615, 1616, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1631, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1714, 1730, 1757, 1764, 1798, 1810, 1811, 1819, 1820, 1849, 1857, 1858, 1861, 1862, 1864, 1879, 1881, 1925, 1926, 1927, 1928, 1929, 1930, 1932, 1945, 1990, 1991, 2040, 2095, 2109, 2138, 2213, 2217, 2218, 2219, 2221, 2222, 2279, 2280, 2281, 2282, 2286, 2288, 2289, 2290, 2291, 2292, 2294, 2298, 2325, 2472, 2593, 2637, 2665, 2689, 2690, 2702, 2709, 2710, 2741, 2746, 2797, 2807, 2809, 2833, 2862, 2863, 2864, 2865, 2866, 2867, 2868, 2869, 2871, 2873, 2874, 2875, 2877, 2886, 2889, 2890, 2891, 2896, 2899, 2935, 2938, 2939, 3146, 3151, 3152, 3200, 3259, 3262, 3437, 3460, 3462, 3524, 3559, 3564, 3575, 3580, 3642, 3668, 3697, 3699, 3777, 3778, 3793, 3796, 3826, 3832, 3839, 3852, 3860, 3869, 3870, 3876, 3878, 3938, 3957, 3966, 3971, 3972, 3973, 3997, 4039, 4055, 4069, 4121, 4149, 4153, 4157, 4174, 4176, 4178, 4179, 4206, 4224, 4237, 4239, 4245, 4246, 4247, 4253, 4261, 4322, 4333, 4340, 4346, 4347, 4348, 4394, 4395, 4408, 4410, 4443, 4482, 4487, 4491, 4621, 4626, 4669, 4683, 4691, 4703, 4704, 4717, 4725, 4816, 4862, 4881, 4955, 4957, 4970, 4975, 4976, 4985, 4986, 4987, 4988, 4989, 4990, 4991, 4992, 4993, 4994, 4997, 4998, 4999, 5000, 5001, 5002, 5003, 5004, 5005, 5006, 5007, 5008, 5009, 5010, 5011, 5012, 5013, 5014, 5015, 5016, 5017, 5018, 5019, 5020, 5021, 5022, 5023, 5024, 5026, 5027, 5028, 5029, 5030, 5031, 5032, 5033, 5034, 5035, 5036, 5037, 5038, 5039, 5040, 5041, 5059, 5060, 5061, 5062, 5064, 5084, 5104, 5105, 5187, 5231, 5264, 5315, 5326, 5348, 5367, 5407, 5415, 5442, 5443, 5445, 5447, 5468, 5507, 5521, 5522, 5524, 5525, 5526, 5542, 5548, 5549, 5550, 5551, 5552, 5553, 5554, 5555, 5556, 5557, 5558, 5559, 5560, 5561, 5562, 5563, 5587, 5588, 5589, 5590, 5621, 5625, 5626, 5627, 5628, 5629, 5630, 5631, 5632, 5633, 5737, 5740, 5746, 5772, 5773, 5776, 5777, 5778, 5779, 5788, 5789, 5790, 5791, 5793, 5794, 5795, 5796, 5801, 5825, 5866, 5867, 5868, 5872, 5903, 5928, 5936, 5945, 5946, 5947, 5948, 5949, 5954, 5956, 5959, 5960, 5961, 5962, 5963, 5964, 5965, 5966, 5967, 5968, 5969, 5970, 5971, 5972, 5973, 5980, 5983, 5986, 5987, 5989, 5995, 6022, 6023, 6036, 6076, 6092, 6106, 6107, 6108, 6197, 6214, 6242, 6269, 6270, 6296, 6326, 6327, 6346, 6561, 6571, 6572, 6573, 6666, 6687, 6767, 6772, 6773, 7006, 7008, 7013, 7014, 7094, 7095, 7096, 7116, 7117, 7119, 7121, 7122, 7123, 7124, 7127, 7128, 7129, 7130, 7131, 7133, 7134, 7143, 7144, 7146, 7150, 7151, 7152, 7173, 7174, 7186, 7227, 7270, 7373, 7374, 7375, 7377, 7378, 7388, 7393, 7488, 7503, 7504, 7525, 7526, 7528, 7546, 7547, 7548, 7551, 7552, 7554, 7556, 7558, 7559, 7561, 7563, 7570, 7663, 7689, 7703, 7709, 7710, 7711, 7712, 7713, 7743, 7745, 7746, 7747, 7748, 7791, 7896, 7898, 7906, 7919, 7935, 8148, 8206, 8316, 8321, 8322, 8323, 8377, 8406, 8407, 8505, 8536, 8537, 8552, 8559, 8599, 8613, 8663, 8676, 8677, 8765, 8777, 8880, 8887, 8935, 9180, 9275, 9276, 9417, 9542, 9576, 9578, 9579, 9581, 9582, 9599, 9702, 9703, 9704, 9705, 9837, 9896, 9936, 10080, 10081, 10084, 10178, 10203, 10236, 10237, 10238, 10239, 10291, 10292, 10294, 10295, 10297, 10298, 10395, 10397, 10449, 10451, 10452, 10453, 10454, 10459, 10466, 10483, 10484, 10492, 10493, 10494, 10579, 10783, 10784, 10785, 10786, 10787, 10788, 10789, 10790, 10791, 10792, 10793, 10794, 10795, 10796, 10797, 10798, 10818, 10819, 10820, 10898, 10985, 10989, 11045, 11144, 11148, 11149, 11151, 11179, 11292, 11381, 11392, 11393, 11394, 11395, 11396, 11398, 11399, 11400, 11402, 11403, 11404, 11405, 11408, 11409, 11410, 11411, 11412, 11413, 11414, 11415, 11416, 11437, 11474, 11479, 11494, 11547, 11549, 11550, 11579, 11580, 11581, 11597, 11606, 11617, 11618, 11619, 11628, 11676, 11719, 11742, 11743, 11779, 11780, 11809, 11816, 11902, 11903, 11904, 11905, 11906, 11907, 11908, 11909, 11919, 11926, 11938, 11958, 12020, 12035, 12036, 12039, 12040, 12044, 12054, 12142, 12145, 12146, 12147, 12176, 12177, 12200, 12260, 12386, 12434, 12536, 12741, 12758, 12819, 12857, 12898, 13083, 13148, 13281, 13339, 13477, 13496, 13516, 13517, 13518, 13519, 13520, 13521, 13522, 13523, 13619, 13620, 13856, 13857, 13977, 14016, 14017, 14018, 14019, 14042, 14061, 14062, 14063, 14101, 14141, 14142, 14143, 14144, 14145, 14146, 14147, 14148, 14161, 14162, 14181, 14184, 14261, 14265, 14274, 14302, 14306, 14307, 14309, 14310, 14311, 14312, 14341, 14346, 14352, 14391, 14406, 14422, 14493, 14501, 14554, 14562, 14563, 14605, 14606, 14623, 14629, 14630, 14631, 14632, 14633, 14635, 14636, 14641, 14642, 14643, 14644, 14681, 14682, 14683, 14684, 14685, 14687, 14688, 14689, 14690, 14691, 14692, 14694, 14695, 14696, 14697, 14698, 14700, 14701, 14702, 14703, 14704, 14705, 14707, 14708, 14709, 14710, 14712, 14713, 14714, 14719, 14746, 14755, 14756, 14761, 14801, 14824, 14851, 14852, 14853, 14854, 14855, 14856, 14858, 14877, 14879, 14885, 14886, 14941, 14966, 14967, 14968, 15081, 15085, 15110, 15118, 15121, 15123, 15135, 15139, 15166, 15216, 15217, 15219, 15313, 15314, 15317, 15328, 15349, 15356, 15357, 15359, 15360, 15361, 15364, 15368, 15373, 15374, 15375, 15376, 15377, 15382, 15394, 15410, 15411, 15412, 15413, 15414, 15421, 15422, 15423, 15424, 15425, 15426, 15427, 15435, 15436, 15449, 15454, 15459, 15460, 15465, 15466, 15469, 15475, 15481, 15495, 15506, 15507, 15512, 15514, 15518, 15519, 15522, 15524, 15525, 15529, 15530, 15532, 15533, 15534, 15535, 15536, 15545, 15552, 15553, 15571, 15590, 15591, 15609, 15610, 15611, 15618, 15623, 15625, 15626, 15627, 15628, 15629, 15633, 15634, 15639, 15640, 15653, 15660, 15661, 15672, 15680, 15685, 15693, 15694, 15695, 15703, 15705, 15710, 15711, 15712, 15717, 15719, 15721, 15723, 15724, 15729, 15730, 15736, 15737, 15738, 15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754, 15756, 15757, 15758, 15759, 15769, 15770, 15771, 15772, 15773, 15774, 15775, 15776, 15777, 15778, 15780, 15781, 15782, 15783, 15784, 15785, 15786, 15787, 15788, 15789, 15790, 15791, 15792, 15793, 15794, 15795, 15796, 15797, 15798, 15799, 15800, 15801, 15804, 15805, 15806, 15807, 15808, 15809, 15810, 15811, 15812, 15813, 15814, 15815, 15816, 15817, 15832, 15835, 15838, 15839, 15840, 15841, 15842, 15843, 15844, 15845, 15846, 15847, 15848, 15849, 15850, 15851, 15855, 15856, 15860, 15861, 15863, 15864, 15865, 15867, 15872, 15873, 15874, 15875, 15876, 15877, 15878, 15879, 15880, 15881, 15884, 15885, 15886, 15887, 15888, 15889, 15890, 15896, 15899, 15900, 15901, 15902, 15905, 15906, 15907, 15908, 15909, 15911, 15912, 15913, 15914, 15915, 15916, 15917, 15919, 15922, 15923, 15925, 15926, 15927, 15933, 15934, 15935, 15944, 15947, 15955, 15957, 15959, 15961, 15972, 15973, 16000, 16001, 16002, 16003, 16004, 16005, 16007, 16008, 16009, 16019, 16023, 16026, 16027, 16035, 16038, 16039, 16040, 16041, 16049, 16050, 16051, 16052, 16053, 16054, 16055, 16056, 16057, 16058, 16066, 16072, 16075, 16082, 16083, 16084, 16086, 16092, 16093, 16095, 16098, 16100, 16105, 16106, 16107, 16108, 16109, 16110, 16111, 16120, 16121, 16123, 16124, 16125, 16126, 16128, 16129, 16136, 16137, 16139, 16141, 16142, 16148, 16150, 16172, 16181, 16182, 16184, 16190, 16207, 16211, 16212, 16214, 16233, 16234, 16235, 16255, 16265, 16281, 16284, 16285, 16286, 16296, 16306, 16312, 16356, 16359, 16360, 16363, 16369, 16373, 16374, 16378, 16393, 16419, 16420, 16421, 16422, 16423, 16427, 16428, 16429, 16430, 16432, 16433, 16434, 16435, 16436, 16437, 16439, 16440, 16445, 16450, 16454, 16455, 16456, 16486, 16487, 16508, 16509, 16510, 16511, 16512, 16513, 16527, 16532, 16533, 16538, 16564, 16565, 16566, 16605, 16606, 16608, 16614, 16622, 16630, 16645, 16661, 16682, 16711, 16717, 16720, 16730, 16737, 16754, 16758, 16759, 16760, 16770, 16783, 16784, 16785, 16849, 16853, 23311, 16868, 16869, 16872, 16874, 16875, 16877, 16881, 16882, 16883, 16889, 16890, 16891, 16892, 16893, 16894, 16895, 16900, 16902, 16908, 16909, 16910, 16926, 16930, 16931, 16935, 16936, 16940, 16941, 16942, 16953, 16955, 16956, 16957, 16958, 16961, 16962, 16963, 16965, 16969, 16970, 16979, 16981, 16982, 16983, 16984, 16985, 16986, 16987, 16988, 16989, 16990, 16997, 16999, 17009, 17010, 17011, 17012, 17013, 17016, 17017, 17018, 17019, 17020, 17021, 17022, 17024, 17025, 17026, 17027, 17028, 17029, 17030, 17031, 17032, 17055, 17061, 17063, 17064, 17065, 17075, 17078, 17081, 17082, 17091, 17107, 17118, 17140, 17145, 17162, 17163, 17165, 17198, 17221, 17227, 17239, 17254, 17258, 17261, 17284, 17286, 17288, 17289, 17292, 17294, 17295, 17297, 17301, 17302, 17315, 17319, 17332, 17335, 17351, 17354, 17365, 17366, 17367, 17368, 17369, 17382, 17383, 17384, 17385, 17386, 17387, 17388, 17389, 17390, 17394, 17396, 17411, 17415, 17419, 17422, 17430, 17449, 17450, 17451, 17454, 17456, 17457, 17458, 17460, 17466, 17470, 17476, 17492, 17501, 17502, 17506, 17507, 17515, 17516, 17526, 17533, 17534, 17559, 17560, 17561, 17562, 17563, 17564, 17565, 17566, 17567, 17568, 17569, 17570, 17571, 17572, 17573, 17574, 17576, 17577, 17579, 17580, 17581, 17582, 17583, 17590, 17593, 17594, 17595, 17596, 17597, 17601, 17602, 17605, 17615, 17616, 17617, 17618, 17619, 17620, 17625, 17638, 17639, 17640, 17641, 17643, 17644, 17646, 17648, 17650, 17652, 17665, 17668, 17672, 17675, 17677, 17679, 17688, 17691, 17697, 17699, 17700, 17706, 17709, 17736, 17755, 17818, 17823, 17829, 17851, 17854, 17861, 17863, 17864, 17867, 17868, 17869, 17872, 17873, 17902, 17903, 17905, 17906, 17907, 17908, 17916, 17946, 17949, 17950, 17967, 17970, 17971, 17973, 18001, 18036, 18040, 18041, 18045, 18047, 26651, 26342, 26341, 26340, 26339, 26338, 26337, 25579, 25578, 25577, 25576, 25575, 18060, 18061, 18078, 18081, 18082, 18083, 18084, 18085, 18095, 18104, 18107, 18108, 18153, 18154, 18156, 18157, 18158, 18169, 18178, 18184, 18198, 18239, 18241, 18254, 18269, 18270, 18271, 18284, 18287, 18288, 18304, 18361, 18368, 18403, 18410, 18425, 25574, 25573, 25572, 25571, 25570, 18474, 18479, 18526, 18529, 18534, 18546, 18550, 18551, 18552, 18562, 18582, 18599, 25569, 25568, 25567, 25566, 25565, 25564, 25563, 25562, 25561, 25560, 25559, 25558, 25557, 25556, 25555, 25554, 25553, 25552, 25551, 25550, 25549, 18643, 18645, 18665, 18679, 18684, 18689, 18691, 18692, 18695, 18697, 18721, 18738, 18739, 18740, 18741, 18742, 18769, 18770, 18780, 18783, 18801, 18806, 18819, 18820, 18844, 18845, 18846, 18851, 18854, 18861, 18862, 18863, 18868, 18871, 18874, 18876, 18878, 18889, 18920, 18925, 18932, 18958, 18961, 18979, 18980, 19010, 19031, 19036, 19037, 19039, 19040, 19054, 19066, 19069, 19070, 19072, 19134, 19135, 19145, 19146, 19160, 19198, 19199, 19200, 19214, 19228, 19230, 19247, 19260, 19262, 19267, 19268, 19269, 19285, 19286, 19287, 19288, 19290, 19311, 19313, 19320, 19322, 19327, 19334, 19347, 19356, 19357, 19365, 19366, 19385, 19386, 19391, 19403, 19404, 19406, 19407, 19418, 19454, 19463, 19487, 19490, 19491, 19492, 19522, 19552, 19553, 19563, 19564, 19566, 19567, 19577, 19584, 19585, 19586, 19587, 19591, 19596, 19600, 19601, 19602, 19603, 19605, 19609, 19611, 19613, 19614, 19615, 19630, 19636, 19637, 19638, 19639, 19650, 19695, 19696, 19700, 19704, 19708, 19721, 19739, 19741, 19742, 19743, 19745, 19746, 19748, 19749, 19750, 19751, 19752, 19753, 19758, 19761, 19770, 19771, 19785, 19786, 19787, 19790, 19791, 19793, 19794, 19798, 19803, 19804, 19805, 19807, 19808, 19809, 19810, 19811, 19812, 19813, 19814, 19815, 19816, 19817, 19818, 19819, 19820, 19821, 19822, 19828, 19829, 19835, 19841, 19846, 19854, 19877, 19883, 25548, 25547, 25546, 25545, 25544, 25543, 25542, 25541, 24857, 23186, 23185, 23184, 23182, 23181, 23122, 22938, 22399, 22346, 22322, 22300, 19917, 19927, 19928, 19929, 19930, 19931, 19941, 19954, 19974, 19975, 19976, 19981, 19999, 20000, 20019, 20045, 20047, 20048, 20049, 20050, 20073, 20074, 20085, 20091, 20099, 20103, 20104, 20105, 20106, 20107, 20122, 20128, 20144, 20146, 22173, 22172, 22171, 22170, 22169, 22168, 22167, 22166, 22164, 22163, 22162, 22129, 21991, 21990, 21989, 21988, 21943, 21919, 21918, 21917, 21916, 21915, 21914, 21843, 21842, 21841, 21786, 21712, 21647, 20200, 20212, 20213, 20225, 20245, 21646, 21645, 21626, 21625, 21624, 21623, 21622, 21621, 21620, 21619, 21618, 21617, 21616, 21615, 21614, 21613, 21612, 20277, 20297, 21611, 21610, 21609, 21608, 21607, 21606, 21605, 21604, 21603, 21602, 21601, 21600, 21599, 21598, 21597, 21596, 21595, 21594, 21593, 21592, 21591, 21590, 21589, 21588, 21587, 21586, 20325, 20356, 20364, 20366, 20367, 20369, 20371, 20375, 20413, 20414, 20421, 20423, 20425, 20446, 20457, 20461, 20462, 20466, 20467, 20468, 20469, 20517, 20519, 21585, 21584, 21583, 21582, 21581, 21580, 21579, 21578, 21577, 21576, 21575, 21574, 21573, 21572, 21571, 21570, 21569, 21568, 21567, 21566, 21565, 21564, 21563, 21562, 21561, 21560, 21559, 21558, 21557, 21556, 20558, 20560, 20562, 21555, 21554, 21553, 21552, 21551, 21550, 21549, 21548, 21547, 21546, 21545, 21544, 21543, 21542, 21541, 21540, 21539, 21538, 21537, 21536, 21535, 21534, 21533, 21532, 21531, 21530, 21529, 21528, 21527, 21526, 21525, 21524, 21523, 21522, 20602, 20615, 20993, 20746, 20745, 20744, 20743, 20742, 20741, 20740, 20739, 20738, 20737, 20706, 20705, 20704, 20703, 20702, 20701, 20700, 20699, 20698, 20697, 20696, 20695, 20694, 20693, 20692, 20691, 20690, 20689, 20688, 20687, 20686, 20665, 20664, 20663, 20662, 20661, 20660, 20659, 20658, 20657, 20656, 20667, 20675, 20681, 20655, 20654, 20653, 20652, 20651, 20650, 20649, 20648, 20647, 20646, 20645, 20644, 20643, 20642, 20641, 20640, 20639, 20638, 20637, 20636, 20633, 20707, 20708, 20716, 20717, 20718, 20719, 20720, 20725, 20733, 20734, 20632, 20631, 20630, 20629, 20628, 20627, 20626, 20625, 20624, 20623, 20754, 20776, 20817, 20818, 20819, 20820, 20821, 20822, 20823, 20824, 20826, 20827, 20828, 20829, 20830, 20831, 20832, 20833, 20834, 20835, 20836, 20837, 20838, 20839, 20840, 20841, 20842, 20843, 20844, 20860, 20861, 20862, 20863, 20884, 20888, 20919, 20979, 20991, 20622, 20621, 20994, 20999, 21001, 21002, 21011, 21012, 21013, 21014, 21015, 21016, 21017, 21020, 21031, 21034, 21035, 21036, 21037, 21038, 21043, 21054, 21067, 21068, 21069, 21070, 21076, 21091, 21098, 21099, 21100, 21121, 21122, 21143, 21144, 21146, 21149, 21150, 21154, 21162, 21163, 21165, 21167, 21169, 21177, 21184, 21187, 21190, 21191, 21199, 21201, 21202, 21204, 21206, 21208, 21222, 21224, 21226, 21227, 21228, 21229, 21230, 21231, 21232, 21239, 21240, 21243, 21247, 21248, 21260, 21266, 21268, 21269, 21270, 21271, 21272, 21273, 21274, 21278, 21281, 21297, 21298, 21299, 21320, 21321, 21329, 21355, 21356, 21358, 21360, 21361, 21363, 21364, 21366, 21367, 21369, 21371, 21372, 21374, 21388, 21390, 21392, 21401, 21406, 21407, 21412, 21415, 21418, 21421, 21424, 21473, 21479, 21480, 21481, 21482, 21490, 21491, 21495, 21508, 21511, 21513, 20620, 20594, 20593, 20592, 20587, 20586, 20585, 20584, 20583, 20582, 20570, 20550, 20549, 20548, 20547, 20540, 20539, 20527, 20526, 20524, 20523, 20522, 20521, 20323, 20322, 20321, 20320, 20319, 20318, 20317, 20316, 20315, 20314, 20313, 20312, 20311, 20310, 20309, 20308, 20307, 20306, 20305, 20304, 20303, 20302, 20301, 20300, 20299, 20298, 20268, 20267, 20266, 20265, 20264, 20263, 20262, 20261, 20260, 20259, 20258, 20257, 20256, 20255, 20254, 21629, 21630, 21631, 21634, 21635, 21642, 20253, 20252, 20193, 21653, 21665, 21666, 21667, 21668, 21669, 21670, 21671, 21672, 21673, 21674, 21675, 21676, 21677, 21678, 21679, 21680, 21681, 21688, 21689, 21697, 21698, 20192, 21758, 21762, 21781, 20191, 21799, 21800, 21806, 21812, 21830, 21831, 21832, 21833, 21834, 21835, 21836, 20190, 20189, 21845, 21848, 21850, 21857, 21863, 21865, 21866, 21871, 21873, 21874, 21875, 21880, 21881, 21882, 21883, 21884, 21885, 21886, 21887, 21888, 21889, 21900, 21910, 21913, 20187, 20186, 20185, 20184, 20183, 20182, 21920, 21929, 21932, 21933, 21934, 20181, 21958, 21959, 21964, 21965, 21966, 21972, 21973, 21977, 21980, 21982, 21987, 20180, 20179, 20178, 20177, 21994, 22010, 22028, 22029, 22030, 22031, 22032, 22033, 22034, 22035, 22036, 22041, 22047, 22049, 22050, 22055, 22056, 22057, 22067, 22091, 22104, 22109, 22111, 22117, 22118, 22119, 22120, 22128, 20176, 22131, 22140, 22147, 22152, 22161, 20175, 20174, 20173, 20172, 20171, 20170, 20169, 20168, 20167, 20166, 20165, 20164, 22176, 22186, 22188, 22190, 22191, 22192, 22193, 22200, 22203, 22207, 22209, 22210, 22219, 22220, 22236, 22238, 22247, 22248, 22249, 22250, 22251, 22256, 22264, 22266, 22270, 22271, 22276, 22290, 22299, 19904, 22304, 22316, 22319, 19903, 22328, 22330, 22335, 22344, 22345, 19902, 22347, 22349, 22352, 22353, 22354, 22359, 22361, 22366, 22379, 22383, 22391, 22398, 19901, 22411, 22412, 22413, 22414, 22415, 22416, 22418, 22425, 22426, 22428, 22450, 22475, 22486, 22487, 22501, 22509, 22516, 22517, 22518, 22521, 22524, 22525, 22526, 22527, 22528, 22529, 22530, 22531, 22532, 22533, 22534, 22535, 22536, 22537, 22538, 22539, 22540, 22541, 22542, 22543, 22544, 22545, 22546, 22547, 22548, 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, 22575, 22576, 22577, 22578, 22579, 22580, 22581, 22582, 22583, 22584, 22585, 22586, 22587, 22588, 22589, 22590, 22591, 22592, 22593, 22594, 22595, 22596, 22597, 22598, 22599, 22600, 22601, 22602, 22603, 22604, 22605, 22606, 22607, 22608, 22609, 22610, 22611, 22612, 22613, 22614, 22615, 22616, 22617, 22618, 22619, 22620, 22621, 22622, 22623, 22624, 22625, 22626, 22627, 22628, 22629, 22630, 22631, 22632, 22633, 22634, 22635, 22636, 22637, 22638, 22639, 22640, 22641, 22642, 22643, 22644, 22645, 22646, 22647, 22648, 22649, 22650, 22651, 22652, 22653, 22654, 22655, 22657, 22658, 22659, 22660, 22661, 22662, 22663, 22664, 22665, 22666, 22667, 22668, 22669, 22670, 22671, 22672, 22673, 22674, 22675, 22676, 22677, 22678, 22679, 22680, 22681, 22682, 22683, 22684, 22685, 22686, 22687, 22688, 22689, 22690, 22691, 22692, 22693, 22694, 22695, 22696, 22697, 22698, 22699, 22700, 22701, 22702, 22703, 22704, 22705, 22706, 22707, 22708, 22709, 22710, 22711, 22712, 22713, 22714, 22715, 22716, 22717, 22718, 22719, 22720, 22721, 22722, 22723, 22724, 22725, 22727, 22728, 22729, 22730, 22731, 22732, 22733, 22734, 22735, 22736, 22737, 22738, 22739, 22741, 22743, 22744, 22745, 22746, 22747, 22748, 22749, 22750, 22751, 22752, 22753, 22754, 22755, 22756, 22757, 22758, 22759, 22760, 22761, 22762, 22763, 22764, 22765, 22766, 22767, 22768, 22769, 22770, 22771, 22772, 22773, 22774, 22775, 22776, 22777, 22778, 22779, 22780, 22781, 22782, 22783, 22784, 22785, 22786, 22787, 22788, 22789, 22790, 22791, 22792, 22793, 22794, 22795, 22796, 22797, 22807, 22818, 22820, 22824, 22836, 22838, 22888, 22900, 22910, 22911, 22912, 22923, 22941, 22958, 22967, 22975, 22976, 22977, 22978, 22995, 23007, 23019, 23037, 23040, 23052, 23053, 23055, 23056, 23059, 23061, 23063, 23076, 23077, 23078, 23087, 23088, 23094, 23110, 23112, 23113, 23115, 23116, 23118, 23119, 23120, 23128, 23173, 23174, 23188, 23199, 23208, 23212, 23218, 23220, 23230, 23231, 23233, 23234, 23246, 23253, 23255, 23256, 23260, 23261, 23262, 23266, 23278, 23281, 23282, 23300, 23301, 23310, 23316, 23322, 23323, 23327, 23328, 23334, 23335, 23343, 23347, 23362, 23365, 23380, 23382, 23385, 23386, 23392, 23395, 23406, 23407, 23413, 23428, 23439, 23455, 23456, 23457, 23458, 23459, 23460, 23473, 23496, 23500, 23512, 23157, 23243, 23244, 23245, 23447, 23139, 23140, 23370, 23149, 24484, 23511, 23482, 23510, 23521, 23702, 23558, 23684, 23808, 24766, 23683, 23488, 23700, 23628, 23627, 23710, 24468, 24710, 23703, 23522, 23698, 23525, 24108, 23706, 23486, 24109, 24463, 24462, 23487, 23696, 23685, 23481, 22943, 23635, 24497, 24510, 23605, 23606, 24711, 24501, 24492, 24493, 24498, 24657, 24495, 24499, 23604, 23603, 24373, 24372, 23533, 24265, 24264, 24263, 23531, 23530, 23529, 23966, 23537, 23682, 23686, 23758, 23800, 24034, 24700, 24814, 23619, 23623, 23624, 23625, 23626, 24519, 23973, 23712, 23103, 23713, 23971, 953, 1401, 1758, 1759, 1760, 1761, 1762, 1850, 1979, 1980, 2051, 2154, 2424, 3201, 4450, 4942, 5063, 5201, 5596, 6526, 6688, 6926, 6931, 7236, 7314, 7624, 7938, 8498, 8499, 8500, 8501, 8502, 8796, 9567, 9658, 9659, 9686, 10044, 10156, 10620, 10736, 11080, 11537, 11538, 11539, 11540, 11541, 11542, 11543, 11544, 11545, 11623, 11978, 12317, 12417, 12421, 12462, 12466, 12469, 12470, 12516, 12517, 12804, 12916, 12917, 13056, 13838, 14735, 14830, 14831, 14870, 14906, 14913, 15133, 15134, 15142, 15143, 15144, 15145, 15151, 15152, 15153, 15154, 15155, 15156, 15157, 15158, 15159, 15160, 15161, 15167, 15173, 15619, 15632, 15982, 15983, 15985, 15992, 15993, 15996, 15997, 15998, 15999, 16077, 16078, 16089, 16099, 16496, 16497, 16498, 16536, 16609, 16861, 17042, 17313, 17428, 17575, 17685, 17737, 17738, 17739, 17740, 17741, 17742, 17743, 17744, 17745, 17746, 17747, 17748, 17749, 17750, 17751, 17752, 17753, 17754, 17756, 17757, 17758, 17759, 17760, 17761, 17762, 17763, 17764, 17774, 17775, 17776, 17777, 17778, 17779, 17780, 17781, 17782, 17783, 17784, 17785, 17786, 17787, 17788, 17789, 17790, 17791, 17792, 17793, 17859, 17997, 18148, 18149, 18163, 18164, 18216, 18217, 18268, 18623, 18624, 18890, 18935, 18936, 18941, 19057, 19058, 19059, 19060, 19078, 19079, 19080, 19081, 19082, 19083, 19084, 19085, 19086, 19087, 19088, 19089, 19090, 19091, 19092, 19093, 19094, 19095, 19096, 19097, 19098, 19099, 19100, 19101, 19102, 19103, 19104, 19105, 19106, 19107, 19108, 19109, 19110, 19111, 19112, 19113, 19114, 19115, 19116, 19117, 19118, 19119, 19121, 19122, 19123, 19124, 19125, 19126, 19127, 19128, 19129, 19130, 19131, 19132, 19233, 19237, 19323, 19430, 19431, 19691, 20094, 20219, 20275, 20282, 20412, 21521, 20935, 20936, 20937, 20938, 20939, 20940, 20941, 20942, 20943, 20944, 20945, 20946, 20947, 20948, 20949, 20950, 20951, 20952, 20953, 20954, 20955, 20956, 20957, 20958, 20959, 20960, 20961, 20962, 20963, 20964, 20965, 20966, 20967, 20968, 20969, 20970, 20971, 20972, 20973, 20974, 20975, 20976, 21003, 21333, 21507, 20598, 20597, 20596, 20595, 20589, 20581, 20580, 20579, 20578, 20577, 20576, 20575, 20574, 20573, 20572, 20571, 20569, 20568, 20567, 20566, 20565, 20546, 20545, 20544, 20543, 20542, 20541, 20538, 20537, 20536, 20535, 20534, 20533, 20532, 20531, 20530, 20529, 20528, 20525, 21764, 21765, 21838, 20188, 21868, 22048, 22145, 22185, 22284, 22296, 22409, 22522, 22802, 22804, 22806, 22810, 22811, 22812, 22813, 22814, 22815, 22816, 22817, 22823, 22825, 22826, 22827, 22828, 22829, 22830, 22835, 22839, 22840, 22850, 22856, 22858, 22860, 22865, 22866, 22867, 22868, 22870, 22879, 22886, 22889, 22894, 22895, 22896, 22897, 22901, 22902, 22903, 22904, 22906, 22907, 22908, 22909, 22913, 22914, 22915, 22916, 22919, 22920, 22921, 22925, 22926, 22927, 22928, 22929, 22930, 22933, 22937, 19900, 22942, 22946, 22956, 22957, 22959, 22962, 22964, 22965, 22968, 22969, 22970, 22971, 22973, 22983, 22984, 22988, 22989, 22990, 22996, 22998, 22999, 23000, 23001, 23003, 23004, 23005, 23006, 23008, 23009, 23010, 23011, 23012, 23015, 23018, 23020, 23021, 23023, 23024, 23025, 23026, 23027, 23031, 23032, 23034, 23039, 23043, 23044, 23045, 23046, 23047, 23049, 23054, 23057, 23058, 23060, 23062, 23064, 23065, 23067, 23068, 23069, 23070, 23071, 23072, 23073, 23074, 23075, 23080, 23081, 23083, 23084, 23085, 23089, 23090, 23091, 23092, 23093, 23095, 23096, 23097, 23098, 23099, 23100, 23101, 23104, 23105, 23106, 23107, 23108, 23109, 23111, 23114, 23117, 23121, 19899, 23123, 23124, 23129, 23130, 23131, 23132, 23133, 23134, 23135, 23136, 23137, 23138, 23141, 23142, 23143, 23144, 23145, 23146, 23148, 23150, 23152, 23153, 23154, 23155, 23158, 23159, 23160, 23161, 23163, 23164, 23166, 23167, 23168, 23169, 23170, 23171, 19898, 19897, 19896, 19895, 19894, 19893, 23187, 23189, 23190, 23191, 23192, 23193, 23194, 23195, 23196, 23197, 23198, 23200, 23201, 23202, 23203, 23205, 23206, 23209, 23210, 23211, 23213, 23214, 23215, 23216, 23217, 23222, 23223, 23224, 23225, 23226, 23227, 23228, 23229, 23232, 23235, 23236, 23237, 23239, 23240, 23241, 23242, 23247, 23249, 23250, 23252, 23254, 23259, 23264, 23265, 23267, 23269, 23274, 23275, 23276, 23277, 23279, 23280, 23283, 23284, 23285, 23286, 23287, 23288, 23289, 23290, 23292, 23293, 23294, 23295, 23296, 23297, 23298, 23299, 23304, 23305, 23307, 23308, 23309, 23312, 23313, 23314, 23315, 23317, 23318, 23319, 23321, 23324, 23325, 23329, 23331, 23332, 23333, 23336, 23340, 23341, 23342, 23344, 23345, 23346, 23348, 23349, 23350, 23351, 23353, 23354, 23355, 23356, 23357, 23358, 23359, 23360, 23361, 23364, 23366, 23368, 23369, 23371, 23372, 23374, 23375, 23376, 23377, 23379, 23384, 23387, 23388, 23389, 23390, 23391, 23393, 23394, 23397, 23398, 23399, 23400, 23401, 23402, 23403, 23404, 23405, 23410, 23412, 23414, 23416, 23417, 23422, 23423, 23424, 23425, 23426, 23427, 23429, 23430, 23436, 23438, 23441, 23442, 23444, 23445, 23448, 23451, 23453, 23467, 23468, 23469, 23470, 23471, 23472, 23474, 23475, 23476, 23477, 23478, 23479, 23480, 23485, 23491, 23497, 23498, 23499, 23501, 23502, 23503, 23504, 23505, 23506, 23507, 23508, 23509, 23523, 23524, 23526, 23527, 23528, 23532, 23540, 23543, 23544, 23545, 23561, 23562, 23563, 23588, 23599, 23607, 23608, 23609, 23610, 23611, 23613, 23614, 23615, 23616, 23617, 23618, 23621, 23622, 23629, 23630, 23631, 23632, 23633, 23634, 23694, 23697, 23707, 23708, 23709, 23721, 23722, 23754, 23765, 23775, 23788, 23795, 23819, 23820, 23824, 23825, 23830, 23845, 23850, 23852, 23853, 23854, 23855, 23872, 23894, 23902, 23903, 23904, 23909, 23910, 23936, 23952, 23988, 24039, 24171, 24202, 24203, 24204, 24205, 24220, 24292, 24293, 24294, 24295, 24296, 24297, 24298, 24299, 24300, 24301, 24302, 24303, 24304, 24305, 24306, 24307, 24308, 24309, 24310, 24311, 24319, 24337, 24360, 24361, 24364, 24417, 24470, 24491, 24496, 24503, 24522, 24527, 24529, 24536, 24545, 24631, 24632, 24658, 24753, 24860, 24366, 23542, 23554, 23555, 23559, 23560, 23565, 23566, 23567, 23568, 23569, 23570, 23571, 23572, 23573, 23574, 23576, 23577, 23578, 23579, 23580, 23581, 23582, 23583, 23584, 23585, 23586, 23587, 23589, 23590, 23591, 23592, 23593, 23594, 23595, 23596, 23597, 23598, 23600, 23601, 23602, 23612, 23620, 23636, 23637, 23679, 23681, 23687, 23701, 23704, 23705, 23714, 23716, 23717, 23718, 23720, 23723, 23724, 23727, 23741, 23745, 23746, 23747, 23748, 23751, 23752, 23753, 23757, 23759, 23761, 23762, 23764, 23766, 23768, 23769, 23774, 23786, 23787, 23789, 23790, 23797, 23807, 23811, 23812, 23813, 23814, 23815, 23817, 23818, 23822, 23832, 23834, 23835, 23841, 23843, 23858, 23861, 23863, 23864, 23868, 23869, 23873, 23877, 23878, 23879, 23880, 23881, 23889, 23892, 23893, 23896, 23897, 23899, 23900, 23905, 23907, 23912, 23913, 23914, 23920, 23928, 23941, 23942, 23944, 23948, 23949, 23950, 23951, 23969, 23979, 23995, 23999, 24001, 24005, 24006, 24007, 24024, 24025, 24043, 24047, 24059, 24064, 24065, 24133, 24136, 24138, 24143, 24144, 24159, 24175, 24179, 24180, 24187, 24207, 24208, 24217, 24222, 24223, 24224, 24225, 24239, 24240, 24241, 24242, 24243, 24244, 24245, 24246, 24247, 24312, 24320, 24325, 24338, 24351, 24352, 24358, 24363, 24365, 24367, 24369, 24370, 24374, 24375, 24377, 24378, 24379, 24382, 24383, 24384, 24386, 24388, 24389, 24392, 24393, 24394, 24395, 24396, 24397, 24403, 24404, 24405, 24406, 24407, 24408, 24409, 24410, 24411, 24412, 24413, 24414, 24415, 24416, 24419, 24420, 24421, 24422, 24423, 24424, 24425, 24426, 24427, 24428, 24429, 24430, 24431, 24432, 24433, 24434, 24435, 24436, 24437, 24441, 24442, 24443, 24444, 24445, 24448, 24451, 24452, 24453, 24455, 24456, 24457, 24476, 24477, 24480, 24481, 24482, 24483, 24486, 24487, 24488, 24489, 24490, 24504, 24505, 24506, 24507, 24508, 24509, 24520, 24530, 24549, 24550, 24551, 24552, 24630, 24653, 24654, 24667, 24668, 24670, 24671, 24672, 24727, 24728, 24729, 24734, 24735, 24736, 24737, 24738, 24739, 24740, 24743, 24780, 24782, 24792, 24805, 24818, 24819, 24830, 24833, 24834, 24835, 24836, 24837, 24838, 24839, 24840, 24841, 24842, 24843, 24851, 24858, 24868, 24905, 24906, 24924, 24925, 24926, 24927, 24929, 24930, 24931, 24934, 24935, 24968, 24969, 24970, 24971, 24974, 24977, 24982, 24984, 24985, 24986, 24987, 24988, 24989, 24990, 24993, 24995, 24996, 24997, 24998, 25007, 25009, 25010, 25011, 25012, 25013, 25014, 25015, 25016, 25017, 25018, 25019, 25020, 25021, 25022, 25023, 25024, 25025, 25029, 25040, 25050, 25051, 25052, 25053, 25054, 25055, 25056, 25058, 25062, 25070, 25071, 25072, 25074, 25075, 25076, 25077, 25078, 25079, 25080, 25081, 25082, 25083, 25089, 25093, 25094, 25095, 25096, 25097, 25098, 25099, 25100, 25101, 25102, 25103, 25104, 25105, 25106, 25107, 25109, 25110, 25111, 25113, 25139, 25145, 25146, 25147, 25148, 25149, 25150, 25151, 25152, 25168, 25171, 25173, 25176, 25177, 25178, 25179, 25180, 25181, 25182, 25183, 25184, 25185, 25186, 25187, 25188, 25189, 25190, 25191, 25193, 25194, 25195, 25196, 25200, 25202, 25207, 25212, 25158, 25160, 24664, 24723, 24744, 24675, 24777, 24674, 25061, 25031, 24559, 25153, 24553, 24555, 24561, 24698, 25033, 24554, 24557, 24683, 24684, 24688, 24696, 24697, 24556, 24558, 24685, 24686, 24687, 24762, 24822, 25155, 24690, 24844, 24848, 25976, 25992, 25141, 25144, 25134, 25967, 24938, 25142, 25034, 24813, 25991, 25885, 25140, 25167, 25059, 26253, 25162, 25028, 25170, 25001, 25060, 25063, 25115, 25143, 25003, 25027, 25580, 24722, 25049, 25047, 25030, 24965, 24967, 24761, 25138, 24976, 25161, 25169, 25057, 25002, 24972, 25032, 24966, 24978, 24979, 24994, 24999, 25977, 26560, 24960, 25175, 25073, 25132, 25164, 24656, 24815, 25084, 67, 70, 72, 75, 81, 149, 150, 161, 163, 165, 200, 204, 207, 208, 209, 219, 220, 243, 260, 296, 298, 301, 318, 319, 320, 321, 322, 323, 324, 326, 333, 336, 339, 354, 380, 386, 444, 470, 496, 497, 498, 509, 516, 535, 536, 538, 586, 592, 605, 606, 607, 609, 610, 611, 612, 613, 614, 725, 753, 809, 897, 904, 919, 924, 1058, 1230, 1235, 1288, 1290, 1306, 1361, 1455, 1467, 1485, 1546, 1567, 1643, 1644, 1649, 1659, 1677, 1859, 1987, 2087, 2133, 2197, 2199, 2200, 2220, 2223, 2293, 2295, 2296, 2297, 2300, 2301, 2312, 2313, 2441, 2617, 2756, 2813, 2815, 2872, 2883, 2885, 2940, 3070, 3071, 3082, 3148, 3176, 3202, 3299, 3302, 3303, 3307, 3420, 3427, 3440, 3525, 3558, 3565, 3623, 3651, 3718, 3831, 4045, 4115, 4313, 4315, 4318, 4439, 4579, 4882, 5050, 5051, 5098, 5131, 5192, 5544, 5604, 5678, 5813, 5818, 5876, 5877, 5904, 6032, 6046, 6067, 6183, 6769, 6770, 6783, 8549, 9557, 9577, 9617, 9820, 10256, 10265, 10362, 10365, 10368, 10401, 10402, 10403, 10404, 10443, 10444, 10446, 10448, 10450, 10607, 10810, 11337, 11341, 11342, 11343, 11344, 11345, 11349, 11354, 11358, 11364, 11366, 11367, 11369, 11375, 11376, 11377, 11379, 11384, 11385, 11386, 11449, 11463, 11468, 11478, 11481, 11493, 11495, 11499, 11500, 11599, 11601, 11660, 11670, 11959, 12038, 14201, 14699, 14706, 14711, 15210, 15223, 15226, 15227, 15228, 15231, 15232, 15234, 15237, 15238, 15239, 15243, 15244, 15245, 15248, 15251, 15253, 15254, 15255, 15256, 15257, 15258, 15259, 15322, 15326, 15329, 15330, 15331, 15332, 15337, 15342, 15345, 15346, 15347, 15393, 15472, 15646, 16138, 16140, 16188, 16556, 16557, 16560, 16561, 16562, 16563, 16567, 16569, 16570, 16571, 16572, 16581, 17463, 17733, 17813, 17828, 17939, 17965, 17966, 18329, 18355, 18366, 18367, 18699, 19711, 19714, 23183, 20051, 22165, 21219, 21223, 21378, 20591, 20590, 21785, 22740, 22742, 22852, 22854, 22944, 22961, 23126, 23238, 24324, 24560, 24649, 24650, 24666, 24689, 24692, 24693, 24695, 24699, 24708, 24715, 24745, 24781, 24808, 24809, 24850, 24854, 24855, 19892, 24866, 24867, 24881, 24882, 24885, 24886, 24891, 24892, 24893, 24895, 24903, 24904, 24907, 24908, 24916, 24917, 24918, 24919, 24920, 24921, 24922, 24923, 24928, 24932, 24933, 24936, 24937, 24939, 24940, 24941, 24942, 24943, 24944, 24945, 24946, 24947, 24948, 24949, 24950, 24951, 24952, 24953, 24955, 24958, 24959, 24961, 24962, 24963, 24964, 24975, 24980, 24981, 24991, 25000, 25004, 25005, 25008, 25035, 25036, 25037, 25038, 25039, 25041, 25042, 25043, 25044, 25045, 25046, 25064, 25065, 25066, 25067, 25068, 25069, 25085, 25086, 25087, 25088, 25090, 25091, 25092, 25108, 25112, 25114, 25116, 25117, 25118, 25119, 25120, 25121, 25122, 25123, 25124, 25125, 25126, 25127, 25128, 25129, 25130, 25131, 25133, 25135, 25136, 25137, 25154, 25156, 25157, 25163, 25165, 25166, 25172, 25174, 25192, 25213, 25214, 25218, 25223, 25225, 25236, 25246, 25265, 25267, 25268, 25303, 25305, 25315, 25319, 25324, 25325, 25344, 25345, 25346, 25347, 25348, 25354, 25357, 25358, 25360, 25363, 25367, 25368, 25369, 25370, 25371, 25372, 25373, 25483, 25484, 25485, 25486, 25491, 25499, 25500, 25502, 25506, 25507, 25508, 25509, 25515, 25518, 25535, 25536, 25537, 25538, 25539, 25540, 19891, 19890, 19889, 19888, 19887, 19886, 19885, 19884, 18621, 18620, 18619, 18618, 18617, 18616, 18615, 18614, 18613, 18612, 18611, 18610, 18609, 18608, 18607, 18606, 18605, 18604, 18603, 18602, 18601, 18436, 18435, 18434, 18433, 18432, 18059, 18058, 18057, 18056, 18055, 25588, 25591, 25592, 25593, 25595, 25597, 25598, 25599, 25603, 25608, 25632, 25633, 25634, 25638, 25639, 25640, 25644, 25653, 25661, 25662, 25663, 25695, 25697, 25703, 25706, 25708, 25710, 25731, 25735, 25740, 25741, 25744, 25745, 25746, 25754, 25755, 25756, 25757, 25770, 25772, 25782, 25795, 25796, 25798, 25799, 25824, 25837, 25840, 25848, 25851, 25852, 25853, 25854, 25855, 25856, 25857, 25858, 25859, 25860, 25863, 25864, 25865, 25866, 25867, 25868, 25869, 25870, 25871, 25872, 25873, 25874, 25875, 25876, 25877, 25878, 25879, 25882, 25883, 25884, 25886, 25887, 25888, 25889, 25890, 25891, 25892, 25893, 25894, 25895, 25896, 25897, 25898, 25899, 25900, 25901, 25902, 25903, 25904, 25905, 25906, 25907, 25908, 25909, 25910, 25911, 25912, 25913, 25914, 25915, 25916, 25917, 25918, 25919, 25920, 25921, 25922, 25923, 25924, 25925, 25926, 25927, 25928, 25929, 25930, 25931, 25932, 25933, 25934, 25935, 25936, 25937, 25938, 25939, 25940, 25941, 25942, 25943, 25944, 25945, 25946, 25947, 25948, 25949, 25950, 25951, 25952, 25953, 25954, 25955, 25956, 25957, 25958, 25959, 25960, 25961, 25962, 25964, 25965, 25966, 25970, 25971, 25972, 25973, 25974, 25975, 25980, 25985, 25994, 26007, 26012, 26016, 26017, 26019, 26020, 26021, 26024, 26027, 26028, 26029, 26030, 26031, 26032, 26033, 26037, 26038, 26042, 26046, 26050, 26056, 26057, 26075, 26089, 26090, 26091, 26092, 26101, 26102, 26111, 26113, 26116, 26119, 26120, 26121, 26123, 26124, 26131, 26164, 26166, 26176, 26177, 26178, 26188, 26190, 26192, 26204, 26207, 26214, 26215, 26216, 26221, 26222, 26223, 26230, 26238, 26239, 26240, 26241, 26242, 26243, 26244, 26246, 26247, 26251, 26254, 26255, 26258, 26259, 26262, 26267, 26289, 26300, 26301, 26302, 26303, 26304, 26305, 26306, 26307, 26308, 26309, 26323, 26324, 26325, 26326, 26327, 26328, 26329, 26330, 26331, 26332, 18054, 18053, 18052, 18051, 18050, 18049, 26346, 26350, 26351, 26352, 26353, 26354, 26355, 26367, 26378, 26383, 26384, 26391, 26393, 26394, 26395, 26396, 26397, 26398, 26400, 26401, 26438, 26439, 26464, 26465, 26466, 26502, 26520, 26534, 26576, 26579, 26650, 18048, 26698, 26724, 26738, 26739, 26740, 26741, 26742, 26743, 26744, 26745, 26747, 26748, 26749, 26750, 26751, 26752, 26753, 26754, 26755, 26756, 26757, 26758, 26759, 26760, 26765, 26781, 27703, 27705, 27666, 27721, 27722, 27667, 29093, 29089, 28267, 27668, 28126, 27723, 27711, 28344, 28343, 28363, 27704, 28470, 28569, 28596, 28572, 28571, 28573, 27217, 28206, 27398, 27346, 27399, 28132, 28163, 27637, 27684, 27541, 27817, 27478, 27215, 27584, 27989, 27890, 26834, 28067, 28209, 28210, 28225, 28227, 28226, 26719, 26775, 26774, 26776, 26764, 26822, 27169, 27166, 27818, 28329, 27216, 27489, 27867, 27914, 29095, 27707, 32842, 29142, 32835, 29238, 27819, 29141, 29712, 29088, 29144, 29152, 29016, 29154, 29019, 29290, 29287, 29289, 29172, 30030, 30034, 27305, 27845, 27059, 30653, 29888, 30379, 32841, 26482, 27483, 26125, 29452, 25197, 28017, 30734, 30721, 28302, 26643, 29264, 29998, 27829, 30567, 30566, 30586, 30587, 30713, 30730, 32633, 32638, 32639, 28883, 26358, 26369, 28297, 27893, 29202, 29587, 29589, 29588, 28486, 27928, 29480, 28500, 32543, 29239, 29203, 29207, 29246, 29212, 29205, 29208, 32546, 32547, 28491, 28481, 28490, 28488, 32542, 32545, 29194, 29196, 28489, 29195, 29231, 29218, 29210, 29232, 32637, 26548, 31792, 31791, 31793, 31788, 31789, 31790, 30217, 25760, 25762, 28440, 24637, 25800, 26549, 27393, 29617, 25827, 25737, 29158, 25251, 25302, 26879, 27010, 25306, 25826, 25248, 25234, 25299, 25253, 25298, 24357, 25317, 25249, 25219, 25271, 25245, 25307, 25222, 25220, 24771, 25281, 25282, 26992, 25297, 25605, 32564, 26999, 26988, 25238, 25235, 27011, 25241, 25239, 25240, 26155, 27364, 27365, 25816, 24042, 26998, 26993, 26995, 27000, 26989, 26994, 26990, 25395, 25828, 25311, 27001, 26991, 26987, 26997, 27012, 25582, 25825, 25264, 25301, 25285, 25300, 25250, 27385, 29298, 29327, 28404, 25489, 31186, 30231, 32517, 28002, 30481, 25675, 31122, 25791, 28306, 27936, 23013, 23014, 23041, 23513, 23514, 23515, 23516, 23517, 23518, 23519, 23520, 23538, 23539, 23546, 23547, 23548, 23549, 23550, 23551, 23552, 23553, 23556, 23557, 23564, 23575, 23638, 23639, 23640, 23641, 23642, 23643, 23644, 23645, 23646, 23647, 23648, 23649, 23650, 23651, 23652, 23653, 23654, 23655, 23656, 23657, 23658, 23659, 23660, 23661, 23662, 23663, 23664, 23665, 23666, 23667, 23668, 23669, 23670, 23671, 23672, 23673, 23674, 23675, 23676, 23677, 23678, 23680, 23688, 23689, 23690, 23691, 23692, 23693, 23695, 23711, 23715, 23725, 23726, 23728, 23729, 23730, 23731, 23732, 23733, 23734, 23735, 23736, 23737, 23738, 23739, 23740, 23743, 23744, 23749, 23750, 23755, 23756, 23760, 23763, 23767, 23770, 23771, 23772, 23773, 23776, 23777, 23778, 23779, 23780, 23781, 23782, 23783, 23784, 23785, 23791, 23792, 23793, 23794, 23796, 23801, 23802, 23803, 23804, 23805, 23806, 23809, 23810, 23816, 23821, 23823, 23826, 23831, 23833, 23836, 23837, 23838, 23839, 23840, 23842, 23844, 23851, 23856, 23857, 23859, 23860, 23862, 23865, 23866, 23867, 23870, 23871, 23874, 23875, 23876, 23882, 23883, 23884, 23885, 23886, 23887, 23888, 23891, 23895, 23898, 23901, 23906, 23908, 23911, 23915, 23916, 23917, 23919, 23921, 23922, 23923, 23924, 23925, 23929, 23930, 23931, 23932, 23933, 23934, 23935, 23937, 23938, 23939, 23940, 23943, 23945, 23946, 23947, 23953, 23954, 23956, 23957, 23958, 23959, 23960, 23961, 23962, 23963, 23964, 23965, 23967, 23968, 23970, 23972, 23974, 23975, 23976, 23977, 23978, 23980, 23981, 23982, 23983, 23984, 23985, 23986, 23987, 23989, 23990, 23991, 23992, 23993, 23994, 23996, 23997, 23998, 24000, 24008, 24009, 24010, 24012, 24013, 24014, 24015, 24016, 24017, 24018, 24019, 24020, 24021, 24022, 24023, 24026, 24027, 24028, 24029, 24030, 24031, 24032, 24033, 24035, 24037, 24038, 24040, 24041, 24044, 24045, 24046, 24048, 24049, 24050, 24051, 24052, 24053, 24054, 24055, 24056, 24057, 24058, 24060, 24061, 24062, 24063, 24066, 24067, 24068, 24069, 24071, 24072, 24073, 24074, 24075, 24076, 24077, 24078, 24079, 24080, 24081, 24082, 24083, 24084, 24085, 24086, 24087, 24088, 24089, 24090, 24091, 24092, 24093, 24094, 24095, 24096, 24097, 24098, 24099, 24100, 24101, 24102, 24103, 24104, 24105, 24106, 24107, 24110, 24111, 24112, 24113, 24114, 24115, 24116, 24117, 24118, 24119, 24120, 24121, 24122, 24123, 24124, 24125, 24126, 24127, 24128, 24129, 24130, 24131, 24132, 24134, 24135, 24137, 24139, 24141, 24142, 24145, 24146, 24147, 24148, 24149, 24150, 24151, 24152, 24153, 24154, 24155, 24156, 24157, 24158, 24160, 24161, 24162, 24164, 24165, 24166, 24167, 24168, 24169, 24170, 24172, 24173, 24174, 24176, 24177, 24178, 24181, 24182, 24183, 24184, 24185, 24186, 24188, 24189, 24190, 24191, 24192, 24193, 24194, 24195, 24196, 24197, 24198, 24199, 24200, 24201, 24206, 24209, 24210, 24211, 24212, 24213, 24214, 24215, 24216, 24218, 24219, 24221, 24226, 24227, 24228, 24229, 24230, 24231, 24232, 24233, 24234, 24235, 24236, 24237, 24238, 24248, 24249, 24250, 24251, 24252, 24253, 24254, 24255, 24256, 24257, 24258, 24259, 24260, 24261, 24262, 24266, 24267, 24268, 24269, 24270, 24271, 24272, 24273, 24274, 24275, 24276, 24277, 24278, 24279, 24280, 24281, 24282, 24283, 24284, 24285, 24286, 24287, 24288, 24289, 24290, 24291, 24313, 24314, 24315, 24316, 24317, 24321, 24322, 24323, 24326, 24327, 24328, 24329, 24330, 24331, 24332, 24333, 24334, 24335, 24336, 24339, 24340, 24341, 24342, 24343, 24344, 24345, 24346, 24347, 24348, 24349, 24350, 24353, 24354, 24355, 24356, 24359, 24362, 24371, 24376, 24380, 24381, 24385, 24387, 24390, 24391, 24398, 24399, 24400, 24401, 24418, 24438, 24439, 24440, 24446, 24447, 24449, 24450, 24454, 24458, 24459, 24460, 24461, 24464, 24465, 24466, 24467, 24469, 24471, 24472, 24473, 24474, 24475, 24478, 24479, 24485, 24494, 24500, 24512, 24513, 24514, 24515, 24516, 24517, 24518, 24521, 24524, 24525, 24526, 24528, 24531, 24532, 24533, 24534, 24535, 24537, 24538, 24539, 24540, 24541, 24542, 24543, 24544, 24546, 24547, 24548, 24562, 24563, 24564, 24565, 24566, 24567, 24568, 24569, 24570, 24571, 24572, 24573, 24574, 24575, 24576, 24577, 24578, 24579, 24580, 24581, 24582, 24583, 24584, 24585, 24586, 24587, 24588, 24589, 24590, 24591, 24592, 24593, 24594, 24595, 24596, 24597, 24598, 24599, 24600, 24601, 24602, 24603, 24604, 24605, 24606, 24607, 24608, 24609, 24610, 24611, 24612, 24613, 24614, 24615, 24616, 24617, 24618, 24619, 24620, 24621, 24622, 24623, 24624, 24625, 24626, 24627, 24628, 24629, 24633, 24634, 24635, 24636, 24638, 24639, 24640, 24641, 24642, 24643, 24644, 24645, 24646, 24647, 24648, 24651, 24652, 24655, 24661, 24662, 24663, 24665, 24669, 24673, 24676, 24677, 24678, 24681, 24682, 24694, 24701, 24702, 24703, 24704, 24705, 24706, 24707, 24709, 24712, 24713, 24714, 24716, 24717, 24718, 24719, 24720, 24721, 24724, 24725, 24726, 24730, 24731, 24732, 24733, 24741, 24742, 24746, 24747, 24748, 24749, 24750, 24751, 24752, 24754, 24755, 24756, 24757, 24758, 24759, 24760, 24763, 24764, 24765, 24767, 24768, 24769, 24770, 24775, 24776, 24778, 24779, 24783, 24784, 24785, 24786, 24787, 24788, 24789, 24790, 24791, 24793, 24794, 24795, 24796, 24797, 24798, 24799, 24800, 24801, 24802, 24803, 24804, 24806, 24807, 24810, 24811, 24812, 24816, 24817, 24820, 24821, 24823, 24824, 24825, 24826, 24827, 24828, 24829, 24831, 24832, 24845, 24846, 24847, 24849, 24852, 24853, 24859, 24861, 24862, 24863, 24864, 24865, 24869, 24870, 24871, 24872, 24874, 24875, 24876, 24877, 24878, 24879, 24880, 24883, 24884, 24887, 24888, 24889, 24890, 24894, 24896, 24897, 24898, 24899, 24900, 24901, 24902, 24910, 24911, 24912, 24913, 24914, 24915, 24954, 24956, 24957, 24973, 24983, 24992, 25006, 25026, 25198, 25199, 25201, 25203, 25204, 25205, 25206, 25208, 25209, 25210, 25211, 25215, 25216, 25217, 25221, 25224, 25226, 25227, 25228, 25229, 25230, 25231, 25232, 25233, 25237, 25242, 25243, 25244, 25247, 25252, 25254, 25255, 25256, 25257, 25258, 25259, 25260, 25261, 25262, 25263, 25266, 25269, 25270, 25272, 25273, 25274, 25275, 25276, 25277, 25278, 25279, 25280, 25283, 25284, 25286, 25287, 25288, 25289, 25290, 25291, 25292, 25293, 25294, 25295, 25296, 25308, 25309, 25310, 25312, 25313, 25314, 25316, 25318, 25320, 25321, 25322, 25323, 25326, 25327, 25328, 25329, 25330, 25331, 25332, 25333, 25334, 25335, 25336, 25337, 25338, 25339, 25340, 25341, 25342, 25343, 25349, 25350, 25351, 25352, 25353, 25355, 25356, 25359, 25361, 25362, 25364, 25365, 25366, 25374, 25375, 25376, 25377, 25378, 25379, 25380, 25381, 25382, 25383, 25384, 25385, 25386, 25387, 25388, 25389, 25390, 25391, 25392, 25393, 25394, 25396, 25397, 25398, 25399, 25400, 25401, 25402, 25403, 25404, 25405, 25406, 25410, 25411, 25412, 25413, 25414, 25415, 25416, 25417, 25418, 25419, 25420, 25421, 25422, 25423, 25424, 25425, 25426, 25427, 25428, 25429, 25430, 25431, 25432, 25433, 25434, 25435, 25436, 25437, 25438, 25439, 25440, 25441, 25442, 25443, 25444, 25445, 25446, 25447, 25448, 25449, 25450, 25451, 25452, 25453, 25454, 25455, 25456, 25457, 25458, 25459, 25460, 25461, 25462, 25463, 25464, 25465, 25466, 25467, 25468, 25469, 25470, 25471, 25472, 25473, 25474, 25475, 25476, 25477, 25478, 25479, 25480, 25481, 25482, 25487, 25488, 25490, 25492, 25493, 25494, 25495, 25496, 25497, 25498, 25501, 25503, 25504, 25505, 25510, 25511, 25512, 25513, 25514, 25516, 25519, 25520, 25521, 25522, 25523, 25524, 25525, 25526, 25527, 25528, 25529, 25530, 25531, 25532, 25533, 25534, 25581, 25583, 25584, 25585, 25586, 25587, 25589, 25590, 25594, 25596, 25600, 25601, 25602, 25604, 25606, 25607, 25609, 25610, 25611, 25612, 25613, 25614, 25615, 25616, 25617, 25618, 25619, 25622, 25623, 25624, 25625, 25629, 25636, 25650, 25651, 25652, 25654, 25655, 25656, 25658, 25659, 25660, 25664, 25665, 25666, 25667, 25668, 25669, 25670, 25671, 25672, 25673, 25674, 25676, 25677, 25678, 25679, 25680, 25681, 25682, 25683, 25684, 25685, 25686, 25687, 25688, 25689, 25690, 25691, 25692, 25693, 25694, 25698, 25699, 25700, 25701, 25702, 25704, 25705, 25707, 25709, 25711, 25712, 25713, 25714, 25715, 25716, 25717, 25718, 25719, 25720, 25721, 25722, 25723, 25724, 25725, 25726, 25727, 25728, 25729, 25730, 25732, 25733, 25734, 25736, 25738, 25739, 25742, 25743, 25747, 25748, 25749, 25750, 25751, 25752, 25753, 25758, 25759, 25761, 25763, 25764, 25765, 25766, 25767, 25768, 25769, 25771, 25773, 25774, 25775, 25776, 25777, 25778, 25780, 25781, 25783, 25784, 25785, 25786, 25787, 25788, 25789, 25790, 25792, 25793, 25794, 25797, 25801, 25802, 25803, 25804, 25805, 25806, 25807, 25808, 25809, 25810, 25811, 25812, 25813, 25814, 25815, 25817, 25818, 25819, 25820, 25821, 25822, 25823, 25829, 25830, 25831, 25832, 25833, 25834, 25835, 25836, 25838, 25839, 25841, 25842, 25843, 25844, 25845, 25846, 25847, 25849, 25850, 25861, 25862, 25880, 25881, 25963, 25968, 25969, 25978, 25979, 25981, 25982, 25983, 25984, 25986, 25987, 25988, 25989, 25990, 25993, 25995, 26040, 26041, 26043, 26044, 26045, 26047, 26048, 26073, 26076, 26078, 26080, 26081, 26082, 26083, 26084, 26085, 26086, 26088, 26093, 26094, 26096, 26097, 26098, 26099, 26103, 26104, 26105, 26109, 26110, 26112, 26114, 26115, 26117, 26126, 26127, 26128, 26129, 26130, 26156, 26157, 26158, 26159, 26160, 26161, 26162, 26165, 26167, 26169, 26170, 26171, 26172, 26173, 26174, 26175, 26179, 26180, 26181, 26182, 26183, 26184, 26185, 26186, 26187, 26189, 26191, 26193, 26194, 26195, 26196, 26197, 26198, 26199, 26200, 26201, 26202, 26203, 26205, 26206, 26212, 26213, 26217, 26218, 26219, 26220, 26224, 26225, 26226, 26227, 26228, 26229, 26231, 26232, 26233, 26234, 26235, 26236, 26237, 26245, 26248, 26249, 26250, 26252, 26256, 26257, 26260, 26261, 26263, 26264, 26265, 26266, 26268, 26269, 26270, 26271, 26272, 26273, 26274, 26275, 26276, 26277, 26278, 26279, 26280, 26281, 26282, 26283, 26284, 26285, 26286, 26287, 26288, 26290, 26291, 26292, 26293, 26294, 26295, 26296, 26297, 26298, 26299, 26310, 26311, 26312, 26313, 26316, 26317, 26318, 26319, 26320, 26321, 26322, 26333, 26334, 26335, 26336, 26343, 26344, 26347, 26348, 26349, 26356, 26357, 26359, 26360, 26361, 26362, 26363, 26364, 26365, 26366, 26368, 26370, 26371, 26372, 26373, 26374, 26375, 26376, 26377, 26379, 26380, 26381, 26382, 26387, 26388, 26389, 26390, 26392, 26402, 26403, 26404, 26405, 26406, 26407, 26408, 26409, 26410, 26411, 26412, 26413, 26414, 26415, 26416, 26417, 26418, 26420, 26421, 26422, 26423, 26424, 26425, 26426, 26427, 26428, 26429, 26430, 26432, 26433, 26434, 26435, 26436, 26437, 26440, 26441, 26442, 26443, 26444, 26445, 26446, 26447, 26448, 26449, 26450, 26451, 26452, 26454, 26455, 26456, 26457, 26458, 26459, 26460, 26461, 26462, 26467, 26468, 26469, 26470, 26471, 26472, 26473, 26474, 26475, 26476, 26477, 26480, 26481, 26483, 26484, 26485, 26486, 26487, 26488, 26489, 26490, 26491, 26492, 26493, 26494, 26495, 26496, 26497, 26498, 26499, 26500, 26501, 26503, 26504, 26505, 26506, 26507, 26508, 26509, 26510, 26511, 26512, 26513, 26514, 26515, 26516, 26517, 26518, 26519, 26521, 26522, 26523, 26524, 26525, 26526, 26527, 26528, 26529, 26530, 26531, 26532, 26533, 26535, 26536, 26537, 26538, 26539, 26540, 26541, 26542, 26543, 26544, 26546, 26547, 26550, 26551, 26552, 26553, 26554, 26555, 26556, 26557, 26558, 26559, 26561, 26564, 26565, 26566, 26567, 26568, 26569, 26570, 26571, 26572, 26573, 26574, 26575, 26577, 26578, 26580, 26581, 26582, 26583, 26584, 26585, 26586, 26587, 26588, 26589, 26590, 26591, 26592, 26593, 26594, 26595, 26596, 26597, 26598, 26599, 26600, 26601, 26602, 26603, 26604, 26605, 26606, 26607, 26608, 26612, 26613, 26614, 26615, 26616, 26617, 26618, 26619, 26620, 26621, 26622, 26623, 26624, 26625, 26626, 26627, 26628, 26630, 26631, 26632, 26633, 26634, 26635, 26636, 26637, 26638, 26639, 26641, 26644, 26645, 26646, 26647, 26648, 26649, 26652, 26653, 26654, 26655, 26656, 26658, 26659, 26660, 26661, 26662, 26663, 26664, 26665, 26666, 26667, 26668, 26669, 26670, 26671, 26672, 26673, 26674, 26675, 26676, 26677, 26678, 26679, 26680, 26681, 26682, 26683, 26684, 26685, 26686, 26687, 26690, 26691, 26692, 26693, 26694, 26696, 26697, 26699, 26700, 26701, 26702, 26703, 26704, 26705, 26706, 26707, 26708, 26709, 26711, 26712, 26713, 26716, 26718, 26720, 26721, 26722, 26723, 26725, 26726, 26727, 26728, 26729, 26730, 26731, 26732, 26733, 26734, 26735, 26736, 26737, 26746, 26761, 26762, 26763, 26766, 26767, 26768, 26769, 26770, 26771, 26772, 26773, 26777, 26778, 26779, 26780, 26782, 26783, 26784, 26785, 26786, 26787, 26788, 26789, 26790, 26791, 26792, 26793, 26794, 26795, 26796, 26797, 26798, 26799, 26800, 26801, 26802, 26803, 26804, 26805, 26806, 26807, 26808, 26809, 26810, 26811, 26812, 26813, 26814, 26815, 26816, 26817, 26818, 26819, 26820, 26821, 26823, 26824, 26825, 26826, 26827, 26828, 26829, 26830, 26831, 26832, 26833, 26835, 26836, 26837, 26838, 26839, 26840, 26841, 26842, 26844, 26845, 26846, 26847, 26848, 26850, 26851, 26852, 26853, 26854, 26855, 26856, 26857, 26858, 26859, 26860, 26861, 26862, 26863, 26864, 26865, 26867, 26868, 26869, 26870, 26871, 26872, 26873, 26874, 26875, 26876, 26877, 26878, 26880, 26881, 26882, 26883, 26884, 26885, 26886, 26887, 26888, 26889, 26890, 26891, 26892, 26893, 26894, 26895, 26896, 26897, 26898, 26899, 26900, 26901, 26902, 26903, 26904, 26905, 26906, 26907, 26908, 26909, 26910, 26911, 26912, 26913, 26914, 26915, 26916, 26917, 26918, 26919, 26920, 26921, 26922, 26923, 26924, 26925, 26926, 26927, 26928, 26929, 26930, 26931, 26932, 26933, 26934, 26935, 26936, 26937, 26938, 26939, 26941, 26942, 26943, 26944, 26945, 26946, 26947, 26948, 26949, 26950, 26951, 26952, 26953, 26954, 26955, 26956, 26957, 26958, 26959, 26960, 26961, 26962, 26963, 26964, 26965, 26966, 26967, 26968, 26969, 26970, 26971, 26972, 26973, 26974, 26975, 26976, 26977, 26978, 26979, 26980, 26981, 26982, 26983, 26984, 26985, 26986, 26996, 27002, 27003, 27004, 27005, 27006, 27007, 27008, 27009, 27014, 27015, 27017, 27018, 27019, 27020, 27021, 27022, 27023, 27024, 27025, 27026, 27027, 27028, 27029, 27030, 27031, 27032, 27033, 27034, 27035, 27036, 27037, 27038, 27039, 27040, 27041, 27042, 27043, 27044, 27045, 27046, 27047, 27048, 27049, 27051, 27052, 27053, 27054, 27055, 27056, 27057, 27058, 27060, 27061, 27062, 27063, 27064, 27065, 27066, 27067, 27068, 27069, 27070, 27071, 27072, 27073, 27074, 27075, 27079, 27088, 27089, 27099, 27101, 27102, 27103, 27104, 27105, 27106, 27107, 27108, 27109, 27110, 27111, 27112, 27113, 27114, 27115, 27117, 27118, 27119, 27120, 27121, 27122, 27123, 27125, 27126, 27127, 27131, 27132, 27133, 27134, 27135, 27136, 27137, 27138, 27139, 27140, 27141, 27142, 27143, 27144, 27145, 27146, 27147, 27148, 27149, 27150, 27151, 27152, 27153, 27154, 27155, 27156, 27157, 27158, 27159, 27160, 27161, 27162, 27163, 27164, 27165, 27167, 27168, 27170, 27171, 27172, 27173, 27174, 27175, 27176, 27177, 27178, 27179, 27180, 27181, 27182, 27183, 27184, 27185, 27186, 27187, 27188, 27189, 27190, 27191, 27193, 27194, 27195, 27196, 27197, 27198, 27199, 27200, 27201, 27202, 27203, 27204, 27205, 27206, 27207, 27208, 27209, 27210, 27211, 27212, 27213, 27214, 27218, 27219, 27220, 27221, 27222, 27223, 27224, 27225, 27226, 27227, 27228, 27229, 27230, 27231, 27232, 27233, 27234, 27235, 27236, 27237, 27238, 27239, 27240, 27241, 27242, 27243, 27244, 27245, 27246, 27247, 27248, 27249, 27250, 27251, 27252, 27253, 27254, 27255, 27257, 27258, 27259, 27260, 27261, 27262, 27263, 27264, 27265, 27266, 27267, 27268, 27270, 27271, 27272, 27273, 27274, 27275, 27276, 27277, 27278, 27279, 27280, 27281, 27282, 27283, 27284, 27285, 27286, 27287, 27288, 27289, 27290, 27291, 27292, 27293, 27294, 27295, 27296, 27297, 27298, 27299, 27300, 27301, 27302, 27303, 27304, 27306, 27307, 27308, 27309, 27310, 27311, 27312, 27313, 27314, 27315, 27316, 27317, 27318, 27319, 27320, 27321, 27322, 27323, 27324, 27326, 27327, 27328, 27329, 27330, 27331, 27332, 27333, 27334, 27335, 27336, 27337, 27338, 27339, 27340, 27341, 27342, 27343, 27344, 27345, 27347, 27348, 27349, 27350, 27351, 27352, 27353, 27354, 27355, 27356, 27357, 27358, 27359, 27360, 27361, 27362, 27363, 27366, 27367, 27368, 27369, 27370, 27371, 27372, 27373, 27374, 27375, 27376, 27377, 27378, 27379, 27380, 27381, 27382, 27383, 27384, 27386, 27387, 27388, 27389, 27390, 27391, 27392, 27394, 27395, 27396, 27397, 27400, 27401, 27402, 27403, 27404, 27405, 27406, 27407, 27408, 27409, 27410, 27411, 27412, 27413, 27414, 27416, 27417, 27418, 27419, 27420, 27421, 27422, 27423, 27424, 27425, 27426, 27427, 27428, 27429, 27430, 27431, 27432, 27433, 27434, 27435, 27436, 27437, 27438, 27439, 27440, 27441, 27442, 27443, 27444, 27445, 27446, 27447, 27448, 27449, 27450, 27451, 27452, 27453, 27454, 27455, 27456, 27457, 27458, 27459, 27460, 27461, 27462, 27463, 27464, 27465, 27466, 27467, 27468, 27469, 27470, 27471, 27472, 27473, 27474, 27475, 27476, 27477, 27479, 27480, 27481, 27482, 27484, 27485, 27486, 27487, 27488, 27490, 27491, 27492, 27493, 27494, 27495, 27496, 27497, 27499, 27500, 27501, 27504, 27505, 27506, 27507, 27508, 27509, 27510, 27511, 27512, 27513, 27514, 27515, 27516, 27517, 27518, 27519, 27520, 27521, 27522, 27523, 27526, 27527, 27529, 27530, 27531, 27532, 27533, 27534, 27535, 27536, 27537, 27538, 27539, 27540, 27542, 27543, 27544, 27545, 27546, 27547, 27548, 27549, 27550, 27551, 27552, 27553, 27554, 27555, 27556, 27557, 27558, 27559, 27560, 27561, 27562, 27563, 27564, 27565, 27566, 27567, 27568, 27569, 27570, 27571, 27572, 27573, 27574, 27575, 27576, 27577, 27578, 27579, 27580, 27581, 27582, 27583, 27585, 27586, 27587, 27588, 27589, 27590, 27591, 27592, 27593, 27595, 27596, 27597, 27598, 27599, 27600, 27601, 27602, 27603, 27604, 27605, 27606, 27607, 27608, 27609, 27610, 27611, 27613, 27614, 27615, 27616, 27617, 27618, 27619, 27620, 27622, 27623, 27624, 27625, 27626, 27627, 27628, 27629, 27630, 27631, 27632, 27633, 27634, 27635, 27636, 27638, 27639, 27640, 27641, 27642, 27643, 27644, 27645, 27646, 27647, 27648, 27649, 27650, 27651, 27653, 27654, 27655, 27656, 27657, 27658, 27659, 27660, 27661, 27662, 27663, 27664, 27665, 27669, 27671, 27673, 27674, 27676, 27677, 27678, 27679, 27680, 27682, 27683, 27685, 27686, 27687, 27688, 27689, 27690, 27691, 27692, 27693, 27694, 27695, 27696, 27697, 27698, 27699, 27701, 27702, 27706, 27708, 27709, 27710, 27712, 27713, 27714, 27715, 27716, 27717, 27718, 27719, 27720, 27724, 27725, 27726, 27727, 27729, 27730, 27731, 27732, 27733, 27734, 27736, 27737, 27738, 27740, 27741, 27742, 27743, 27744, 27745, 27746, 27747, 27748, 27749, 27750, 27751, 27752, 27753, 27754, 27755, 27756, 27757, 27758, 27759, 27760, 27761, 27762, 27763, 27764, 27765, 27766, 27767, 27768, 27769, 27770, 27771, 27772, 27773, 27774, 27775, 27776, 27777, 27778, 27779, 27780, 27781, 27782, 27783, 27784, 27785, 27786, 27787, 27788, 27789, 27791, 27792, 27793, 27794, 27795, 27796, 27797, 27798, 27799, 27800, 27801, 27802, 27803, 27804, 27805, 27806, 27807, 27808, 27809, 27810, 27811, 27812, 27813, 27814, 27815, 27816, 27820, 27821, 27822, 27823, 27824, 27825, 27826, 27827, 27828, 27830, 27832, 27833, 27834, 27835, 27836, 27837, 27838, 27839, 27840, 27841, 27842, 27843, 27844, 27846, 27847, 27848, 27849, 27850, 27851, 27852, 27853, 27854, 27855, 27856, 27857, 27858, 27859, 27860, 27862, 27863, 27864, 27865, 27866, 27868, 27869, 27870, 27871, 27872, 27873, 27874, 27875, 27876, 27877, 27878, 27879, 27880, 27881, 27882, 27883, 27884, 27885, 27886, 27887, 27888, 27889, 27891, 27892, 27894, 27895, 27896, 27897, 27898, 27899, 27900, 27902, 27903, 27904, 27905, 27906, 27907, 27908, 27909, 27910, 27911, 27912, 27913, 27915, 27916, 27917, 27918, 27919, 27920, 27921, 27922, 27923, 27924, 27925, 27926, 27927, 27929, 27930, 27931, 27932, 27933, 27935, 27937, 27938, 27939, 27940, 27941, 27942, 27943, 27944, 27946, 27947, 27948, 27949, 27950, 27951, 27952, 27953, 27954, 27955, 27956, 27957, 27958, 27959, 27960, 27961, 27962, 27963, 27964, 27965, 27966, 27968, 27969, 27970, 27971, 27972, 27973, 27974, 27975, 27976, 27977, 27978, 27979, 27980, 27981, 27982, 27983, 27984, 27985, 27986, 27987, 27988, 27990, 27991, 27992, 27993, 27994, 27995, 27996, 27997, 27998, 27999, 28000, 28001, 28003, 28004, 28005, 28006, 28007, 28008, 28009, 28010, 28011, 28012, 28013, 28014, 28015, 28016, 28018, 28019, 28021, 28022, 28023, 28024, 28025, 28026, 28027, 28028, 28029, 28030, 28031, 28032, 28033, 28034, 28035, 28036, 28037, 28038, 28039, 28040, 28041, 28042, 28043, 28044, 28045, 28046, 28047, 28060, 28058, 28052, 28051, 28050, 28053, 28054, 28055, 28056, 28057, 28049, 28059, 28048, 28061, 28062, 28063, 28064, 28065, 28066, 28068, 28069, 28070, 28076, 28077, 28078, 28079, 28080, 28081, 28082, 28083, 28085, 28086, 28087, 28088, 28089, 28090, 28092, 28093, 28094, 28095, 28096, 28097, 28098, 28099, 28100, 28101, 28103, 28104, 28105, 28106, 28107, 28108, 28109, 28110, 28111, 28112, 28113, 28114, 28115, 28116, 28117, 28118, 28119, 28120, 28121, 28122, 28123, 28124, 28125, 28127, 28128, 28129, 28130, 28131, 28133, 28135, 28136, 28137, 28138, 28139, 28140, 28141, 28142, 28143, 28144, 28145, 28148, 28149, 28150, 28151, 28153, 28156, 28157, 28158, 28159, 28160, 28161, 28162, 28164, 28165, 28166, 28167, 28168, 28169, 28170, 28171, 28172, 28173, 28174, 28175, 28176, 28177, 28178, 28179, 28180, 28181, 28182, 28183, 28184, 28186, 28187, 28188, 28189, 28190, 28191, 28192, 28194, 28195, 28196, 28197, 28198, 28199, 28200, 28201, 28202, 28203, 28204, 28205, 28207, 28208, 28211, 28212, 28213, 28214, 28215, 28216, 28217, 28218, 28220, 28221, 28222, 28224, 28228, 28229, 28230, 28231, 28232, 28233, 28234, 28235, 28236, 28237, 28239, 28240, 28241, 28242, 28243, 28244, 28245, 28246, 28247, 28248, 28249, 28250, 28251, 28252, 28253, 28254, 28255, 28256, 28257, 28258, 28259, 28260, 28261, 28262, 28263, 28264, 28265, 28266, 28268, 28269, 28270, 28271, 28273, 28274, 28276, 28277, 28278, 28279, 28280, 28282, 28283, 28284, 28288, 28289, 28292, 28293, 28294, 28295, 28296, 28298, 28299, 28300, 28301, 28303, 28304, 28305, 28307, 28308, 28309, 28310, 28311, 28312, 28313, 28314, 28315, 28316, 28317, 28318, 28319, 28320, 28322, 28323, 28324, 28325, 28327, 28328, 28330, 28332, 28333, 28340, 28341, 28342, 28345, 28346, 28347, 28348, 28349, 28350, 28351, 28352, 28353, 28354, 28355, 28356, 28357, 28358, 28359, 28360, 28361, 28362, 28364, 28365, 28366, 28367, 28368, 28369, 28370, 28371, 28372, 28373, 28374, 28375, 28376, 28377, 28378, 28379, 28380, 28381, 28382, 28383, 28384, 28385, 28386, 28387, 28388, 28389, 28390, 28391, 28392, 28393, 28394, 28395, 28396, 28397, 28398, 28399, 28400, 28401, 28402, 28403, 28405, 28406, 28407, 28408, 28409, 28410, 28411, 28412, 28413, 28414, 28415, 28416, 28417, 28418, 28419, 28420, 28421, 28422, 28423, 28424, 28425, 28426, 28427, 28428, 28429, 28430, 28431, 28432, 28433, 28434, 28435, 28436, 28437, 28438, 28439, 28441, 28442, 28443, 28444, 28445, 28446, 28447, 28448, 28449, 28450, 28451, 28452, 28453, 28454, 28455, 28456, 28457, 28458, 28459, 28460, 28461, 28462, 28463, 28464, 28465, 28466, 28467, 28468, 28469, 28471, 28472, 28473, 28474, 28475, 28476, 28477, 28478, 28479, 28480, 28482, 28483, 28484, 28485, 28487, 28492, 28493, 28494, 28495, 28496, 28497, 28498, 28499, 28501, 28503, 28504, 28505, 28506, 28507, 28509, 28510, 28511, 28512, 28513, 28514, 28515, 28516, 28517, 28518, 28519, 28520, 28521, 28523, 28524, 28525, 28526, 28527, 28528, 28529, 28530, 28531, 28532, 28533, 28534, 28535, 28536, 28537, 28538, 28539, 28540, 28541, 28542, 28543, 28544, 28545, 28546, 28547, 28548, 28549, 28550, 28551, 28552, 28553, 28554, 28555, 28556, 28557, 28558, 28559, 28560, 28561, 28563, 28564, 28565, 28566, 28567, 28568, 28570, 28574, 28575, 28576, 28577, 28578, 28579, 28580, 28581, 28582, 28583, 28584, 28585, 28586, 28587, 28589, 28590, 28591, 28593, 28594, 28595, 28597, 28599, 28600, 28601, 28602, 28603, 28604, 28605, 28606, 28607, 28608, 28609, 28610, 28611, 28612, 28613, 28614, 28615, 28616, 28617, 28618, 28619, 28620, 28621, 28622, 28623, 28624, 28625, 28626, 28627, 28628, 28629, 28630, 28631, 28632, 28633, 28635, 28636, 28637, 28638, 28639, 28640, 28641, 28642, 28643, 28644, 28645, 28646, 28647, 28648, 28650, 28651, 28652, 28653, 28654, 28655, 28656, 28657, 28658, 28659, 28660, 28662, 28663, 28664, 28665, 28666, 28667, 28668, 28669, 28670, 28671, 28672, 28674, 28675, 28676, 28677, 28678, 28679, 28680, 28681, 28682, 28683, 28684, 28685, 28686, 28687, 28689, 28690, 28691, 28692, 28693, 28694, 28695, 28696, 28697, 28698, 28699, 28700, 28701, 28702, 28703, 28704, 28705, 28706, 28707, 28708, 28709, 28710, 28711, 28712, 28713, 28714, 28715, 28716, 28717, 28718, 28719, 28720, 28721, 28722, 28723, 28724, 28725, 28726, 28727, 28728, 28729, 28730, 28731, 28732, 28733, 28734, 28735, 28736, 28737, 28738, 28739, 28740, 28741, 28742, 28743, 28744, 28745, 28746, 28747, 28748, 28749, 28750, 28751, 28752, 28753, 28754, 28755, 28756, 28757, 28758, 28759, 28760, 28761, 28762, 28763, 28764, 28765, 28766, 28767, 28768, 28769, 28770, 28771, 28773, 28774, 28775, 28776, 28777, 28778, 28779, 28780, 28781, 28782, 28783, 28784, 28785, 28786, 28787, 28788, 28789, 28790, 28791, 28792, 28793, 28794, 28795, 28796, 28797, 28798, 28799, 28800, 28801, 28802, 28803, 28804, 28805, 28806, 28807, 28808, 28809, 28810, 28811, 28812, 28813, 28814, 28815, 28816, 28817, 28818, 28819, 28820, 28821, 28822, 28823, 28824, 28825, 28826, 28827, 28828, 28829, 28830, 28831, 28832, 28833, 28834, 28835, 28836, 28837, 28838, 28839, 28840, 28841, 28842, 28843, 28844, 28845, 28846, 28847, 28848, 28849, 28850, 28851, 28852, 28853, 28854, 28855, 28856, 28857, 28858, 28859, 28860, 28861, 28862, 28863, 28864, 28865, 28866, 28867, 28868, 28869, 28870, 28871, 28872, 28873, 28874, 28875, 28876, 28877, 28878, 28879, 28880, 28881, 28882, 28884, 28885, 28886, 28887, 28888, 28889, 28890, 28891, 28892, 28893, 28894, 28895, 28896, 28897, 28898, 28899, 28900, 28901, 28902, 28903, 28904, 28905, 28906, 28907, 28908, 28909, 28910, 28911, 28912, 28913, 28914, 28915, 28916, 28917, 28918, 28919, 28920, 28921, 28922, 28923, 28924, 28925, 28926, 28927, 28928, 28929, 28930, 28931, 28932, 28933, 28934, 28935, 28936, 28937, 28938, 28939, 28940, 28941, 28942, 28943, 28944, 28945, 28946, 28947, 28948, 28949, 28950, 28951, 28952, 28953, 28954, 28955, 28956, 28957, 28958, 28960, 28961, 28964, 28965, 28984, 28985, 28986, 28987, 28988, 28989, 28990, 28991, 28992, 28993, 28994, 28995, 28996, 28997, 28998, 28999, 29000, 29001, 29002, 29003, 29004, 29005, 29006, 29007, 29008, 29009, 29010, 29011, 29013, 29014, 29015, 29017, 29018, 29020, 29021, 29022, 29023, 29024, 29025, 29026, 29027, 29028, 29029, 29030, 29031, 29032, 29033, 29034, 29035, 29036, 29037, 29038, 29039, 29043, 29044, 29045, 29046, 29047, 29048, 29049, 29050, 29051, 29052, 29053, 29054, 29055, 29056, 29057, 29058, 29059, 29060, 29061, 29062, 29063, 29064, 29065, 29066, 29067, 29068, 29069, 29070, 29071, 29072, 29073, 29074, 29075, 29076, 29077, 29078, 29079, 29080, 29081, 29082, 29083, 29087, 29094, 29096, 29097, 29098, 29099, 29100, 29101, 29102, 29103, 29104, 29105, 29106, 29107, 29108, 29109, 29110, 29111, 29112, 29113, 29114, 29115, 29116, 29117, 29118, 29119, 29120, 29121, 29122, 29123, 29124, 29125, 29126, 29127, 29128, 29129, 29130, 29131, 29132, 29133, 29134, 29135, 29136, 29137, 29138, 29139, 29140, 29143, 29145, 29146, 29147, 29149, 29150, 29151, 29153, 29155, 29156, 29157, 29159, 29160, 29161, 29162, 29163, 29165, 29169, 29170, 29171, 29173, 29174, 29175, 29176, 29177, 29178, 29179, 29180, 29181, 29182, 29183, 29184, 29185, 29186, 29187, 29188, 29189, 29190, 29191, 29192, 29193, 29197, 29198, 29199, 29200, 29201, 29204, 29206, 29209, 29211, 29213, 29214, 29215, 29216, 29217, 29219, 29220, 29221, 29222, 29223, 29224, 29225, 29227, 29228, 29229, 29230, 29233, 29234, 29235, 29236, 29237, 29240, 29241, 29242, 29243, 29244, 29245, 29247, 29248, 29249, 29250, 29251, 29252, 29253, 29254, 29255, 29256, 29257, 29258, 29259, 29260, 29261, 29262, 29263, 29265, 29266, 29267, 29268, 29269, 29270, 29271, 29272, 29273, 29274, 29275, 29276, 29277, 29278, 29279, 29280, 29281, 29282, 29283, 29285, 29286, 29288, 29291, 29292, 29293, 29294, 29295, 29296, 29297, 29299, 29300, 29301, 29302, 29303, 29304, 29305, 29306, 29307, 29308, 29309, 29310, 29311, 29312, 29313, 29314, 29315, 29316, 29317, 29318, 29319, 29320, 29321, 29322, 29323, 29324, 29325, 29326, 29328, 29329, 29330, 29331, 29332, 29333, 29334, 29335, 29336, 29337, 29338, 29339, 29340, 29341, 29342, 29343, 29344, 29345, 29346, 29347, 29348, 29349, 29350, 29351, 29352, 29353, 29354, 29355, 29356, 29357, 29358, 29359, 29360, 29361, 29362, 29363, 29364, 29365, 29366, 29367, 29368, 29369, 29370, 29371, 29372, 29373, 29374, 29375, 29376, 29377, 29378, 29379, 29380, 29381, 29382, 29383, 29384, 29385, 29386, 29387, 29388, 29389, 29390, 29391, 29392, 29393, 29394, 29395, 29396, 29397, 29398, 29399, 29400, 29401, 29402, 29403, 29404, 29405, 29406, 29407, 29408, 29409, 29411, 29412, 29413, 29414, 29415, 29416, 29417, 29418, 29419, 29420, 29421, 29422, 29423, 29424, 29425, 29426, 29427, 29428, 29429, 29430, 29431, 29432, 29433, 29434, 29435, 29436, 29437, 29438, 29439, 29440, 29441, 29442, 29443, 29444, 29445, 29446, 29447, 29448, 29449, 29450, 29451, 29453, 29454, 29455, 29456, 29457, 29458, 29459, 29460, 29461, 29466, 29468, 29469, 29471, 29472, 29473, 29474, 29475, 29476, 29477, 29478, 29479, 29481, 29482, 29483, 29484, 29485, 29486, 29487, 29488, 29489, 29490, 29491, 29492, 29493, 29494, 29495, 29496, 29497, 29498, 29499, 29500, 29501, 29503, 29504, 29505, 29506, 29507, 29508, 29509, 29510, 29511, 29512, 29513, 29514, 29515, 29517, 29518, 29519, 29520, 29521, 29522, 29523, 29524, 29525, 29526, 29527, 29528, 29529, 29530, 29532, 29533, 29534, 29535, 29537, 29538, 29539, 29540, 29541, 29542, 29543, 29544, 29545, 29546, 29547, 29548, 29549, 29550, 29551, 29552, 29553, 29554, 29555, 29556, 29558, 29559, 29560, 29561, 29562, 29563, 29564, 29565, 29566, 29567, 29568, 29569, 29570, 29571, 29572, 29573, 29574, 29575, 29576, 29577, 29578, 29579, 29580, 29581, 29582, 29583, 29584, 29585, 29586, 29590, 29591, 29592, 29593, 29594, 29595, 29596, 29597, 29598, 29599, 29601, 29602, 29603, 29604, 29605, 29607, 29608, 29609, 29610, 29611, 29612, 29613, 29614, 29615, 29616, 29618, 29619, 29620, 29621, 29622, 29623, 29624, 29625, 29626, 29627, 29628, 29629, 29630, 29631, 29632, 29633, 29634, 29635, 29636, 29637, 29639, 29640, 29641, 29642, 29643, 29644, 29645, 29646, 29647, 29648, 29649, 29650, 29651, 29652, 29654, 29655, 29656, 29657, 29658, 29660, 29662, 29663, 29664, 29665, 29667, 29668, 29669, 29670, 29671, 29672, 29673, 29674, 29675, 29676, 29677, 29679, 29680, 29681, 29682, 29684, 29685, 29686, 29687, 29688, 29689, 29690, 29691, 29692, 29693, 29694, 29695, 29696, 29697, 29698, 29699, 29700, 29701, 29702, 29703, 29704, 29708, 29709, 29710, 29711, 29713, 29714, 29715, 29716, 29717, 29718, 29719, 29720, 29721, 29722, 29724, 29725, 29726, 29727, 29728, 29729, 29730, 29731, 29732, 29733, 29734, 29735, 29736, 29737, 29738, 29740, 29741, 29742, 29743, 29744, 29745, 29746, 29747, 29748, 29749, 29750, 29751, 29752, 29753, 29754, 29755, 29756, 29757, 29758, 29759, 29760, 29761, 29762, 29763, 29764, 29765, 29766, 29767, 29768, 29769, 29770, 29771, 29772, 29773, 29774, 29775, 29776, 29777, 29778, 29780, 29781, 29782, 29783, 29784, 29785, 29789, 29790, 29791, 29792, 29793, 29794, 29795, 29796, 29798, 29799, 29800, 29801, 29802, 29803, 29804, 29805, 29806, 29807, 29808, 29809, 29810, 29811, 29812, 29814, 29815, 29816, 29818, 29819, 29820, 29821, 29822, 29823, 29824, 29825, 29826, 29827, 29828, 29829, 29830, 29831, 29832, 29833, 29834, 29835, 29836, 29837, 29838, 29839, 29840, 29841, 29842, 29843, 29844, 29845, 29846, 29847, 29848, 29849, 29850, 29851, 29852, 29853, 29854, 29855, 29856, 29857, 29858, 29859, 29860, 29861, 29862, 29863, 29864, 29865, 29866, 29867, 29868, 29870, 29871, 29872, 29873, 29874, 29875, 29876, 29877, 29878, 29879, 29880, 29881, 29882, 29883, 29884, 29885, 29886, 29887, 29889, 29890, 29891, 29892, 29893, 29894, 29895, 29896, 29897, 29898, 29899, 29900, 29901, 29902, 29903, 29904, 29905, 29906, 29907, 29908, 29909, 29910, 29911, 29912, 29913, 29914, 29915, 29916, 29917, 29918, 29919, 29920, 29921, 29922, 29923, 29924, 29925, 29926, 29927, 29928, 29929, 29930, 29931, 29932, 29933, 29934, 29935, 29936, 29937, 29938, 29939, 29940, 29941, 29942, 29943, 29944, 29945, 29947, 29948, 29949, 29950, 29951, 29952, 29953, 29955, 29958, 29959, 29960, 29961, 29962, 29963, 29964, 29965, 29966, 29967, 29968, 29969, 29970, 29971, 29973, 29974, 29975, 29976, 29977, 29978, 29979, 29980, 29981, 29982, 29983, 29984, 29985, 29986, 29987, 29988, 29989, 29990, 29991, 29992, 29993, 29994, 29995, 29996, 29997, 29999, 30000, 30001, 30002, 30003, 30004, 30005, 30006, 30007, 30008, 30009, 30010, 30011, 30012, 30013, 30014, 30015, 30016, 30017, 30018, 30019, 30020, 30021, 30022, 30023, 30024, 30025, 30026, 30027, 30028, 30029, 30031, 30032, 30033, 30035, 30036, 30037, 30038, 30039, 30040, 30041, 30042, 30043, 30044, 30045, 30046, 30047, 30048, 30049, 30050, 30051, 30052, 30053, 30054, 30055, 30056, 30057, 30058, 30059, 30060, 30061, 30062, 30063, 30064, 30065, 30066, 30067, 30068, 30069, 30070, 30071, 30072, 30073, 30074, 30075, 30076, 30077, 30078, 30079, 30080, 30081, 30082, 30083, 30084, 30085, 30086, 30087, 30088, 30089, 30090, 30091, 30093, 30094, 30095, 30096, 30097, 30098, 30099, 30101, 30102, 30103, 30104, 30105, 30106, 30107, 30108, 30110, 30111, 30113, 30114, 30115, 30116, 30117, 30118, 30120, 30121, 30122, 30123, 30124, 30125, 30126, 30127, 30130, 30131, 30132, 30133, 30134, 30135, 30136, 30137, 30138, 30139, 30140, 30141, 30142, 30143, 30144, 30145, 30146, 30147, 30148, 30149, 30150, 30151, 30152, 30153, 30154, 30155, 30156, 30157, 30158, 30159, 30160, 30161, 30162, 30163, 30164, 30165, 30166, 30167, 30169, 30170, 30171, 30172, 30173, 30174, 30175, 30176, 30177, 30178, 30179, 30180, 30181, 30182, 30183, 30184, 30186, 30187, 30188, 30189, 30190, 30191, 30192, 30193, 30194, 30195, 30196, 30197, 30198, 30199, 30200, 30201, 30202, 30203, 30204, 30205, 30206, 30207, 30208, 30209, 30210, 30211, 30212, 30214, 30215, 30216, 30218, 30219, 30220, 30221, 30222, 30223, 30224, 30225, 30226, 30227, 30228, 30229, 30230, 30232, 30233, 30234, 30235, 30236, 30238, 30239, 30240, 30241, 30242, 30243, 30244, 30245, 30246, 30247, 30248, 30249, 30250, 30252, 30253, 30254, 30255, 30256, 30257, 30258, 30259, 30260, 30261, 30262, 30263, 30264, 30265, 30266, 30268, 30269, 30270, 30271, 30272, 30273, 30274, 30275, 30276, 30277, 30278, 30279, 30280, 30281, 30282, 30283, 30284, 30285, 30286, 30287, 30288, 30289, 30290, 30291, 30292, 30293, 30294, 30295, 30296, 30297, 30298, 30299, 30300, 30301, 30302, 30303, 30304, 30305, 30306, 30307, 30308, 30309, 30310, 30311, 30312, 30313, 30314, 30315, 30316, 30317, 30318, 30319, 30320, 30322, 30325, 30326, 30327, 30328, 30329, 30330, 30331, 30332, 30333, 30334, 30335, 30336, 30337, 30338, 30339, 30340, 30341, 30342, 30343, 30344, 30345, 30346, 30347, 30348, 30350, 30351, 30352, 30353, 30354, 30355, 30356, 30357, 30358, 30359, 30360, 30361, 30362, 30363, 30364, 30365, 30366, 30367, 30368, 30369, 30370, 30371, 30372, 30373, 30374, 30375, 30376, 30377, 30378, 30380, 30381, 30382, 30383, 30384, 30385, 30386, 30387, 30388, 30389, 30390, 30391, 30392, 30393, 30394, 30395, 30396, 30397, 30398, 30399, 30400, 30401, 30402, 30403, 30404, 30405, 30406, 30407, 30408, 30409, 30411, 30412, 30413, 30414, 30415, 30416, 30417, 30418, 30419, 30420, 30421, 30422, 30423, 30424, 30425, 30426, 30427, 30428, 30429, 30430, 30431, 30432, 30433, 30434, 30435, 30436, 30437, 30438, 30439, 30440, 30441, 30442, 30443, 30444, 30445, 30446, 30447, 30448, 30449, 30450, 30451, 30452, 30453, 30454, 30455, 30456, 30457, 30458, 30459, 30460, 30461, 30462, 30463, 30464, 30465, 30466, 30467, 30468, 30469, 30470, 30471, 30472, 30473, 30474, 30475, 30476, 30477, 30478, 30479, 30480, 30482, 30483, 30484, 30485, 30486, 30487, 30488, 30489, 30490, 30491, 30492, 30493, 30494, 30495, 30496, 30497, 30498, 30499, 30500, 30501, 30502, 30503, 30504, 30505, 30506, 30507, 30508, 30509, 30510, 30511, 30512, 30513, 30514, 30515, 30516, 30517, 30518, 30519, 30520, 30521, 30522, 30523, 30524, 30525, 30526, 30527, 30528, 30529, 30530, 30531, 30532, 30533, 30534, 30535, 30536, 30537, 30538, 30539, 30540, 30541, 30542, 30543, 30544, 30545, 30546, 30547, 30548, 30549, 30550, 30551, 30552, 30553, 30554, 30555, 30556, 30557, 30558, 30559, 30560, 30561, 30562, 30563, 30564, 30565, 30568, 30569, 30570, 30571, 30572, 30573, 30574, 30575, 30576, 30577, 30578, 30579, 30580, 30581, 30582, 30583, 30584, 30585, 30588, 30589, 30590, 30591, 30592, 30593, 30594, 30595, 30596, 30597, 30598, 30599, 30600, 30601, 30602, 30603, 30604, 30605, 30606, 30607, 30608, 30609, 30610, 30611, 30613, 30614, 30615, 30616, 30617, 30618, 30619, 30621, 30622, 30623, 30624, 30625, 30626, 30627, 30628, 30629, 30630, 30631, 30632, 30633, 30634, 30639, 30640, 30641, 30642, 30643, 30644, 30645, 30646, 30647, 30648, 30649, 30650, 30651, 30652, 30654, 30655, 30656, 30657, 30658, 30659, 30660, 30661, 30662, 30663, 30664, 30665, 30666, 30667, 30668, 30669, 30670, 30671, 30672, 30673, 30674, 30675, 30676, 30677, 30678, 30679, 30680, 30681, 30682, 30683, 30684, 30685, 30686, 30687, 30688, 30689, 30690, 30691, 30692, 30693, 30694, 30695, 30696, 30697, 30698, 30699, 30700, 30701, 30702, 30703, 30704, 30706, 30707, 30708, 30709, 30710, 30711, 30712, 30714, 30715, 30716, 30717, 30718, 30719, 30722, 30723, 30724, 30725, 30726, 30727, 30728, 30729, 30731, 30732, 30733, 30735, 30736, 30737, 30738, 30739, 30740, 30741, 30742, 30743, 30744, 30745, 30746, 30747, 30748, 30749, 30750, 30751, 30752, 30753, 30754, 30755, 30756, 30757, 30758, 30759, 30760, 30761, 30762, 30763, 30764, 30765, 30766, 30767, 30768, 30769, 30770, 30771, 30772, 30773, 30774, 30775, 30776, 30777, 30778, 30779, 30781, 30783, 30785, 30787, 30788, 30789, 30790, 30791, 30792, 30793, 30794, 30795, 30796, 30797, 30798, 30799, 30800, 30801, 30802, 30803, 30804, 30805, 30806, 30807, 30808, 30809, 30810, 30811, 30812, 30813, 30814, 30815, 30816, 30817, 30818, 30819, 30820, 30821, 30822, 30823, 30824, 30825, 30826, 30827, 30828, 30829, 30830, 30831, 30832, 30833, 30835, 30836, 30837, 30838, 30839, 30840, 30841, 30842, 30843, 30844, 30845, 30846, 30847, 30848, 30849, 30850, 30851, 30852, 30853, 30855, 30856, 30857, 30858, 30860, 30861, 30862, 30863, 30864, 30865, 30866, 30867, 30868, 30869, 30870, 30871, 30872, 30873, 30874, 30875, 30876, 30877, 30878, 30879, 30880, 30881, 30882, 30883, 30884, 30885, 30886, 30887, 30888, 30889, 30890, 30891, 30892, 30893, 30894, 30895, 30896, 30897, 30898, 30899, 30900, 30901, 30902, 30903, 30904, 30905, 30906, 30907, 30908, 30909, 30910, 30911, 30912, 30913, 30914, 30915, 30916, 30917, 30918, 30919, 30920, 30921, 30922, 30924, 30925, 30926, 30927, 30928, 30929, 30930, 30931, 30932, 30933, 30934, 30935, 30936, 30937, 30938, 30939, 30940, 30941, 30942, 30943, 30944, 30945, 30946, 30947, 30948, 30949, 30950, 30951, 30952, 30953, 30954, 30955, 30956, 30957, 30958, 30959, 30960, 30961, 30962, 30963, 30964, 30965, 30966, 30967, 30968, 30969, 30970, 30971, 30972, 30973, 30974, 30975, 30976, 30977, 30978, 30979, 30980, 30981, 30982, 30983, 30984, 30985, 30986, 30987, 30988, 30989, 30990, 30991, 30992, 30993, 30994, 30995, 30996, 30997, 30998, 30999, 31000, 31001, 31003, 31004, 31005, 31006, 31007, 31008, 31009, 31010, 31011, 31012, 31013, 31014, 31015, 31016, 31017, 31018, 31019, 31020, 31021, 31022, 31023, 31024, 31025, 31026, 31027, 31028, 31029, 31030, 31031, 31032, 31033, 31036, 31037, 31038, 31039, 31040, 31041, 31042, 31043, 31044, 31045, 31046, 31047, 31048, 31049, 31050, 31051, 31052, 31053, 31054, 31055, 31056, 31057, 31058, 31059, 31060, 31061, 31062, 31063, 31064, 31065, 31066, 31067, 31068, 31069, 31070, 31071, 31072, 31073, 31074, 31075, 31076, 31077, 31078, 31079, 31080, 31081, 31082, 31083, 31084, 31085, 31086, 31087, 31088, 31089, 31090, 31091, 31092, 31093, 31094, 31095, 31096, 31097, 31098, 31099, 31100, 31101, 31102, 31103, 31104, 31105, 31106, 31107, 31108, 31109, 31110, 31111, 31115, 31116, 31117, 31118, 31119, 31120, 31121, 31123, 31124, 31125, 31126, 31127, 31129, 31130, 31131, 31132, 31133, 31134, 31135, 31136, 31137, 31138, 31139, 31140, 31141, 31142, 31143, 31144, 31145, 31146, 31147, 31149, 31150, 31151, 31152, 31153, 31154, 31155, 31156, 31157, 31158, 31159, 31160, 31161, 31162, 31163, 31164, 31165, 31166, 31167, 31168, 31169, 31170, 31171, 31172, 31173, 31174, 31175, 31176, 31177, 31178, 31179, 31180, 31181, 31182, 31183, 31184, 31185, 31187, 31188, 31189, 31190, 31191, 31192, 31193, 31194, 31195, 31196, 31198, 31199, 31200, 31201, 31202, 31203, 31204, 31205, 31206, 31207, 31208, 31209, 31210, 31211, 31212, 31214, 31215, 31216, 31217, 31218, 31219, 31220, 31221, 31222, 31223, 31224, 31225, 31226, 31228, 31229, 31230, 31231, 31233, 31234, 31235, 31236, 31237, 31238, 31239, 31240, 31241, 31242, 31243, 31244, 31245, 31246, 31247, 31248, 31249, 31250, 31251, 31252, 31253, 31254, 31255, 31256, 31257, 31258, 31259, 31260, 31261, 31262, 31263, 31264, 31265, 31266, 31267, 31268, 31269, 31271, 31272, 31273, 31274, 31276, 31277, 31278, 31279, 31280, 31281, 31282, 31283, 31284, 31285, 31286, 31287, 31288, 31289, 31290, 31291, 31292, 31293, 31294, 31295, 31296, 31297, 31298, 31299, 31300, 31301, 31302, 31304, 31305, 31306, 31307, 31308, 31309, 31310, 31311, 31312, 31313, 31314, 31315, 31316, 31317, 31318, 31319, 31320, 31321, 31322, 31323, 31324, 31325, 31326, 31327, 31328, 31329, 31330, 31331, 31333, 31334, 31335, 31336, 31337, 31338, 31339, 31340, 31341, 31342, 31343, 31344, 31345, 31346, 31347, 31348, 31349, 31350, 31351, 31352, 31353, 31354, 31355, 31356, 31357, 31358, 31359, 31360, 31361, 31362, 31363, 31364, 31365, 31366, 31367, 31368, 31369, 31370, 31371, 31372, 31373, 31374, 31375, 31376, 31377, 31378, 31379, 31380, 31381, 31382, 31383, 31384, 31385, 31386, 31387, 31388, 31389, 31390, 31391, 31392, 31393, 31394, 31395, 31396, 31397, 31398, 31399, 31400, 31401, 31402, 31403, 31404, 31405, 31406, 31407, 31408, 31409, 31411, 31412, 31413, 31414, 31415, 31416, 31417, 31418, 31419, 31420, 31421, 31422, 31423, 31424, 31425, 31426, 31427, 31428, 31429, 31430, 31431, 31432, 31433, 31434, 31435, 31437, 31438, 31439, 31440, 31441, 31442, 31443, 31444, 31445, 31446, 31447, 31448, 31449, 31450, 31451, 31452, 31453, 31454, 31455, 31456, 31457, 31458, 31459, 31460, 31461, 31462, 31463, 31464, 31465, 31466, 31467, 31468, 31469, 31470, 31471, 31472, 31473, 31474, 31475, 31476, 31477, 31478, 31479, 31480, 31481, 31482, 31483, 31484, 31485, 31486, 31487, 31488, 31489, 31490, 31491, 31492, 31493, 31494, 31495, 31496, 31497, 31498, 31499, 31500, 31501, 31502, 31503, 31504, 31505, 31506, 31507, 31508, 31509, 31510, 31511, 31512, 31513, 31514, 31515, 31516, 31517, 31518, 31519, 31520, 31521, 31522, 31523, 31524, 31526, 31527, 31528, 31529, 31530, 31531, 31532, 31533, 31534, 31535, 31536, 31537, 31538, 31539, 31540, 31541, 31542, 31543, 31544, 31545, 31546, 31547, 31548, 31549, 31550, 31551, 31552, 31553, 31554, 31555, 31556, 31557, 31558, 31559, 31560, 31561, 31562, 31563, 31564, 31565, 31566, 31567, 31568, 31569, 31570, 31571, 31572, 31573, 31574, 31575, 31576, 31577, 31578, 31579, 31580, 31581, 31582, 31583, 31584, 31585, 31586, 31587, 31588, 31589, 31590, 31591, 31592, 31593, 31594, 31595, 31596, 31597, 31598, 31599, 31600, 31601, 31602, 31603, 31604, 31605, 31606, 31607, 31608, 31609, 31610, 31611, 31612, 31613, 31614, 31615, 31616, 31617, 31618, 31619, 31620, 31621, 31622, 31623, 31624, 31625, 31626, 31627, 31628, 31629, 31630, 31631, 31632, 31633, 31634, 31635, 31636, 31637, 31638, 31639, 31640, 31641, 31642, 31643, 31644, 31645, 31646, 31647, 31648, 31649, 31650, 31651, 31652, 31653, 31654, 31655, 31656, 31657, 31658, 31659, 31660, 31661, 31662, 31663, 31664, 31665, 31666, 31667, 31668, 31669, 31670, 31671, 31672, 31673, 31674, 31675, 31676, 31677, 31678, 31679, 31680, 31681, 31682, 31683, 31684, 31685, 31686, 31687, 31688, 31689, 31690, 31691, 31692, 31693, 31694, 31695, 31696, 31697, 31698, 31699, 31700, 31701, 31702, 31703, 31704, 31705, 31706, 31708, 31709, 31710, 31711, 31712, 31713, 31714, 31715, 31716, 31717, 31718, 31719, 31720, 31721, 31722, 31723, 31724, 31725, 31726, 31727, 31728, 31729, 31730, 31731, 31732, 31733, 31734, 31735, 31736, 31737, 31738, 31739, 31740, 31741, 31742, 31743, 31744, 31745, 31746, 31747, 31748, 31749, 31750, 31751, 31752, 31754, 31755, 31756, 31757, 31758, 31759, 31760, 31761, 31762, 31763, 31764, 31765, 31766, 31767, 31768, 31769, 31770, 31773, 31775, 31776, 31777, 31778, 31779, 31780, 31781, 31782, 31783, 31784, 31785, 31786, 31787, 31794, 31795, 31796, 31797, 31798, 31799, 31800, 31801, 31802, 31803, 31804, 31805, 31806, 31807, 31808, 31809, 31810, 31811, 31812, 31813, 31814, 31815, 31816, 31817, 31818, 31819, 31820, 31821, 31822, 31823, 31824, 31825, 31826, 31827, 31828, 31829, 31830, 31831, 31832, 31833, 31834, 31835, 31836, 31838, 31839, 31840, 31841, 31842, 31843, 31844, 31845, 31847, 31848, 31849, 31850, 31851, 31852, 31853, 31854, 31855, 31856, 31857, 31858, 31861, 31862, 31863, 31864, 31865, 31866, 31867, 31868, 31869, 31871, 31872, 31873, 31874, 31875, 31876, 31877, 31878, 31879, 31880, 31881, 31882, 31883, 31884, 31885, 31886, 31887, 31888, 31889, 31890, 31891, 31892, 31893, 31894, 31895, 31896, 31897, 31898, 31899, 31900, 31902, 31903, 31904, 31905, 31906, 31907, 31908, 31909, 31910, 31911, 31912, 31913, 31915, 31916, 31917, 31918, 31919, 31920, 31921, 31922, 31923, 31924, 31925, 31926, 31927, 31928, 31929, 31930, 31931, 31932, 31933, 31934, 31935, 31936, 31937, 31938, 31939, 31940, 31941, 31942, 31943, 31944, 31945, 31946, 31947, 31948, 31949, 31950, 31951, 31952, 31953, 31954, 31955, 31956, 31957, 31958, 31959, 31960, 31961, 31962, 31963, 31964, 31965, 31966, 31967, 31968, 31969, 31970, 31971, 31972, 31973, 31974, 31975, 31976, 31977, 31978, 31979, 31980, 31981, 31982, 31983, 31984, 31985, 31986, 31987, 31988, 31989, 31990, 31991, 31992, 31993, 31994, 31995, 31996, 31997, 31998, 31999, 32000, 32001, 32002, 32003, 32004, 32005, 32006, 32007, 32008, 32009, 32010, 32011, 32012, 32013, 32014, 32015, 32016, 32017, 32018, 32019, 32020, 32021, 32022, 32023, 32024, 32025, 32026, 32027, 32028, 32029, 32030, 32031, 32032, 32033, 32034, 32035, 32036, 32037, 32038, 32039, 32040, 32041, 32042, 32043, 32044, 32045, 32046, 32047, 32048, 32049, 32050, 32051, 32052, 32053, 32054, 32055, 32056, 32057, 32058, 32059, 32060, 32061, 32062, 32063, 32064, 32065, 32066, 32067, 32068, 32069, 32070, 32071, 32072, 32073, 32074, 32075, 32076, 32077, 32078, 32079, 32080, 32081, 32082, 32083, 32084, 32085, 32086, 32087, 32088, 32089, 32090, 32091, 32092, 32093, 32094, 32095, 32096, 32097, 32098, 32099, 32100, 32101, 32102, 32103, 32104, 32105, 32106, 32107, 32108, 32109, 32110, 32111, 32112, 32113, 32114, 32115, 32116, 32117, 32118, 32119, 32120, 32121, 32122, 32123, 32124, 32125, 32126, 32127, 32128, 32129, 32130, 32131, 32132, 32133, 32134, 32135, 32136, 32137, 32138, 32139, 32140, 32141, 32142, 32143, 32144, 32145, 32146, 32147, 32148, 32149, 32150, 32151, 32152, 32153, 32154, 32155, 32156, 32157, 32158, 32159, 32160, 32161, 32162, 32163, 32164, 32165, 32166, 32167, 32168, 32169, 32170, 32171, 32172, 32173, 32174, 32175, 32176, 32178, 32179, 32180, 32181, 32182, 32183, 32184, 32185, 32186, 32188, 32189, 32190, 32191, 32192, 32193, 32194, 32195, 32196, 32197, 32198, 32199, 32200, 32201, 32202, 32203, 32204, 32205, 32206, 32207, 32208, 32209, 32212, 32213, 32214, 32215, 32216, 32217, 32218, 32221, 32222, 32223, 32224, 32225, 32226, 32227, 32228, 32229, 32230, 32231, 32232, 32233, 32234, 32235, 32236, 32237, 32238, 32239, 32241, 32242, 32244, 32245, 32246, 32247, 32248, 32249, 32250, 32251, 32252, 32253, 32254, 32255, 32256, 32257, 32258, 32259, 32260, 32261, 32262, 32263, 32264, 32265, 32266, 32267, 32268, 32269, 32270, 32271, 32272, 32273, 32274, 32275, 32276, 32277, 32278, 32279, 32280, 32281, 32282, 32283, 32284, 32285, 32286, 32287, 32288, 32289, 32290, 32291, 32292, 32293, 32294, 32295, 32296, 32297, 32298, 32299, 32300, 32301, 32302, 32303, 32304, 32305, 32306, 32307, 32308, 32309, 32310, 32311, 32312, 32313, 32314, 32315, 32316, 32317, 32318, 32319, 32320, 32321, 32322, 32323, 32324, 32325, 32326, 32327, 32328, 32329, 32330, 32331, 32332, 32333, 32334, 32335, 32336, 32337, 32338, 32339, 32340, 32341, 32342, 32343, 32344, 32345, 32346, 32347, 32348, 32349, 32350, 32352, 32353, 32354, 32355, 32356, 32357, 32358, 32359, 32360, 32361, 32362, 32363, 32364, 32365, 32366, 32367, 32368, 32369, 32370, 32371, 32372, 32373, 32374, 32375, 32376, 32377, 32378, 32379, 32380, 32381, 32382, 32383, 32384, 32385, 32386, 32387, 32388, 32389, 32390, 32391, 32392, 32393, 32394, 32395, 32396, 32397, 32398, 32399, 32400, 32401, 32402, 32403, 32404, 32405, 32406, 32407, 32408, 32409, 32410, 32411, 32412, 32413, 32414, 32415, 32416, 32417, 32418, 32419, 32420, 32421, 32422, 32423, 32424, 32425, 32426, 32427, 32428, 32429, 32430, 32431, 32432, 32433, 32434, 32435, 32436, 32437, 32438, 32439, 32440, 32441, 32442, 32443, 32444, 32445, 32446, 32447, 32448, 32449, 32450, 32451, 32452, 32453, 32454, 32466, 32467, 32468, 32469, 32470, 32471, 32472, 32473, 32474, 32475, 32476, 32477, 32478, 32479, 32480, 32481, 32482, 32483, 32484, 32485, 32486, 32487, 32488, 32490, 32491, 32492, 32493, 32494, 32495, 32496, 32497, 32498, 32499, 32500, 32501, 32502, 32503, 32504, 32505, 32507, 32508, 32509, 32510, 32511, 32512, 32513, 32514, 32515, 32516, 32518, 32519, 32520, 32521, 32522, 32523, 32524, 32525, 32526, 32527, 32528, 32529, 32530, 32531, 32532, 32533, 32534, 32535, 32536, 32537, 32538, 32540, 32541, 32544, 32548, 32549, 32550, 32551, 32552, 32553, 32554, 32555, 32556, 32557, 32558, 32559, 32560, 32561, 32562, 32563, 32565, 32566, 32567, 32568, 32569, 32570, 32571, 32572, 32573, 32574, 32575, 32576, 32577, 32578, 32579, 32580, 32582, 32583, 32584, 32585, 32586, 32587, 32588, 32589, 32590, 32591, 32592, 32593, 32594, 32595, 32596, 32597, 32598, 32599, 32600, 32601, 32602, 32603, 32604, 32606, 32607, 32608, 32609, 32615, 32616, 32617, 32618, 32619, 32620, 32621, 32622, 32623, 32624, 32625, 32626, 32627, 32629, 32630, 32631, 32632, 32634, 32635, 32636, 32640, 32641, 32642, 32643, 32647, 32648, 32649, 32650, 32651, 32652, 32653, 32654, 32655, 32656, 32657, 32658, 32659, 32660, 32661, 32662, 32663, 32664, 32665, 32666, 32667, 32668, 32669, 32675, 32676, 32677, 32678, 32679, 32680, 32681, 32682, 32683, 32684, 32685, 32686, 32687, 32688, 32689, 32690, 32691, 32692, 32693, 32694, 32695, 32697, 32700, 32702, 32704, 32706, 32708, 32709, 32710, 32711, 32712, 32713, 32714, 32715, 32716, 32717, 32718, 32719, 32720, 32721, 32722, 32723, 32724, 32725, 32726, 32727, 32728, 32729, 32730, 32731, 32732, 32733, 32734, 32735, 32736, 32737, 32738, 32739, 32740, 32741, 32742, 32743, 32744, 32745, 32746, 32747, 32748, 32749, 32751, 32752, 32753, 32754, 32755, 32756, 32757, 32758, 32759, 32760, 32761, 32762, 32763, 32764, 32765, 32766, 32767, 32768, 32769, 32770, 32771, 32772, 32773, 32774, 32775, 32776, 32777, 32778, 32780, 32785, 32786, 32787, 32788, 32790, 32794, 32795, 32796, 32797, 32800, 32821, 32832, 32833, 32834, 32843, 32844, 32847, 32853, 32854, 33005, 33006, 32871, 32887, 32931, 32980, 32983, 33007, 33008, 33010, 33011, 33014, 33016, 33017, 33029, 33030, 33031, 33087, 33252, 32939, 32942, 32944, 32954, 32981, 33018, 33019, 33025, 33026, 33027, 33032, 33069, 33251, 32779, 32781, 32782, 32784, 32789, 32791, 32793, 32798, 32799, 32801, 32802, 32803, 32804, 32805, 32806, 32807, 32808, 32809, 32810, 32811, 32812, 32813, 32814, 32815, 32816, 32818, 32819, 32820, 32822, 32823, 32824, 32825, 32826, 32827, 32828, 32829, 32830, 32831, 32836, 32837, 32838, 32839, 32840, 32845, 32846, 32848, 32849, 32857, 32865, 32866, 32867, 32870, 32872, 32873, 32874, 32875, 32876, 32877, 32878, 32879, 32882, 32883, 32885, 32886, 32892, 32893, 32897, 32898, 32900, 32901, 32904, 32905, 32906, 32907, 32908, 32913, 32914, 32915, 32916, 32918, 32919, 32922, 32923, 32924, 32925, 32926, 32927, 32930, 32933, 32934, 32938, 32941, 32946, 32948, 32950, 32953, 32955, 32956, 32957, 32958, 32984, 33045, 33049, 33050, 33051, 33052, 33054, 33059, 33060, 33061, 33062, 33063, 33064, 33067, 33068, 33070, 33073, 33080, 33081, 33086, 33088, 33089, 33090, 33104, 33105, 33108, 33109, 33110, 33113, 33114, 33116, 33118, 33121, 33122, 33125, 33128, 33129, 33130, 33134, 33135, 33136, 33137, 33138, 33139, 33140, 33141, 33142, 33143, 33146, 33147, 33148, 33149, 33150, 33151, 33152, 33153, 33154, 33155, 33156, 33157, 33158, 33159, 33160, 33161, 33162, 33163, 33164, 33167, 33168, 33169, 33170, 33173, 33174, 33184, 33185, 33186, 33188, 33189, 33190, 33191, 33192, 33194, 33196, 33197, 33198, 33199, 33200, 33202, 33203, 33205, 33210, 33211, 33212, 33213, 33214, 33215, 33216, 33217, 33218, 33219, 33220, 33221, 33222, 33223, 33224, 33225, 33226, 33227, 33228, 33229, 33233, 33234, 33235, 33236, 33237, 33238, 33239, 33240, 33241, 33242, 33243, 33244, 33245, 33246, 33248, 33255, 33259, 33264, 33271, 33272, 33273, 33274, 33280, 33282, 33285, 33286, 33287, 33288, 33289, 33290, 33291, 33292, 33293, 33297, 33298, 33299, 33300, 33301, 33303, 33305, 33306, 33307, 33308, 33309, 33310, 33312, 33314, 33315, 33316, 33317, 33318, 33319, 33320, 33321, 33322, 33323, 33324, 33325, 33326, 33327, 33328, 33329, 33330, 33331, 33332, 33333, 33335, 33337, 33339, 33340, 33341, 33342, 33343, 33344, 33346, 33350, 33351, 33352, 33353, 33354, 33355, 33357, 33360, 33361, 33364, 33365, 33366, 33367, 33369, 33370, 33372, 33373, 33376, 33377, 33378, 33379, 33380, 33382, 33383, 33384, 33385, 33387, 33388, 33391, 33392, 33393, 33395, 33396, 33397, 33398, 33399, 33400, 33401, 33402, 33403, 33404, 33405, 33406, 33408, 33409, 33410, 33411, 33412, 33413, 33414, 33415, 33416, 33417, 33418, 33422, 33425, 33426, 33429, 33430, 33431, 33432, 33433, 33434, 33435, 33436, 33437, 33438, 33439, 33441, 33442, 33447, 33448, 33449, 33450, 33453, 33455, 33457, 33459, 33460, 33461, 33462, 33463, 33464, 33465, 33466, 33467, 33468, 33469, 33470, 33471, 33472, 33473, 33474, 33475, 33476, 33477, 33478, 33479, 33480, 33481, 33482, 33488, 33489, 33490, 33491, 33492, 33493, 33495, 33498, 33499, 33500, 33501, 33502, 33503, 33504, 33505, 33506, 33508, 33510, 33511, 33513, 33515, 33516, 33517, 33518, 33519, 33520, 33521, 33522, 33523, 33524, 33525, 33526, 33527, 33528, 33529, 33530, 33531, 33532, 33533, 33535, 33536, 33537, 33538, 33539, 33540, 33541, 33542, 33543, 33544, 33545, 33546, 33547, 33548, 33549, 33550, 33551, 33552, 33553, 33554, 33555, 33556, 33557, 33558, 33559, 33560, 33561, 33562, 33563, 33564, 33565, 33566, 33567, 33568, 33570, 33571, 33572, 33575, 33576, 33578, 33579, 33580, 33581, 33583, 33586, 33587, 33588, 33589, 33590, 33591, 33592, 33593, 33594, 33595, 33596, 33597, 33598, 33599, 33600, 33601, 33602, 33603, 33608, 33609, 33610, 33611, 33612, 33613, 33614, 33615, 33616, 33617, 33618, 33619, 33620, 33621, 33622, 33623, 33624, 33625, 33626, 33627, 33628, 33629, 33630, 33631, 33632, 33633, 33634, 33635, 33636, 33637, 33638, 33639, 33640, 33641, 33642, 33643, 33644, 33645, 33646, 33647, 33648, 33649, 33650, 33651, 33652, 33653, 33654, 33655, 33656, 33657, 33658, 33659, 33660, 33661, 33662, 33663, 33664, 33665, 33666, 33667, 33668, 33669, 33670, 33671, 33672, 33673, 33674, 33675, 33676, 33677, 33678, 33679, 33680, 33681, 33682, 33683, 33684, 33685, 33686, 33687, 33689, 33690, 33691, 33692, 33693, 33694, 33695, 33696, 33698, 33699, 33700, 33701, 33704, 33705, 33707, 33708, 33710, 33711, 33712, 33713, 33715, 33716, 33717, 33718, 33719, 33720, 33721, 33722, 33723, 33724, 33725, 33729, 33730, 33731, 33732, 33733, 33734, 33735, 33737, 33738, 33739, 33740, 33741, 33742, 33743, 33744, 33745, 33746, 33747, 33748, 33749, 33750, 33751, 33752, 33753, 33754, 33755, 33756, 33757, 33758, 33759, 33761, 33762, 33763, 33764, 33768, 33769, 33770, 33771, 33772, 33773, 33774, 33775, 33776, 33778, 33779, 33780, 33782, 33783, 33784, 33785, 33787, 33788, 33789, 33790, 33791, 33792, 33793, 33794, 33795, 33796, 33798, 33799, 33800, 33802, 33805, 33806, 33809, 33810, 33815, 33816, 33817, 33818, 33819, 33820, 33822, 33823, 33824, 33827, 33828, 33829, 33830, 33831, 33832, 33835, 33836, 33838, 33839, 33840, 33841, 33842, 33843, 33844, 33845, 33846, 33848, 33849, 33850, 33851, 33852, 33853, 33854, 33855, 33856, 33857, 33861, 33862, 33863, 33865, 33866, 33867, 33868, 33869, 33870, 33871, 33872, 33874, 33876, 33877, 33878, 33879, 33880, 33881, 33882, 33883, 33885, 33886, 33887, 33888, 33890, 33892, 33904, 33906, 33907, 33908, 33909, 33910, 33911, 33915, 33916, 33917, 33918, 33919, 33920, 33921, 33922, 33923, 33924, 33925, 33926, 33927, 33928, 33929, 33930, 33931, 33932, 33933, 33934, 33935, 33936, 33937, 33938, 33939, 33940, 33941, 33942, 33943, 33946, 33947, 33949, 33950, 33951, 33952, 33953, 33954, 33955, 33956, 33957, 33958, 33959, 33962, 33963, 33964, 33966, 33967, 33968, 33970, 33971, 33972, 33973, 33974, 33975, 33983, 33984, 33985, 33986, 33988, 33989, 33990, 33991, 33992, 33993, 33994, 33995, 33996, 33998, 33999, 34000, 34001, 34002, 34003, 34004, 34005, 34011, 34014, 34015, 34016, 34017, 34018, 34019, 34021, 34022, 34024, 34025, 34026, 34027, 34028, 34029, 34031, 34032, 34034, 34035, 34036, 34037, 34038, 34039, 34040, 34042, 34043, 34044, 34045, 34047, 34049, 34050, 34054, 34055, 34057, 34058, 34059, 34060, 34061, 34062, 34063, 34064, 34068, 34069, 34070, 34071, 34072, 34073, 34074, 34075, 34076, 34077, 34078, 34079, 34080, 34081, 34082, 34083, 34084, 34085, 34086, 34087, 34088, 34089, 34090, 34091, 34092, 34093, 34094, 34095, 34096, 34097, 34098, 34099, 34100, 34102, 34104, 34105, 34106, 34107, 34108, 34109, 34110, 34111, 34112, 34113, 34114, 34115, 34116, 34119, 34120, 34121, 34125, 34127, 34128, 34129, 34131, 34133, 34134, 34135, 34137, 34139, 34140, 34141, 34142, 34143, 34144, 34145, 34146, 34147, 34148, 34149, 34150, 34151, 34152, 34153, 34154, 34155, 34156, 34157, 34158, 34159, 34161, 34162, 34164, 34165, 34166, 34168, 34169, 34170, 34171, 34172, 34173, 34174, 34175, 34178, 34179, 34180, 34181, 34183, 34184, 34185, 34186, 34187, 34188, 34189, 34190, 34191, 34192, 34193, 34194, 34196, 34197, 34198, 34199, 34200, 34201, 34202, 34203, 34210, 34211, 34213, 34215, 34216, 34217, 34218, 34219, 34220, 34221, 34222, 34223, 34224, 34225, 34226, 34227, 34228, 34229, 34230, 34234, 34235, 34236, 34237, 34238, 34244, 34245, 34246, 34247, 34250, 34252, 34254, 34255, 34256, 34257, 34264, 34265, 34266, 34267, 34268, 34269, 34270, 34271, 34272, 34273, 34274, 34275, 34276, 34277, 34279, 34281, 34286, 34288, 34291, 34296, 34297, 34298, 34300, 34307, 34313, 34319, 34332, 34361, 34362, 34363, 34505, 34549, 34550, 34551, 34552, 34553, 34554, 34555, 34556, 34557, 34558, 34587, 34588, 34589, 34632, 34655, 34694, 34731, 34732, 35477, 34989, 35599, 34988, 35395, 35168, 35399, 34793, 35646, 35189, 35100, 35101, 35002, 35597, 35001, 34999, 35596, 35000, 35497, 36506, 35507, 35496, 35494, 35790, 34952, 35500, 35608, 34924, 34330, 35498, 35594, 36021, 35461, 35826, 34953, 35471, 35495, 35508, 35398, 35476, 35473, 35469, 35483, 35290, 35292, 34772, 34788, 34914, 34771, 34794, 35470, 35475, 35573, 35580, 35578, 35576, 35579, 35574, 35577, 35575, 36119, 36120, 36124, 36122, 36121, 36069, 35293, 35291, 36114, 36116, 36108, 36118, 36109, 34880, 34912, 34881, 35808, 35482, 36223, 35117, 35344, 35094, 34882, 34885, 35472, 35501, 35984, 35499, 36101, 36102, 35467, 35462, 34735, 35361, 34970, 34868, 35016, 34995, 34996, 34994, 34908, 34974, 34887, 34975, 34966, 34977, 34871, 36557, 36559, 35005, 35635, 35326, 35640, 35325, 35634, 35327, 34856, 34870, 34992, 34990, 34906, 34910, 34909, 34869, 34900, 35569, 35571, 35617, 34979, 34859, 34861, 34904, 34905, 34860, 34857, 34902, 34901, 34883, 34903, 34858, 35309, 35305, 35307, 34928, 35311, 35030, 35491, 35451, 35564, 35547, 35590, 35614, 35557, 35368, 35372, 35638, 35314, 35572, 35119, 35320, 35321, 35570, 35046, 35028, 36173, 35029, 35039, 35299, 35641, 35323, 35322, 35604, 35587, 35589, 34381, 35642, 34724, 35373, 35460, 34986, 35601, 35396, 35073, 35089, 35106, 35444, 35097, 34728, 34734, 35113, 34956, 34716, 34810, 34808, 35255, 36066, 36065, 35009, 34925, 35092, 34907, 35098, 34947, 34852, 34838, 34839, 35047, 36155, 35281, 36479, 36481, 36561, 34704, 34720, 34816, 35014, 34743, 34781, 35376, 35820, 34796, 36549, 34800, 34854, 34799, 35144, 35176, 35227, 35226, 34797, 35062, 35035, 35458, 35651, 34780, 34784, 34825, 34826, 34813, 34815, 35766, 34445, 34459, 34447, 34455, 34453, 34458, 34454, 34448, 34441, 34450, 35821, 35610, 35465, 34686, 34687, 35770, 34567, 34568, 34497, 34496, 34755, 34630, 34628, 35133, 35131, 34789, 36024, 35045, 35365, 34997, 34998, 35598, 34915, 34920, 35394, 35143, 36093, 35013, 35015, 35387, 35068, 35400, 34983, 34985, 35611, 35048, 35474, 35049, 35093, 35099, 35038, 35034, 34562, 34565, 34561, 35600, 34991, 35007, 34320, 34944, 36171, 34929, 34935, 34775, 34776, 35273, 35336, 35339, 35069, 35819, 36356, 36355, 36165, 36166, 34984, 36152, 34960, 36151, 36169, 36167, 36154, 34770, 34950, 34948, 34383, 34382, 35023, 35169, 34765, 34723, 34717, 34721, 34715, 34730, 34719, 34718, 34766, 34949, 34951, 34802, 34919, 35377, 35379, 35335, 34778, 34777, 35024, 35026, 35022, 34918, 34922, 35380, 35346, 36162, 34327, 34741, 34899, 34338, 34737, 34739, 34336, 34740, 36209, 34806, 34738, 34436, 35055, 34365, 34526, 35012, 34965, 34980, 35135, 35297, 34451, 34449, 36070, 35771, 35877, 34564, 35763, 36099, 34862, 34606, 34607, 34660, 34605, 36097, 36095, 34444, 36208, 35909, 34528, 34548, 36911, 36979, 35132, 35319, 35324, 35083, 35080, 35084, 35079, 35070, 35090, 35104, 35105, 34879, 34888, 35102, 35318, 35602, 35008, 34955, 35364, 35017, 34520, 34519, 34703, 35607, 34531, 35397, 35040, 35042, 35025, 34987, 36778, 34812, 34823, 34819, 34824, 34822, 34653, 36607, 34710, 35337, 34682, 34744, 34675, 34708, 35340, 34645, 34644, 34456, 34654, 34676, 34681, 34711, 34783, 34785, 35003, 35061, 35071, 35072, 35338, 36349, 36350, 34310, 35031, 35060, 37072, 34976, 34978, 35603, 35345, 36148, 34460, 34461, 34463, 34465, 34466, 34467, 34468, 34469, 34470, 34471, 34472, 34473, 34474, 34475, 34657, 34658, 34701, 34702, 35004, 35330, 35331, 35332, 35545, 35633, 35644, 35768, 36558, 35147, 35445, 35248, 35247, 34478, 34481, 35250, 34479, 34677, 34678, 34679, 34683, 34684, 34685, 34712, 34713, 34714, 34768, 34786, 34787, 35341, 35342, 35343, 34705, 34972, 34973, 35020, 35127, 35328, 35329, 35612, 35636, 35637, 36837, 34364, 36164, 36213, 36217, 36224, 36225, 36226, 36273, 36476, 36477, 36478, 36494, 36495, 36497, 36499, 36502, 36508, 36516, 36517, 36522, 36535, 36536, 36551, 36564, 36595, 36610, 36612, 36619, 36620, 36624, 36642, 36656, 36657, 36658, 36661, 36666, 36669, 36670, 36672, 36723, 36724, 36725, 36731, 36736, 36764, 36765, 36766, 36767, 36770, 36771, 36772, 36773, 36774, 36776, 36788, 36794, 36796, 36805, 36807, 36808, 36811, 36829, 36830, 36839, 36840, 36841, 36842, 36844, 36847, 36848, 36851, 36855, 36856, 36871, 36874, 36877, 36879, 36881, 36886, 36888, 36889, 36891, 36892, 36893, 36896, 36907, 36913, 36939, 36940, 36941, 36944, 36945, 36946, 36947, 36948, 36950, 36954, 36961, 36967, 36969, 36971, 36978, 36983, 36990, 36998, 37003, 37004, 37007, 37011, 37012, 37014, 37016, 37017, 37021, 37026, 37027, 37028, 37029, 37030, 37031, 37032, 37033, 37035, 37044, 37068, 37069, 37071, 37107, 37116, 37119, 37120, 37144, 37146, 37148, 37149, 37181, 37183, 37184, 37187, 37189, 37215, 37222, 37223, 37225, 37226, 37227, 37230, 37231, 37488, 37519, 37528, 37540, 37543, 37544, 37545, 37546, 37547, 37554, 37574, 37577, 37578, 37579, 37581, 37583, 37584, 37586, 37587, 37588, 37589, 37592, 37593, 37596, 37670, 37687, 37688, 37689, 37696, 37702, 37704, 37711, 37712, 37713, 37728, 37729, 37742, 37755, 37776, 37779, 37780, 37813, 37833, 37852, 37856, 37858, 37861, 37862, 37865, 37890, 37906, 37920, 37928, 37941, 37942, 37947, 37948, 37949, 37965, 37967, 37991, 37992, 37993, 37994, 37996, 38009, 38010, 38017, 38028, 38054, 38112, 38113, 38135, 38136, 38153, 38161, 38172, 38173, 38175, 38176, 38177, 38181, 38189, 38194, 38200, 38222, 38284, 38316, 38391, 38453, 38487, 38493, 38500, 38505, 38508, 38567, 38569, 38841, 38858, 36482, 36626, 36627, 36659, 36678, 36880, 36897, 36899, 36916, 36934, 37006, 37013, 37022, 37023, 37025, 37038, 37098, 37217, 37562, 37571, 37595, 37662, 37663, 37664, 37665, 37666, 37672, 37690, 37697, 37744, 37782, 37824, 37849, 37854, 37855, 37864, 37901, 37930, 37935, 37936, 37955, 37968, 37970, 37972, 37973, 37986, 38004, 38008, 38104, 38107, 38159, 38201, 38228, 38229, 38231, 38232, 38234, 38294, 38308, 38309, 38317, 38319, 38332, 38369, 38410, 38422, 38451, 38454, 38458, 38463, 38763, 38879, 39010, 37859, 37850, 38867, 36955, 36993, 37221, 37496, 37497, 37498, 37572, 37575, 37576, 37580, 37582, 37591, 37597, 37774, 37810, 38160, 38188, 35037, 35044, 37158, 37915, 34337, 35041, 35809, 37888, 38751, 35036, 37851, 35033, 35052, 36511, 37828, 37846, 34942, 36838, 37094, 37190, 37200, 37853, 37997, 37998, 37999, 38182, 38283, 38711, 38712, 38840, 35019, 35021, 35148, 37814, 38163, 36957, 36960, 36968, 36970, 36982, 37034, 37041, 37117, 37182, 37188, 37830, 37879, 37880, 37902, 37903, 37904, 36212, 36272, 36296, 36530, 36565, 36568, 36643, 36710, 36789, 36791, 36812, 36817, 36885, 37501, 37502, 37503, 37533, 37534, 37674, 37675, 37863, 37868, 37886, 37887, 37907, 37918, 37934, 37945, 37950, 37985, 38041, 38065, 38066, 38068, 38186, 38208, 38288, 38293, 38325, 38334, 38335, 38336, 38340, 38341, 38342, 38374, 38433, 38439, 38456, 38461, 38482, 38492, 38494, 38752, 39172, 39509, 37122, 37123, 37124, 37125, 37126, 37127, 37129, 37132, 37133, 37134, 37491, 37495, 38125, 38154, 38184, 38551, 38557, 38558, 39173, 37715, 38032, 38035, 37232, 37493, 37494, 38370, 38490, 35179, 37980, 37981, 38039, 38040, 38501, 39019, 39092, 37990, 37558, 35074, 36715, 38211, 38595, 36085, 36090, 36084, 35517, 35490, 36089, 35518, 36091, 36087, 36086, 36083, 36082, 36088, 36538, 36566, 36572, 38110, 38193, 36571, 37282, 37281, 35519, 35493, 37280, 37279, 35527, 35521, 37278, 35522, 37277, 37293, 37720, 37550, 37551, 37100, 37549, 35354, 35353, 35520, 36863, 35523, 38599, 38603, 38524, 38525, 38563, 38544, 38564, 38568, 37074, 36864, 37564, 36977, 37286, 36617, 37643, 37565, 37627, 37629, 37613, 36938, 38220, 37645, 37646, 37647, 37648, 37649, 37650, 37651, 37652, 37609, 37638, 37644, 37612, 37637, 35524, 37640, 37635, 37656, 37622, 37118, 37101, 37626, 37641, 37642, 37636, 37639, 36859, 36858, 36857, 37618, 37567, 37677, 37568, 36498, 37607, 38249, 38025, 38026, 37731, 37730, 36644, 37569, 35654, 35534, 37036, 37292, 37296, 35528, 36862, 36861, 36860, 37614, 37302, 37606, 37305, 35717, 37566, 37563, 37608, 37624, 37625, 37623, 37797, 36067, 35529, 37604, 37603, 37605, 37628, 36804, 37809, 36071, 35525, 37261, 37270, 37276, 37273, 37285, 37289, 37299, 38267, 38233, 38057, 38058, 38075, 38073, 38076, 38072, 38074, 35427, 38077, 39168, 34476, 38157, 38406, 38261, 38408, 35421, 38407, 38082, 38086, 38079, 38031, 38061, 38059, 38081, 38078, 38085, 38083, 38080, 38092, 38091, 38090, 38087, 38088, 38096, 38256, 35415, 35407, 38097, 38093, 38084, 38089, 35401, 38638, 35357, 35310, 38444, 38128, 38481, 38445, 38446, 35285, 35259, 36792, 36757, 35254, 36679, 38402, 35251, 38393, 35156, 38394, 35067, 35032, 36542, 36532, 36483, 34971, 36301, 36215, 35983, 34895, 35559, 35543, 35537, 38596, 38398, 38396, 38586, 38550, 37506, 37655, 38138, 38123, 38108, 38062, 38064, 38063, 38418, 38103, 38602, 38098, 38100, 38102, 38480, 38099, 38101, 38479, 38604, 38312, 38600, 35110, 35107, 35087, 38297, 37959, 38399, 38400, 38105, 36075, 34889, 35653, 34827, 34709, 34580, 38419, 38775, 37131, 36910, 36867, 36380, 36358, 36351, 35720, 35586, 38395, 38404, 38262, 38403, 37063, 38405, 38095, 38257, 36966, 36963, 36605, 36556, 35244, 35228, 36550, 38174, 38169, 38197, 38198, 34437, 38219, 38171, 38167, 38166, 38168, 38170, 36545, 35533, 34482, 38397, 38298, 38299, 38303, 38304, 38258, 38126, 38000, 38132, 38133, 38131, 36135, 38185, 38204, 37882, 38362, 35540, 34515, 37304, 37301, 37295, 37291, 37260, 37269, 37275, 37272, 37284, 37288, 37298, 38266, 38459, 39167, 34435, 38639, 38685, 38691, 38689, 35419, 38687, 34434, 34428, 38693, 35413, 35405, 35362, 38637, 35356, 35308, 38699, 35261, 35258, 36769, 36737, 35253, 36677, 38582, 35249, 38628, 35155, 38625, 35066, 35018, 36537, 36510, 36431, 34930, 36284, 36189, 35910, 34893, 35546, 35542, 35536, 38597, 38633, 39001, 38585, 38549, 37505, 38760, 38758, 35109, 35091, 35086, 38296, 37958, 38769, 38771, 36074, 34875, 35652, 34801, 34612, 34579, 38776, 37130, 36904, 36866, 36360, 36357, 36303, 35719, 35568, 38631, 38679, 38683, 38675, 37039, 38681, 38677, 36965, 36949, 36574, 36554, 35243, 35180, 36547, 38722, 38727, 38725, 38724, 38726, 38723, 36544, 35532, 34480, 40533, 36128, 36504, 38635, 35539, 34484, 40165, 37303, 37300, 37294, 37290, 37259, 37268, 37274, 37271, 37283, 37287, 37297, 38265, 38460, 39166, 34425, 38640, 38692, 38690, 35417, 38688, 34393, 34360, 38694, 35410, 35403, 35358, 38156, 35355, 35306, 38700, 35260, 35256, 36763, 36726, 35252, 36648, 38583, 35246, 38629, 35145, 38626, 35051, 34993, 36533, 36484, 36390, 34921, 36235, 36168, 35895, 34891, 35544, 35541, 35535, 38598, 38632, 39000, 38431, 38390, 37504, 38761, 38759, 35108, 35088, 35085, 38106, 37957, 38770, 38772, 36072, 34847, 35588, 34798, 34581, 34533, 38777, 37128, 36875, 36865, 36359, 36352, 36302, 35718, 35560, 38630, 38680, 38684, 38676, 37037, 38682, 38678, 36964, 36923, 36573, 36553, 35242, 35157, 36546, 38721, 38737, 38735, 38734, 38736, 38733, 36543, 42078, 34477, 39137, 36076, 36503, 38634, 35538, 34483, 37246, 37258, 37255, 35492, 35438, 35441, 35514, 35511, 35447, 37252, 37249, 35216, 35278, 35270, 35265, 35262, 35705, 35686, 35683, 35680, 35692, 35711, 35724, 34442, 35695, 35774, 35436, 37243, 37267, 37264, 35350, 35347, 35671, 35689, 36473, 37240, 37237, 34566, 35429, 34649, 34648, 34650, 37192, 37201, 35740, 37234, 35708, 35702, 35743, 35734, 35746, 35665, 35662, 35721, 35714, 35728, 35668, 35699, 35674, 35731, 35737, 37245, 37257, 37254, 35468, 35439, 35442, 35515, 35512, 35448, 37251, 37248, 35268, 35279, 35271, 35266, 35263, 35706, 35687, 35684, 35681, 35693, 35712, 35725, 34443, 35696, 35775, 35433, 37242, 37266, 37263, 35351, 35348, 35672, 35690, 36474, 37239, 37236, 35615, 35425, 35655, 35658, 37191, 37194, 35741, 37233, 35709, 35703, 35744, 35735, 35747, 35666, 35663, 35722, 35715, 35729, 35669, 35700, 35675, 35732, 35738, 37244, 37256, 37253, 35459, 35440, 35443, 35516, 35513, 35449, 37250, 37247, 35269, 35280, 35272, 35267, 35264, 35707, 35688, 35685, 35682, 35694, 35713, 35726, 35749, 35697, 35776, 35431, 37241, 37265, 37262, 35352, 35349, 35673, 35691, 36475, 37238, 37235, 35616, 35423, 35656, 35659, 37168, 37193, 35742, 37202, 35710, 35704, 35745, 35736, 35748, 35667, 35664, 35723, 35716, 35730, 35670, 35701, 35676, 35733, 35739, 37172, 37917, 37964, 38016, 38023, 38042, 38044, 38045, 38295, 38471, 35116, 37214, 38030, 36597, 38121, 37601, 38485, 38472, 38006, 37984, 37671, 36908, 36909, 38338, 38337, 38491, 37966, 38339, 38328, 38248, 40295, 40281, 36912, 39372, 36598, 36609, 36633, 36701, 37695, 37698, 37799, 38757, 38995, 39371, 37228, 37229, 37531, 37532, 38199, 38421, 38429, 38430, 38548, 38556, 40160, 40607, 40413, 40405, 35050, 39048, 36853, 36980, 37186, 38223, 40703, 35146, 35876, 35878, 35043, 38589, 34386, 34387, 34489, 37801, 37845, 38191, 40725, 34532, 36823, 36824, 38285, 38392, 38579, 38584, 38667, 35360, 35359, 38462, 38483, 38292, 38271, 40246, 38434, 38435, 38436, 38401, 38784, 38785, 35531, 35530, 40198, 40436, 40443, 40446, 37919, 36064, 35027, 34490, 36991, 37000, 37205, 37211, 37509, 37510, 37512, 37523, 37527, 37538, 37539, 37541, 37542, 37552, 37707, 37745, 37746, 37763, 37764, 37765, 37781, 37829, 37844, 37881, 38047, 38048, 38052, 38056, 37826, 37827, 37832, 37857, 37871, 37878, 37893, 37894, 37952, 37976, 38001, 40625, 39746, 39747, 39751, 39794, 39814, 39863, 39899, 40001, 40029, 40041, 40042, 40043, 40044, 40055, 40081, 40083, 40091, 40100, 40135, 40142, 40146, 40417, 40419, 40421, 40423, 40429, 40626, 40627, 40628, 40870, 37306, 37307, 37308, 37309, 37310, 37311, 37312, 37313, 37314, 37315, 37316, 37317, 37318, 37319, 37320, 37321, 37322, 37323, 37324, 37325, 37326, 37327, 37328, 37329, 37330, 37331, 37332, 37333, 37334, 37335, 37336, 37337, 37338, 37339, 37340, 37341, 37342, 37343, 37344, 37345, 37346, 37347, 37348, 37349, 37350, 37351, 37352, 37353, 37354, 37355, 37356, 37357, 37358, 37359, 37360, 37361, 37362, 37363, 37364, 37365, 37366, 37367, 37368, 37369, 37370, 37371, 37372, 37373, 37374, 37375, 37376, 37377, 37378, 37379, 37380, 37381, 37382, 37383, 37384, 37385, 37386, 37387, 37388, 37389, 37390, 37391, 37392, 37393, 37394, 37395, 37396, 37397, 37398, 37399, 37400, 37401, 37402, 37403, 37404, 37405, 37406, 37407, 37408, 37409, 37410, 37411, 37412, 37413, 37414, 37415, 37416, 37417, 37418, 37419, 37420, 37421, 37422, 37423, 37424, 37425, 37426, 37427, 37428, 37429, 37430, 37431, 37432, 37433, 37434, 37435, 37436, 37437, 37438, 37439, 37440, 37441, 37442, 37443, 37444, 37445, 37446, 37447, 37448, 37449, 37450, 37451, 37452, 37453, 37454, 37455, 37456, 37457, 37458, 37459, 37460, 37461, 37462, 37463, 37464, 37465, 37466, 37467, 37468, 37469, 37470, 37471, 37472, 37473, 37474, 37475, 37476, 37477, 37478, 37479, 37480, 37481, 37482, 37483, 37484, 37485, 37486, 37525, 37526, 37530, 37535, 37610, 37611, 37615, 37616, 37617, 37619, 37620, 37621, 37630, 37631, 37632, 37633, 37634, 37653, 37654, 37657, 37658, 37678, 37691, 37693, 37699, 37700, 37703, 37721, 37722, 37732, 37734, 37749, 37750, 37751, 37752, 37766, 37767, 37768, 37769, 37770, 37771, 37772, 37773, 37775, 37787, 37788, 37790, 37798, 37800, 37820, 37825, 37831, 37860, 37869, 37883, 37898, 37932, 37937, 37944, 37982, 37983, 38011, 38012, 38013, 38014, 38019, 38020, 38021, 38043, 38049, 38050, 38053, 38067, 38094, 38116, 38129, 38130, 38134, 38137, 38139, 38151, 38158, 38162, 38164, 38180, 38207, 38216, 38226, 38230, 38236, 38260, 38264, 38273, 38289, 38291, 38310, 38320, 38321, 38322, 38349, 38350, 38351, 38352, 38353, 38361, 38367, 38386, 38388, 38486, 38495, 38496, 38497, 38503, 38527, 38528, 38529, 38546, 38547, 38552, 38566, 38572, 38580, 38581, 38587, 38588, 38590, 38601, 38605, 38606, 38607, 38608, 38609, 38610, 38641, 38686, 38695, 38698, 38701, 38702, 38710, 38716, 38717, 38773, 38774, 38778, 38786, 38787, 38788, 38789, 38790, 38825, 38830, 38831, 38839, 38843, 38846, 38857, 38860, 38863, 38870, 38877, 38882, 38883, 38900, 38901, 38903, 38905, 38906, 38907, 38919, 38920, 38921, 38970, 38971, 38972, 38973, 38974, 38975, 39011, 39012, 39013, 39021, 39023, 39045, 39046, 39047, 39055, 39057, 39058, 39060, 39089, 39090, 39091, 39101, 39103, 39120, 39121, 39122, 39123, 39125, 39130, 39131, 39132, 39135, 39158, 39189, 39190, 39217, 39229, 39230, 39231, 39232, 39233, 39234, 39252, 39253, 39259, 39263, 39264, 39265, 39271, 39273, 39275, 39283, 39284, 39285, 39286, 39287, 39288, 39289, 39296, 39299, 39300, 39301, 39302, 39303, 39304, 39305, 39306, 39307, 39309, 39310, 39311, 39328, 39343, 39349, 39355, 39356, 39361, 39362, 39368, 39386, 39396, 39420, 39421, 39448, 39454, 39462, 39466, 39508, 39581, 39623, 39624, 39632, 39633, 39639, 39647, 39648, 39654, 39672, 39675, 39678, 39682, 39683, 39686, 39691, 39692, 39695, 39703, 39707, 39711, 39712, 39713, 39714, 39715, 39716, 39717, 39735, 39743, 39744, 39755, 39757, 39758, 39759, 39760, 39763, 39798, 39799, 39805, 39807, 39815, 39817, 39818, 39819, 39820, 39821, 39823, 39825, 39826, 39827, 39836, 39837, 39841, 39842, 39852, 39856, 39860, 39861, 39864, 39872, 39888, 39891, 39901, 39902, 39903, 39910, 39920, 39922, 39934, 39938, 39940, 39944, 39945, 39967, 39968, 39969, 39970, 39973, 39975, 39976, 39977, 40006, 40010, 40037, 40038, 40039, 40057, 40097, 40098, 40101, 40102, 40103, 40104, 40110, 40120, 40122, 40124, 40125, 40138, 40141, 40143, 40144, 40145, 40151, 40175, 40176, 40182, 40184, 40187, 40188, 40189, 40191, 40192, 40195, 40196, 40199, 40203, 40204, 40205, 40206, 40207, 40208, 40209, 40210, 40211, 40212, 40213, 40214, 40215, 40216, 40217, 40218, 40220, 40222, 40225, 40231, 40241, 40253, 40256, 40257, 40260, 40263, 40264, 40265, 40274, 40279, 40301, 40305, 40312, 40329, 40352, 40354, 40356, 40361, 40363, 40368, 40373, 40374, 40387, 40388, 40391, 40392, 40404, 40414, 40415, 40416, 40418, 40420, 40422, 40424, 40425, 40426, 40428, 40435, 40437, 40438, 40441, 40468, 40469, 40470, 40471, 40472, 40478, 40479, 40481, 40492, 40502, 40506, 40606, 40617, 40670, 40671, 40672, 40673, 40674, 40675, 40681, 40682, 40683, 40684, 40704, 40721, 40724, 40842, 41839, 43280, 43281, 43282, 40624);
+
+
+-- `gameobject_questitem`.`VerifiedBuild`
+
+ALTER TABLE `gameobject_questitem`
+ ADD COLUMN `VerifiedBuild` SMALLINT(5) NOT NULL DEFAULT '0';
+
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = -12340 WHERE `GameObjectEntry` = 202083;
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 15354 WHERE `GameObjectEntry` = 175984;
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 15595 WHERE `GameObjectEntry` = 202193;
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 16992 WHERE `GameObjectEntry` = 202192;
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 17371 WHERE `GameObjectEntry` = 188509;
+
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 11685 WHERE `GameObjectEntry` IN (191125, 187082);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 17658 WHERE `GameObjectEntry` IN (178188, 187191);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 15211 WHERE `GameObjectEntry` IN (181073, 202947, 202948);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = -1 WHERE `GameObjectEntry` IN (184839, 194328, 194956, 190363, 194326, 194329, 194330);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 17538 WHERE `GameObjectEntry` IN (147077, 147076, 147075, 180609, 180610, 180611, 184633, 188216, 190217);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 11159 WHERE `GameObjectEntry` IN (2563, 3200, 150080, 151951, 174596, 177491, 178609, 178645, 178647, 178649, 178671, 178745, 178746, 179665, 180050, 180051, 180052, 180797, 181578, 184378, 184691, 184830, 185574, 126342, 142976, 142977, 142978, 142979, 142980, 177325, 177396, 178667, 178668, 178669, 178805, 178924, 180715, 180719, 180743, 180746, 180747, 180748, 180793, 180796, 180798, 180799, 180844, 184561, 185926, 187193, 187235, 185520, 180024, 185582, 180654, 187567, 187194, 188444, 187236, 193960, 194159, 193967, 193426, 194789, 194324, 192265, 194462, 194338, 194339, 194821, 191179, 181853, 194325, 195669);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 11403 WHERE `GameObjectEntry` IN (1989, 1990, 73941, 102413, 153468, 164881, 174602, 174608, 174610, 175075, 176157, 176306, 179547, 180755, 180756, 180757, 180759, 180760, 180761, 180762, 180763, 180764, 180767, 180769, 180770, 180772, 180773, 180774, 180775, 180776, 180777, 180778, 180868, 180869, 180870, 180871, 180872, 180873, 180878, 180879, 180880, 180881, 180882, 180883, 180885, 181014, 181015, 181016, 181017, 181018, 181019, 181020, 181022, 181025, 181055, 181060, 183983, 140360, 175076, 178725, 180758, 180765, 180857, 180874, 180875, 180884, 180888, 180909, 180910, 181027, 182259, 185916, 165587, 191300, 190678, 190792, 192517, 187575, 187668, 200300, 200332, 200333, 200334, 200335, 200336, 200337, 200338, 201289, 201752, 201778, 201906, 201940, 202105, 201716, 202169);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 11723 WHERE `GameObjectEntry` IN (33, 34, 35, 331, 333, 334, 965, 1165, 1557, 1599, 1604, 1605, 1607, 1609, 1610, 1729, 1730, 1740, 1760, 1836, 1838, 1840, 1844, 1868, 1898, 1926, 1997, 1999, 2004, 2061, 2066, 2667, 2704, 2711, 2741, 2743, 2846, 2867, 2904, 180653, 3890, 3899, 3909, 3911, 3944, 3945, 3946, 3947, 3948, 3949, 3950, 3951, 4406, 6752, 7510, 7923, 9630, 10076, 17157, 17183, 18342, 18343, 18596, 18603, 19024, 19025, 19027, 19534, 19538, 19539, 19540, 19549, 19552, 19586, 19596, 19599, 19862, 19875, 19878, 19879, 19901, 20850, 20870, 20881, 20939, 20985, 20989, 21004, 21053, 21054, 21055, 21056, 21069, 21070, 21071, 21072, 21088, 21089, 21128, 21308, 22229, 22230, 22231, 22234, 22248, 22253, 22257, 26482, 31442, 31511, 32372, 32882, 32883, 32884, 35251, 35252, 36645, 48521, 48543, 48568, 48569, 48571, 48572, 48574, 48575, 61929, 74138, 74146, 90567, 92065, 92252, 92388, 92420, 102988, 102991, 102992, 102993, 102994, 102995, 103003, 103815, 109515, 111148, 112192, 112888, 113529, 113531, 113769, 113771, 124388, 124389, 126260, 130358, 136945, 136946, 138496, 138497, 140105, 141069, 141859, 141980, 141981, 142127, 142179, 142194, 142345, 144180, 144181, 147435, 148513, 148514, 148515, 148731, 148732, 148734, 148737, 148738, 148740, 148744, 148745, 148766, 148838, 148883, 148937, 148976, 148996, 148997, 148998, 149020, 149022, 149047, 149410, 149420, 149480, 149481, 149482, 149483, 150086, 150140, 151286, 152098, 153123, 153205, 153359, 153360, 153463, 153577, 160839, 161456, 161487, 161489, 164690, 164758, 164820, 164824, 164826, 164827, 164888, 164890, 164891, 164927, 165559, 167285, 167286, 167291, 171648, 171649, 171939, 173266, 173326, 174604, 174606, 174614, 174615, 174684, 174686, 174708, 174714, 175227, 175264, 175336, 175487, 175488, 175571, 175584, 175589, 175704, 175707, 175765, 175766, 175767, 175889, 175890, 175925, 176091, 176158, 176159, 176161, 176165, 176184, 176188, 176191, 176198, 176206, 176225, 176226, 176230, 176274, 176280, 176283, 176284, 176288, 176289, 176356, 176511, 176513, 176514, 176515, 176634, 176784, 176809, 176810, 176811, 176812, 176813, 176814, 176815, 176816, 176817, 176818, 176819, 176820, 176821, 176822, 176823, 176824, 176825, 176826, 176827, 176828, 176829, 176830, 176831, 176832, 176833, 176834, 176835, 176836, 176837, 176838, 176839, 176840, 176841, 176842, 176908, 176909, 176910, 176911, 176912, 176913, 176914, 176915, 176916, 176917, 176918, 176919, 176920, 176921, 176922, 177239, 177240, 177259, 177526, 177527, 177586, 177624, 177644, 177665, 177667, 177673, 177675, 177677, 177684, 177705, 177724, 177725, 177727, 177784, 177786, 177787, 177985, 178205, 178207, 178227, 178228, 178325, 178444, 180651, 180652, 178670, 179086, 179286, 179485, 179491, 179498, 179499, 179501, 179511, 179516, 179517, 179544, 179548, 179551, 179563, 179564, 179565, 179667, 179757, 179767, 179828, 179910, 179915, 180056, 180510, 180511, 180515, 180516, 180598, 180647, 180660, 180679, 180680, 180681, 180690, 180691, 180855, 181068, 181069, 181133, 181138, 181139, 181140, 181146, 181148, 181150, 181152, 181238, 181239, 181248, 181249, 181251, 181252, 181313, 181314, 181315, 181316, 181317, 181320, 181321, 181322, 181323, 181328, 181350, 181351, 181359, 181379, 181445, 181489, 181495, 181608, 181652, 181665, 181670, 181674, 181675, 181746, 181755, 181756, 181758, 181769, 181776, 181777, 181778, 181779, 181780, 181782, 181806, 181829, 181841, 181851, 181863, 181864, 181865, 181866, 181867, 181868, 181869, 181887, 181888, 181893, 181894, 181897, 181898, 181917, 181920, 181936, 181937, 181947, 181948, 181949, 181950, 181951, 181952, 181953, 181956, 181964, 181967, 181968, 181991, 181992, 181993, 181994, 181995, 181996, 181997, 181998, 181999, 182000, 182001, 182002, 182015, 182016, 182017, 182018, 182019, 182020, 182021, 182022, 182023, 182026, 182027, 182028, 182029, 182032, 182211, 182212, 182215, 182216, 182217, 182218, 182219, 182220, 182532, 182533, 182650, 182654, 182655, 182656, 182657, 182658, 182659, 182660, 182666, 182667, 182671, 182879, 182880, 182905, 182906, 182907, 182908, 182909, 182910, 182911, 182912, 182913, 182914, 182915, 182916, 182917, 182918, 182919, 182920, 182921, 182960, 182961, 182963, 182966, 183096, 183442, 183496, 183812, 183847, 184056, 184108, 184145, 184273, 184384, 184385, 184386, 184387, 184388, 184389, 184390, 184391, 184392, 184408, 184409, 184410, 184411, 184412, 184442, 184490, 184582, 184634, 184635, 184636, 184637, 184638, 184639, 184653, 184683, 184684, 184700, 184738, 184747, 184753, 184795, 184796, 184797, 184801, 184850, 184926, 184928, 184947, 184949, 184979, 185034, 185040, 185041, 185042, 185043, 185044, 185045, 185046, 185047, 185057, 185058, 185059, 185060, 185061, 185085, 185086, 185087, 185098, 185102, 185125, 185126, 185127, 185128, 185130, 185146, 185182, 185233, 185898, 185562, 185564, 185567, 185569, 185577, 185578, 185579, 185658, 185668, 185670, 185671, 185700, 185701, 185702, 185703, 185724, 185725, 185726, 185727, 185728, 185729, 185730, 185731, 185732, 185733, 185734, 185735, 185736, 185737, 185738, 185739, 185740, 185741, 185742, 185743, 185744, 185745, 185746, 185747, 185748, 185749, 185750, 185751, 185764, 185765, 185766, 185767, 185788, 185789, 185790, 185791, 185792, 185793, 185794, 185795, 185796, 185797, 185798, 185799, 185800, 185801, 185802, 185803, 185804, 185805, 185806, 185807, 185808, 185809, 185810, 185811, 185812, 185813, 185814, 185815, 185816, 185817, 185818, 185819, 185820, 185821, 185822, 185823, 185824, 185825, 185826, 185827, 185828, 185829, 185830, 185831, 185834, 185835, 185872, 185873, 185874, 185875, 185932, 185933, 185934, 185937, 1667, 1700, 1701, 1702, 1703, 1704, 1834, 1841, 1845, 1846, 1847, 1848, 1876, 1878, 1879, 1883, 1884, 1917, 2056, 3852, 3853, 3855, 3856, 3895, 3896, 3897, 3903, 3904, 3907, 3910, 18069, 18344, 18345, 20878, 20921, 20922, 20964, 92140, 92142, 112012, 142974, 170035, 170036, 170037, 170038, 170039, 170040, 170041, 170042, 170043, 170044, 170045, 170046, 174846, 174847, 176319, 176609, 176610, 176611, 176612, 179985, 1803, 1804, 1864, 1866, 1867, 1869, 1880, 1881, 1882, 1894, 1895, 1905, 1921, 1922, 1923, 1971, 2003, 2054, 2665, 3222, 3223, 3310, 3636, 3637, 3638, 3639, 3770, 6288, 20692, 20693, 20879, 20924, 20960, 22250, 22251, 22254, 22255, 22258, 22259, 22260, 22261, 22262, 37051, 37089, 37090, 37091, 37092, 37093, 37094, 37095, 37096, 38028, 38030, 40197, 48441, 48449, 51681, 55535, 74077, 103749, 103770, 103771, 103772, 112194, 112195, 112196, 112197, 112198, 112199, 112202, 112216, 112217, 112223, 113540, 141610, 141611, 142121, 142123, 142124, 142690, 143397, 147436, 147437, 147438, 147439, 147440, 147441, 147442, 147443, 147444, 147445, 147446, 147447, 147448, 147449, 147450, 148666, 148672, 148673, 148676, 148679, 148681, 148685, 148687, 148688, 148689, 149017, 149018, 150081, 150713, 152324, 153399, 153482, 164728, 164818, 171619, 171622, 174882, 174883, 174884, 174885, 174886, 174887, 174888, 174889, 174890, 174891, 174892, 174893, 174894, 174895, 174896, 174897, 174898, 174899, 174900, 174901, 174902, 174903, 174904, 174905, 174906, 174907, 174908, 174909, 174910, 174911, 174934, 174935, 174936, 174937, 174938, 174939, 174940, 174941, 174942, 174945, 175233, 176166, 176267, 176268, 176271, 176273, 176287, 176291, 176293, 176305, 176885, 176891, 176999, 177146, 177147, 177148, 177149, 177257, 177258, 177275, 177276, 177368, 177844, 179307, 179308, 179504, 179505, 179507, 179508, 179748, 179749, 179750, 179751, 179752, 179753, 179754, 179755, 179756, 179758, 179759, 179760, 179761, 179762, 179763, 179764, 179765, 179766, 179768, 179769, 179770, 179771, 179945, 180105, 180124, 180346, 180367, 180418, 180443, 180454, 180604, 180606, 180607, 180608, 180619, 180620, 180642, 180718, 180745, 180795, 180850, 180854, 180860, 180861, 180864, 180865, 181012, 181013, 181109, 181327, 181352, 181356, 181357, 181362, 181640, 181965, 181988, 182063, 182088, 182091, 182607, 183443, 183494, 183495, 184568, 184658, 185117, 185118, 185169, 185541, 185965, 113770, 113768, 185939, 185052, 185053, 185051, 185054, 184329, 184327, 184326, 184328, 184069, 184325, 184596, 184597, 184324, 184697, 184956, 185673, 185672, 185698, 185697, 185704, 185706, 185665, 185707, 185699, 185696, 185666, 185674, 185705, 185522, 185519, 185893, 181832, 185659, 185657, 185669, 185694, 185692, 185656, 185693, 185695, 185675, 185663, 185660, 185661, 185662, 185664, 185667, 185455, 186482, 186338, 185454, 185438, 186648, 187377, 186733, 186272, 186322, 186418, 186465, 180863, 181053, 186469, 186425, 186288, 186315, 187379, 187378, 186667, 186658, 186739, 186430, 186671, 187380, 186672, 186623, 187021, 187084, 186633, 186634, 185907, 188048, 188050, 187929, 187961, 187948, 187970, 187975, 187930, 188152, 187947, 188478, 190396, 190394, 187916, 187920, 187924, 187931, 187936, 187940, 187988, 187989, 188049, 188137, 188138, 187244, 187249, 188460, 190182, 190184, 190186, 190187, 190551, 190837, 191085, 191346, 191510, 191774, 191775, 191776, 192693, 193272, 188265, 188270, 188271, 192472, 192476, 186404, 186444, 186445, 186446, 186466, 186467, 186468, 186806, 187105, 187189, 187250, 187251, 187383, 187384, 187385, 187386, 187679, 187771, 187981, 188066, 188367, 188434, 188450, 188462, 188504, 189305, 189330, 189970, 190336, 190337, 190338, 190339, 190340, 190341, 190342, 190354, 190510, 190514, 190523, 190539, 190656, 190732, 190736, 190737, 190738, 190812, 190813, 190815, 190835, 190838, 190839, 190840, 190841, 190948, 190949, 191458, 191778, 191779, 191789, 191791, 192243, 192261, 192451, 192505, 192506, 192538, 193207, 193407, 193409, 193410, 193411, 193412, 193413, 193420, 193560, 193948, 193955, 193956, 187680, 193975, 193206, 193216, 193217, 193219, 193218, 193215, 193425, 193447, 193440, 193449, 193450, 193451, 193452, 193453, 193454, 193455, 193441, 193442, 193443, 193444, 193445, 193446, 193448, 193427, 193456, 193629, 193628, 193414, 193415, 194004, 194002, 190718, 190707, 190719, 190717, 192612, 190814, 191842, 192075, 192525, 191841, 191794, 192558, 192917, 192127, 193794, 193941, 192257, 192132, 193973, 192262, 191579, 193092, 187451, 192258, 191147, 187077, 194543, 194519, 194555, 192786, 2884, 194628, 184955, 192259, 195632, 192492, 195574, 195318, 201367, 201368, 195573, 201388, 193635, 193692, 193654, 193634, 193640, 193647, 193682, 193632, 193655, 193663, 193673, 193683, 193693, 193694, 193630, 193695, 193659, 193661, 193662, 193644, 193645, 193651, 193652, 193653, 193656, 193657, 193658, 193688, 193689, 193690, 193684, 193686, 193672, 193677, 193685, 193638, 193631, 193639, 193666, 193687, 193680, 193681, 193650, 193660, 193667, 193691, 193633, 193678, 193671, 193674, 193675, 193676, 193646, 193648, 193649, 193636, 193664, 193665, 193679, 193637, 193642, 193643, 193668, 193669, 193670, 193641, 193961, 194123, 195671, 202180, 202212, 179832, 194935, 195670, 21145, 21146, 21147, 21148, 180713, 201872, 194047, 202275, 195116, 188076, 185871, 202080, 187967, 188143, 188144, 190682, 191320, 180687, 187917, 187937, 187941, 187942, 187949, 187962, 188153, 188154, 188187, 185581, 187919, 187935, 187955, 187960, 193590, 193591, 193592, 193593, 193594, 194036, 194040, 194048, 194049, 201718, 201794, 201797, 201844, 201922, 201937);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = -18019 WHERE `GameObjectEntry` IN (22713, 22714, 22715, 22721, 22716, 22731, 22730, 22729, 22728, 22726, 22725, 22723, 22722, 22717, 22724, 22877, 32566, 32565, 32564, 32563, 32562, 31506, 31505, 29779, 29778, 29739, 29738, 29737, 29736, 29735, 29734, 29733, 29732, 29731, 29730, 29729, 29728, 29727, 29726, 29725, 29724, 29723, 29722, 29721, 29720, 29719, 29718, 29698, 29160, 29159, 29158, 29157, 29156, 29153, 28068, 28067, 22907, 22906, 22905, 22903, 22901, 22900, 22899, 22898, 22897, 22896, 22895, 22893, 22892, 22891, 22890, 22889, 22888, 22878, 22876, 22875, 22874, 22873, 22872, 22871, 22870, 22869, 22868, 22867, 22866, 22862, 22861, 22859, 22857, 22851, 22850, 22848, 22847, 22846, 22845, 22844, 22843, 22842, 22841, 22840, 22839, 22838, 22837, 22793, 22792, 22791, 22790, 22789, 22787, 22786, 22784, 22781, 22780, 22779, 22778, 22720, 22718, 22702, 22701, 22700, 22699, 22698, 22697, 22696, 22695, 22694, 22788, 22782, 22693, 187854, 187855, 187856, 187857, 187858, 187859, 187860, 187862, 187863, 187864, 187865, 187866, 187867, 187868, 187870, 187871, 187872, 187873, 187874, 187861, 22692, 22691, 22690, 22689, 22688, 22687, 22686, 22683, 22682, 22681, 22678, 22677, 22637, 22636, 22635, 22634, 22633, 22632, 22631, 22630, 22629, 22628, 22627, 22626, 22625, 22624, 22620, 22611, 22610, 22609, 22608, 22607, 22586, 22583, 22574, 22573, 22572, 22571, 22570, 20668, 19867, 19866, 19838, 19837, 19836, 19835, 19834, 19832, 16395, 13948, 3687, 3275, 3274, 3272, 3271, 3218, 2903, 275, 2873, 2865, 2864, 2863, 2862, 2861, 2699, 2698, 2697, 2696, 2694, 2693, 2692, 2531, 32567, 32568, 33360, 35758, 37200, 48797, 2705, 2686, 1670, 1603, 22703, 3825, 3826, 3827, 3828, 3829, 3830, 3831, 3858, 3859, 3860, 3861, 3863, 3952, 3953, 3954, 3955, 3956, 3957, 3958, 3959, 3961, 3965, 3966, 21270, 21271, 21752, 20919, 32575, 32576, 32577, 32586, 32587, 32588, 32589, 56817, 60967, 60968, 60969, 60970, 60971, 102414, 103629, 103660, 103708, 103819, 107044, 107045, 107046, 107047, 142171, 142180, 142700, 142716, 143381, 144013, 144051, 144052, 144056, 144569, 146087, 147278, 147280, 147281, 147524, 147538, 147784, 147785, 147788, 147789, 147790, 147791, 147794, 147795, 147796, 147797, 147798, 147799, 147816, 147817, 148422, 148501, 152598, 152604, 152605, 152606, 160464, 161483, 161484, 161519, 161520, 164724, 164738, 164799, 164892, 165678, 165760, 166807, 172619, 174824, 174825, 174952, 175295, 175296, 175297, 175299, 175301, 175309, 175333, 175337, 175338, 175371, 175585, 176088, 176094, 176096, 176097, 176111, 176118, 176119, 176120, 176121, 176122, 176123, 176124, 176125, 176126, 176127, 176128, 176129, 176130, 176131, 176132, 176133, 176134, 176135, 176136, 176137, 176138, 176139, 176140, 176141, 176193, 176453, 176512, 176563, 176564, 176565, 177232, 177306, 177344, 177492, 177528, 177584, 177666, 177744, 177745, 177748, 177788, 178206, 178225, 178405, 178439, 178546, 178548, 178550, 178604, 178606, 178608, 178672, 178704, 178706, 178708, 178709, 178710, 178712, 178713, 178727, 178728, 178729, 178907, 179145, 179146, 179165, 179166, 179167, 179398, 179399, 179400, 179401, 179402, 179403, 179404, 179417, 179675, 179677, 179701, 179746, 180204, 180205, 180343, 180375, 180504, 180505, 180506, 180659, 180673, 180867, 181046, 181047, 181048, 181049, 181050, 181052, 181059, 181094, 181096, 181113, 181164, 181371, 181377, 181479, 181601, 181630, 181648, 181743, 181781, 181958, 181960, 182074, 182108, 182140, 182141, 182142, 182143, 182176, 182187, 182188, 182368, 182530, 182816, 182974, 182975, 182976, 182977, 182978, 182979, 182980, 182993, 183000, 183012, 183016, 183019, 183144, 183307, 183434, 183451, 183452, 183453, 183462, 183463, 183464, 183982, 184002, 184079, 184162, 184288, 184353, 184363, 184365, 184379, 184457, 184562, 184606, 184609, 184642, 184643, 184704, 184746, 184817, 184820, 184823, 184826, 184829, 184841, 184907, 184911, 184929, 184943, 184951, 184997, 185020, 185135, 185140, 185141, 185142, 185143, 185144, 185207, 185215, 185293, 185295, 185299, 185306, 185307, 185310, 185311, 185323, 185880, 185902, 186249, 186299, 186310, 186323, 186324, 186336, 186424, 186464, 186484, 186487, 186599, 186613, 186624, 186846, 186847, 186853, 186928, 186952, 186959, 186982, 187076, 187081, 187107, 187108, 187232, 187330, 187331, 187382, 187458, 187666, 187681, 187705, 187706, 187763, 187800, 187849, 187893, 187894, 187904, 188011, 188019, 188052, 188053, 188054, 188055, 188086, 188105, 188155, 188161, 188175, 188358, 188369, 188420, 188510, 188564, 188660, 188661, 188662, 188664, 188672, 188679, 188690, 188694, 188698, 188707, 188708, 189331, 189541, 189612, 189613, 189624, 189625, 189626, 189627, 189628, 189629, 189845, 189846, 189901, 189902, 189928, 189929, 189984, 190033, 190154, 190155, 190202, 190224, 190364, 190499, 190501, 190545, 190642, 190648, 190649, 190650, 190651, 190652, 190708, 190739, 190781, 190782, 190916, 191122, 191124, 191141, 191192, 191233, 191522, 191823, 192011, 192165, 192462, 192535, 192540, 192560, 193004, 193090, 193387, 193580, 193788, 193947, 193993, 194241, 194291, 194425, 195328, 195329, 195330, 201590, 201796, 60972, 60973, 60974, 60975, 60976, 60977, 60978, 60979, 60980, 60981, 60982, 60983, 60984, 60985, 60986, 60987, 60988, 60989, 60990, 60991, 60992, 60993, 60994, 60995, 60996, 60997, 60998, 60999, 61000, 61001, 61002, 61003, 61004, 61005, 61006, 61007, 61008, 61009, 61010, 61011, 61012, 61013, 61014, 61015, 61016, 61017, 61018, 61019, 61020, 61021, 61022, 61023, 61024, 61025, 61026, 61027, 61028, 61029, 61030, 61031, 61032, 61033, 61034, 64855, 67239, 69420, 103573, 111208, 111209, 111210, 111211, 111213, 111214, 111218, 111219, 111263, 111264, 111267, 111270, 111272, 111273, 111274, 111275, 111276, 111277, 111278, 111279, 111952, 111953, 111954, 111955, 111956, 111960, 111961, 111962, 111963, 111966, 111967, 111970, 111971, 111975, 111980, 111982, 111983, 111984, 112001, 112003, 112004, 112005, 112006, 112008, 112010, 112011, 112013, 112021, 112022, 112025, 112031, 112032, 112034, 112038, 112075, 112076, 112080, 112081, 112101, 112102, 112103, 112105, 112108, 112109, 112110, 112111, 112116, 112117, 112119, 112121, 112125, 112126, 112130, 112131, 112134, 112135, 112151, 112152, 112155, 112156, 112157, 112158, 112159, 112161, 112162, 112165, 112169, 112170, 112171, 112172, 112174, 112175, 112176, 112180, 112242, 112243, 112244, 112245, 112247, 112248, 112250, 112251, 112253, 112254, 112255, 112256, 112257, 112258, 112259, 112262, 112263, 112265, 112266, 112269, 112271, 112272, 112273, 112274, 112275, 112278, 112280, 112281, 112282, 112292, 112293, 112294, 112295, 112296, 112299, 112300, 112313, 112323, 112324, 112326, 112328, 112330, 112331, 112332, 113530, 113532, 132834, 136924, 138494, 138495, 138605, 138606, 138607, 138608, 138609, 138610, 138611, 138612, 138613, 140371, 140907, 141075, 142011, 142012, 142032, 142033, 142074, 142080, 142203, 143198, 143219, 143220, 143231, 147818, 147819, 147820, 147822, 148502, 148518, 148520, 148521, 148522, 148524, 148525, 148526, 148527, 148530, 148531, 148533, 148534, 148537, 148539, 148542, 148543, 148546, 148548, 148553, 148558, 148559, 148562, 148564, 148565, 148566, 148568, 148570, 148571, 148584, 148588, 148590, 148592, 148593, 148594, 148595, 148596, 148597, 148598, 148599, 148601, 148602, 148603, 148604, 148607, 148608, 148609, 148610, 148611, 148613, 148614, 148615, 148616, 148617, 148618, 148619, 148620, 148621, 148623, 148624, 148625, 148626, 148627, 148628, 148630, 148631, 148632, 148633, 148634, 148645, 148829, 150139, 152079, 153191, 153192, 153193, 153219, 153222, 153223, 153224, 153236, 153237, 153238, 153452, 153456, 153588, 160465, 160841, 160843, 160854, 160855, 160856, 160857, 160858, 160859, 160860, 160861, 160862, 160863, 160864, 160865, 161512, 161558, 164727, 164782, 164841, 164878, 165547, 165548, 165579, 166806, 169994, 169995, 170003, 170004, 170005, 170006, 170007, 170008, 170009, 170010, 170011, 170012, 170013, 170014, 170015, 170016, 170017, 170018, 170019, 170020, 170021, 170022, 170023, 170024, 170025, 170026, 170027, 170028, 170029, 170030, 170031, 170032, 170051, 170052, 170069, 170070, 170071, 170072, 170074, 170352, 171844, 171924, 174681, 174688, 174689, 174690, 174691, 174692, 174693, 174694, 174695, 174696, 174697, 174784, 174785, 174786, 174787, 174788, 174789, 174790, 174791, 174844, 174845, 174850, 174851, 174853, 174854, 174855, 174856, 174928, 174929, 174930, 174931, 174970, 174971, 174972, 174973, 174990, 174991, 174992, 174993, 174999, 175000, 175031, 175032, 175033, 175034, 175035, 175036, 175037, 175038, 175039, 175040, 175041, 175042, 175043, 175044, 175047, 175048, 175049, 175050, 175051, 175052, 175053, 175054, 175055, 175056, 175057, 175058, 175059, 175060, 175061, 175062, 175063, 175064, 175067, 175068, 175069, 175070, 175152, 175175, 175176, 175303, 175304, 175339, 175340, 175341, 175342, 175343, 175344, 175345, 175346, 175347, 175348, 175349, 175538, 175728, 175755, 175768, 175769, 175783, 175790, 176366, 176585, 176593, 177230, 177282, 177465, 177487, 177488, 177489, 177545, 177546, 177547, 177548, 177676, 177680, 177944, 178086, 178305, 178344, 178387, 178392, 178552, 178555, 178624, 178648, 178787, 179168, 179169, 179170, 179171, 179172, 179173, 179174, 179175, 179176, 179177, 179178, 179179, 179180, 179181, 179182, 179183, 179184, 179185, 179186, 179187, 179188, 179189, 179190, 179191, 179192, 179193, 179194, 179195, 179196, 179197, 179198, 179199, 179200, 179201, 179202, 179203, 179204, 179205, 179206, 179207, 179208, 179209, 179210, 179211, 179212, 179213, 179214, 179215, 179216, 179217, 179218, 179219, 179220, 179221, 179405, 179406, 179407, 179408, 179409, 179410, 179411, 179412, 179413, 179414, 179415, 179416, 179480, 179524, 179678, 179679, 179680, 179683, 179684, 179685, 179689, 179691, 179692, 179705, 179772, 179773, 179774, 179775, 179776, 179777, 179829, 179868, 179869, 179870, 179894, 179966, 179971, 179974, 180027, 180028, 180033, 180054, 180084, 180586, 180587, 180588, 180589, 180590, 180591, 180592, 180593, 180594, 180595, 180596, 180597, 180599, 180641, 180672, 180697, 180701, 180705, 180706, 180709, 180710, 180787, 180906, 181023, 181026, 181028, 181070, 181114, 181118, 181128, 181129, 181141, 181149, 181226, 181237, 181244, 181245, 181246, 181258, 181289, 181309, 181364, 181497, 181502, 181503, 181504, 181505, 181506, 181507, 181508, 181509, 181571, 181623, 181641, 181642, 181739, 181744, 181747, 181751, 181772, 181850, 181881, 181911, 181919, 182025, 182036, 182057, 182087, 182099, 182111, 182112, 182120, 182163, 182186, 182254, 182255, 182366, 182403, 182404, 182453, 182454, 182455, 182456, 182457, 182458, 182459, 182460, 182461, 182462, 182463, 182464, 182465, 182466, 182467, 182468, 182469, 182470, 182471, 182472, 182473, 182474, 182475, 182476, 182477, 182478, 182479, 182480, 182481, 182482, 182531, 182590, 182792, 182793, 182855, 182981, 182982, 182983, 182984, 182985, 182986, 182987, 182988, 182989, 182990, 182991, 182992, 182995, 182996, 182997, 182998, 182999, 183001, 183002, 183003, 183004, 183011, 183013, 183014, 183015, 183017, 183018, 183020, 183021, 183100, 183102, 183106, 183156, 183283, 183308, 183309, 183310, 183311, 183312, 183328, 183352, 183353, 183354, 183387, 183388, 183389, 183400, 183405, 183440, 183448, 183505, 183506, 183508, 183509, 183765, 183766, 183769, 183851, 183969, 184282, 184283, 184413, 184432, 184441, 184452, 184464, 184479, 184480, 184481, 184482, 184483, 184484, 184485, 184486, 184487, 184592, 184593, 184610, 184623, 184690, 184695, 184696, 184703, 184723, 184754, 184755, 184756, 184757, 184758, 184759, 184760, 184761, 184762, 184763, 184764, 184765, 184766, 184767, 184768, 184769, 184770, 184771, 184772, 184773, 184774, 184775, 184776, 184777, 184778, 184779, 184780, 184781, 184782, 184783, 184784, 184785, 184786, 184787, 184788, 184789, 184790, 184791, 184792, 184805, 184806, 184824, 184831, 184832, 184845, 184854, 184855, 184856, 184857, 184861, 184864, 184865, 184866, 184905, 184924, 184942, 185001, 185002, 185003, 185016, 185017, 185021, 185022, 185171, 185176, 185187, 185188, 185189, 185291, 185308, 185312, 185326, 185327, 185328, 185329, 185330, 185331, 185332, 185333, 185334, 185335, 185336, 185337, 185338, 185339, 185340, 185341, 185342, 185343, 185344, 185345, 185346, 185347, 185348, 185349, 185350, 185351, 185352, 185353, 185354, 185355, 185356, 185357, 185358, 185359, 185360, 185361, 185362, 185363, 185364, 185365, 185366, 185367, 185368, 185369, 185370, 185371, 185372, 185373, 185374, 185375, 185376, 185377, 185378, 185379, 185380, 185381, 185382, 185383, 185384, 185385, 185386, 185387, 185388, 185389, 185390, 185391, 185392, 185393, 185468, 185469, 185470, 185496, 185542, 185546, 185552, 185586, 185587, 185588, 185589, 185594, 185864, 185865, 185866, 185867, 185868, 185869, 185870, 185895, 185910, 185925, 185966, 186150, 186151, 186159, 186219, 186222, 186223, 186239, 186246, 186247, 186254, 186281, 186282, 186289, 186290, 186291, 186292, 186293, 186294, 186295, 186296, 186297, 186298, 186316, 186396, 186489, 186561, 186597, 186606, 186621, 186655, 186673, 186674, 186675, 186676, 186721, 186722, 186723, 186724, 186725, 186742, 186743, 186746, 186747, 186749, 186829, 186848, 186849, 186854, 186855, 186856, 186857, 186941, 186945, 186973, 186974, 186975, 186983, 187031, 187079, 187083, 187109, 187118, 187190, 187233, 187234, 187262, 187263, 187289, 187293, 187332, 187336, 187340, 187342, 187391, 187429, 187430, 187445, 187472, 187473, 187474, 187475, 187476, 187477, 187478, 187479, 187480, 187481, 187482, 187483, 187484, 187485, 187486, 187487, 187488, 187489, 187490, 187491, 187492, 187493, 187494, 187495, 187496, 187497, 187566, 187657, 187678, 187688, 187691, 187692, 187696, 187702, 187718, 187775, 187776, 187777, 187778, 187779, 187780, 187781, 187782, 187783, 187784, 187785, 187786, 187787, 187788, 187789, 187790, 187791, 187792, 187793, 187794, 187795, 187796, 187797, 187798, 187799, 187801, 187802, 187803, 187804, 187805, 187806, 187807, 187808, 187809, 187810, 187811, 187812, 187813, 187814, 187815, 187816, 187817, 187818, 187819, 187820, 187821, 187822, 187823, 187824, 187825, 187826, 187827, 187828, 187829, 187830, 187831, 187832, 187833, 187834, 187835, 187836, 187837, 187838, 187839, 187840, 187841, 187842, 187843, 187844, 187845, 187846, 187847, 187848, 187890, 187910, 187911, 187976, 187977, 188051, 188056, 188057, 188058, 188059, 188060, 188061, 188062, 188068, 188070, 188096, 188158, 188159, 188162, 188179, 188180, 188181, 188182, 188183, 188184, 188185, 188189, 188190, 188217, 188218, 188219, 188220, 188221, 188222, 188223, 188224, 188225, 188226, 188228, 188232, 188233, 188234, 188235, 188340, 188341, 188343, 188429, 188430, 188433, 188436, 188437, 188438, 188439, 188440, 188447, 188449, 188466, 188467, 188468, 188484, 188513, 188520, 188536, 188555, 188558, 188559, 188589, 188592, 188597, 188598, 188638, 188639, 188640, 188641, 188642, 188643, 188644, 188645, 188654, 188696, 188701, 188704, 188709, 188752, 188753, 189050, 189314, 189332, 189333, 189334, 189335, 189336, 189337, 189338, 189339, 189340, 189341, 189342, 189343, 189344, 189345, 189346, 189347, 189348, 189349, 189350, 189351, 189352, 189353, 189354, 189355, 189356, 189357, 189358, 189359, 189360, 189361, 189362, 189363, 189364, 189365, 189366, 189367, 189368, 189369, 189370, 189371, 189372, 189373, 189374, 189375, 189376, 189377, 189378, 189379, 189380, 189381, 189382, 189383, 189384, 189385, 189386, 189387, 189388, 189389, 189390, 189391, 189392, 189393, 189394, 189395, 189396, 189397, 189398, 189399, 189400, 189401, 189402, 189403, 189404, 189405, 189406, 189407, 189408, 189409, 189410, 189411, 189412, 189413, 189414, 189415, 189416, 189417, 189418, 189419, 189420, 189421, 189422, 189423, 189424, 189425, 189426, 189427, 189428, 189429, 189430, 189431, 189432, 189433, 189434, 189435, 189436, 189437, 189438, 189439, 189440, 189441, 189442, 189443, 189444, 189445, 189446, 189447, 189448, 189449, 189450, 189451, 189452, 189453, 189454, 189455, 189456, 189457, 189458, 189459, 189460, 189461, 189462, 189463, 189464, 189465, 189466, 189467, 189468, 189469, 189470, 189471, 189472, 189473, 189474, 189475, 189476, 189477, 189478, 189479, 189480, 189481, 189482, 189483, 189484, 189485, 189486, 189487, 189488, 189489, 189490, 189491, 189492, 189493, 189494, 189495, 189496, 189497, 189498, 189499, 189500, 189501, 189502, 189503, 189504, 189505, 189506, 189507, 189508, 189509, 189510, 189511, 189512, 189513, 189514, 189515, 189516, 189517, 189518, 189519, 189520, 189521, 189522, 189523, 189524, 189525, 189526, 189527, 189528, 189529, 189530, 189531, 189532, 189533, 189534, 189535, 189536, 189537, 189538, 189539, 189540, 189542, 189543, 189544, 189545, 189546, 189547, 189548, 189549, 189550, 189551, 189552, 189553, 189554, 189555, 189556, 189557, 189558, 189559, 189560, 189561, 189562, 189563, 189564, 189565, 189566, 189567, 189568, 189569, 189570, 189571, 189572, 189573, 189574, 189575, 189576, 189577, 189578, 189579, 189580, 189581, 189582, 189583, 189584, 189585, 189586, 189587, 189588, 189589, 189590, 189591, 189592, 189593, 189594, 189595, 189596, 189597, 189598, 189599, 189600, 189601, 189602, 189603, 189604, 189605, 189606, 189607, 189608, 189609, 189610, 189611, 189614, 189615, 189616, 189617, 189618, 189619, 189620, 189621, 189622, 189623, 189630, 189631, 189632, 189633, 189634, 189635, 189636, 189637, 189638, 189639, 189640, 189641, 189642, 189643, 189644, 189645, 189646, 189647, 189648, 189649, 189650, 189651, 189652, 189653, 189654, 189655, 189656, 189657, 189658, 189659, 189660, 189661, 189662, 189663, 189664, 189665, 189666, 189667, 189668, 189669, 189670, 189671, 189672, 189673, 189674, 189675, 189676, 189677, 189678, 189679, 189680, 189681, 189682, 189683, 189684, 189685, 189686, 189687, 189688, 189689, 189690, 189691, 189692, 189693, 189694, 189695, 189696, 189697, 189698, 189699, 189700, 189701, 189702, 189703, 189704, 189705, 189706, 189707, 189708, 189709, 189710, 189711, 189712, 189713, 189714, 189715, 189716, 189717, 189718, 189719, 189720, 189721, 189722, 189723, 189724, 189725, 189726, 189727, 189728, 189729, 189730, 189731, 189732, 189733, 189734, 189735, 189736, 189737, 189738, 189739, 189740, 189741, 189742, 189743, 189744, 189745, 189746, 189747, 189748, 189749, 189750, 189751, 189752, 189753, 189754, 189755, 189756, 189757, 189758, 189759, 189760, 189761, 189762, 189763, 189764, 189765, 189766, 189767, 189768, 189769, 189770, 189771, 189772, 189773, 189774, 189775, 189776, 189777, 189778, 189779, 189780, 189781, 189782, 189783, 189784, 189785, 189786, 189787, 189788, 189789, 189790, 189791, 189792, 189793, 189794, 189795, 189796, 189797, 189798, 189799, 189800, 189801, 189802, 189803, 189804, 189805, 189806, 189807, 189808, 189809, 189810, 189811, 189812, 189813, 189814, 189815, 189816, 189817, 189818, 189819, 189820, 189821, 189822, 189823, 189824, 189825, 189826, 189827, 189828, 189829, 189830, 189831, 189832, 189833, 189834, 189835, 189836, 189837, 189838, 189839, 189840, 189841, 189842, 189843, 189844, 189847, 189848, 189849, 189850, 189851, 189852, 189853, 189854, 189855, 189856, 189857, 189858, 189859, 189860, 189861, 189862, 189863, 189864, 189865, 189866, 189867, 189868, 189869, 189870, 189871, 189872, 189873, 189874, 189875, 189876, 189877, 189878, 189879, 189880, 189881, 189882, 189883, 189884, 189885, 189886, 189887, 189888, 189889, 189890, 189891, 189892, 189893, 189894, 189895, 189896, 189897, 189898, 189899, 189900, 189903, 189904, 189905, 189906, 189907, 189908, 189909, 189910, 189911, 189912, 189913, 189914, 189915, 189916, 189917, 189918, 189919, 189920, 189921, 189922, 189923, 189924, 189925, 189926, 189927, 189930, 189931, 189932, 189933, 189934, 189935, 189936, 189937, 189938, 189939, 189940, 189941, 189942, 189943, 189944, 189945, 189946, 189947, 189948, 189949, 189950, 189951, 190024, 190188, 190203, 190204, 190205, 190206, 190207, 190213, 190215, 190226, 190227, 190228, 190229, 190230, 190231, 190331, 190365, 190494, 190511, 190564, 190573, 190575, 190576, 190577, 190591, 190592, 190593, 190604, 190609, 190615, 190634, 190659, 190664, 190686, 190743, 190751, 190780, 190783, 190816, 190817, 190897, 190918, 190943, 190945, 191183, 191280, 191281, 191282, 191283, 191284, 191285, 191286, 191289, 191290, 191291, 191319, 191331, 191342, 191343, 191344, 191367, 191446, 191610, 191727, 191730, 191765, 191767, 191784, 191785, 191811, 191816, 191818, 192027, 192045, 192074, 192149, 192409, 192516, 192580, 192581, 192650, 192692, 192712, 192875, 192876, 192877, 192878, 192879, 1719, 3221, 17148, 17149, 17150, 17151, 17152, 37100, 42080, 42081, 42082, 42083, 42084, 42085, 42086, 42087, 42088, 42089, 42090, 42091, 42092, 42093, 42094, 178544, 184352, 186715, 186716, 186732, 186751, 186752, 187347, 187895, 190382, 190383, 190384, 190397, 190398, 190443, 194348, 194951, 194984, 184718, 184722, 180671, 180856, 193977, 193978, 180055, 175622);
+UPDATE `gameobject_questitem` SET `VerifiedBuild` = 12340 WHERE `GameObjectEntry` IN (31, 32, 36, 37, 41, 47, 52, 54, 55, 56, 57, 58, 59, 60, 61, 68, 76, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 121, 122, 123, 124, 256, 257, 259, 261, 263, 264, 269, 270, 271, 272, 276, 287, 288, 290, 298, 299, 301, 302, 304, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 321, 324, 369, 372, 375, 376, 377, 378, 381, 386, 387, 388, 389, 711, 759, 1162, 1166, 1560, 1561, 1562, 1564, 1565, 1566, 1567, 1568, 1569, 1570, 1571, 1572, 1573, 1585, 1587, 1593, 1594, 1595, 1596, 1597, 1598, 1617, 1618, 1619, 1620, 1621, 1622, 1623, 1624, 1627, 1628, 1630, 1631, 1638, 1646, 1647, 1648, 1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1659, 1660, 1661, 1663, 1664, 1665, 1666, 1668, 1669, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1681, 1685, 1686, 1690, 1692, 1698, 1699, 1710, 1720, 1721, 1722, 1723, 1726, 1727, 1728, 1731, 1732, 1733, 1734, 1735, 1736, 1743, 1744, 1745, 1748, 1749, 1759, 1761, 1763, 1764, 1765, 1766, 1767, 1768, 1769, 1770, 1771, 1772, 1773, 1774, 1775, 1776, 1777, 1778, 1779, 1780, 1781, 1782, 1783, 1784, 1785, 1786, 1787, 1788, 1789, 1790, 1791, 1792, 1793, 1794, 1795, 1796, 1797, 1798, 1799, 1809, 1810, 1811, 1814, 1815, 1816, 1822, 1824, 1825, 1827, 1828, 1829, 1830, 1831, 1832, 1833, 1835, 1837, 1843, 1849, 1850, 1851, 1852, 1857, 1870, 1873, 1874, 1875, 1885, 1886, 1887, 1888, 1889, 1890, 1896, 1897, 1908, 1912, 1914, 1915, 1928, 1936, 1937, 1938, 1939, 1940, 1941, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1959, 1960, 1961, 1962, 1964, 1967, 1969, 1970, 1973, 1977, 1981, 1985, 1986, 1987, 1988, 1991, 1992, 1993, 1994, 1995, 1996, 1998, 2005, 2006, 2007, 2008, 2010, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2030, 2031, 2032, 2039, 2040, 2041, 2042, 2043, 2044, 2045, 2046, 2047, 2057, 2059, 2062, 2068, 2076, 2082, 2083, 2084, 2086, 2087, 2096, 2098, 2099, 2100, 2101, 2102, 2105, 2106, 2108, 2109, 2110, 2111, 2112, 2113, 2115, 2116, 2117, 2119, 2120, 2122, 2123, 2124, 2125, 2127, 2128, 2129, 2131, 2133, 2134, 2136, 2138, 2139, 2140, 2141, 2142, 2143, 2145, 2146, 2150, 2152, 2153, 2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163, 2164, 2165, 2166, 2167, 2169, 2171, 2173, 2175, 2176, 2177, 2178, 2179, 2181, 2182, 2186, 2187, 2189, 2190, 2191, 2289, 2335, 2371, 2489, 2551, 2552, 2553, 2554, 2555, 2556, 2558, 2560, 2561, 2572, 2573, 2574, 2575, 2576, 2652, 2653, 2656, 2657, 2658, 2664, 2670, 2672, 2673, 2674, 2675, 2676, 2677, 2678, 2679, 2680, 2681, 2682, 2683, 2684, 2685, 2687, 2688, 2689, 2690, 2691, 2695, 2701, 2702, 2703, 2707, 2708, 2709, 2710, 2712, 2713, 2714, 2715, 2716, 2717, 2718, 2719, 2722, 2724, 2726, 2727, 2728, 2729, 2732, 2734, 2739, 2740, 2742, 2744, 2842, 2843, 2844, 2845, 2848, 2849, 2850, 2852, 2855, 2857, 2858, 2866, 2868, 2870, 2871, 2875, 2883, 2891, 2892, 2893, 2908, 2909, 2910, 2911, 2912, 2913, 2914, 2933, 2968, 2969, 2971, 2972, 2973, 2974, 2975, 2976, 3076, 3084, 3085, 3089, 3187, 3189, 3190, 3192, 3194, 3195, 3198, 3199, 3201, 3202, 3203, 3204, 3205, 3206, 3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216, 3217, 3224, 3226, 3227, 3228, 3229, 3230, 3231, 3232, 3233, 3235, 3236, 3237, 3238, 3239, 3240, 3249, 3251, 3252, 3253, 3260, 3264, 3270, 3276, 3286, 3290, 3296, 3298, 3301, 3303, 3308, 3315, 3523, 3524, 3525, 3640, 3642, 3643, 3644, 3646, 3656, 3658, 3659, 3660, 3661, 3662, 3685, 3689, 3690, 3691, 186880, 3693, 3694, 3695, 3702, 3703, 3704, 3705, 3706, 3707, 3714, 3715, 3719, 3722, 3724, 3725, 3726, 3727, 3729, 3730, 3737, 3740, 3743, 3760, 3761, 3763, 3764, 3767, 3768, 3769, 3772, 3797, 3798, 3799, 3800, 3801, 3802, 3803, 3804, 3815, 3816, 3817, 3818, 3819, 3839, 3840, 3841, 3842, 3843, 3844, 3845, 3847, 3848, 3849, 3850, 3851, 3888, 3892, 3893, 3901, 3912, 3913, 3914, 3915, 3916, 3917, 3918, 3919, 3920, 3921, 3922, 3923, 3924, 3925, 3926, 3927, 3928, 3929, 3930, 3931, 3932, 3933, 3934, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3943, 3960, 3962, 3967, 3968, 3972, 4072, 4087, 4088, 4089, 4090, 4096, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4120, 4121, 4122, 4123, 4132, 4133, 4134, 4138, 4141, 4149, 4166, 4170, 4171, 4608, 5619, 5620, 5621, 5622, 6289, 6290, 6291, 6292, 6751, 6906, 6907, 6908, 9847, 10082, 10083, 10192, 10193, 10194, 10195, 10196, 10197, 10198, 10199, 10200, 10201, 10202, 10203, 10204, 10205, 10206, 10207, 10208, 10209, 10210, 10211, 10212, 10213, 10214, 10215, 10216, 10217, 10218, 10219, 10220, 10221, 10222, 10223, 10224, 10388, 11713, 11714, 11898, 11899, 12144, 12351, 12352, 12353, 12354, 12355, 12356, 12357, 12358, 12359, 12360, 12361, 12362, 12363, 12364, 12365, 12366, 12654, 12665, 12666, 12893, 12894, 12895, 12896, 12900, 12903, 13348, 13349, 13350, 13351, 13352, 13353, 13354, 13355, 13356, 13357, 13358, 13359, 13360, 13405, 13406, 13407, 13408, 13409, 13410, 13411, 13412, 13872, 13873, 13891, 13949, 13965, 15068, 15069, 16393, 16394, 16396, 16397, 16398, 16399, 16400, 17153, 17154, 17155, 17156, 17182, 17184, 17185, 17188, 17189, 17249, 17250, 17251, 17252, 17253, 17254, 17255, 17256, 17257, 17258, 17259, 17260, 17261, 17262, 17263, 17264, 17265, 17266, 17267, 17268, 17269, 17270, 17271, 17272, 17273, 17274, 17275, 17276, 17277, 17278, 17279, 17280, 17281, 17282, 17783, 18033, 18034, 18035, 18036, 18045, 18046, 18047, 18048, 18049, 18050, 18051, 18052, 18053, 18054, 18055, 18056, 18057, 18058, 18059, 18060, 18061, 18062, 18076, 18077, 18083, 18087, 18089, 18090, 18895, 18899, 18934, 18971, 18972, 18973, 19015, 19016, 183421, 19019, 19020, 19021, 19022, 19028, 19030, 19033, 19283, 19284, 19535, 19541, 19542, 19544, 19545, 19546, 19547, 19548, 19550, 19551, 19553, 19554, 19555, 19556, 19557, 19564, 19565, 19566, 19567, 19568, 19572, 19573, 19574, 19575, 19576, 19577, 19578, 19579, 19580, 19581, 19583, 19585, 19590, 19591, 19594, 19595, 19597, 19598, 19600, 19602, 19603, 19839, 19840, 19841, 19842, 19843, 19844, 19845, 19846, 19847, 19848, 19849, 19850, 19851, 19852, 19853, 19854, 19855, 19856, 19857, 19859, 19861, 19863, 19868, 19869, 19870, 19871, 19872, 19873, 19874, 19876, 19877, 19897, 19902, 19903, 19904, 19905, 19906, 20351, 20352, 20356, 20358, 20359, 20447, 20649, 20650, 20651, 20652, 20653, 20654, 20655, 20656, 20657, 20689, 20691, 20694, 20724, 20725, 20726, 20727, 20806, 20807, 20808, 20829, 20830, 20849, 20869, 20871, 20877, 20899, 20920, 20923, 20925, 20962, 20965, 20966, 20968, 20969, 20975, 20977, 20981, 20982, 20986, 20990, 20991, 20992, 21007, 21008, 21009, 21042, 21052, 21057, 21058, 21059, 21060, 21061, 21062, 21063, 21064, 21065, 21066, 21067, 21068, 21073, 21074, 21075, 21076, 21077, 21078, 21079, 21080, 21081, 21082, 21083, 21084, 21085, 21086, 21087, 21099, 21117, 21118, 21119, 21120, 21121, 21277, 21282, 21327, 21459, 21509, 21530, 21581, 21582, 21583, 21678, 21679, 21680, 21701, 22205, 22207, 22208, 22216, 22217, 22218, 22219, 22220, 22221, 22222, 22223, 22245, 22246, 22530, 22531, 22533, 22534, 22535, 22536, 22537, 22538, 22540, 22541, 22543, 22544, 22545, 22546, 22547, 22549, 22550, 22563, 22564, 22565, 22566, 22567, 22578, 22579, 22580, 22581, 22582, 22587, 22588, 22589, 22590, 22591, 22592, 22593, 22594, 22595, 22598, 22599, 22600, 22602, 22603, 22604, 22605, 22606, 22622, 22623, 22638, 22640, 22641, 22642, 22644, 22646, 22657, 22659, 22660, 22661, 22662, 22665, 22666, 22667, 22668, 22670, 22671, 22672, 22673, 22674, 22684, 22685, 22706, 22707, 22708, 22709, 22710, 22711, 22712, 22732, 22733, 22735, 22737, 22738, 22739, 22740, 22742, 22743, 22745, 22746, 22747, 22748, 22749, 22750, 22752, 22753, 22772, 22773, 22774, 22775, 22776, 22777, 22783, 22803, 22804, 22806, 22811, 22812, 22813, 22831, 22832, 22833, 22834, 22835, 22836, 22854, 22855, 22856, 22858, 22860, 22864, 22865, 22879, 22880, 22882, 22883, 22884, 22885, 22886, 22887, 22894, 22902, 22904, 22908, 22909, 22910, 22911, 22912, 22913, 22914, 22915, 22916, 22917, 22918, 22919, 22920, 22921, 22922, 22923, 22924, 22925, 22926, 22927, 22928, 22929, 23013, 23014, 23015, 23016, 23017, 23018, 23295, 23296, 23299, 23300, 23301, 23302, 23303, 23304, 23305, 23572, 23575, 23577, 24388, 24389, 24390, 24391, 24392, 24393, 24394, 24395, 24396, 24398, 24399, 24400, 24401, 24402, 24403, 24404, 24405, 24406, 24407, 24408, 24409, 24410, 24411, 24412, 24413, 24414, 24415, 24416, 24417, 24418, 24419, 24420, 24421, 24422, 24423, 24424, 24425, 24426, 24427, 24428, 24429, 24430, 24431, 24432, 24433, 24434, 24435, 24436, 24437, 24438, 24439, 24440, 24441, 24442, 24443, 24444, 24445, 24446, 24447, 24448, 24449, 24450, 24451, 24452, 24453, 24454, 24455, 24456, 24457, 24458, 24459, 24460, 24461, 24462, 24463, 24464, 24465, 24466, 24467, 24468, 24469, 24470, 24471, 24472, 24473, 24474, 24475, 24476, 24477, 24478, 24479, 24480, 24481, 24482, 24483, 24484, 24485, 24486, 24487, 24488, 24489, 24490, 24491, 24492, 24494, 24495, 24496, 24497, 24498, 24499, 24506, 24507, 24508, 24509, 24512, 24513, 24514, 24515, 24516, 24517, 24518, 24519, 24520, 24521, 24522, 24523, 24524, 24525, 24526, 24527, 24528, 24529, 24530, 24531, 24532, 24533, 24534, 24535, 24536, 24537, 24538, 24539, 24540, 24541, 24542, 24543, 24544, 24545, 24546, 24547, 24548, 24549, 24550, 24551, 24552, 24553, 24554, 24555, 24556, 24557, 24558, 24559, 24560, 24561, 24562, 24563, 24564, 24565, 24566, 24567, 24568, 24569, 24570, 24571, 24572, 24573, 24574, 24575, 24576, 24577, 24578, 24579, 24580, 24581, 24582, 24583, 24584, 24585, 24586, 24587, 24588, 24589, 24590, 24591, 24592, 24593, 24594, 24595, 24596, 24597, 24598, 24599, 24600, 24601, 24602, 24603, 24604, 24605, 24606, 24607, 24608, 24609, 24610, 24611, 24612, 24613, 24614, 24615, 24616, 24617, 24618, 24619, 24620, 24621, 24622, 24623, 24624, 24625, 24626, 24627, 24628, 24629, 24630, 24631, 24632, 24633, 24634, 24635, 24636, 24637, 24638, 24639, 24640, 24641, 24642, 24643, 24644, 24645, 24646, 24647, 24648, 24649, 24650, 24651, 24652, 24653, 24654, 24655, 24656, 24657, 24658, 24659, 24660, 24661, 24662, 24663, 24664, 24665, 24666, 24667, 24668, 24669, 24670, 24671, 24672, 24673, 24674, 24675, 24676, 24677, 24678, 24679, 24680, 24681, 24682, 24683, 24684, 24685, 24686, 24687, 24688, 24689, 24690, 24691, 24692, 24693, 24694, 24695, 24696, 24697, 24698, 24699, 24700, 24701, 24702, 24703, 24704, 24705, 24706, 24715, 24717, 24718, 24719, 24720, 24721, 24745, 24746, 24758, 24759, 24760, 24761, 24762, 24763, 24764, 24765, 24776, 24777, 24798, 25328, 25329, 25330, 25331, 25332, 25333, 25336, 25337, 25338, 25339, 25340, 25341, 25346, 25347, 25348, 25349, 25350, 25351, 25353, 25354, 26449, 26494, 26495, 26496, 26499, 28024, 28027, 28028, 28029, 28030, 28031, 28032, 28033, 28034, 28035, 28036, 28037, 28038, 28039, 28040, 28041, 28042, 28043, 28044, 28045, 28046, 28047, 28048, 28049, 28050, 28051, 28052, 28053, 28054, 28055, 28056, 28069, 28071, 28072, 28603, 28604, 28605, 28606, 28607, 28608, 28609, 28610, 28611, 28612, 28613, 29150, 29151, 29740, 29741, 29742, 29743, 29744, 29745, 29746, 29747, 29748, 29749, 29750, 29751, 29752, 29753, 29754, 29755, 29756, 29757, 29758, 29759, 29760, 29761, 29762, 29763, 29764, 29765, 29766, 29767, 29768, 29769, 29770, 29771, 29772, 29773, 29774, 29775, 29776, 29777, 29780, 29781, 29782, 29783, 29784, 30854, 30855, 30856, 31407, 31408, 31409, 31410, 31411, 31504, 31507, 31508, 31509, 31572, 31573, 31574, 31575, 31576, 31577, 31578, 31579, 31580, 32107, 32109, 32110, 32349, 32355, 32358, 32383, 32385, 32389, 32391, 32404, 32416, 32424, 32425, 32427, 32429, 32431, 32569, 32570, 32571, 32572, 32573, 32574, 32578, 32580, 32581, 32582, 32583, 32584, 32585, 32590, 32591, 32592, 32593, 32594, 32595, 32833, 32834, 32835, 32842, 32843, 32844, 32845, 32846, 32847, 32848, 32849, 32850, 32851, 32852, 32853, 32854, 32855, 32856, 32857, 32858, 32859, 32860, 32861, 32862, 32863, 32878, 32879, 32880, 32881, 32885, 33998, 33999, 34012, 34013, 34025, 34026, 34027, 34028, 34029, 34030, 34031, 34032, 34033, 34034, 34035, 34036, 34037, 34038, 34167, 34168, 34360, 34571, 34572, 35591, 35593, 36070, 36071, 36072, 36073, 36077, 36078, 36079, 36080, 36082, 36083, 36085, 36086, 36090, 36091, 36092, 36093, 36094, 36095, 36096, 36098, 36102, 36105, 36113, 36118, 36126, 36127, 36396, 36397, 36398, 36738, 36977, 36979, 36980, 36981, 36982, 36983, 36984, 36985, 36986, 36987, 36988, 36989, 36996, 36997, 36998, 37025, 37026, 37027, 37028, 37029, 37030, 37031, 37032, 37033, 37034, 37035, 37036, 37037, 37038, 37097, 37098, 37099, 37118, 37478, 38147, 38148, 38491, 38492, 38493, 38494, 38495, 40199, 40201, 40303, 41186, 41191, 41193, 41195, 43116, 43117, 43118, 43119, 43120, 43121, 43122, 47296, 47297, 48403, 48404, 48405, 48406, 48407, 48408, 48409, 48410, 48411, 48412, 48414, 48415, 48420, 48421, 48422, 48423, 48427, 48428, 48430, 48431, 48432, 48433, 48434, 48435, 48436, 48437, 48438, 48439, 48440, 48442, 48443, 48444, 48445, 48446, 48447, 48448, 48450, 48451, 48452, 48453, 48454, 48455, 48457, 48458, 48460, 48462, 48463, 48464, 48466, 48469, 48470, 48471, 48472, 48473, 48474, 48475, 48477, 48478, 48479, 48480, 48481, 48482, 48487, 48488, 48489, 48490, 48491, 48494, 48495, 48496, 48497, 48498, 48499, 48500, 48501, 48502, 48503, 48504, 48505, 48506, 48507, 48508, 48509, 48510, 48511, 48512, 48513, 48514, 48515, 48516, 48517, 48518, 48519, 48520, 48522, 48523, 48524, 48525, 48526, 48527, 48528, 48529, 48530, 48531, 48532, 48533, 48534, 48535, 48536, 48537, 48538, 48539, 48540, 48541, 48542, 48544, 48545, 48546, 48547, 48548, 48549, 48550, 48551, 48552, 48553, 48554, 48555, 48556, 48557, 48558, 48559, 48560, 48561, 48562, 48563, 48564, 48565, 48566, 48570, 48573, 49485, 49486, 49487, 50445, 50446, 50447, 50448, 50449, 50450, 50468, 50469, 50484, 50485, 50486, 50487, 50488, 50489, 50490, 50491, 50492, 50493, 50494, 50495, 50496, 50497, 50498, 50499, 50500, 50501, 50502, 50503, 50504, 50505, 50506, 50507, 50508, 50509, 50510, 50511, 50512, 50513, 50514, 50515, 50516, 50517, 50518, 50519, 50520, 50521, 50522, 50523, 50524, 50525, 50526, 50527, 50528, 50529, 50530, 50531, 50532, 50533, 50534, 50535, 50536, 50537, 50538, 50547, 50548, 50549, 50803, 50804, 50805, 50830, 50910, 50935, 50936, 50937, 50961, 50982, 50983, 50984, 50985, 50987, 50988, 51702, 51703, 51704, 51705, 51706, 51707, 51708, 52175, 52176, 55250, 55615, 55616, 55774, 56809, 56810, 56818, 56819, 56820, 56821, 56897, 56898, 56901, 56903, 56905, 56910, 56911, 57708, 58369, 58388, 58389, 58595, 58596, 58597, 58598, 58599, 58600, 58601, 58602, 58603, 58604, 58605, 58606, 58607, 58608, 58609, 58610, 58611, 58612, 58613, 58614, 58615, 58616, 58617, 58618, 58619, 58620, 58621, 58622, 58623, 58624, 58625, 58626, 58627, 58629, 59517, 59518, 59529, 59530, 59845, 59846, 59847, 59848, 59850, 59851, 59852, 59853, 59854, 59855, 59856, 59857, 59858, 59859, 59860, 59861, 59862, 59863, 59864, 59865, 60393, 60394, 60395, 60438, 60439, 60440, 61035, 61036, 61037, 61038, 61039, 61051, 61053, 61054, 61055, 61056, 61057, 61058, 61059, 61061, 61062, 61063, 61064, 61067, 61068, 61070, 61071, 61072, 61073, 61074, 61075, 61076, 61077, 61078, 61079, 61080, 61081, 61082, 61083, 61084, 61085, 61086, 61088, 61089, 61090, 61093, 61094, 61095, 61096, 61097, 61098, 61099, 61100, 61101, 61102, 61918, 61919, 61920, 61921, 61922, 61923, 61924, 61925, 61927, 61928, 61934, 61935, 61936, 61952, 61953, 63195, 63196, 63197, 63198, 63674, 64856, 64857, 64858, 64859, 64860, 64861, 64862, 64863, 65407, 66780, 67234, 68865, 69422, 69426, 69427, 69432, 69435, 70517, 73940, 74075, 74078, 74091, 74135, 74439, 74440, 74441, 74442, 74444, 74445, 74446, 74447, 74448, 74727, 74728, 74729, 74730, 75293, 75295, 75296, 75297, 75298, 75299, 75300, 77813, 80022, 80023, 82136, 82137, 82138, 82139, 82140, 83763, 85556, 85562, 85563, 86492, 89634, 89635, 89931, 90566, 90858, 91138, 91672, 91673, 91692, 91706, 91737, 92011, 92013, 92015, 92066, 92067, 92099, 92141, 92419, 92423, 92426, 92427, 92489, 92490, 92524, 92525, 92526, 92527, 92528, 92529, 92530, 92531, 92532, 92533, 92534, 92535, 92536, 92537, 92538, 92539, 92540, 92541, 92542, 92543, 92544, 92545, 92546, 92547, 92548, 92549, 92550, 92551, 92552, 92693, 92694, 92695, 92696, 92699, 92700, 92703, 93192, 94039, 94185, 94186, 94189, 94190, 95449, 97700, 97701, 97801, 98343, 98347, 98348, 98349, 98350, 98351, 98354, 100028, 101751, 101831, 101832, 101833, 101834, 101850, 101851, 101852, 101853, 101854, 102984, 102985, 102986, 102989, 102990, 102996, 102997, 102998, 102999, 103000, 103001, 103002, 103004, 103005, 103006, 103007, 103009, 103010, 103011, 103012, 103015, 103016, 103574, 103600, 103628, 103663, 103664, 103687, 103694, 103695, 103711, 103727, 103728, 103729, 103748, 103793, 103794, 103795, 103796, 103797, 103798, 103799, 103800, 103801, 103802, 103811, 103812, 103820, 103821, 104555, 104564, 104569, 104574, 104575, 104591, 104593, 104600, 105169, 105170, 105171, 105172, 105174, 105175, 105176, 105188, 105568, 105570, 105576, 105578, 105579, 105581, 106318, 106319, 106325, 106326, 106327, 106335, 106336, 106528, 106529, 106638, 106641, 107037, 107039, 107040, 107041, 107042, 110233, 110235, 110236, 111094, 111095, 111202, 111203, 111204, 111205, 111206, 111207, 111212, 111215, 111216, 111217, 111220, 111221, 111222, 111223, 111224, 111225, 111226, 111227, 111255, 111257, 111258, 111259, 111260, 111261, 111268, 111269, 111271, 111942, 111943, 111945, 111946, 111948, 111949, 111950, 111969, 111973, 111974, 111979, 112042, 112043, 112044, 112045, 112048, 112049, 112050, 112061, 112073, 112074, 112079, 112092, 112095, 112096, 112097, 112098, 112100, 112112, 112115, 112123, 112128, 112129, 112200, 112201, 112204, 112205, 112215, 112231, 112232, 112234, 112235, 112236, 112237, 112238, 112239, 112241, 112301, 112302, 112303, 112305, 112308, 112309, 112310, 112311, 112312, 112316, 112317, 112318, 112319, 112321, 112322, 112877, 112898, 112899, 112900, 112901, 112902, 112903, 112904, 112905, 112906, 112907, 112948, 113528, 113568, 113569, 113570, 113571, 113572, 113574, 113575, 113576, 113577, 113752, 113753, 113754, 113755, 113756, 113757, 113791, 120584, 121264, 122088, 123207, 123208, 123209, 123210, 123211, 123212, 123213, 123214, 123215, 123216, 123217, 123244, 123309, 123310, 123328, 123329, 123330, 123331, 123332, 123333, 123334, 123355, 123462, 123463, 123848, 124072, 124367, 124368, 124369, 124370, 124371, 124372, 124374, 125475, 125477, 126046, 126049, 126050, 126051, 126052, 126053, 126158, 126312, 126313, 126314, 126335, 126337, 126338, 126339, 126340, 126341, 126345, 128196, 128293, 128308, 128403, 129127, 129206, 130125, 130126, 130511, 130666, 130667, 130668, 131474, 131978, 131979, 133234, 133466, 133467, 133468, 133469, 136101, 136922, 136923, 136925, 136926, 136927, 136928, 136929, 136930, 136931, 136947, 136948, 136949, 136950, 136951, 136952, 136954, 136955, 136957, 136959, 136961, 136962, 136963, 136964, 137644, 137646, 137647, 138316, 138317, 138318, 138492, 138498, 138614, 139852, 140109, 140110, 140111, 140112, 140213, 140214, 140358, 140372, 140911, 140971, 141070, 141071, 141072, 141073, 141074, 141596, 141612, 141812, 141832, 141838, 141839, 141844, 141851, 141852, 141853, 141857, 141858, 141860, 141869, 141931, 141979, 142018, 142019, 142020, 142021, 142036, 142071, 142075, 142076, 142088, 142089, 142091, 142093, 142094, 142095, 142102, 142109, 142110, 142111, 142117, 142122, 142139, 142140, 142141, 142142, 142143, 142144, 142145, 142151, 142172, 142175, 142176, 142181, 142184, 142185, 142186, 142187, 142188, 142189, 142191, 142195, 142207, 142211, 142213, 142214, 142218, 142219, 142339, 142340, 142341, 142343, 142344, 142475, 142476, 142477, 142487, 142488, 142689, 142692, 142693, 142694, 142696, 142697, 142702, 142703, 142704, 142705, 142706, 142707, 142712, 142713, 142714, 142715, 142837, 142838, 142851, 142871, 142872, 142873, 142874, 142911, 142912, 142914, 142915, 142916, 142958, 142961, 142964, 142971, 142972, 143230, 143242, 143243, 143244, 143245, 143246, 143247, 143249, 143250, 143251, 143253, 143254, 143255, 143256, 143273, 143295, 143296, 143297, 143298, 143299, 143301, 143314, 143317, 143318, 143319, 143320, 143321, 143322, 143323, 143324, 143325, 143326, 143328, 143333, 143334, 143336, 143337, 143338, 143342, 143343, 143344, 143345, 143346, 143347, 143348, 143349, 143362, 143363, 143398, 143399, 143979, 143980, 143981, 143982, 143983, 143984, 143985, 143987, 143988, 143989, 143990, 144011, 144050, 144053, 144054, 144055, 144063, 144064, 144065, 144066, 144067, 144068, 144070, 144071, 144072, 144073, 144111, 144112, 144125, 144126, 144127, 144128, 144129, 144130, 144131, 144159, 144162, 144179, 146079, 146080, 146081, 146084, 146085, 146086, 146088, 146089, 146090, 146091, 146096, 146441, 147036, 147037, 147038, 147039, 147040, 147041, 147042, 147043, 147044, 147045, 147046, 147047, 147048, 147049, 147279, 147282, 147283, 147284, 147285, 147516, 147517, 147536, 147537, 147557, 147742, 147743, 147744, 147745, 147746, 147747, 147748, 147749, 147750, 147751, 147752, 147753, 147754, 147755, 147756, 147757, 147758, 147759, 147760, 147761, 147762, 147763, 147764, 147765, 147766, 147767, 147768, 147769, 147770, 147771, 147786, 147787, 147793, 147823, 147824, 147825, 147826, 147827, 147828, 147829, 147830, 148418, 148423, 148424, 148425, 148426, 148436, 148437, 148498, 148499, 148503, 148504, 148506, 148511, 148512, 148516, 148540, 148544, 148547, 148549, 148550, 148551, 148554, 148556, 148557, 148567, 148658, 148659, 148660, 148661, 148662, 148663, 148664, 148665, 148668, 148669, 148670, 148671, 148674, 148675, 148677, 148680, 148682, 148683, 148684, 148686, 148691, 148692, 148693, 148694, 148695, 148696, 148697, 148707, 148714, 148725, 148728, 148729, 148730, 148733, 148735, 148741, 148742, 148743, 148746, 148747, 148748, 148749, 148750, 148752, 148753, 148754, 148755, 148756, 148757, 148758, 148759, 148760, 148762, 148763, 148764, 148765, 148767, 148768, 148769, 148773, 148774, 148830, 148831, 148832, 148833, 148834, 148835, 148836, 148837, 148843, 148846, 148850, 148857, 148865, 148866, 148884, 148885, 148886, 148887, 148888, 148889, 148891, 148892, 148893, 148894, 148895, 148898, 148899, 148900, 148901, 148902, 148903, 148904, 148905, 148906, 148909, 148910, 148911, 148912, 148913, 148914, 148915, 149024, 149025, 149026, 149027, 149028, 149029, 149030, 149031, 149032, 149036, 149038, 149045, 149046, 149048, 149051, 149412, 149413, 149417, 149418, 149419, 149423, 149424, 149431, 149432, 149433, 149502, 150075, 150079, 150087, 150137, 150138, 151952, 151953, 151954, 151955, 151956, 151957, 151958, 151959, 151960, 151961, 151962, 151963, 151964, 151965, 151966, 151967, 151968, 151969, 151970, 151971, 151972, 151973, 151974, 151975, 151976, 151977, 151978, 151979, 151980, 151981, 151982, 151983, 151984, 152032, 152033, 152034, 152036, 152037, 152038, 152039, 152041, 152042, 152080, 152094, 152095, 152097, 152325, 152326, 152327, 152328, 152329, 152330, 152331, 152332, 152574, 152575, 152576, 152577, 152578, 152579, 152580, 152583, 152584, 152585, 152586, 152614, 152620, 152621, 152622, 152631, 153124, 153125, 153126, 153157, 153158, 153159, 153160, 153203, 153204, 153220, 153221, 153239, 153240, 153241, 153242, 153451, 153453, 153454, 153459, 153460, 153469, 153470, 153471, 153472, 153473, 153556, 153576, 153578, 153695, 153716, 154357, 156561, 157636, 157637, 157816, 157817, 157818, 157819, 157820, 157923, 157936, 157968, 157969, 158545, 158580, 160411, 160413, 160414, 160415, 160416, 160421, 160426, 160436, 160437, 160438, 160439, 160440, 160441, 160442, 160443, 160444, 160445, 160468, 160469, 160470, 160836, 160840, 160845, 160846, 160847, 160848, 160849, 160850, 160851, 160866, 160867, 160868, 160869, 160870, 160871, 161460, 161461, 161462, 161476, 161477, 161478, 161479, 161480, 161488, 161495, 161504, 161505, 161516, 161521, 161525, 161526, 161527, 161536, 161557, 161752, 162024, 163313, 163645, 164618, 164638, 164639, 164658, 164659, 164660, 164661, 164662, 164688, 164689, 164704, 164725, 164726, 164729, 164778, 164779, 164780, 164781, 164798, 164821, 164822, 164823, 164825, 164838, 164839, 164840, 164867, 164868, 164870, 164871, 164872, 164873, 164874, 164875, 164876, 164877, 164879, 164880, 164882, 164885, 164886, 164887, 164908, 164909, 164910, 164911, 164953, 164954, 164955, 164956, 164957, 164958, 165549, 165554, 165557, 165558, 165578, 165618, 165619, 165620, 165621, 165637, 165658, 165738, 165739, 165740, 165741, 165742, 165743, 165744, 165745, 165746, 165747, 165748, 165749, 165750, 165751, 166863, 166872, 167287, 167290, 169216, 169217, 169243, 169264, 169265, 169266, 169267, 169268, 169269, 169270, 169271, 169272, 169273, 169274, 169275, 169276, 169277, 169278, 169279, 169280, 169281, 169282, 169283, 169284, 169285, 169287, 169288, 169289, 169290, 169291, 169292, 169293, 169294, 169966, 169967, 169968, 169969, 170001, 170002, 170055, 170056, 170057, 170058, 170059, 170060, 170061, 170062, 170063, 170064, 170065, 170066, 170073, 170347, 170348, 170349, 170350, 170351, 170353, 170354, 170355, 170439, 170453, 170524, 170555, 170556, 170557, 170558, 170559, 170561, 170562, 170563, 170570, 170571, 170572, 170573, 170574, 170575, 170576, 170577, 170578, 170579, 170580, 170581, 170582, 170583, 170584, 170592, 170607, 171524, 171525, 171526, 171527, 171528, 171529, 171530, 171531, 171532, 171533, 171534, 171535, 171536, 171537, 171538, 171539, 171540, 171541, 171542, 171543, 171544, 171545, 171546, 171547, 171548, 171549, 171550, 171551, 171552, 171553, 171554, 171555, 171556, 171557, 171558, 171559, 171560, 171561, 171562, 171563, 171564, 171565, 171566, 171569, 171570, 171571, 171572, 171573, 171574, 171575, 171576, 171577, 171578, 171579, 171580, 171581, 171582, 171583, 171584, 171585, 171586, 171587, 171588, 171589, 171590, 171591, 171592, 171593, 171594, 171595, 171596, 171597, 171598, 171599, 171600, 171601, 171602, 171603, 171604, 171605, 171606, 171607, 171608, 171609, 171610, 171611, 171612, 171613, 171614, 171615, 171616, 171617, 171618, 171623, 171624, 171625, 171626, 171627, 171628, 171629, 171630, 171631, 171632, 171633, 171634, 171635, 171636, 171638, 171639, 171640, 171641, 171642, 171643, 171644, 171645, 171646, 171647, 171650, 171651, 171652, 171653, 171654, 171655, 171656, 171657, 171658, 171659, 171660, 171661, 171664, 171665, 171666, 171667, 171668, 171669, 171670, 171671, 171672, 171673, 171678, 171679, 171680, 171681, 171682, 171683, 171684, 171685, 171686, 171687, 171688, 171689, 171690, 171691, 171692, 171693, 171694, 171695, 171696, 171697, 171698, 171699, 171700, 171701, 171702, 171703, 171704, 171705, 171706, 171707, 171708, 171709, 171710, 171711, 171712, 171713, 171714, 171715, 171716, 171717, 171722, 171723, 171724, 171725, 171726, 171727, 171728, 171729, 171730, 171731, 171732, 171733, 171734, 171735, 171736, 171737, 171738, 171739, 171740, 171741, 171742, 171743, 171744, 171745, 171746, 171747, 171748, 171749, 171750, 171751, 171752, 171753, 171754, 171755, 171756, 171757, 171758, 171759, 171760, 171761, 171762, 171763, 171764, 171765, 171766, 171767, 171768, 171769, 171770, 171771, 171772, 171773, 171774, 171775, 171776, 171938, 171941, 171942, 172911, 172941, 172942, 172944, 172945, 172946, 172947, 172948, 172949, 172950, 172951, 172952, 172953, 172954, 172955, 172956, 172957, 172958, 172959, 172960, 172961, 172962, 172963, 172964, 172965, 172966, 172967, 172968, 172969, 172970, 172971, 172972, 172973, 172974, 172975, 172976, 172977, 172978, 172979, 172980, 172981, 172982, 172983, 172984, 172985, 172986, 172987, 172988, 172989, 172990, 172991, 172992, 172993, 172994, 172995, 172996, 172997, 173006, 173007, 173008, 173009, 173010, 173011, 173012, 173013, 173014, 173015, 173016, 173017, 173018, 173019, 173020, 173021, 173022, 173023, 173024, 173025, 173026, 173027, 173028, 173029, 173030, 173031, 173032, 173033, 173034, 173035, 173036, 173037, 173038, 173039, 173040, 173041, 173042, 173043, 173044, 173045, 173046, 173047, 173048, 173049, 173050, 173051, 173052, 173053, 173054, 173055, 173056, 173057, 173058, 173059, 173060, 173061, 173062, 173063, 173064, 173065, 173066, 173067, 173068, 173069, 173070, 173071, 173072, 173073, 173074, 173075, 173076, 173077, 173078, 173079, 173080, 173081, 173082, 173083, 173084, 173085, 173086, 173087, 173088, 173089, 173090, 173091, 173092, 173093, 173094, 173095, 173096, 173097, 173098, 173099, 173100, 173101, 173102, 173103, 173104, 173105, 173106, 173107, 173108, 173109, 173110, 173111, 173112, 173113, 173114, 173115, 173116, 173117, 173118, 173119, 173120, 173121, 173122, 173123, 173125, 173127, 173128, 173129, 173130, 173131, 173132, 173133, 173134, 173135, 173136, 173137, 173138, 173139, 173140, 173141, 173142, 173143, 173144, 173145, 173146, 173147, 173148, 173149, 173150, 173151, 173152, 173153, 173154, 173155, 173156, 173157, 173158, 173159, 173160, 173161, 173162, 173163, 173164, 173165, 173166, 173167, 173168, 173169, 173170, 173171, 173172, 173173, 173174, 173175, 173176, 173177, 173178, 173179, 173184, 173185, 173186, 173190, 173194, 173195, 173197, 173198, 173199, 173200, 173202, 173203, 173204, 173205, 173206, 173207, 173208, 173209, 173210, 173211, 173212, 173213, 173214, 173215, 173216, 173217, 173218, 173219, 173220, 173221, 173222, 173223, 173224, 173225, 173226, 173232, 173234, 173265, 173284, 173324, 173327, 174045, 174553, 174554, 174559, 174565, 174594, 174595, 174597, 174598, 174600, 174601, 174603, 174605, 174607, 174626, 174682, 174683, 174698, 174709, 174712, 174713, 174728, 174729, 174730, 174744, 174746, 174792, 174848, 174849, 174857, 174858, 174859, 174862, 174863, 174872, 174873, 174874, 174881, 174953, 174954, 174955, 174956, 174957, 174958, 174959, 174960, 174961, 174962, 174963, 174964, 174965, 174966, 174967, 174974, 174975, 174976, 174977, 174978, 174979, 174980, 174981, 174982, 174983, 174984, 174985, 174986, 174987, 174994, 174995, 174996, 174997, 174998, 175001, 175002, 175003, 175004, 175005, 175006, 175007, 175008, 175009, 175010, 175011, 175012, 175013, 175014, 175015, 175016, 175017, 175018, 175019, 175020, 175021, 175022, 175023, 175024, 175025, 175026, 175027, 175028, 175029, 175030, 175078, 175080, 175084, 175085, 175104, 175124, 175146, 175153, 175165, 175166, 175167, 175180, 175181, 175185, 175186, 175187, 175194, 175195, 175196, 175197, 175198, 175199, 175200, 175207, 175226, 175230, 175244, 175245, 175246, 175247, 175248, 175249, 175265, 175266, 175267, 175268, 175269, 175270, 175271, 175272, 175284, 175285, 175294, 175302, 175307, 175308, 175312, 175313, 175314, 175315, 175316, 175317, 175318, 175319, 175320, 175321, 175324, 175329, 175330, 175331, 175334, 175335, 175350, 175351, 175352, 175354, 175355, 175356, 175358, 175359, 175368, 175369, 175370, 175372, 175373, 175374, 175375, 175376, 175377, 175380, 175382, 175383, 175384, 175385, 175404, 175405, 175407, 175433, 175434, 175435, 175438, 175440, 175444, 175449, 175459, 175461, 175462, 175466, 175467, 175469, 175470, 175471, 175472, 175474, 175477, 175478, 175479, 175481, 175483, 175484, 175490, 175491, 175492, 175524, 175528, 175529, 175530, 175531, 175532, 175533, 175534, 175535, 175536, 175537, 175544, 175564, 175565, 175566, 175567, 175570, 175586, 175587, 175588, 175591, 175592, 175593, 175594, 175595, 175596, 175597, 175598, 175599, 175600, 175601, 175602, 175603, 175604, 175605, 175606, 175607, 175608, 175609, 175610, 175611, 175612, 175613, 175614, 175615, 175616, 175617, 175618, 175619, 175620, 175621, 175628, 175629, 175632, 175654, 175655, 175656, 175657, 175658, 175659, 175663, 175664, 175665, 175666, 175667, 175668, 175669, 175670, 175671, 175672, 175673, 175674, 175675, 175679, 175680, 175681, 175682, 175683, 175684, 175685, 175686, 175687, 175688, 175689, 175705, 175706, 175708, 175724, 175725, 175726, 175727, 175729, 175730, 175731, 175732, 175733, 175734, 175735, 175736, 175737, 175738, 175739, 175740, 175741, 175742, 175743, 175744, 175745, 175746, 175747, 175748, 175749, 175750, 175751, 175752, 175753, 175754, 175756, 175757, 175758, 175759, 175760, 175761, 175762, 175763, 175764, 175771, 175772, 175773, 175774, 175775, 175776, 175777, 175778, 175779, 175780, 175781, 175784, 175785, 175786, 175787, 175788, 175789, 175791, 175795, 175796, 175797, 175798, 175800, 175801, 175802, 175844, 175845, 175846, 175847, 175848, 175849, 175850, 175851, 175852, 175853, 175854, 175855, 175856, 175885, 175886, 175888, 175891, 175892, 175893, 175894, 175924, 175926, 175927, 175928, 175933, 175944, 175946, 175947, 175948, 175949, 175950, 175965, 175966, 175967, 175968, 175969, 175970, 176004, 176005, 176006, 176007, 176008, 176009, 176010, 176011, 176012, 176013, 176014, 176015, 176016, 176017, 176018, 176019, 176020, 176021, 176022, 176023, 176024, 176025, 176026, 176027, 176028, 176029, 176030, 176031, 176032, 176033, 176034, 176035, 176036, 176037, 176038, 176039, 176040, 176041, 176042, 176043, 176044, 176045, 176046, 176047, 176048, 176049, 176050, 176051, 176052, 176053, 176054, 176055, 176056, 176057, 176058, 176059, 176060, 176061, 176062, 176063, 176064, 176065, 176066, 176067, 176068, 176069, 176070, 176071, 176072, 176073, 176074, 176075, 176076, 176077, 176078, 176079, 176080, 176081, 176082, 176083, 176084, 176085, 176087, 176089, 176090, 176092, 176093, 176098, 176099, 176100, 176101, 176102, 176103, 176104, 176105, 176106, 176107, 176108, 176109, 176112, 176115, 176116, 176142, 176143, 176145, 176150, 176151, 176160, 176163, 176164, 176186, 176187, 176189, 176190, 176192, 176194, 176195, 176196, 176197, 176200, 176201, 176202, 176203, 176204, 176207, 176208, 176209, 176210, 176211, 176213, 176214, 176215, 176216, 176224, 176227, 176228, 176229, 176231, 176232, 176233, 176234, 176235, 176236, 176237, 176238, 176239, 176240, 176241, 176242, 176243, 176244, 176245, 176247, 176248, 176249, 176264, 176266, 176272, 176281, 176285, 176286, 176290, 176292, 176295, 176296, 176304, 176310, 176311, 176312, 176313, 176314, 176315, 176316, 176317, 176324, 176325, 176327, 176344, 176346, 176348, 176349, 176350, 176351, 176352, 176353, 176360, 176361, 176364, 176365, 176389, 176390, 176392, 176393, 176404, 176424, 176425, 176426, 176427, 176428, 176429, 176430, 176431, 176432, 176433, 176434, 176435, 176436, 176437, 176438, 176439, 176440, 176441, 176442, 176445, 176446, 176447, 176448, 176449, 176450, 176451, 176452, 176454, 176455, 176456, 176457, 176458, 176459, 176460, 176461, 176462, 176463, 176464, 176484, 176485, 176486, 176487, 176488, 176489, 176490, 176491, 176492, 176493, 176495, 176496, 176497, 176498, 176499, 176500, 176501, 176504, 176516, 176517, 176518, 176519, 176520, 176521, 176544, 176545, 176546, 176547, 176549, 176550, 176551, 176552, 176553, 176554, 176555, 176556, 176557, 176558, 176559, 176560, 176561, 176562, 176573, 176574, 176576, 176577, 176578, 176579, 176580, 176581, 176582, 176583, 176584, 176586, 176587, 176588, 176589, 176591, 176594, 176624, 176625, 176626, 176627, 176628, 176629, 176630, 176631, 176632, 176633, 176635, 176665, 176666, 176667, 176668, 176669, 176670, 176671, 176672, 176673, 176674, 176675, 176676, 176677, 176678, 176679, 176680, 176681, 176682, 176683, 176684, 176685, 176686, 176687, 176688, 176689, 176690, 176691, 176692, 176693, 176694, 176705, 176745, 176746, 176747, 176748, 176751, 176752, 176753, 176767, 176768, 176785, 176790, 176791, 176792, 176793, 176794, 176795, 176797, 176798, 176843, 176844, 176845, 176846, 176847, 176848, 176849, 176850, 176851, 176852, 176853, 176854, 176855, 176863, 176865, 176894, 176895, 176897, 176898, 176901, 176905, 176907, 176924, 176944, 176945, 176946, 176947, 176948, 176949, 176950, 176951, 176952, 176953, 176954, 176955, 176956, 176957, 176959, 176960, 176961, 176964, 176965, 176967, 176968, 176969, 176970, 176973, 176981, 176982, 176985, 176987, 176988, 176989, 176990, 176991, 177000, 177002, 177003, 177004, 177005, 177006, 177007, 177008, 177009, 177010, 177011, 177012, 177013, 177014, 177015, 177016, 177017, 177018, 177019, 177020, 177021, 177022, 177023, 177024, 177025, 177026, 177044, 177045, 177047, 177048, 177049, 177064, 177105, 177106, 177109, 177112, 177116, 177117, 177118, 177119, 177131, 177132, 177133, 177135, 177140, 177145, 177164, 177185, 177186, 177187, 177188, 177193, 177194, 177198, 177199, 177200, 177201, 177202, 177203, 177204, 177205, 177207, 177208, 177209, 177211, 177212, 177213, 177215, 177217, 177219, 177220, 177221, 177222, 177224, 177226, 177227, 177233, 177241, 177243, 177244, 177245, 177246, 177247, 177248, 177249, 177250, 177251, 177252, 177253, 177254, 177255, 177256, 177261, 177264, 177265, 177266, 177267, 177268, 177269, 177270, 177272, 177274, 177278, 177279, 177280, 177281, 177284, 177285, 177286, 177287, 177289, 177307, 177365, 177369, 177370, 177371, 177372, 177373, 177374, 177375, 177376, 177377, 177378, 177379, 177380, 177381, 177382, 177383, 177384, 177385, 177387, 177388, 177397, 177398, 177399, 177400, 177404, 177417, 177444, 177464, 177484, 177485, 177490, 177494, 177495, 177496, 177497, 177498, 177499, 177500, 177501, 177502, 177503, 177504, 177505, 177506, 177507, 177508, 177509, 177510, 177511, 177512, 177513, 177514, 177524, 177525, 177544, 177604, 177606, 177664, 177668, 177681, 177683, 177704, 177706, 177726, 177750, 177764, 177785, 177789, 177792, 177793, 177794, 177804, 177805, 177806, 177807, 177808, 177824, 177884, 177904, 177905, 177926, 177927, 177928, 177929, 177964, 177984, 177986, 177987, 177988, 177989, 177990, 177991, 177992, 177993, 177994, 177995, 177996, 177997, 177998, 177999, 178000, 178001, 178002, 178003, 178004, 178005, 178006, 178007, 178008, 178009, 178010, 178011, 178012, 178013, 178014, 178015, 178016, 178017, 178018, 178019, 178020, 178021, 178022, 178023, 178024, 178025, 178026, 178027, 178028, 178029, 178030, 178031, 178032, 178033, 178034, 178035, 178036, 178037, 178038, 178039, 178040, 178041, 178042, 178043, 178044, 178045, 178046, 178047, 178048, 178084, 178085, 178087, 178088, 178089, 178090, 178104, 178105, 178106, 178107, 178108, 178125, 178144, 178145, 178146, 178147, 178164, 178184, 178185, 178186, 178187, 178189, 178190, 178191, 178192, 178193, 178194, 178195, 178204, 178224, 178226, 178244, 178245, 178246, 178247, 178264, 178265, 178304, 178364, 178365, 178386, 178388, 178389, 178394, 178404, 178442, 178504, 178525, 178526, 178553, 178559, 178560, 178561, 178562, 178563, 178564, 178565, 178566, 178567, 178568, 178569, 178570, 178571, 178572, 178573, 178646, 178666, 178684, 178685, 178764, 178765, 178784, 178785, 178824, 178825, 178826, 178827, 178828, 178829, 178831, 178832, 178833, 178834, 178844, 178845, 178864, 178884, 178904, 178905, 178908, 178925, 178927, 178929, 178932, 178940, 178943, 178947, 178948, 178955, 178956, 178957, 178958, 178964, 178965, 178984, 179004, 179005, 179006, 179007, 179008, 179025, 179044, 179064, 179065, 179066, 179084, 179109, 179115, 179116, 179119, 179125, 179144, 179148, 179224, 179264, 179287, 179304, 179305, 179306, 179344, 179345, 179365, 179419, 179424, 179425, 179426, 179435, 179436, 179437, 179438, 179439, 179440, 179441, 179442, 179443, 179444, 179446, 179450, 179454, 179458, 179465, 179467, 179468, 179469, 179472, 179486, 179487, 179488, 179489, 179490, 179492, 179493, 179494, 179496, 179497, 179502, 179503, 179506, 179526, 179528, 179532, 179533, 179545, 179549, 179552, 179553, 179554, 179555, 179556, 179557, 179558, 179559, 179560, 179584, 179585, 179595, 179596, 179664, 179666, 179697, 179703, 179706, 179707, 179724, 179725, 179726, 179727, 179728, 179729, 179730, 179731, 179732, 179733, 179734, 179735, 179736, 179737, 179738, 179739, 179740, 179741, 179742, 179743, 179744, 179747, 179778, 179779, 179780, 179781, 179782, 179784, 179786, 179785, 179804, 179826, 179827, 179830, 179831, 179844, 179862, 179871, 179874, 179879, 179880, 179881, 179885, 179888, 179895, 179896, 179899, 179904, 179905, 179906, 179907, 179908, 179909, 179913, 179914, 179916, 179917, 179918, 179919, 179920, 179921, 179922, 179924, 179944, 179964, 179965, 179967, 179968, 179969, 179970, 179972, 179973, 179975, 179976, 179977, 179984, 180005, 180006, 180007, 180025, 180026, 180029, 180030, 180031, 180032, 180034, 180035, 180036, 180037, 180038, 180039, 180040, 180041, 180042, 180043, 180044, 180045, 180046, 180047, 180048, 180049, 180053, 180057, 180256, 180255, 180102, 180101, 180064, 180065, 180066, 180067, 180068, 180069, 180070, 180071, 180072, 180073, 180074, 180077, 180078, 180079, 180085, 180088, 180093, 180095, 180096, 180098, 180099, 180087, 180061, 180060, 180104, 180125, 180144, 180145, 180146, 180147, 180148, 180164, 180165, 180166, 180167, 180168, 180184, 180215, 180218, 180219, 180220, 180222, 180223, 180224, 180225, 180226, 180227, 180228, 180229, 180244, 180247, 180059, 180058, 180322, 180323, 180327, 180335, 180358, 180362, 180364, 180365, 180366, 180369, 180376, 180377, 180378, 180379, 180380, 180381, 180382, 180383, 180384, 180386, 180391, 180392, 180394, 180395, 180396, 180397, 180398, 180399, 180400, 180403, 180417, 180421, 180422, 180423, 180424, 180434, 180435, 180442, 180448, 180451, 180497, 180502, 180503, 180512, 180514, 180524, 180526, 180529, 180534, 180570, 180573, 180575, 180582, 180583, 180600, 180632, 180633, 180640, 180655, 180656, 180657, 180658, 180662, 180663, 180664, 180665, 180666, 180667, 180682, 180683, 180684, 180685, 180712, 180728, 180750, 180751, 180752, 180766, 180768, 180771, 180788, 180851, 180858, 180859, 180866, 180898, 180899, 180900, 180901, 180902, 180904, 184503, 184502, 180913, 180915, 180916, 180917, 180918, 180919, 180920, 180921, 180991, 180993, 180994, 180996, 180997, 180998, 180999, 181000, 181001, 181002, 181003, 181004, 181005, 181006, 181007, 181008, 181009, 181011, 181021, 181029, 181030, 181031, 181032, 181042, 181054, 181062, 181063, 181064, 181065, 181066, 181067, 181075, 181076, 181077, 181078, 181079, 181080, 181081, 181082, 181098, 181103, 181104, 181107, 181110, 181119, 181120, 181121, 181123, 181124, 181125, 181126, 181130, 181131, 181143, 181144, 181145, 181147, 181151, 181153, 181157, 181166, 181168, 181169, 181170, 181175, 181176, 181177, 181178, 181179, 181180, 181181, 181182, 181183, 181184, 181185, 181186, 181187, 181188, 181189, 181195, 181197, 181198, 181199, 181200, 181201, 181202, 181203, 181209, 181210, 181211, 181212, 181213, 181217, 181218, 181219, 181220, 181221, 181231, 181232, 181233, 181234, 181235, 181236, 181240, 181241, 181242, 181243, 181250, 181257, 181270, 181271, 181272, 181273, 181275, 181276, 181277, 181278, 181279, 181280, 181281, 181282, 181283, 181284, 181286, 181291, 181300, 181302, 181305, 181307, 181310, 181311, 181312, 181318, 181319, 181324, 181325, 181329, 181331, 181332, 181333, 181334, 181335, 181336, 181337, 181354, 181355, 181358, 181360, 181361, 181367, 181368, 181369, 181370, 181372, 181376, 181378, 181380, 181381, 181385, 181387, 181388, 181389, 181390, 181391, 181392, 181393, 181396, 181401, 181427, 181431, 181433, 181435, 181436, 181437, 181438, 181439, 181440, 181441, 181442, 181446, 181448, 181449, 181450, 181451, 181452, 181453, 181455, 181456, 181475, 181478, 181480, 181481, 181483, 181484, 181485, 181486, 181487, 181490, 181491, 181493, 181494, 181496, 181555, 181556, 181557, 181569, 181570, 181572, 181573, 181574, 181575, 181579, 181580, 181581, 181582, 181583, 181584, 181585, 181587, 181589, 181590, 181591, 181592, 181593, 181594, 181595, 181596, 181598, 181600, 181603, 181605, 181606, 181616, 181617, 181618, 181619, 181620, 181621, 181622, 181624, 181625, 181626, 181637, 181638, 181644, 181645, 181646, 181650, 181651, 181653, 181654, 181655, 181656, 181657, 181658, 181659, 181660, 181663, 181664, 181672, 181680, 181681, 181683, 181686, 181687, 181690, 181691, 181692, 181693, 181694, 181696, 181697, 181698, 181699, 181711, 181712, 181713, 181714, 181715, 181716, 181720, 181721, 181722, 181723, 181724, 181725, 181726, 181727, 181728, 181729, 181730, 181731, 181732, 181733, 181734, 181735, 181736, 181737, 181738, 181745, 181748, 181757, 181760, 181761, 181762, 181763, 181764, 181765, 181766, 181767, 181768, 181770, 181771, 181773, 181775, 181787, 181788, 181789, 181790, 181791, 181792, 181793, 181794, 181795, 181796, 181798, 181800, 181802, 181805, 181807, 181808, 181809, 181811, 181812, 181813, 181814, 181815, 181816, 181817, 181818, 181819, 181820, 181821, 181822, 181823, 181825, 181826, 181827, 181830, 181833, 181837, 181839, 181845, 181846, 181847, 181848, 181849, 181854, 181870, 181871, 181872, 181873, 181874, 181875, 181876, 181877, 181878, 181883, 181884, 181885, 181886, 181889, 181890, 181891, 181892, 181895, 181899, 181900, 181901, 181909, 181913, 181915, 181916, 181918, 181921, 181922, 181923, 181924, 181925, 181926, 181927, 181928, 181932, 181933, 181934, 181935, 181938, 181939, 181940, 181941, 181942, 181943, 181944, 181945, 181946, 181954, 181955, 181959, 181963, 181969, 181970, 181971, 181972, 181973, 181974, 181975, 181976, 181977, 181980, 181981, 181982, 181985, 181986, 181989, 181990, 182003, 182004, 182005, 182012, 182013, 182014, 182024, 182031, 182050, 182051, 182053, 182054, 182055, 182056, 182058, 182059, 182062, 182064, 182065, 182066, 182069, 182070, 182073, 182075, 182076, 182077, 182078, 182079, 182080, 182081, 182082, 182089, 182090, 182092, 182093, 182095, 182096, 182097, 182100, 182101, 182102, 182103, 182104, 182105, 182106, 182107, 182109, 182113, 182114, 182115, 182116, 182117, 182118, 182119, 182122, 182123, 182124, 182125, 182126, 182127, 182128, 182129, 182130, 182131, 182132, 182133, 182134, 182135, 182136, 182137, 182138, 182139, 182145, 182146, 182147, 182148, 182149, 182150, 182151, 182152, 182153, 182154, 182155, 182156, 182157, 182158, 182159, 182160, 182161, 182162, 182164, 182165, 182166, 182167, 182168, 182169, 182170, 182171, 182172, 182173, 182174, 182175, 182177, 182178, 182179, 182180, 182181, 182182, 182183, 182184, 182185, 182189, 182190, 182191, 182192, 182193, 182194, 182196, 182197, 182198, 182199, 182200, 182203, 182205, 182206, 182209, 182210, 182221, 182222, 182223, 182251, 182252, 182253, 182256, 182257, 182258, 182261, 182262, 182263, 182264, 182265, 182266, 182267, 182269, 182270, 182271, 182272, 182273, 182274, 182275, 182276, 182277, 182278, 182279, 182280, 182281, 182282, 182283, 182284, 182285, 182286, 182287, 182288, 182289, 182290, 182291, 182292, 182293, 182294, 182295, 182296, 182297, 182298, 182299, 182300, 182301, 182302, 182303, 182304, 182305, 182306, 182307, 182308, 182309, 182310, 182311, 182312, 182313, 182314, 182315, 182316, 182317, 182318, 182319, 182320, 182321, 182322, 182323, 182324, 182325, 182326, 182327, 182328, 182329, 182330, 182331, 182332, 182333, 182334, 182335, 182336, 182337, 182338, 182339, 182340, 182341, 182343, 182344, 182345, 182346, 182347, 182348, 182349, 182350, 182351, 182352, 182353, 182354, 182355, 182356, 182357, 182359, 182360, 182361, 182362, 182363, 182364, 182365, 182369, 182370, 182371, 182372, 182373, 182374, 182375, 182376, 182377, 182378, 182379, 182380, 182381, 182382, 182383, 182384, 182385, 182391, 182392, 182393, 182394, 182395, 182396, 182397, 182398, 182399, 182400, 182401, 182402, 182406, 182407, 182408, 182409, 182410, 182411, 182412, 182413, 182414, 182415, 182416, 182417, 182418, 182419, 182420, 182421, 182422, 182423, 182424, 182425, 182426, 182427, 182428, 182429, 182430, 182431, 182432, 182433, 182434, 182435, 182436, 182437, 182438, 182439, 182440, 182441, 182442, 182443, 182444, 182445, 182446, 182447, 182448, 182449, 182450, 182451, 182452, 182484, 182486, 182487, 182488, 182489, 182490, 182491, 182492, 182493, 182494, 182495, 182496, 182497, 182498, 182499, 182500, 182501, 182502, 182503, 182504, 182511, 182512, 182513, 182514, 182515, 182516, 182517, 182518, 182519, 182520, 182521, 182522, 182523, 182524, 182525, 182527, 182528, 182529, 182534, 182535, 182536, 182537, 182538, 182541, 182542, 184501, 184500, 182548, 182547, 182549, 182552, 182553, 182554, 182555, 182556, 182557, 182558, 182559, 182560, 182561, 182563, 182564, 182565, 182566, 182567, 182568, 182569, 182570, 182571, 182573, 182574, 182575, 182576, 182577, 182578, 182579, 182580, 182581, 182582, 182583, 182584, 182585, 182587, 182588, 182589, 182591, 182592, 182593, 182594, 182595, 182596, 182597, 182598, 182599, 182600, 182601, 182605, 182606, 182608, 182609, 182612, 182613, 182614, 182615, 182616, 182617, 182618, 182619, 182620, 182623, 182624, 182625, 182626, 182627, 182628, 182629, 182630, 182631, 182632, 182633, 182634, 182635, 182636, 182637, 182638, 182639, 182640, 182641, 182642, 182643, 182644, 182645, 182646, 182647, 182648, 182649, 182668, 182669, 182670, 182672, 182673, 182674, 182681, 182682, 182704, 182711, 182725, 182726, 182729, 182730, 182731, 182732, 182733, 182737, 182738, 182739, 182740, 182744, 182745, 182746, 182748, 182749, 182750, 182751, 182752, 182753, 182754, 182755, 182756, 182757, 182758, 182760, 182762, 182764, 182765, 182766, 182767, 182768, 182769, 182770, 182771, 182773, 182774, 182775, 182776, 182777, 182778, 182779, 182784, 182785, 182788, 182789, 182794, 182796, 182797, 182798, 182799, 182800, 182804, 182807, 182808, 182809, 182810, 182811, 182817, 182828, 182829, 182830, 182833, 182834, 182835, 182836, 182839, 182840, 182841, 182842, 182843, 182844, 182849, 182850, 182851, 182852, 182853, 182854, 182860, 182861, 182862, 182863, 182864, 182865, 182866, 182867, 182868, 182869, 182870, 182871, 182872, 182873, 182874, 182875, 182876, 182877, 182878, 182881, 182882, 182883, 182884, 182885, 182886, 182887, 182888, 182889, 182890, 182891, 182892, 182893, 182894, 182895, 182896, 182897, 182898, 182899, 182900, 182901, 182902, 182903, 182904, 182922, 182923, 182924, 182925, 182926, 182927, 182928, 182929, 182934, 182935, 182936, 182937, 182938, 182939, 182940, 182941, 182942, 182943, 182944, 182945, 182946, 182947, 182948, 182949, 182950, 182951, 182952, 182953, 182954, 182955, 182956, 182957, 182958, 182959, 182962, 182964, 182965, 182967, 182968, 182969, 182970, 182971, 182972, 182973, 182994, 183005, 183006, 183007, 183008, 183009, 183010, 183022, 183023, 183024, 183025, 183026, 183027, 183028, 183029, 183030, 183031, 183032, 183033, 183034, 183035, 183036, 183037, 183038, 183039, 183040, 183042, 183043, 183044, 183045, 183046, 183047, 183048, 183049, 183051, 183097, 183098, 183099, 183104, 183105, 183111, 183112, 183113, 183114, 183116, 183117, 183118, 183119, 183120, 183121, 183122, 183123, 183124, 183125, 183126, 183127, 183128, 183129, 183130, 183131, 183132, 183134, 183135, 183136, 183137, 183138, 183139, 183140, 183141, 183142, 183143, 183146, 183147, 183148, 183149, 183151, 183152, 183153, 183154, 183155, 183158, 183159, 183160, 183161, 183162, 183163, 183164, 183165, 183166, 183167, 183168, 183169, 183170, 183171, 183177, 183180, 183189, 183190, 183191, 183192, 183193, 183194, 183195, 183196, 183197, 183198, 183199, 183200, 183201, 183202, 183203, 183204, 183205, 183206, 183207, 183208, 183209, 183210, 183211, 183212, 183213, 183214, 183215, 183216, 183218, 183231, 183232, 183233, 183234, 183235, 183236, 183237, 183238, 183239, 183240, 183241, 183242, 183243, 183244, 183245, 183246, 183247, 183248, 183249, 183250, 183251, 183252, 183253, 183254, 183255, 183256, 183257, 183258, 183259, 183260, 183261, 183262, 183263, 183264, 183265, 183266, 183267, 183268, 183269, 183270, 183271, 183272, 183273, 183274, 183275, 183276, 183277, 183284, 183286, 183287, 183288, 183289, 183290, 183291, 183292, 183293, 183294, 183295, 183296, 183297, 183298, 183299, 183300, 183313, 183317, 183318, 183319, 183320, 183321, 183322, 183323, 183324, 183325, 183326, 183327, 183333, 183338, 183339, 183340, 183341, 183342, 183343, 183344, 183345, 183346, 183347, 183348, 183349, 183350, 183351, 183355, 183362, 183363, 183364, 183365, 183366, 183367, 183368, 183369, 183370, 183371, 183372, 183373, 183374, 183375, 183376, 183377, 183378, 183379, 183380, 183381, 183382, 183383, 183384, 183385, 183386, 183393, 183394, 183395, 183396, 183397, 183398, 183399, 183401, 183402, 183408, 183410, 183411, 183412, 183413, 183414, 183415, 183418, 183419, 183420, 183422, 183423, 183424, 183425, 183427, 183428, 183429, 183430, 183431, 183432, 183433, 183435, 183436, 183437, 183438, 183439, 183441, 183444, 183446, 183447, 183450, 183454, 183455, 183456, 183457, 183458, 183459, 183460, 183461, 183465, 183467, 183468, 183469, 183470, 183471, 183472, 183473, 183474, 183475, 183476, 183477, 183478, 183479, 183480, 183481, 183482, 183483, 183484, 183485, 183486, 183487, 183491, 183492, 183493, 183497, 183498, 183499, 183500, 183501, 183502, 183503, 183504, 183507, 183510, 183511, 183514, 183515, 183516, 183517, 183518, 183519, 183520, 183521, 183522, 183523, 183524, 183525, 183526, 183527, 183528, 183529, 183530, 183531, 183532, 183533, 183534, 183535, 183536, 183537, 183538, 183539, 183540, 183541, 183542, 183543, 183544, 183545, 183546, 183547, 183548, 183549, 183550, 183551, 183552, 183553, 183554, 183555, 183556, 183557, 183558, 183559, 183560, 183561, 183562, 183563, 183564, 183565, 183566, 183567, 183568, 183569, 183570, 183571, 183572, 183573, 183574, 183575, 183576, 183577, 183578, 183579, 183580, 183581, 183582, 183583, 183584, 183585, 183586, 183587, 183588, 183589, 183590, 183591, 183592, 183593, 183594, 183595, 183596, 183597, 183598, 183599, 183600, 183601, 183602, 183603, 183604, 183605, 183606, 183607, 183608, 183609, 183610, 183611, 183612, 183613, 183614, 183615, 183616, 183617, 183618, 183619, 183620, 183621, 183622, 183623, 183624, 183625, 183626, 183627, 183628, 183629, 183630, 183631, 183632, 183633, 183634, 183635, 183636, 183637, 183638, 183639, 183640, 183641, 183642, 183643, 183644, 183645, 183646, 183647, 183648, 183649, 183650, 183651, 183652, 183653, 183654, 183655, 183656, 183657, 183658, 183659, 183660, 183661, 183662, 183663, 183664, 183665, 183666, 183667, 183668, 183669, 183670, 183671, 183672, 183673, 183674, 183675, 183676, 183677, 183678, 183679, 183680, 183681, 183682, 183683, 183684, 183685, 183686, 183687, 183688, 183689, 183690, 183691, 183692, 183693, 183694, 183703, 183712, 183713, 183714, 183740, 183741, 183742, 183743, 183744, 183745, 183746, 183747, 183748, 183749, 183750, 183751, 183752, 183753, 183754, 183755, 183757, 183758, 183759, 183760, 183761, 183767, 183768, 183770, 183771, 183773, 183774, 183775, 183776, 183777, 183778, 183779, 183780, 183781, 183782, 183783, 183787, 183788, 183789, 183791, 183793, 183795, 183796, 183797, 183799, 183800, 183805, 183806, 183807, 183808, 183811, 183813, 183814, 183816, 183818, 183820, 183821, 183823, 183824, 183825, 183826, 183827, 183828, 183829, 183830, 183831, 183832, 183833, 183834, 183835, 183836, 183837, 183838, 183839, 183840, 183841, 183842, 183843, 183844, 183845, 183846, 183848, 183849, 183850, 183852, 183853, 183854, 183855, 183856, 183857, 183858, 183859, 183860, 183861, 183862, 183863, 183864, 183865, 183866, 183867, 183868, 183869, 183870, 183871, 183872, 183873, 183874, 183875, 183877, 183878, 183879, 183880, 183881, 183882, 183883, 183889, 183890, 183891, 183893, 183894, 183895, 183896, 183897, 183898, 183899, 183900, 183901, 183902, 183903, 183904, 183905, 183906, 183907, 183908, 183909, 183910, 183911, 183912, 183913, 183914, 183915, 183916, 183917, 183918, 183919, 183920, 183921, 183922, 183923, 183924, 183925, 183926, 183927, 183931, 183932, 183933, 183934, 183935, 183936, 183940, 183941, 183942, 183943, 183944, 183945, 183946, 183947, 183949, 183950, 183955, 183956, 183957, 183961, 183962, 183963, 183964, 183965, 183968, 183970, 183971, 183972, 183973, 183977, 183978, 183979, 183980, 183984, 183985, 183986, 183987, 183988, 183991, 183992, 183993, 183994, 183995, 183996, 183997, 184003, 184004, 184005, 184006, 184009, 184010, 184011, 184012, 184013, 184014, 184015, 184016, 184017, 184018, 184019, 184020, 184021, 184022, 184023, 184024, 184025, 184026, 184027, 184028, 184029, 184030, 184031, 184032, 184033, 184034, 184035, 184036, 184037, 184038, 184039, 184040, 184041, 184042, 184043, 184044, 184045, 184046, 184047, 184048, 184049, 184050, 184051, 184052, 184053, 184054, 184055, 184057, 184058, 184059, 184060, 184061, 184062, 184063, 184064, 184065, 184066, 184067, 184068, 184070, 184071, 184072, 184073, 184074, 184076, 184077, 184078, 184084, 184085, 184090, 184091, 184092, 184093, 184094, 184095, 184096, 184097, 184098, 184099, 184100, 184101, 184102, 184103, 184104, 184105, 184109, 184114, 184115, 184117, 184121, 184122, 184123, 184124, 184125, 184126, 184127, 184128, 184129, 184130, 184131, 184132, 184133, 184134, 184135, 184136, 184137, 184138, 184139, 184140, 184143, 184144, 184147, 184148, 184149, 184150, 184151, 184152, 184153, 184154, 184155, 184156, 184157, 184158, 184159, 184160, 184164, 184173, 184174, 184175, 184176, 184179, 184180, 184181, 184182, 184183, 184184, 184185, 184186, 184187, 184188, 184189, 184190, 184191, 184192, 184193, 184194, 184195, 184196, 184197, 184198, 184199, 184200, 184201, 184202, 184206, 184207, 184208, 184209, 184210, 184211, 184212, 184213, 184214, 184224, 184225, 184226, 184229, 184230, 184231, 184232, 184233, 184234, 184235, 184236, 184237, 184238, 184239, 184240, 184241, 184242, 184243, 184244, 184245, 184246, 184248, 184249, 184250, 184252, 184253, 184254, 184255, 184256, 184257, 184258, 184259, 184260, 184261, 184262, 184263, 184264, 184265, 184266, 184267, 184268, 184269, 184270, 184271, 184272, 184274, 184275, 184276, 184277, 184278, 184279, 184280, 184281, 184284, 184285, 184286, 184289, 184290, 184291, 184292, 184293, 184294, 184295, 184296, 184297, 184298, 184300, 184303, 184304, 184305, 184306, 184307, 184308, 184310, 184311, 184312, 184313, 184314, 184315, 184316, 184317, 184318, 184319, 184330, 184331, 184332, 184339, 184340, 184341, 184342, 184343, 184344, 184345, 184346, 184347, 184348, 184349, 184350, 184351, 184354, 184355, 184356, 184357, 184358, 184359, 184360, 184361, 184362, 184364, 184366, 184367, 184368, 184369, 184370, 184371, 184372, 184373, 184374, 184375, 184376, 184377, 184383, 184393, 184395, 184396, 184397, 184398, 184399, 184400, 184401, 184402, 184403, 184404, 184405, 184406, 184407, 184414, 184415, 184416, 184418, 184419, 184420, 184421, 184422, 184423, 184424, 184425, 184426, 184427, 184428, 184429, 184430, 184431, 184433, 184434, 184436, 184437, 184438, 184439, 184443, 184447, 184448, 184450, 184453, 184454, 184455, 184456, 184458, 184462, 184463, 184465, 184466, 184467, 184470, 184471, 184472, 184473, 184474, 184475, 184477, 184478, 184488, 184494, 184495, 184496, 184497, 184498, 184499, 182546, 182543, 180912, 180911, 184504, 184507, 184508, 184509, 184510, 184511, 184512, 184513, 184514, 184515, 184516, 184517, 184518, 184519, 184520, 184521, 184522, 184523, 184526, 184527, 184530, 184531, 184532, 184533, 184534, 184535, 184536, 184537, 184538, 184539, 184540, 184541, 184542, 184543, 184544, 184545, 184546, 184547, 184548, 184549, 184550, 184551, 184552, 184553, 184554, 184555, 184556, 184557, 184558, 184559, 184560, 184563, 184564, 184565, 184566, 184567, 184578, 184579, 184580, 184581, 184583, 184584, 184585, 184586, 184588, 184589, 184590, 184591, 184594, 184607, 184608, 184612, 184613, 184615, 184624, 184625, 184626, 184627, 184628, 184629, 184630, 184631, 184652, 184655, 184656, 184657, 184660, 184663, 184664, 184665, 184666, 184667, 184668, 184669, 184670, 184671, 184672, 184673, 184674, 184675, 184676, 184677, 184678, 184679, 184680, 184681, 184682, 184685, 184686, 184687, 184688, 184689, 184694, 184701, 184702, 184705, 184706, 184707, 184708, 184709, 184710, 184711, 184712, 184714, 184715, 184716, 184717, 184721, 184724, 184725, 184726, 184727, 184728, 184729, 184730, 184731, 184732, 184734, 184735, 184736, 184737, 184740, 184741, 184742, 184743, 184744, 184745, 184752, 184793, 184794, 184799, 184800, 184802, 184807, 184808, 184809, 184810, 184811, 184812, 184813, 184814, 184815, 184825, 184827, 184833, 184834, 184835, 184836, 184837, 184838, 184840, 184842, 184843, 184852, 184853, 184859, 184860, 184867, 184868, 184869, 184870, 184871, 184872, 184906, 184908, 184909, 184912, 184922, 184923, 184944, 184945, 184946, 184948, 184950, 184964, 184965, 184966, 184967, 184968, 184969, 184970, 184971, 184972, 184973, 184974, 184975, 184976, 184977, 184978, 184980, 184982, 184983, 184984, 184985, 184986, 184987, 184988, 184989, 184990, 184991, 184992, 184993, 184994, 184995, 184996, 184998, 184999, 185000, 185004, 185005, 185006, 185007, 185008, 185009, 185010, 185015, 185018, 185019, 185023, 185024, 185025, 185026, 185027, 185028, 185029, 185030, 185031, 185033, 185035, 185036, 185037, 185038, 185039, 185056, 185062, 185063, 185064, 185065, 185066, 185067, 185068, 185069, 185070, 185071, 185072, 185073, 185074, 185075, 185076, 185077, 185078, 185079, 185080, 185081, 185082, 185083, 185084, 185088, 185089, 185090, 185091, 185092, 185093, 185094, 185095, 185096, 185097, 185099, 185100, 185101, 185103, 185104, 185105, 185107, 185108, 185109, 185110, 185111, 185112, 185113, 185119, 185120, 185123, 185124, 185129, 185131, 185132, 185134, 185136, 185137, 185138, 185139, 185147, 185148, 185152, 185153, 185154, 185155, 185156, 185157, 185158, 185159, 185160, 185161, 185162, 185163, 185164, 185165, 185166, 185167, 185168, 185172, 185173, 185174, 185175, 185177, 185178, 185179, 185180, 185181, 185183, 185184, 185185, 185190, 185191, 185192, 185193, 185194, 185195, 185196, 185197, 185198, 185200, 185201, 185202, 185203, 185204, 185205, 185206, 185208, 185210, 185212, 185213, 185214, 185216, 185217, 185218, 185219, 185220, 185224, 185225, 185234, 185235, 185236, 185237, 185238, 185239, 185240, 185241, 185242, 185243, 185244, 185245, 185246, 185247, 185248, 185249, 185250, 185251, 185252, 185253, 185254, 185255, 185256, 185257, 185258, 185259, 185260, 185261, 185262, 185263, 185264, 185265, 185266, 185267, 185268, 185269, 185270, 185271, 185272, 185273, 185274, 185275, 185276, 185277, 185278, 185279, 185280, 185281, 185282, 185283, 185284, 185285, 185286, 185287, 185288, 185289, 185290, 185294, 185296, 185298, 185301, 185302, 185303, 185309, 185314, 185317, 185318, 185319, 185324, 185325, 185394, 185395, 185396, 185397, 185398, 185399, 185400, 185401, 185402, 185403, 185404, 185405, 185406, 185407, 185408, 185409, 185410, 185411, 185412, 185413, 185414, 185415, 185416, 185417, 185418, 185419, 185420, 185421, 185422, 185423, 185424, 185425, 185426, 185427, 185428, 185429, 185430, 185431, 185432, 185433, 185459, 185472, 185473, 185477, 185497, 185499, 185500, 185502, 185505, 185506, 185507, 185508, 185509, 185510, 185511, 185528, 185877, 185878, 185881, 185899, 185900, 185903, 185928, 185944, 185954, 185967, 185968, 185969, 185970, 185972, 185973, 185974, 185975, 185977, 185978, 185979, 185980, 185981, 185982, 185983, 185984, 185985, 185986, 185987, 185988, 185989, 185990, 185991, 185992, 185993, 185994, 185997, 185998, 185999, 186000, 186001, 186002, 186003, 186004, 186005, 186006, 186007, 186008, 186009, 186010, 186011, 186012, 186013, 186014, 186015, 186016, 186017, 186018, 186019, 186020, 186023, 186026, 186027, 186028, 186029, 186031, 186032, 186033, 186036, 186037, 186038, 186039, 186040, 186041, 186042, 186043, 186044, 186045, 186046, 186047, 186048, 186050, 186051, 186053, 186054, 186055, 186056, 186057, 186058, 186059, 186060, 186061, 186062, 186063, 186064, 186065, 186066, 186067, 186068, 186069, 186071, 186072, 186073, 186074, 186075, 186076, 186077, 186078, 186079, 186080, 186081, 186082, 186083, 186084, 186085, 186086, 186087, 186088, 186089, 186090, 186091, 186092, 186093, 186094, 186095, 186096, 186097, 186098, 186099, 186100, 186101, 186102, 186103, 186104, 186105, 186106, 186107, 186108, 186109, 186110, 186111, 186112, 186113, 186114, 186115, 186116, 186117, 186118, 186119, 186124, 186125, 186126, 186127, 186128, 186129, 186130, 186131, 186134, 186143, 186144, 186145, 186146, 186147, 186148, 186179, 186180, 186181, 186182, 183930, 184146, 184713, 185465, 185466, 185467, 185529, 185530, 185531, 185532, 185533, 185534, 185535, 185536, 185537, 185538, 185539, 185543, 185544, 185545, 185549, 185555, 185571, 185572, 185573, 185592, 185593, 185602, 185604, 185605, 185606, 185607, 185608, 185609, 185610, 185611, 185612, 185613, 185614, 185615, 185616, 185617, 185618, 185619, 185620, 185621, 185622, 185623, 185624, 185625, 185626, 185627, 185628, 185629, 185630, 185631, 185632, 185633, 185634, 185635, 185636, 185637, 185638, 185639, 185640, 185641, 185642, 185643, 185644, 185645, 185646, 185647, 185648, 185649, 185650, 185651, 185652, 185653, 185654, 185655, 185676, 185677, 185678, 185679, 185680, 185681, 185682, 185683, 185684, 185685, 185686, 185687, 185688, 185689, 185690, 185691, 185752, 185753, 185754, 185755, 185832, 185833, 185836, 185837, 185838, 185839, 185844, 185846, 185847, 185852, 185853, 185854, 185855, 185861, 185890, 185894, 185906, 185911, 185913, 185927, 185929, 185930, 185931, 185935, 185936, 185938, 185945, 185971, 185995, 185996, 186021, 186022, 186024, 186025, 186030, 186034, 186035, 186049, 186070, 186120, 186121, 186122, 186123, 186133, 185918, 185917, 180100, 180090, 180089, 180091, 180075, 180076, 181636, 186139, 186140, 185547, 185553, 185551, 303, 305, 379, 380, 382, 1632, 1687, 1688, 1689, 1691, 1693, 1694, 1695, 1696, 1697, 1705, 1706, 1707, 1708, 1709, 1711, 1712, 1713, 1714, 1715, 1808, 1839, 1842, 1853, 1854, 1855, 1856, 1858, 1860, 1865, 1872, 1909, 1916, 2001, 2002, 2027, 2028, 2029, 2048, 2049, 2050, 2051, 2052, 3220, 3857, 3891, 3894, 3898, 3900, 3902, 3905, 3906, 3908, 4115, 4116, 4117, 4118, 4119, 4135, 4136, 4137, 18065, 18066, 18067, 18068, 18070, 18071, 18072, 18073, 18074, 18075, 18079, 18643, 19017, 19018, 20831, 20872, 20972, 20976, 20978, 20979, 20980, 23570, 24727, 28070, 28073, 28074, 28075, 29152, 29154, 29155, 32596, 40200, 48413, 48416, 48417, 48418, 48419, 48424, 48425, 48426, 48429, 48459, 48461, 48465, 48467, 48468, 48476, 48483, 48484, 48485, 48486, 48492, 48493, 48567, 48576, 69282, 92143, 97802, 97803, 101855, 103751, 104589, 105173, 111254, 111256, 111262, 111265, 111266, 140931, 141862, 141863, 142103, 142208, 142209, 142210, 142212, 142215, 142216, 142217, 142970, 142973, 143991, 144132, 144133, 147792, 148844, 148845, 148847, 148848, 148849, 148851, 148852, 148853, 148854, 148855, 148856, 148858, 148859, 148860, 148861, 148862, 148863, 148864, 148917, 152040, 165622, 165623, 165624, 165625, 165626, 165627, 165628, 165629, 165630, 165631, 165632, 165633, 175144, 175145, 175545, 176604, 176605, 176606, 176607, 176608, 176617, 176618, 176619, 177084, 177196, 179085, 179500, 180086, 180094, 180252, 180393, 181326, 181804, 183817, 184080, 184081, 184082, 184083, 184141, 184142, 184171, 184172, 184215, 184216, 184221, 184222, 184223, 184320, 184380, 184381, 184382, 184493, 184528, 184529, 184616, 184617, 184618, 184646, 184662, 184719, 184720, 184873, 184874, 184875, 184876, 184877, 184878, 184879, 184880, 184881, 184882, 184883, 184884, 184885, 184886, 184887, 184888, 184889, 184890, 184891, 184892, 184893, 184894, 184895, 184896, 184897, 184898, 184899, 184900, 184901, 184902, 184903, 184904, 185498, 185501, 185976, 186137, 186138, 186141, 186142, 186560, 176269, 180092, 180097, 185521, 185952, 175298, 175310, 175287, 175288, 175289, 175290, 175291, 175292, 175293, 175305, 182068, 1633, 1634, 1639, 1643, 1644, 1645, 1662, 1801, 1802, 1805, 1806, 1807, 1812, 1813, 1817, 1818, 1819, 1820, 1821, 1826, 1859, 1877, 1891, 1892, 1893, 1901, 1902, 1903, 1904, 1906, 1911, 1930, 1931, 1932, 1957, 1958, 1972, 1975, 1976, 1979, 1984, 2033, 2034, 2035, 2036, 2037, 2038, 2055, 2334, 2336, 2661, 2663, 2666, 2907, 2970, 2977, 2978, 3196, 3197, 3225, 3234, 3246, 3254, 3256, 3258, 3262, 3266, 3306, 3307, 3311, 3314, 3716, 3717, 3718, 3723, 3832, 3833, 3834, 3835, 3836, 3837, 3838, 3963, 3964, 6286, 6287, 12897, 12898, 12899, 12901, 12902, 12904, 12907, 12908, 12909, 17190, 17191, 17284, 18043, 18063, 18064, 18084, 18085, 18340, 18341, 18644, 18645, 18900, 18901, 18930, 18935, 18936, 19558, 19559, 19560, 19561, 19562, 19563, 19569, 19570, 19571, 19858, 20738, 20739, 20810, 20873, 20874, 20875, 20876, 20900, 20926, 20961, 20963, 20970, 21127, 22569, 22576, 22577, 22639, 22647, 22648, 22649, 22650, 22651, 22652, 22654, 22658, 22664, 22719, 22727, 22734, 22736, 22741, 22744, 22751, 22754, 22755, 23571, 23573, 23574, 23879, 23880, 23881, 24723, 24724, 24725, 24726, 24728, 24729, 181627, 181628, 35594, 35595, 35596, 35597, 35598, 35844, 38029, 40298, 40299, 40301, 41185, 41187, 41188, 41189, 41190, 41192, 41194, 50831, 50986, 50989, 51948, 51949, 51950, 61040, 61041, 61042, 61043, 61044, 61045, 61046, 61047, 61048, 61049, 61050, 61052, 61060, 61065, 61066, 61069, 61087, 61091, 61092, 69421, 69423, 69424, 69425, 69428, 69429, 69430, 69431, 69433, 69434, 69436, 69437, 69438, 74076, 74443, 88496, 88497, 88498, 91738, 92098, 92424, 92458, 94183, 94184, 94187, 94188, 94191, 101748, 101749, 101750, 101811, 101812, 101835, 101836, 101837, 101838, 101839, 101840, 101841, 101842, 101843, 101844, 101845, 101846, 101847, 101848, 101849, 103713, 103750, 103773, 105569, 110231, 110232, 110234, 111149, 112051, 112052, 112053, 112054, 112055, 112058, 112059, 112060, 112062, 112065, 112066, 112070, 112071, 112072, 112881, 136932, 136933, 136934, 136935, 136936, 136937, 136938, 136939, 136940, 136941, 136942, 136943, 136944, 136965, 136966, 140113, 140211, 140212, 140357, 140359, 140373, 140374, 140375, 140376, 140378, 140379, 140380, 140381, 140382, 140383, 140384, 140385, 140386, 140387, 140388, 140389, 140390, 140391, 140392, 140393, 140394, 140395, 140396, 140397, 140398, 140399, 140400, 140401, 140402, 140403, 140439, 141813, 141840, 141841, 141843, 141845, 141861, 141871, 141971, 141972, 142073, 142077, 142078, 142079, 142090, 142101, 142118, 142119, 142131, 142196, 142197, 142198, 142342, 142691, 142695, 142965, 142966, 142967, 142968, 142969, 143986, 147065, 148419, 148420, 148421, 148736, 148739, 148751, 148761, 148771, 148772, 148781, 148782, 148790, 148795, 148796, 148801, 148807, 148811, 148812, 148813, 148814, 148815, 148816, 148817, 148818, 148840, 148841, 148876, 148877, 148878, 148879, 148880, 148956, 148957, 148958, 148959, 148960, 149019, 149021, 149049, 150082, 152035, 152043, 152044, 152045, 152046, 152581, 152582, 152587, 152608, 152618, 152619, 153350, 153464, 153516, 153579, 153580, 153581, 153582, 153583, 153584, 153723, 158546, 158547, 158548, 158549, 158550, 158551, 158552, 158553, 158554, 158555, 158556, 158557, 158558, 158559, 158560, 158561, 158562, 158563, 158564, 158565, 158566, 158567, 158568, 158569, 158570, 158571, 158572, 158576, 158579, 158581, 158582, 158583, 158584, 158585, 158599, 158608, 158674, 158678, 158679, 158680, 160409, 160410, 160418, 160419, 160420, 161457, 161458, 161459, 161522, 161523, 161524, 164819, 167284, 167288, 167289, 169996, 169997, 169998, 169999, 170000, 170440, 170441, 170442, 170443, 170444, 170445, 170446, 170447, 170448, 170449, 170450, 170451, 170452, 170454, 170455, 170456, 170457, 170458, 170459, 170460, 170461, 170462, 170463, 170464, 170465, 170466, 170467, 170468, 170469, 170470, 170471, 170472, 170473, 170474, 170475, 170476, 170477, 170478, 170479, 170480, 170481, 170482, 170483, 170484, 170485, 170486, 170487, 170488, 170489, 170490, 170491, 170492, 170493, 170494, 170495, 170496, 170497, 170498, 170499, 170500, 170501, 170502, 170503, 170504, 170505, 170506, 170507, 170508, 170509, 170510, 170511, 170512, 170513, 170514, 170515, 170516, 170517, 170518, 170519, 170520, 170521, 170522, 170523, 170525, 170526, 170527, 170528, 170529, 170530, 170531, 170532, 170533, 170534, 170535, 170536, 170537, 170538, 170539, 170540, 170541, 170542, 170543, 170544, 170545, 170546, 170547, 170548, 170549, 170550, 170551, 170552, 170553, 170554, 170560, 170564, 170565, 170566, 170567, 170568, 170569, 173180, 173181, 173182, 173183, 173187, 173188, 173189, 173191, 173192, 173193, 173196, 174407, 174408, 174409, 174410, 174411, 174412, 174413, 174414, 174415, 174416, 174417, 174418, 174419, 174420, 174421, 174422, 174423, 174424, 174425, 174426, 174427, 174428, 174429, 174430, 174431, 174432, 174433, 174434, 174435, 174436, 174437, 174438, 174439, 174440, 174441, 174442, 174443, 174444, 174445, 174446, 174447, 174448, 174449, 174450, 174451, 174452, 174453, 174454, 174455, 174456, 174457, 174458, 174459, 174460, 174461, 174462, 174463, 174464, 174465, 174466, 174467, 174468, 174469, 174470, 174471, 174472, 174473, 174474, 174475, 174476, 174477, 174478, 174479, 174480, 174481, 174482, 174483, 174484, 174485, 174486, 174487, 174488, 174489, 174490, 174491, 174492, 174493, 174494, 174495, 174496, 174497, 174498, 174499, 174500, 174501, 174502, 174503, 174504, 174505, 174506, 174507, 174508, 174509, 174510, 174511, 174512, 174513, 174514, 174515, 174516, 174517, 174518, 174519, 174520, 174521, 174522, 174523, 174524, 174525, 174526, 174527, 174528, 174529, 174530, 174531, 174532, 174533, 174534, 174535, 174536, 174537, 174538, 174539, 174540, 174541, 174542, 174543, 174544, 174545, 174546, 174547, 174548, 174549, 174550, 174551, 174552, 174555, 174556, 174557, 174558, 174560, 174561, 174562, 174563, 174564, 174566, 174699, 174745, 174875, 174876, 174877, 174878, 174879, 174880, 174932, 174933, 174943, 174944, 175179, 175286, 175306, 175353, 175357, 175379, 175381, 175432, 175436, 175437, 175439, 175441, 175442, 175443, 175445, 175447, 175450, 175454, 175455, 175457, 175458, 175460, 175463, 175630, 175631, 175799, 175811, 175824, 175825, 175857, 175858, 175929, 175930, 175931, 175932, 176113, 176217, 176270, 176275, 176276, 176277, 176278, 176279, 176282, 176294, 176307, 176308, 176309, 176318, 176326, 176443, 176444, 176506, 176507, 176508, 176509, 176636, 176637, 176638, 176639, 176640, 176641, 176642, 176643, 176645, 176749, 176787, 176796, 176799, 176800, 176801, 176804, 176805, 176806, 176807, 176808, 176886, 176887, 176888, 176889, 176892, 176896, 176899, 176904, 176906, 176958, 176966, 176971, 176972, 176978, 176979, 176980, 176983, 176984, 176986, 176992, 176993, 176994, 176998, 177104, 177107, 177108, 177110, 177111, 177113, 177114, 177115, 177120, 177121, 177122, 177123, 177124, 177125, 177126, 177127, 177128, 177129, 177130, 177134, 177136, 177137, 177138, 177139, 177141, 177142, 177143, 177144, 177150, 177151, 177152, 177153, 177154, 177155, 177165, 177189, 177192, 177195, 177197, 177225, 177262, 177263, 177273, 177277, 177288, 177292, 177293, 177326, 177327, 177366, 177367, 177405, 177406, 177408, 177409, 177410, 177411, 177412, 177413, 178393, 178524, 178935, 178936, 178944, 178945, 178946, 179104, 179105, 179106, 179107, 179108, 179110, 179111, 179112, 179113, 179114, 179117, 179118, 179120, 179121, 179122, 179284, 179285, 179310, 179364, 179384, 179385, 179386, 179387, 179388, 179389, 179390, 179391, 179392, 179393, 179394, 179395, 179396, 179397, 179445, 179449, 179453, 179466, 179470, 179471, 179481, 179482, 179483, 179484, 179509, 179510, 179513, 179550, 179704, 179846, 179863, 179864, 179875, 179876, 179877, 179878, 179882, 179886, 179887, 180248, 180324, 180325, 180326, 180328, 180329, 180330, 180331, 180332, 180333, 180334, 180337, 180338, 180339, 180340, 180341, 180342, 180345, 180347, 180348, 180349, 180350, 180351, 180352, 180353, 180368, 180370, 180371, 180372, 180373, 180374, 180419, 180420, 180436, 180438, 180439, 180440, 180441, 180452, 180455, 180456, 180461, 180466, 180473, 180474, 180475, 180476, 180477, 180478, 180479, 180480, 180501, 180518, 180539, 180544, 180549, 180554, 180559, 180564, 180631, 180634, 180635, 180636, 180661, 180698, 180699, 180700, 180703, 180704, 180707, 180708, 180720, 180721, 180722, 180723, 180724, 180725, 180726, 180727, 180729, 180730, 180731, 180733, 180736, 180737, 180738, 180739, 180740, 180741, 180749, 180753, 180754, 180862, 180905, 180914, 181071, 181099, 181108, 181134, 181135, 181206, 181225, 181228, 181230, 181247, 181402, 181403, 181404, 181405, 181444, 181447, 181477, 181510, 181511, 181512, 181513, 181514, 181515, 181516, 181517, 181518, 181519, 181520, 181521, 181522, 181523, 181524, 181525, 181526, 181527, 181528, 181529, 181530, 181531, 181532, 181533, 181534, 181535, 181536, 181537, 181538, 181539, 181540, 181541, 181542, 181543, 181544, 181545, 181546, 181547, 181548, 181549, 181550, 181551, 181552, 181576, 181577, 181597, 181629, 181631, 181633, 181634, 181635, 181639, 181643, 181649, 181671, 181676, 181677, 181678, 181679, 181682, 181695, 181824, 182011, 182060, 182061, 182072, 182094, 182098, 182483, 182539, 182540, 183050, 183356, 183490, 183407, 183948, 184075, 184119, 184177, 184178, 184203, 184204, 184205, 184217, 184218, 184219, 184220, 184227, 184228, 184322, 184449, 184569, 184570, 184571, 184572, 184573, 184574, 184595, 184614, 184632, 184661, 184698, 184699, 184844, 184849, 184913, 184914, 184915, 184916, 184917, 184918, 184919, 184920, 184921, 184954, 185106, 185170, 185211, 185221, 185222, 185226, 185292, 185304, 185322, 185460, 185461, 185462, 185463, 185464, 185481, 185483, 185512, 185550, 185708, 185709, 185710, 185711, 185712, 185713, 185714, 185715, 185716, 185717, 185718, 185719, 185720, 185721, 185722, 185723, 185768, 185769, 185770, 185771, 185772, 185773, 185774, 185775, 185776, 185777, 185778, 185779, 185780, 185781, 185782, 185783, 185784, 185785, 185786, 185787, 185882, 185919, 185920, 185921, 185922, 185923, 185924, 185962, 185964, 186135, 186136, 186153, 186218, 186253, 190002, 190003, 190005, 190006, 181306, 180794, 184644, 186264, 184816, 184645, 184647, 186174, 186177, 186176, 186178, 185959, 185963, 185756, 185848, 185851, 185759, 185849, 185757, 185758, 185850, 185915, 185600, 185453, 185448, 185452, 185451, 184804, 184803, 185443, 185444, 185442, 185445, 185446, 185447, 185439, 185440, 185441, 185450, 185449, 184640, 186717, 186252, 186331, 186680, 186229, 186681, 186682, 186173, 186714, 186221, 186189, 186709, 186185, 186187, 186186, 186257, 186260, 186259, 186184, 186183, 186255, 186256, 187265, 185863, 186265, 186312, 185321, 179473, 185845, 185842, 185761, 185762, 185763, 185843, 185841, 185840, 185760, 181085, 181072, 186472, 185554, 186475, 186807, 180779, 186738, 185434, 187115, 202833, 186407, 184863, 186302, 186280, 184858, 186307, 186284, 186251, 186728, 186860, 187035, 186858, 186622, 187036, 187037, 187359, 186811, 186812, 186303, 186305, 186304, 186306, 186859, 186731, 186730, 187370, 187294, 186406, 186285, 186286, 187329, 187299, 186175, 185595, 185590, 187372, 186972, 187291, 187292, 175149, 175151, 175150, 175148, 187295, 180643, 187337, 187296, 186432, 186273, 186283, 186278, 186243, 186423, 186266, 186451, 186301, 186287, 186450, 187273, 187272, 186441, 186240, 186332, 186334, 186241, 186242, 186233, 186230, 186426, 186231, 186232, 186463, 186329, 186330, 186335, 187252, 182071, 187290, 186729, 186631, 186629, 186630, 185480, 185478, 185584, 185601, 185479, 186152, 186262, 185905, 186261, 185892, 185482, 185487, 185489, 185490, 185488, 185485, 185486, 185883, 185886, 185887, 185884, 185888, 185885, 182260, 185946, 184287, 3872, 3875, 3877, 3871, 3878, 3886, 3873, 3874, 3870, 174860, 3883, 3876, 3885, 3865, 174861, 3864, 3866, 185557, 186419, 186420, 186422, 187254, 187390, 186896, 186897, 186901, 186899, 186900, 186903, 186904, 186902, 187267, 188215, 188127, 188126, 187058, 187057, 187056, 187335, 187073, 187039, 187990, 187764, 187979, 187896, 187770, 188065, 188064, 188165, 188166, 188177, 187215, 187214, 187207, 187206, 187217, 188075, 187216, 188415, 188523, 188524, 188421, 188119, 187226, 187227, 187228, 187229, 187224, 187225, 187221, 187220, 187223, 187222, 187218, 187219, 188132, 187111, 187112, 187345, 187333, 188081, 187080, 187078, 187431, 187428, 187120, 187355, 187354, 187371, 188171, 188178, 188172, 188118, 187766, 187578, 187765, 188173, 187357, 187356, 187363, 187123, 187264, 187260, 187113, 187114, 187116, 188214, 3881, 3884, 3882, 3880, 188123, 189993, 189994, 3879, 3869, 3867, 187055, 185223, 187572, 187573, 188021, 187653, 187576, 187667, 188020, 187971, 187973, 187952, 188352, 188174, 187963, 187945, 187959, 187708, 187957, 187953, 187946, 187966, 187918, 188157, 188156, 188151, 187969, 187944, 187951, 187954, 187914, 187457, 189989, 190351, 186865, 186745, 188067, 188142, 188073, 188072, 187882, 188077, 186685, 186808, 186809, 186478, 190022, 190386, 188498, 190367, 190368, 190395, 188508, 186737, 186217, 187564, 187923, 187926, 187928, 187932, 187934, 187938, 181688, 181689, 186238, 186835, 186836, 186837, 186838, 186839, 186840, 186841, 186842, 186843, 186844, 187256, 187258, 187259, 187316, 187558, 187560, 187568, 187851, 187889, 187980, 188131, 188160, 188169, 188521, 188692, 190193, 190194, 190287, 190352, 190536, 190556, 190557, 190680, 190681, 190683, 190684, 190709, 190710, 190711, 190712, 190713, 190714, 190715, 190942, 191164, 191364, 191374, 191375, 191376, 191377, 191378, 191379, 191380, 191381, 191382, 191383, 191384, 191385, 191503, 191504, 191505, 191506, 191507, 191508, 191538, 191539, 191540, 191541, 191746, 191747, 191748, 191790, 192052, 192686, 192688, 193963, 193981, 175177, 175178, 185563, 187074, 187085, 187188, 187239, 187240, 187245, 187246, 187247, 187248, 187268, 187275, 187276, 187277, 187278, 187283, 187284, 187285, 187297, 187298, 187300, 187301, 187302, 187303, 187312, 187313, 187314, 187315, 187321, 187322, 187325, 187326, 187327, 187328, 187339, 187341, 187343, 187346, 187348, 187349, 187350, 187351, 187364, 187367, 187376, 187387, 187388, 187561, 187565, 187577, 187655, 187658, 187659, 187660, 187661, 187662, 187663, 187664, 187670, 187671, 187673, 187675, 187676, 187677, 187683, 187684, 187685, 187686, 187687, 187689, 187703, 187772, 187773, 187850, 187852, 187879, 187880, 187881, 187884, 187885, 187886, 187897, 187898, 187899, 187900, 187901, 187902, 187909, 187985, 188012, 188013, 188015, 188016, 188017, 188018, 188022, 188024, 188025, 188026, 188027, 188030, 188031, 188032, 188033, 188034, 188035, 188036, 188038, 188039, 188040, 188041, 188042, 188043, 188044, 188084, 188085, 188087, 188088, 188089, 188107, 188112, 188120, 188141, 188163, 188164, 188227, 188229, 188230, 188236, 188237, 188342, 188344, 188346, 188347, 188348, 188353, 188354, 188355, 188356, 188357, 188359, 188362, 188363, 188364, 188371, 188372, 188373, 188379, 188380, 188381, 188382, 188383, 188390, 188391, 188392, 188393, 188394, 188395, 188396, 188397, 188398, 188399, 188400, 188401, 188402, 188403, 188404, 188407, 188408, 188409, 188410, 188411, 188412, 188413, 188414, 188416, 188418, 188419, 188423, 188424, 188432, 188441, 188445, 188446, 188448, 188454, 188457, 188474, 188475, 188476, 188489, 188491, 188494, 188495, 188496, 188511, 188514, 188531, 188534, 188539, 188543, 188544, 188546, 188548, 188549, 188550, 188551, 188560, 188561, 188562, 188563, 188581, 188582, 188583, 188584, 188585, 188586, 188587, 188594, 188604, 188605, 188606, 188607, 188612, 188625, 188626, 188627, 188628, 188629, 188630, 188631, 188632, 188633, 188634, 188635, 188636, 188637, 188646, 188649, 188650, 188651, 188652, 188653, 188655, 188656, 188657, 188658, 188659, 188663, 188671, 188673, 188675, 188676, 188678, 188699, 188706, 188712, 188713, 189287, 189289, 189293, 189295, 189304, 189306, 189307, 189315, 189316, 189317, 189329, 189973, 189978, 189979, 189992, 189996, 189997, 190019, 190025, 190032, 190120, 190128, 190130, 190131, 190133, 190143, 190147, 190148, 190150, 190151, 190152, 190153, 190160, 190169, 190173, 190179, 190180, 190189, 190190, 190236, 190274, 190276, 190278, 190279, 190282, 190285, 190286, 190288, 190289, 190290, 190291, 190292, 190293, 190294, 190353, 190356, 190357, 190358, 190370, 190372, 190374, 190375, 190376, 190377, 190378, 190546, 190547, 190548, 190950, 190951, 190952, 190953, 190954, 190955, 190956, 190957, 190958, 190961, 190962, 190963, 190964, 190965, 190966, 190967, 190968, 190969, 190970, 190971, 190972, 190973, 190974, 190975, 190976, 190977, 190978, 190979, 190980, 190981, 190982, 190983, 190984, 190985, 190986, 190987, 190988, 190989, 190990, 190991, 190992, 190993, 190994, 190995, 190996, 190997, 190998, 190999, 191001, 191002, 191003, 191004, 191005, 191070, 191072, 191088, 191089, 191090, 191093, 191094, 191095, 191096, 191097, 191098, 191099, 191142, 191217, 191219, 191225, 191226, 191227, 191228, 191303, 191304, 191332, 191334, 191335, 191336, 191337, 191338, 191339, 191340, 191370, 191486, 191487, 191488, 191489, 191490, 191491, 191492, 191493, 191494, 191495, 191496, 191497, 191548, 191697, 191698, 191699, 191799, 191808, 191809, 192030, 192031, 192032, 192033, 192034, 192035, 192036, 192046, 192048, 192051, 192140, 192148, 192153, 192154, 192155, 192156, 192157, 192158, 192507, 192508, 192613, 192671, 192672, 192673, 192674, 192773, 193019, 193166, 193191, 193192, 193193, 193904, 194005, 194006, 194025, 194026, 1684, 185435, 185437, 186236, 186370, 186371, 186391, 186397, 186403, 186427, 186431, 186433, 186434, 186435, 186436, 186437, 186438, 186440, 186442, 186443, 186447, 186448, 186449, 186452, 186470, 186485, 186490, 186491, 186492, 186493, 186494, 186498, 186499, 186500, 186501, 186502, 186503, 186504, 186505, 186508, 186509, 186512, 186513, 186514, 186515, 186516, 186521, 186522, 186523, 186524, 186525, 186527, 186528, 186529, 186530, 186531, 186532, 186533, 186534, 186535, 186536, 186537, 186538, 186539, 186540, 186541, 186542, 186543, 186544, 186545, 186546, 186547, 186548, 186549, 186550, 186551, 186552, 186553, 186554, 186555, 186559, 186562, 186565, 186566, 186567, 186568, 186569, 186570, 186571, 186572, 186573, 186574, 186575, 186577, 186578, 186579, 186580, 186586, 186587, 186591, 186595, 186601, 186602, 186603, 186604, 186605, 186616, 186617, 186618, 186619, 186620, 186632, 186639, 186641, 186642, 186643, 186644, 186645, 186646, 186647, 186651, 186652, 186654, 186656, 186657, 186659, 186660, 186661, 186662, 186665, 186678, 186679, 186684, 186687, 186695, 186696, 186697, 186698, 186699, 186700, 186701, 186702, 186703, 186704, 186705, 186706, 186707, 186708, 186711, 186712, 186757, 186758, 186759, 186760, 186761, 186762, 186770, 186805, 186827, 186828, 186830, 186831, 186832, 186861, 186862, 186863, 186864, 186883, 186894, 186895, 186905, 186907, 186908, 186910, 186911, 186912, 186913, 186914, 186915, 186916, 186917, 186918, 186919, 186920, 186921, 186922, 186923, 186924, 186938, 186946, 186949, 186950, 186953, 186954, 186955, 186960, 186961, 186962, 186963, 187022, 187023, 187026, 187027, 187032, 187038, 187255, 187261, 187317, 187318, 187319, 187320, 187984, 187986, 188106, 188108, 188136, 188186, 188231, 188238, 188244, 188245, 188246, 188247, 188248, 188249, 188250, 188251, 188252, 188253, 188254, 188256, 188257, 188258, 188259, 188260, 188261, 188262, 188263, 188264, 188272, 188273, 188274, 188275, 188276, 188277, 188278, 188279, 188280, 188281, 188282, 188283, 188284, 188285, 188286, 188287, 188288, 188289, 188290, 188291, 188292, 188293, 188294, 188295, 188296, 188297, 188298, 188299, 188300, 188301, 188302, 188303, 188304, 188305, 188306, 188307, 188308, 188309, 188310, 188311, 188312, 188313, 188314, 188315, 188316, 188317, 188318, 188319, 188320, 188321, 188322, 188323, 188324, 188325, 188326, 188327, 188328, 188329, 188333, 188334, 188335, 188336, 188337, 188338, 188339, 188351, 188360, 188365, 188366, 188368, 188375, 188376, 188377, 188378, 188428, 188443, 188451, 188452, 188453, 188455, 188458, 188461, 188464, 188465, 188469, 188471, 188472, 188473, 188479, 188480, 188481, 188483, 188487, 188492, 188493, 188499, 188500, 188501, 188502, 188503, 188505, 188506, 188515, 188516, 188517, 188518, 188530, 188535, 188541, 188554, 188556, 188557, 188572, 188573, 188574, 188575, 188596, 188600, 188601, 188608, 188609, 188610, 188611, 188613, 188614, 188615, 188616, 188617, 188618, 188619, 188620, 188621, 188622, 188623, 188624, 188665, 188666, 188667, 188668, 188670, 188691, 188695, 188697, 188702, 188703, 188705, 188710, 189290, 189310, 189313, 189320, 189323, 189325, 189326, 189327, 189328, 189958, 189959, 189960, 189967, 189968, 189969, 189972, 189976, 189977, 189980, 189981, 189983, 189991, 190004, 190014, 190015, 190016, 190021, 190026, 190027, 190028, 190029, 190030, 190031, 190092, 190118, 190119, 190165, 190167, 190170, 190172, 190175, 190192, 190197, 190198, 190199, 190208, 190209, 190210, 190211, 190212, 190219, 190220, 190221, 190222, 190223, 190350, 190361, 190362, 190369, 190371, 190373, 190401, 190447, 190453, 190454, 190455, 190495, 190496, 190497, 190500, 190504, 190507, 190508, 190512, 190524, 190525, 190526, 190527, 190533, 190537, 190540, 190559, 190578, 190579, 190580, 190581, 190587, 190590, 190598, 190599, 190600, 190616, 190621, 190622, 190635, 190636, 190637, 190638, 190639, 190644, 190645, 190646, 190660, 190661, 190688, 190700, 190701, 190702, 190762, 190764, 190765, 190766, 190768, 190779, 191019, 191133, 191136, 191163, 191184, 191185, 191186, 191187, 191188, 191189, 191193, 191194, 191195, 191196, 191197, 191198, 191199, 191200, 191202, 191209, 191210, 191222, 191235, 191236, 191244, 191253, 191254, 191255, 191258, 191259, 191260, 191276, 191277, 191278, 191316, 191329, 191341, 191345, 191369, 191414, 191460, 191461, 191462, 191502, 191511, 191512, 191513, 191514, 191515, 191516, 191517, 191519, 191521, 191530, 191531, 191532, 191533, 191534, 191537, 191544, 191545, 191549, 191552, 191553, 191567, 191568, 191574, 191576, 191608, 191647, 191660, 191661, 191676, 191677, 191678, 191679, 191700, 191701, 191702, 191703, 191704, 191714, 191715, 191749, 191750, 191751, 191752, 191753, 191770, 191773, 191793, 191795, 191796, 191797, 191798, 191800, 191801, 191802, 191803, 191804, 191805, 191806, 191807, 191810, 191814, 191815, 191833, 191834, 191835, 191840, 191843, 191844, 191845, 191850, 191854, 191855, 191857, 191858, 191859, 191862, 191863, 191864, 191865, 191866, 191867, 191870, 191872, 191873, 191874, 191875, 191876, 191941, 191942, 191957, 192010, 192012, 192013, 192019, 192020, 192021, 192022, 192023, 192024, 192025, 192026, 192028, 192029, 192037, 192044, 192049, 192050, 192057, 192058, 192059, 192072, 192085, 192086, 192087, 192102, 192103, 192120, 192121, 192122, 192126, 192134, 192171, 192172, 192183, 192184, 192185, 192219, 192227, 192228, 192229, 192230, 192231, 192232, 192233, 192234, 192241, 192242, 192399, 192491, 192493, 192494, 192495, 192509, 192510, 192541, 192542, 192543, 192544, 192545, 192546, 192556, 192557, 192562, 192563, 192582, 192583, 192584, 192588, 192589, 192590, 192591, 192592, 192593, 192594, 192595, 192596, 192597, 192598, 192599, 192600, 192601, 192602, 192603, 192604, 192605, 192606, 192607, 192608, 192609, 192610, 192611, 192717, 192718, 192720, 192721, 192737, 192738, 192739, 192740, 192818, 192820, 192824, 192828, 192830, 192831, 192832, 192859, 192860, 192908, 192909, 192910, 192911, 192912, 192952, 193020, 193082, 193083, 193202, 193205, 193220, 193221, 193223, 193225, 193229, 193241, 193242, 193243, 193390, 193402, 193604, 193608, 193609, 193610, 193791, 193915, 193972, 193985, 193987, 193994, 193997, 194008, 194010, 194013, 194016, 194019, 188241, 188242, 188243, 188266, 188267, 188268, 188269, 188330, 188331, 188332, 188345, 188507, 189298, 191201, 191241, 191242, 191243, 191245, 191257, 164759, 164760, 164761, 164762, 164763, 164764, 164765, 164766, 164767, 188167, 188168, 188170, 190671, 191083, 186935, 187237, 187369, 187373, 187389, 188100, 188101, 188102, 188103, 188113, 188133, 188140, 190171, 190567, 190959, 191386, 191387, 191388, 191389, 191390, 191391, 191392, 191393, 191394, 191395, 191396, 191410, 191509, 191543, 191625, 191627, 191628, 191629, 191643, 191644, 191672, 191705, 191706, 191707, 191718, 191754, 191755, 191756, 191757, 191758, 191813, 191820, 191824, 191825, 191827, 191828, 191829, 192061, 192062, 192063, 192123, 192135, 192138, 192139, 192161, 192162, 192178, 192264, 192469, 192470, 192471, 192477, 192478, 192479, 192480, 192481, 192482, 192483, 192484, 192485, 192486, 192522, 192523, 192547, 192548, 192575, 192576, 192577, 192578, 192774, 192784, 192785, 192787, 192797, 192798, 192799, 192800, 192801, 192802, 192803, 192804, 192805, 192858, 192861, 192862, 192913, 192914, 192915, 192916, 192919, 192932, 192933, 193007, 193024, 193025, 193027, 193028, 193030, 193041, 193042, 193058, 193060, 193199, 193200, 193201, 193400, 193401, 193424, 193468, 193469, 193470, 193471, 193476, 193480, 193481, 193482, 193483, 193484, 193485, 193486, 193487, 193488, 193489, 193490, 193491, 193492, 193493, 193494, 193495, 193496, 193497, 193516, 193517, 193518, 193519, 193520, 193530, 193531, 193532, 193533, 193534, 193535, 193536, 193537, 193538, 193539, 193540, 193541, 193542, 193543, 193544, 193545, 193546, 193547, 193548, 193549, 193550, 193551, 193552, 193553, 193554, 193555, 193556, 193557, 193558, 193559, 193562, 193563, 193565, 193566, 193579, 193582, 193583, 193584, 193585, 193586, 193600, 193601, 193602, 193607, 193616, 193618, 193620, 193622, 193767, 193789, 193790, 193792, 193793, 193846, 193847, 193848, 193849, 193850, 193851, 193852, 193853, 193854, 193855, 193856, 193857, 193858, 193859, 193860, 193861, 193862, 193863, 193864, 193865, 193866, 193867, 193868, 193869, 193870, 193871, 193872, 193873, 193874, 193875, 193876, 193877, 193878, 193879, 193880, 193881, 193882, 193883, 193884, 193885, 193886, 193887, 193888, 193889, 193890, 193891, 193892, 193893, 193894, 193895, 193939, 193943, 193982, 193983, 193984, 194009, 194027, 183306, 186258, 186325, 186326, 186390, 186457, 186459, 186479, 186480, 186481, 186486, 186495, 186496, 186497, 186506, 186507, 186510, 186511, 186517, 186518, 186519, 186520, 186526, 186556, 186557, 186558, 186585, 186598, 186600, 186607, 186608, 186609, 186610, 186611, 186612, 186640, 186649, 186650, 186653, 186663, 186664, 186666, 186688, 186689, 186690, 186691, 186692, 186693, 186694, 186718, 186756, 186798, 186813, 186814, 186885, 186886, 186909, 186925, 186926, 186927, 186929, 186930, 186933, 186934, 186936, 186937, 186943, 186944, 186956, 186957, 186958, 186964, 187033, 187075, 187106, 187117, 187184, 187185, 187186, 187187, 187238, 187241, 187242, 187243, 187279, 187280, 187281, 187282, 187286, 187287, 187304, 187305, 187306, 187307, 187324, 187338, 187352, 187353, 187381, 187432, 187433, 187446, 187447, 187448, 187449, 187450, 187452, 187453, 187454, 187455, 187456, 187460, 187461, 187462, 187463, 187464, 187465, 187466, 187467, 187468, 187469, 187470, 187471, 187498, 187499, 187500, 187501, 187502, 187503, 187504, 187505, 187506, 187507, 187508, 187509, 187510, 187511, 187512, 187513, 187514, 187515, 187516, 187517, 187518, 187519, 187520, 187521, 187522, 187523, 187524, 187525, 187526, 187527, 187579, 187580, 187581, 187582, 187584, 187586, 187587, 187588, 187589, 187590, 187591, 187592, 187593, 187594, 187595, 187596, 187597, 187598, 187599, 187600, 187601, 187669, 187690, 187693, 187694, 187695, 187697, 187710, 187711, 187712, 187713, 187714, 187715, 187719, 187720, 187721, 187722, 187723, 187724, 187725, 187726, 187727, 187728, 187729, 187730, 187731, 187732, 187733, 187734, 187735, 187736, 187737, 187738, 187739, 187740, 187741, 187742, 187743, 187744, 187745, 187746, 187747, 187748, 187749, 187750, 187751, 187752, 187753, 187754, 187755, 187756, 187757, 187758, 187759, 187760, 187761, 187762, 187774, 187875, 187903, 187905, 187908, 187912, 187915, 187982, 187983, 187987, 187995, 187996, 187997, 187998, 187999, 188000, 188001, 188002, 188003, 188004, 188005, 188006, 188007, 188008, 188010, 188014, 188028, 188029, 188037, 188091, 188092, 188104, 188109, 188370, 188386, 188387, 188388, 188389, 188405, 188406, 188422, 188425, 188426, 188442, 188463, 188486, 188488, 188522, 188525, 188526, 188527, 188528, 188537, 188542, 188545, 188547, 188565, 188566, 188567, 188568, 188569, 188570, 188571, 188576, 188577, 188578, 188579, 188580, 188593, 188595, 188599, 188677, 188682, 188683, 188684, 188685, 188686, 188687, 188711, 188715, 189288, 189291, 189292, 189294, 189299, 189300, 189301, 189302, 189308, 189311, 189312, 189318, 189319, 189321, 189322, 189324, 189963, 189964, 189965, 189966, 189971, 189975, 189985, 189986, 190017, 190018, 190020, 190023, 190094, 190095, 190117, 190121, 190122, 190123, 190124, 190125, 190126, 190127, 190129, 190132, 190134, 190135, 190136, 190137, 190138, 190156, 190159, 190174, 190176, 190191, 190225, 190275, 190280, 190281, 190283, 190284, 190332, 190334, 190335, 190399, 190402, 190444, 190445, 190446, 190456, 190457, 190458, 190459, 190460, 190461, 190462, 190463, 190464, 190465, 190466, 190467, 190468, 190469, 190470, 190471, 190472, 190473, 190474, 190476, 190477, 190478, 190479, 190480, 190481, 190482, 190483, 190484, 190488, 190498, 190505, 190506, 190513, 190515, 190522, 190534, 190535, 190538, 190541, 190542, 190543, 190550, 190554, 190555, 190568, 190569, 190570, 190572, 190574, 190582, 190584, 190586, 190589, 190594, 190595, 190596, 190597, 190602, 190603, 190618, 190619, 190620, 190623, 190629, 190630, 190633, 190647, 190657, 190662, 190663, 190687, 190691, 190695, 190697, 190698, 190699, 190704, 190716, 190720, 190722, 190723, 190724, 190726, 190727, 190731, 190752, 190753, 190763, 190767, 190769, 190778, 190784, 190785, 190789, 190790, 190791, 190793, 190795, 190796, 190797, 190799, 190800, 190801, 190802, 190803, 190804, 190805, 190806, 190807, 190808, 190809, 190810, 190811, 190834, 190836, 190842, 190843, 190857, 190858, 190859, 190860, 190861, 190862, 190863, 190864, 190865, 190866, 190867, 190868, 190869, 190870, 190871, 190872, 190873, 190874, 190875, 190876, 190877, 190878, 190879, 190880, 190881, 190882, 190883, 190884, 190885, 190886, 190887, 190888, 190889, 190890, 190891, 190892, 190893, 190894, 190895, 190896, 190898, 190899, 190900, 190901, 190902, 190903, 190904, 190905, 190906, 190907, 190908, 190909, 190910, 190911, 190912, 190913, 190914, 190915, 190917, 190919, 190920, 190921, 190922, 190923, 190924, 190925, 190926, 190927, 190928, 190929, 190930, 190931, 190932, 190933, 190934, 190935, 190936, 190937, 190938, 190939, 190940, 190941, 190944, 190946, 190947, 190960, 191006, 191007, 191008, 191009, 191010, 191011, 191012, 191013, 191014, 191015, 191016, 191018, 191028, 191029, 191030, 191071, 191073, 191074, 191075, 191076, 191077, 191078, 191079, 191080, 191081, 191082, 191084, 191086, 191087, 191092, 191102, 191103, 191104, 191105, 191106, 191107, 191108, 191109, 191110, 191111, 191112, 191113, 191114, 191115, 191116, 191117, 191118, 191119, 191120, 191121, 191126, 191144, 191148, 191155, 191156, 191157, 191158, 191159, 191160, 191161, 191162, 191165, 191166, 191167, 191168, 191169, 191170, 191171, 191172, 191173, 191174, 191175, 191176, 191177, 191178, 191180, 191181, 191182, 191190, 191191, 191203, 191204, 191205, 191206, 191207, 191208, 191223, 191224, 191229, 191230, 191237, 191238, 191239, 191240, 191256, 191261, 191262, 191263, 191264, 191265, 191266, 191267, 191268, 191269, 191270, 191271, 191287, 191288, 191292, 191293, 191294, 191295, 191296, 191301, 191302, 191305, 191306, 191307, 191308, 191309, 191310, 191311, 191313, 191314, 191315, 191317, 191318, 191324, 191325, 191326, 191327, 191328, 191330, 191333, 191347, 191349, 191351, 191371, 191407, 191411, 191412, 191413, 191415, 191416, 191440, 191444, 191445, 191457, 191459, 191463, 191464, 191465, 191466, 191467, 191468, 191469, 191470, 191471, 191472, 191473, 191474, 191475, 191476, 191477, 191478, 191479, 191480, 191481, 191482, 191527, 191529, 191535, 191536, 191542, 191547, 191554, 191555, 191556, 191557, 191558, 191559, 191560, 191562, 191563, 191564, 191565, 191566, 191575, 191577, 191580, 191581, 191582, 191583, 191584, 191585, 191586, 191587, 191588, 191589, 191590, 191606, 191609, 191612, 191613, 191614, 191615, 191616, 191617, 191618, 191622, 191623, 191630, 191631, 191632, 191633, 191634, 191635, 191636, 191637, 191638, 191639, 191641, 191642, 191645, 191646, 191648, 191649, 191650, 191652, 191653, 191654, 191655, 191656, 191657, 191658, 191659, 191662, 191663, 191664, 191665, 191667, 191669, 191670, 191671, 191674, 191675, 191680, 191681, 191682, 191683, 191684, 191686, 191687, 191688, 191708, 191722, 191723, 191726, 191728, 191729, 191731, 191732, 191733, 191734, 191735, 191741, 191745, 191760, 191761, 191766, 191768, 191769, 191780, 191781, 191782, 191783, 191788, 191817, 191826, 191832, 191836, 191837, 191838, 191839, 191846, 191847, 191848, 191849, 191851, 191852, 191853, 191856, 191860, 191861, 191868, 191869, 191871, 191886, 191887, 191888, 191889, 191890, 191891, 191892, 191893, 191894, 191895, 191896, 191897, 191898, 191899, 191900, 191901, 191902, 191903, 191904, 191909, 191910, 191911, 191912, 191913, 191914, 191915, 191916, 191917, 191918, 191919, 191924, 191925, 191926, 191927, 191928, 191929, 191930, 191931, 191932, 191933, 191934, 191935, 191939, 191940, 191943, 191945, 191946, 191947, 191948, 191949, 191950, 191951, 191952, 191953, 191954, 191955, 191956, 191958, 191959, 191960, 191964, 191965, 191966, 191974, 191975, 191980, 191981, 191983, 191984, 191986, 191987, 191988, 191989, 191990, 191991, 191992, 191993, 191994, 191995, 191997, 191998, 191999, 192002, 192003, 192004, 192017, 192038, 192053, 192054, 192060, 192064, 192065, 192066, 192067, 192068, 192069, 192070, 192083, 192084, 192088, 192089, 192090, 192091, 192092, 192093, 192094, 192095, 192096, 192097, 192098, 192099, 192109, 192110, 192111, 192112, 192113, 192114, 192115, 192116, 192117, 192118, 192119, 192125, 192128, 192129, 192130, 192131, 192136, 192137, 192150, 192152, 192159, 192160, 192163, 192164, 192166, 192170, 192173, 192174, 192175, 192176, 192177, 192180, 192181, 192186, 192187, 192188, 192189, 192190, 192191, 192192, 192193, 192194, 192195, 192196, 192197, 192198, 192199, 192200, 192201, 192202, 192203, 192204, 192205, 192206, 192207, 192208, 192209, 192210, 192211, 192212, 192213, 192214, 192215, 192216, 192217, 192218, 192220, 192221, 192222, 192223, 192224, 192225, 192235, 192236, 192237, 192238, 192239, 192240, 192252, 192253, 192256, 192263, 192267, 192268, 192271, 192272, 192275, 192276, 192279, 192281, 192282, 192286, 192287, 192288, 192291, 192292, 192299, 192304, 192305, 192306, 192307, 192308, 192309, 192310, 192312, 192313, 192314, 192316, 192317, 192318, 192319, 192320, 192321, 192322, 192323, 192324, 192325, 192326, 192327, 192328, 192329, 192330, 192331, 192332, 192333, 192334, 192335, 192377, 192387, 192388, 192389, 192390, 192391, 192392, 192395, 192396, 192397, 192398, 192400, 192401, 192424, 192425, 192426, 192427, 192428, 192440, 192442, 192443, 192444, 192449, 192450, 192452, 192453, 192465, 192466, 192467, 192468, 192474, 192475, 192487, 192489, 192490, 192498, 192499, 192500, 192501, 192502, 192503, 192504, 192511, 192512, 192513, 192514, 192518, 192519, 192520, 192526, 192527, 192528, 192529, 192530, 192531, 192536, 192539, 192549, 192553, 192554, 192555, 192564, 192565, 192566, 192567, 192568, 192569, 192570, 192571, 192572, 192573, 192579, 192585, 192614, 192615, 192616, 192617, 192618, 192619, 192620, 192621, 192622, 192625, 192628, 192629, 192632, 192633, 192635, 192651, 192652, 192653, 192654, 192663, 192664, 192665, 192666, 192676, 192677, 192678, 192679, 192680, 192681, 192682, 192685, 192687, 192689, 192690, 192691, 192697, 192704, 192705, 192706, 192707, 192708, 192709, 192710, 192713, 192714, 192715, 192716, 192719, 192734, 192735, 192736, 192741, 192742, 192743, 192775, 192776, 192783, 192788, 192806, 192807, 192808, 192809, 192810, 192811, 192812, 192813, 192814, 192815, 192816, 192817, 192819, 192821, 192822, 192823, 192825, 192826, 192827, 192833, 192835, 192836, 192838, 192839, 192840, 192841, 192842, 192843, 192844, 192845, 192846, 192847, 192848, 192849, 192850, 192851, 192852, 192853, 192854, 192855, 192856, 192863, 192864, 192866, 192867, 192868, 192869, 192870, 192871, 192872, 192874, 192880, 192881, 192882, 192883, 192884, 192885, 192886, 192887, 192888, 192889, 192890, 192891, 192892, 192893, 192894, 192895, 192896, 192903, 192904, 192905, 192907, 192918, 192920, 192921, 192922, 192923, 192924, 192925, 192926, 192927, 192928, 192929, 192930, 192931, 192934, 192935, 192936, 192937, 192938, 192941, 192942, 192943, 192944, 192945, 192946, 192947, 192948, 192949, 192950, 192951, 192953, 192954, 192955, 192956, 192957, 192958, 192959, 192960, 192961, 192962, 192963, 192964, 192965, 192966, 192967, 192968, 192969, 192970, 192971, 192972, 192973, 192974, 192975, 192976, 192977, 192978, 192979, 192980, 192981, 192982, 192983, 192985, 192986, 192987, 192988, 192989, 192990, 192991, 192992, 192993, 192994, 192995, 192996, 192997, 192999, 193000, 193001, 193002, 193003, 193029, 193039, 193040, 193043, 193044, 193045, 193049, 193050, 193051, 193052, 193053, 193057, 193059, 193061, 193062, 193071, 193080, 193081, 193084, 193085, 193086, 193087, 193088, 193089, 193093, 193094, 193096, 193097, 193098, 193099, 193100, 193101, 193102, 193103, 193104, 193105, 193106, 193107, 193108, 193109, 193124, 193125, 193126, 193128, 193129, 193130, 193131, 193132, 193133, 193134, 193135, 193136, 193137, 193138, 193147, 193148, 193149, 193150, 193151, 193152, 193153, 193154, 193155, 193156, 193157, 193158, 193159, 193162, 193163, 193164, 193165, 193167, 193168, 193171, 193172, 193173, 193174, 193175, 193176, 193177, 193178, 193179, 193180, 193182, 193183, 193184, 193185, 193188, 193189, 193190, 193196, 193197, 193198, 193208, 193209, 193210, 193211, 193212, 193213, 193214, 193222, 193224, 193226, 193227, 193228, 193230, 193231, 193232, 193233, 193234, 193235, 193236, 193237, 193238, 193239, 193240, 193244, 193245, 193246, 193247, 193248, 193249, 193250, 193251, 193252, 193253, 193254, 193255, 193256, 193257, 193258, 193259, 193260, 193261, 193262, 193263, 193264, 193265, 193266, 193267, 193268, 193269, 193270, 193271, 193273, 193274, 193275, 193276, 193277, 193278, 193279, 193280, 193281, 193282, 193283, 193284, 193285, 193286, 193287, 193288, 193289, 193290, 193291, 193292, 193293, 193294, 193295, 193296, 193297, 193298, 193299, 193300, 193301, 193302, 193303, 193304, 193305, 193306, 193307, 193308, 193309, 193310, 193311, 193312, 193313, 193314, 193315, 193316, 193317, 193318, 193319, 193320, 193321, 193322, 193323, 193324, 193325, 193326, 193327, 193328, 193329, 193330, 193331, 193332, 193333, 193334, 193335, 193336, 193337, 193338, 193339, 193340, 193341, 193342, 193343, 193344, 193345, 193346, 193347, 193348, 193349, 193350, 193351, 193352, 193353, 193354, 193355, 193356, 193357, 193358, 193359, 193360, 193361, 193362, 193363, 193364, 193365, 193366, 193367, 193368, 193369, 193370, 193371, 193372, 193373, 193374, 193375, 193376, 193377, 193378, 193379, 193380, 193381, 193382, 193383, 193384, 193385, 193386, 193388, 193389, 193391, 193392, 193393, 193394, 193395, 193396, 193397, 193398, 193399, 193406, 193422, 193423, 193428, 193429, 193430, 193431, 193432, 193433, 193434, 193435, 193436, 193437, 193438, 193439, 193561, 193564, 193578, 193587, 193588, 193597, 193598, 193599, 193603, 193611, 193615, 193617, 193619, 193624, 193625, 193626, 193627, 193696, 193697, 193698, 193699, 193700, 193701, 193702, 193703, 193704, 193705, 193706, 193707, 193708, 193709, 193710, 193711, 193712, 193713, 193714, 193715, 193716, 193717, 193718, 193719, 193720, 193721, 193722, 193723, 193724, 193725, 193726, 193727, 193728, 193729, 193730, 193731, 193732, 193733, 193734, 193735, 193736, 193737, 193738, 193739, 193740, 193741, 193742, 193743, 193744, 193745, 193746, 193747, 193748, 193749, 193750, 193751, 193752, 193753, 193754, 193755, 193756, 193757, 193758, 193759, 193760, 193761, 193762, 193763, 193764, 193765, 193766, 193768, 193769, 193770, 193771, 193772, 193781, 193782, 193783, 193784, 193785, 193786, 193787, 193795, 193796, 193896, 193897, 193898, 193899, 193900, 193901, 193902, 193903, 193906, 193907, 193909, 193910, 193911, 193912, 193913, 193914, 193916, 193917, 193918, 193919, 193920, 193921, 193922, 193923, 193924, 193925, 193926, 193927, 193928, 193929, 193930, 193931, 193932, 193933, 193934, 193935, 193936, 193940, 193942, 193944, 193945, 193946, 193949, 193950, 193951, 193962, 193964, 193988, 193990, 193995, 194011, 194012, 194017, 194018, 194020, 194021, 194022, 194029, 194082, 194083, 194086, 190509, 190777, 192151, 193969, 193970, 193971, 192865, 192378, 192379, 192363, 192372, 192355, 192358, 192354, 192834, 192285, 193160, 193161, 192371, 192359, 192338, 192284, 192339, 193139, 193140, 193141, 193142, 193143, 193144, 193145, 192362, 193146, 192350, 192351, 193127, 192366, 192367, 192368, 192356, 192488, 192369, 192364, 192370, 192352, 192349, 192353, 192254, 192255, 192626, 192336, 192357, 192375, 192373, 192374, 192376, 192360, 193121, 193119, 193120, 193122, 193123, 193110, 193111, 193112, 193113, 193114, 193115, 193116, 193117, 193118, 192361, 190475, 192290, 192461, 192460, 192711, 193991, 190643, 190625, 190624, 190503, 190502, 190561, 190558, 190562, 190563, 190560, 190601, 190696, 193056, 193968, 190487, 192283, 192434, 192280, 192435, 192289, 192459, 192273, 192418, 192417, 192416, 192458, 193169, 192627, 192269, 192429, 192430, 192414, 192431, 192277, 192829, 193195, 190614, 190613, 190612, 191365, 191123, 191619, 191620, 192574, 191626, 191624, 192077, 192724, 192730, 192731, 192722, 192723, 192726, 192727, 192728, 192729, 192725, 192524, 192071, 193589, 193596, 192078, 192080, 192463, 192081, 192082, 191763, 191762, 192246, 192249, 192244, 192250, 192248, 192251, 192657, 192658, 192769, 192770, 192771, 192772, 192245, 192247, 192767, 192768, 193952, 192473, 192124, 193822, 193823, 193824, 193826, 193827, 193825, 193800, 193810, 193813, 193814, 193815, 193816, 193817, 193818, 193820, 193821, 193801, 193802, 193808, 193809, 193831, 193832, 193834, 193837, 193840, 193836, 193811, 193812, 193803, 193804, 193833, 193828, 193829, 193830, 193477, 193527, 193524, 193472, 193473, 193474, 193475, 193478, 193479, 193523, 193511, 193525, 193526, 193528, 193514, 193510, 193515, 193521, 193502, 193503, 193504, 193505, 193506, 193466, 193467, 193522, 193512, 193529, 193513, 193498, 193499, 193500, 193501, 193508, 193509, 193507, 193843, 193844, 193845, 193838, 193839, 193841, 193842, 193797, 193799, 193835, 193819, 193805, 193806, 193807, 193798, 194023, 194024, 193980, 193403, 193404, 193405, 189961, 189962, 193614, 193612, 193613, 193203, 193091, 193204, 192407, 192274, 192406, 192278, 193989, 193996, 191605, 193170, 193055, 194108, 194097, 194099, 194162, 194147, 194115, 192675, 193070, 193908, 194120, 194121, 194126, 194129, 192643, 192642, 191877, 192079, 192260, 193986, 193958, 187674, 187707, 187704, 188689, 194468, 194467, 194278, 194323, 194941, 194940, 194937, 194938, 194939, 194942, 194943, 194944, 194945, 194946, 194540, 194539, 194537, 194538, 194588, 194600, 194599, 194601, 195129, 194606, 194605, 194608, 194604, 194607, 194602, 194603, 194489, 194526, 194492, 194618, 194591, 194592, 194593, 194598, 194594, 194527, 194528, 194531, 194589, 194590, 194595, 194487, 194488, 194530, 194622, 194596, 194597, 194532, 194529, 194967, 194976, 194977, 194970, 194567, 194610, 194611, 194533, 194306, 194982, 194981, 194965, 194966, 194974, 194979, 194969, 194972, 194973, 194975, 194978, 194980, 194968, 194964, 194971, 194568, 194820, 194609, 194788, 194524, 194490, 194523, 194525, 194998, 194839, 194840, 194841, 194843, 194827, 194849, 194850, 194851, 194852, 194853, 194842, 194844, 194845, 194846, 194863, 194864, 194865, 194866, 194867, 194868, 194869, 194870, 194872, 194873, 194874, 194875, 194876, 194877, 194878, 194879, 194881, 194882, 194847, 194848, 194854, 194855, 194857, 194880, 194858, 194859, 194860, 194861, 194862, 194896, 194897, 194898, 194899, 194900, 194901, 194883, 194884, 194885, 194886, 194887, 194888, 194889, 194890, 194891, 194892, 194893, 194894, 194856, 194871, 194895, 194909, 194908, 194679, 192270, 192415, 194236, 194235, 194481, 194484, 194569, 194665, 194412, 194415, 194705, 194405, 194404, 194402, 194506, 194403, 194406, 194407, 194408, 194409, 194410, 194413, 194414, 194416, 194401, 194375, 194411, 194400, 194371, 194663, 194664, 194370, 194704, 194630, 194905, 194707, 194706, 194398, 194399, 194666, 194377, 194631, 194261, 194262, 194556, 194253, 194232, 194767, 194715, 194716, 194910, 194911, 194148, 194565, 194554, 194553, 194750, 194773, 194316, 194542, 194541, 194255, 194213, 194659, 194275, 194356, 195013, 194534, 194043, 194634, 194441, 194636, 194637, 194442, 194635, 194675, 194559, 194264, 194560, 194558, 194557, 194915, 195047, 194907, 194308, 194201, 194300, 194173, 194904, 194437, 194914, 194902, 194775, 194749, 194748, 194740, 194741, 194742, 194743, 194744, 194745, 194747, 194746, 194913, 194739, 194776, 194774, 194912, 194341, 188128, 187921, 194054, 195036, 194625, 194547, 194548, 194545, 194546, 195034, 195033, 195035, 194158, 193905, 194365, 194393, 194046, 194042, 194394, 194283, 191312, 194952, 194276, 194361, 191640, 192266, 194959, 194960, 192423, 194479, 187958, 193965, 193966, 194660, 194662, 194661, 194677, 194676, 194544, 194836, 194837, 194838, 194832, 194833, 194834, 194835, 194364, 194466, 194954, 194953, 194658, 194237, 194678, 194535, 193031, 193037, 193033, 193032, 193036, 193034, 193035, 194127, 194128, 194955, 195032, 194687, 194684, 194680, 194681, 194682, 194683, 194685, 194686, 194691, 195029, 194693, 194694, 195030, 195031, 194688, 194689, 194695, 195046, 194200, 194690, 194357, 194352, 194239, 194238, 194307, 194151, 194696, 194692, 194155, 194274, 194281, 194044, 194045, 194034, 194035, 195147, 194578, 194579, 194580, 194581, 194582, 194583, 194584, 194585, 194586, 194587, 194055, 194277, 194282, 185879, 194962, 194280, 186417, 186416, 186415, 186414, 186413, 186412, 186411, 186410, 186409, 186408, 194340, 195259, 195273, 195256, 195257, 195266, 195253, 195533, 195428, 195532, 195427, 195255, 195141, 195264, 195260, 195263, 195310, 195589, 195590, 195591, 195597, 195302, 195419, 195213, 195214, 195420, 195593, 195594, 195596, 195595, 195421, 195498, 195592, 195598, 195422, 195464, 195344, 195346, 196468, 196469, 196470, 196467, 195308, 195610, 195614, 195615, 195603, 195604, 195620, 195608, 195606, 195616, 195609, 195022, 195700, 195436, 195452, 195451, 195703, 195316, 195701, 195332, 195315, 195698, 195699, 195439, 195396, 195121, 195705, 195276, 195706, 195496, 195495, 195494, 195223, 195437, 195491, 195702, 195131, 195133, 195158, 195154, 195144, 195335, 195424, 195425, 195132, 195232, 195151, 195334, 195235, 195337, 195237, 195336, 195320, 196413, 195153, 195371, 195130, 195313, 195314, 195331, 195393, 195333, 195339, 195156, 195207, 195210, 195402, 195208, 195403, 195209, 195377, 195376, 195618, 195605, 195617, 195619, 195612, 195613, 195611, 195468, 195530, 195529, 195607, 195139, 195140, 195481, 195480, 195479, 195478, 195648, 195649, 196398, 195477, 195486, 195485, 195650, 195647, 195460, 195186, 195709, 195323, 195374, 195710, 195324, 195375, 195633, 195631, 195274, 195319, 195571, 195572, 191884, 194342, 195527, 195265, 195254, 195467, 195305, 195555, 195560, 195558, 195561, 195309, 195557, 195562, 195554, 195142, 194279, 195457, 195458, 200293, 200292, 200294, 200295, 195459, 195585, 196417, 195338, 195155, 195326, 195398, 195412, 195413, 195414, 195415, 195416, 195417, 195418, 195411, 195410, 195149, 195342, 195341, 195340, 195392, 195391, 194092, 194963, 195218, 195682, 190549, 195352, 195429, 195353, 195629, 195624, 195625, 195626, 195628, 195627, 195559, 195145, 195219, 194577, 194576, 194395, 195150, 195152, 195399, 195037, 192380, 195586, 195556, 195343, 195397, 194152, 195157, 194313, 194314, 194327, 194752, 194822, 195635, 195695, 196391, 196392, 196485, 196871, 196872, 197341, 197342, 197343, 200296, 200297, 201299, 201300, 201301, 201384, 201385, 201563, 201583, 201592, 201593, 201596, 201599, 201600, 201742, 201747, 201756, 201759, 201760, 201761, 201762, 201763, 201764, 201765, 201766, 201767, 201771, 201772, 201773, 201774, 201776, 201777, 201811, 201812, 201825, 201848, 201849, 201850, 201855, 201857, 201885, 201892, 201893, 201894, 201895, 201896, 201897, 201898, 201910, 201911, 201934, 201935, 201936, 201960, 201961, 201969, 201976, 202079, 202100, 202101, 202178, 202184, 202209, 202210, 202211, 202218, 202220, 202236, 202239, 202242, 202243, 202244, 202245, 202278, 202302, 202315, 202316, 202317, 202318, 202337, 202347, 202348, 202349, 202350, 202391, 202392, 202393, 202394, 196840, 201369, 201370, 201371, 201372, 201373, 201374, 201375, 201376, 201377, 201378, 201379, 201380, 201381, 201382, 201383, 201584, 201612, 201613, 201614, 201615, 201616, 201617, 201618, 201741, 201746, 201755, 201814, 201815, 201816, 201817, 201818, 201846, 201847, 201880, 201886, 201887, 201888, 201889, 201919, 201920, 202102, 202103, 202181, 202182, 202183, 202223, 202234, 202235, 202240, 202246, 202277, 201295, 201296, 201297, 201298, 201931, 201932, 201933, 201598, 201709, 202168, 202336, 187366, 187869, 188114, 188115, 188116, 202357, 202081, 202265, 202266, 201580, 194957, 181057, 201581, 201710, 201834, 201858, 201868, 201869, 201873, 201874, 202443, 202616, 202106, 195528, 201959, 202339, 194423, 194424, 195011, 202082, 202862, 202078, 202141, 202142, 202143, 202144, 202161, 202188, 202189, 202190, 202437, 202238, 201722, 202396, 202177, 202338, 202436, 202438, 195394, 187892, 187922, 201875, 202241, 202340, 194331, 187939, 188129, 195000, 187933, 187974, 188188, 188192, 194038, 194039, 202794, 203003, 203004, 203005, 203006, 203007, 203034, 203035, 203036, 203037, 203079, 203080, 203624, 203959, 203960, 203961, 203962, 204051, 204052, 204053, 204054, 202795, 202796, 202179, 194498, 202564, 202713, 202834, 202835, 202839, 202879, 202880, 202881, 202882, 202883, 202885, 202886, 202888, 202889, 202890, 202891, 202892, 202893, 194958, 188470, 190214, 194501, 202845, 202924, 202925, 202926, 202932, 202933, 202898, 186850, 186851, 186852, 202733, 202760, 202767, 202872, 202922, 186763, 180211, 180213, 202931);
diff --git a/sql/updates/world/2015_09_15_01_world.sql b/sql/updates/world/2015_09_15_01_world.sql
new file mode 100644
index 00000000000..c524b8087be
--- /dev/null
+++ b/sql/updates/world/2015_09_15_01_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|4194304 WHERE entry IN (26861,30788);
diff --git a/sql/updates/world/2015_09_15_02_world.sql b/sql/updates/world/2015_09_15_02_world.sql
new file mode 100644
index 00000000000..017cbd0d7ef
--- /dev/null
+++ b/sql/updates/world/2015_09_15_02_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `gameobject_template` SET `faction`=1375, `flags`=32 WHERE `entry` IN (184322, 184324, 184325, 184326, 184327, 184328, 184329);
diff --git a/sql/updates/world/2015_09_15_03_world.sql b/sql/updates/world/2015_09_15_03_world.sql
new file mode 100644
index 00000000000..89e40a643d4
--- /dev/null
+++ b/sql/updates/world/2015_09_15_03_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|2048 WHERE entry IN (26861,30788);
diff --git a/sql/updates/world/2015_09_16_00_world.sql b/sql/updates/world/2015_09_16_00_world.sql
new file mode 100644
index 00000000000..1e0da0ad8d0
--- /dev/null
+++ b/sql/updates/world/2015_09_16_00_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `creature_template` SET `mechanic_immune_mask` = `mechanic_immune_mask`|2048|8192 WHERE entry IN (26861,30788,29304,31370);
diff --git a/sql/updates/world/2015_09_17_00_world.sql b/sql/updates/world/2015_09_17_00_world.sql
new file mode 100644
index 00000000000..db9da587517
--- /dev/null
+++ b/sql/updates/world/2015_09_17_00_world.sql
@@ -0,0 +1,2 @@
+--
+UPDATE `game_tele` SET `name`='TheRoyalExchange' WHERE `name`='TheRoyalExhange';
diff --git a/sql/updates/world/2015_09_20_00_world.sql b/sql/updates/world/2015_09_20_00_world.sql
new file mode 100644
index 00000000000..c71610a528b
--- /dev/null
+++ b/sql/updates/world/2015_09_20_00_world.sql
@@ -0,0 +1,3 @@
+-- remove existing entries
+DELETE FROM `spelldifficulty_dbc` WHERE id IN (28308,41926);
+INSERT INTO `spelldifficulty_dbc` (`id`,`spellid0`,`spellid1`) VALUES (28308,28308,59192);
diff --git a/sql/updates/world/2015_09_21_00_world.sql b/sql/updates/world/2015_09_21_00_world.sql
new file mode 100644
index 00000000000..03c7db23de9
--- /dev/null
+++ b/sql/updates/world/2015_09_21_00_world.sql
@@ -0,0 +1,2 @@
+--
+DELETE FROM `creature` WHERE `guid`=84939 AND `id`=22023;
diff --git a/sql/updates/world/2015_09_21_01_world.sql b/sql/updates/world/2015_09_21_01_world.sql
new file mode 100644
index 00000000000..a7bcbb124dc
--- /dev/null
+++ b/sql/updates/world/2015_09_21_01_world.sql
@@ -0,0 +1,4 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=3518 AND `source_type`=0;
+UPDATE `creature_template` SET `AIName`='' WHERE `entry`=3518;
+UPDATE `waypoint_scripts` SET `dataint`=1102 WHERE `id`=273 ;
diff --git a/sql/updates/world/2015_09_21_02_world.sql b/sql/updates/world/2015_09_21_02_world.sql
new file mode 100644
index 00000000000..e79dddf7691
--- /dev/null
+++ b/sql/updates/world/2015_09_21_02_world.sql
@@ -0,0 +1,32 @@
+--
+-- Defias Conjurer SAI "Comments and event_flags fix"
+SET @ENTRY := 619;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,1,0,100,0,1000,1000,1800000,1800000,11,12544,1,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Conjurer - Out of Combat - Cast 'Frost Armor'"),
+(@ENTRY,0,1,0,0,0,100,0,0,0,2400,3800,11,9053,64,0,0,0,0,2,0,0,0,0,0,0,0,"Defias Conjurer - Combat CMC - Cast 'Fireball'"),
+(@ENTRY,0,2,0,2,0,100,1,0,15,0,0,25,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Defias Conjurer - On Health - Flee for assist (No Repeat)");
+
+-- Crushridge Warmonger SAI "Comments and event_flags fix"
+SET @ENTRY := 2287;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,4,0,10,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crushridge Warmonger - On Aggro - Say Line 0 (No Repeat)"),
+(@ENTRY,0,1,0,2,0,100,1,0,50,0,0,39,15,1,0,0,0,0,1,0,0,0,0,0,0,0,"Crushridge Warmonger - Between 0-50% Health - Call For Help (No Repeat)"),
+(@ENTRY,0,2,3,74,0,100,1,0,15,0,0,11,8269,1,0,0,0,0,9,0,0,0,0,0,0,0,"Crushridge Warmonger - On Friendly Between 0-15% Health - Cast 'Frenzy' (No Repeat)"),
+(@ENTRY,0,3,0,61,0,100,1,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Crushridge Warmonger - On Friendly Between 0-15% Health - Say Line 1 (No Repeat)");
+
+-- Dustbelcher Lord SAI "Line numbering and event_flags fix"
+SET @ENTRY := 2719;
+UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,7800,12100,11200,30000,11,9128,0,0,0,0,0,1,0,0,0,0,0,0,0,"Dustbelcher Lord - In Combat - Cast 'Battle Shout'"),
+(@ENTRY,0,1,0,0,0,100,0,6600,18700,30800,32400,11,13730,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dustbelcher Lord - In Combat - Cast 'Demoralizing Shout'"),
+(@ENTRY,0,2,0,2,0,100,1,0,50,0,0,39,15,1,0,0,0,0,1,0,0,0,0,0,0,0,"Dustbelcher Lord - Between 0-50% Health - Call For Help (No Repeat)");
+
+-- Duggan Wildhammer & Sentinel Leader & Dal Bloodclaw SAI "event_flags fix"
+UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (10817,17210) AND `source_type`=0 AND `id`=2;
+UPDATE `smart_scripts` SET `event_flags`=1 WHERE `entryorguid` IN (3987) AND `source_type`=0 AND `id`=1;
diff --git a/sql/updates/world/2015_09_21_03_world.sql b/sql/updates/world/2015_09_21_03_world.sql
new file mode 100644
index 00000000000..aea8aaf43a1
--- /dev/null
+++ b/sql/updates/world/2015_09_21_03_world.sql
@@ -0,0 +1,3 @@
+--
+DELETE FROM `spell_linked_spell` WHERE `spell_trigger` = 29320;
+INSERT INTO `spell_linked_spell` VALUES (29320, 29321, 0, 'Charge-Fear');
diff --git a/sql/updates/world/2015_09_21_04_world.sql b/sql/updates/world/2015_09_21_04_world.sql
new file mode 100644
index 00000000000..40792506d57
--- /dev/null
+++ b/sql/updates/world/2015_09_21_04_world.sql
@@ -0,0 +1,246 @@
+--
+UPDATE `gossip_menu_option` SET `action_menu_id`=9753 WHERE `menu_id`=9754;
+
+-- Pathing for Death Knight Cavalier Entry: 16163 'TDB FORMAT'
+SET @NPC := 127753;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2926.023,`position_y`=-3200.403,`position_z`=273.3712 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,25278,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,2926.023,-3200.403,273.3712,0,0,0,0,100,0),
+(@PATH,2,2931.457,-3188.328,273.3712,0,0,0,0,100,0),
+(@PATH,3,2925.778,-3167.298,273.787,0,0,0,0,100,0),
+(@PATH,4,2907.542,-3166.655,273.787,0,0,0,0,100,0),
+(@PATH,5,2873.219,-3165.419,273.787,0,0,0,0,100,0),
+(@PATH,6,2861.632,-3165.088,273.787,0,0,0,0,100,0),
+(@PATH,7,2860.526,-3185.717,273.787,0,0,0,0,100,0),
+(@PATH,8,2860.435,-3203.401,273.787,0,0,0,0,100,0),
+(@PATH,9,2875.204,-3203.906,273.4088,0,0,0,0,100,0),
+(@PATH,10,2892.834,-3204.38,273.3965,0,0,0,0,100,0),
+(@PATH,11,2911.993,-3204.611,273.3846,0,0,0,0,100,0);
+
+DELETE FROM `creature_template_addon` WHERE `entry` =16400;
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127631;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3223.018,`position_y`=-3218.725,`position_z`=316.3705 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3223.018,-3218.725,316.3705,0,0,0,0,100,0),
+(@PATH,2,3230.179,-3211.59,316.5933,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127632;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3208.167,`position_y`=-3234.595,`position_z`=315.4565 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3208.167,-3234.595,315.4565,0,0,0,0,100,0),
+(@PATH,2,3200.392,-3242.829,315.141,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127633;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3178.613,`position_y`=-3263.671,`position_z`=316.4281 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3178.613,-3263.671,316.4281,0,0,0,0,100,0),
+(@PATH,2,3174.119,-3267.95,316.7845,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127634;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3217.316,`position_y`=-3224.753,`position_z`=316.0583 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3217.316,-3224.753,316.0583,0,0,0,0,100,0),
+(@PATH,2,3209.847,-3232.841,315.5579,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127635;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3190.628,`position_y`=-3252.565,`position_z`=315.5675 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3190.628,-3252.565,315.5675,0,0,0,0,100,0),
+(@PATH,2,3196.852,-3246.524,315.0298,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127636;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3244.748,`position_y`=-3198.743,`position_z`=317.3646 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3244.748,-3198.743,317.3646,0,0,0,0,100,0),
+(@PATH,2,3236.25,-3205.753,316.6993,0,0,0,0,100,0);
+
+-- Pathing for Toxic Tunnel Entry: 16400 'TDB FORMAT'
+SET @NPC := 127637;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3246.763,`position_y`=-3193.856,`position_z`=317.3302 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '28370');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3246.763,-3193.856,317.3302,0,0,0,0,100,0),
+(@PATH,2,3252.532,-3188.566,318.1087,0,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128058;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3454.427,`position_y`=-3187.954,`position_z`=294.6607 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3454.427,-3187.954,294.6607,0,0,0,0,100,0),
+(@PATH,2,3453.837,-3215.978,284.005,0,0,0,0,100,0),
+(@PATH,3,3453.848,-3237.722,272.597,0,0,0,0,100,0),
+(@PATH,4,3453.705,-3262.583,267.5943,0,0,0,0,100,0),
+(@PATH,5,3453.507,-3285.881,267.5923,0,0,0,0,100,0),
+(@PATH,6,3450.008,-3299.009,267.593,0,0,0,0,100,0),
+(@PATH,7,3434.539,-3314.597,267.592,0,0,0,0,100,0),
+(@PATH,8,3423.135,-3338.302,267.593,0,0,0,0,100,0),
+(@PATH,9,3430.531,-3358.816,267.592,0,0,0,0,100,0),
+(@PATH,10,3450.598,-3369.066,267.5927,0,0,0,0,100,0),
+(@PATH,11,3472.296,-3362.288,267.5991,0,0,0,0,100,0),
+(@PATH,12,3483.6,-3341.974,267.5938,0,0,0,0,100,0),
+(@PATH,13,3477.419,-3326.692,267.5933,0,0,0,0,100,0),
+(@PATH,14,3466.747,-3312.542,267.5925,0,0,0,0,100,0),
+(@PATH,15,3455.716,-3299.394,267.5929,0,0,0,0,100,0),
+(@PATH,16,3453.988,-3285.853,267.5922,0,0,0,0,100,0),
+(@PATH,17,3454.239,-3262.38,267.5943,0,0,0,0,100,0),
+(@PATH,18,3454.453,-3237.651,272.6341,0,0,0,0,100,0),
+(@PATH,19,3454.135,-3215.837,284.079,0,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128057;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3331.301,`position_y`=-3008.488,`position_z`=294.6606 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3331.301,-3008.488,294.6606,0,0,0,0,100,0),
+(@PATH,2,3352.705,-3027.659,294.6606,0,0,0,0,100,0),
+(@PATH,3,3378.292,-3052.875,294.6657,0,0,0,0,100,0),
+(@PATH,4,3400.806,-3075.215,294.6628,0,0,0,0,100,0),
+(@PATH,5,3420.535,-3095.16,294.6607,0,0,0,0,100,0),
+(@PATH,6,3423.608,-3104.254,294.6607,0,0,0,0,100,0),
+(@PATH,7,3424.381,-3122.999,294.6599,0,0,0,0,100,0),
+(@PATH,8,3428.679,-3145.677,294.659,0,0,0,0,100,0),
+(@PATH,9,3444.718,-3157.384,294.6608,0,0,0,0,100,0),
+(@PATH,10,3466.77,-3155.3,294.6603,0,0,0,0,100,0),
+(@PATH,11,3481.494,-3139.173,294.6597,0,0,0,0,100,0),
+(@PATH,12,3480.309,-3114.887,294.6596,0,0,0,0,100,0),
+(@PATH,13,3467.193,-3102.655,294.6595,0,0,0,0,100,0),
+(@PATH,14,3448.526,-3099.575,294.6612,0,0,0,0,100,0),
+(@PATH,15,3428.409,-3099.175,294.6607,0,0,0,0,100,0),
+(@PATH,16,3420.901,-3094.735,294.6607,0,0,0,0,100,0),
+(@PATH,17,3401.064,-3074.813,294.6629,0,0,0,0,100,0),
+(@PATH,18,3378.616,-3052.372,294.6658,0,0,0,0,100,0),
+(@PATH,19,3352.98,-3027.292,294.6606,0,0,0,0,100,0),
+(@PATH,20,3331.301,-3008.488,294.6606,0,0,0,0,100,0),
+(@PATH,21,3311.187,-2990.615,294.6598,0,0,0,0,100,0),
+(@PATH,22,3311.187,-2990.615,294.6598,2.505866,0,0,0,100,0),
+(@PATH,23,3311.187,-2990.615,294.6598,2.251878,0,0,0,100,0),
+(@PATH,24,3311.187,-2990.615,294.6598,3.254467,0,0,0,100,0),
+(@PATH,25,3311.187,-2990.615,294.6598,5.113917,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128056;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3425.885,`position_y`=-3100.784,`position_z`=294.6607 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3425.885,-3100.784,294.6607,0,0,0,0,100,0),
+(@PATH,2,3400.279,-3075.093,294.6628,0,0,0,0,100,0),
+(@PATH,3,3373.177,-3047.739,294.6664,0,0,0,0,100,0),
+(@PATH,4,3344.838,-3019.543,294.6606,0,0,0,0,100,0),
+(@PATH,5,3341.914,-3012.742,294.6606,0,0,0,0,100,0),
+(@PATH,6,3339.663,-2995.398,294.6601,0,0,0,0,100,0),
+(@PATH,7,3337.08,-2977.52,294.6604,0,0,0,0,100,0),
+(@PATH,8,3323.939,-2963.499,294.6603,0,0,0,0,100,0),
+(@PATH,9,3299.76,-2962.284,294.6606,0,0,0,0,100,0),
+(@PATH,10,3286.439,-2972.35,294.6593,0,0,0,0,100,0),
+(@PATH,11,3280.707,-2995.567,294.6606,0,0,0,0,100,0),
+(@PATH,12,3288.473,-3011.645,294.6597,0,0,0,0,100,0),
+(@PATH,13,3307.809,-3020.176,294.659,0,0,0,0,100,0),
+(@PATH,14,3325.226,-3018.351,294.6606,0,0,0,0,100,0),
+(@PATH,15,3338.513,-3016.632,294.6606,0,0,0,0,100,0),
+(@PATH,16,3344.342,-3020.255,294.6606,0,0,0,0,100,0),
+(@PATH,17,3372.666,-3048.441,294.6662,0,0,0,0,100,0),
+(@PATH,18,3399.818,-3075.62,294.6627,0,0,0,0,100,0),
+(@PATH,19,3425.406,-3101.135,294.6607,0,0,0,0,100,0),
+(@PATH,20,3451.888,-3127.903,294.6607,0,0,0,0,100,0),
+(@PATH,21,3451.888,-3127.903,294.6607,1.541391,0,0,0,100,0),
+(@PATH,22,3456.634,-3133.219,294.6606,0,0,0,0,100,0),
+(@PATH,23,3455.112,-3131.514,294.6606,6.06443,0,0,0,100,0),
+(@PATH,24,3455.112,-3131.514,294.6606,4.858006,0,0,0,100,0),
+(@PATH,25,3455.112,-3131.514,294.6606,2.345938,0,0,0,100,0);
+
+-- Pathing for Stitched Colossus Entry: 30071 'TDB FORMAT'
+SET @NPC := 128054;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=3250.639,`position_y`=-2986.463,`position_z`=294.6606 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,3250.639,-2986.463,294.6606,0,0,0,0,100,0),
+(@PATH,2,3218.217,-2985.765,281.2667,0,0,0,0,100,0),
+(@PATH,3,3198.772,-2985.637,271.0636,0,0,0,0,100,0),
+(@PATH,4,3178.061,-2985.433,267.5943,0,0,0,0,100,0),
+(@PATH,5,3159.365,-2985.343,267.5929,0,0,0,0,100,0),
+(@PATH,6,3139.7,-2981.853,267.5929,0,0,0,0,100,0),
+(@PATH,7,3126.553,-2971.708,267.5919,0,0,0,0,100,0),
+(@PATH,8,3114.558,-2959.215,267.5926,0,0,0,0,100,0),
+(@PATH,9,3095.302,-2956.31,267.5921,0,0,0,0,100,0),
+(@PATH,10,3078.464,-2964.795,267.5918,0,0,0,0,100,0),
+(@PATH,11,3070.598,-2982.696,267.5929,0,0,0,0,100,0),
+(@PATH,12,3076.846,-3004.052,267.592,0,0,0,0,100,0),
+(@PATH,13,3096.726,-3015.381,267.5934,0,0,0,0,100,0),
+(@PATH,14,3115.124,-3011.505,267.5921,0,0,0,0,100,0),
+(@PATH,15,3127.605,-2998.091,267.5924,0,0,0,0,100,0),
+(@PATH,16,3139.447,-2989.035,267.5929,0,0,0,0,100,0),
+(@PATH,17,3159.26,-2985.907,267.5929,0,0,0,0,100,0),
+(@PATH,18,3178.106,-2985.838,267.5943,0,0,0,0,100,0),
+(@PATH,19,3198.909,-2986.179,271.1352,0,0,0,0,100,0),
+(@PATH,20,3218.02,-2986.236,281.1633,0,0,0,0,100,0);
+
+-- Pathing for Shade of Naxxramas Entry: 16164 'TDB FORMAT'
+SET @NPC := 127755;
+SET @PATH := @NPC * 10;
+UPDATE `creature` SET `spawndist`=0,`MovementType`=2,`position_x`=2915.294,`position_y`=-3343.234,`position_z`=298.1457 WHERE `guid`=@NPC;
+DELETE FROM `creature_addon` WHERE `guid`=@NPC;
+INSERT INTO `creature_addon` (`guid`,`path_id`,`mount`,`bytes1`,`bytes2`,`emote`,`auras`) VALUES (@NPC,@PATH,0,0,1,0, '');
+DELETE FROM `waypoint_data` WHERE `id`=@PATH;
+INSERT INTO `waypoint_data` (`id`,`point`,`position_x`,`position_y`,`position_z`,`orientation`,`delay`,`move_type`,`action`,`action_chance`,`wpguid`) VALUES
+(@PATH,1,2915.294,-3343.234,298.1457,0,0,0,0,100,0),
+(@PATH,2,2898.639,-3327.008,298.1457,0,0,0,0,100,0),
+(@PATH,3,2915.294,-3343.234,298.1457,0,0,0,0,100,0),
+(@PATH,4,2898.639,-3327.008,298.1457,0,0,0,0,100,0),
+(@PATH,5,2915.294,-3343.234,298.1457,0,0,0,0,100,0),
+(@PATH,6,2898.639,-3327.008,298.1457,0,0,0,0,100,0);
+
+-- Sludge Belcher SAI On Reset - Cast Disease Cloud was set to OOC
+UPDATE `smart_scripts` SET `event_type`=25 WHERE `entryorguid`=16029 AND `source_type`=0 AND `id`=0;
+-- These npc's should not be moving
+UPDATE creature SET `spawndist`=0, `MovementType`=0 WHERE `guid` IN (128070,128071,128072,128073,128074,128067,130957);
diff --git a/sql/updates/world/2015_09_21_05_world.sql b/sql/updates/world/2015_09_21_05_world.sql
new file mode 100644
index 00000000000..eccb800e8ce
--- /dev/null
+++ b/sql/updates/world/2015_09_21_05_world.sql
@@ -0,0 +1,41 @@
+UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry`in(23392,23257,23334,23208,23335,22982);
+
+
+DELETE FROM `creature_text` WHERE `entry` in(23392,23257,23334,23208,23335,22982);
+INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
+(23392, 0, 0, '$n is an officer and a $g gentleman : gentlewoman;.', 12, 0, 100, 0, 0, 0, 21940, 0, 'Skyguard Stable Master <Stable Master>'),
+(23257, 0, 0, 'Look who''s here. It''s $n, our top gun.', 12, 0, 100, 0, 0, 0, 21885, 0, 'Skyguard Windcharger'),
+(23257, 0, 1, '$n, terror of the skies, how are you doing?', 12, 0, 100, 0, 0, 0, 21893, 0, 'Skyguard Windcharger'),
+(23257, 0, 2, 'A-TEN-HUT, officer $n on the deck!', 12, 0, 100, 0, 0, 0, 21891, 0, 'Skyguard Windcharger'),
+(23257, 0, 3, '$G Mister : Lady; $n, what an unexpected pleasure, $g sir : ma''am;.', 12, 0, 100, 0, 0, 0, 21890, 0, 'Skyguard Windcharger'),
+(23257, 0, 4, 'Heh, the skies aren''t so friendly with $n flying them!', 12, 0, 100, 0, 0, 0, 21895, 0, 'Skyguard Windcharger'),
+(23257, 0, 5, '$n, you and I should race sometime.', 12, 0, 100, 0, 0, 0, 21937, 0, 'Skyguard Windcharger'),
+(23257, 0, 6, '$n, how''s your mount holding up? Pretty rough up there these days?', 12, 0, 100, 0, 0, 0, 21897, 0, 'Skyguard Windcharger'),
+(23334, 0, 0, 'Maybe one day $n will teach us a few of $g his : her; tricks?', 12, 0, 100, 0, 0, 0, 21942, 0, 'Sky Commander Keller'),
+(23208, 0, 0, 'Maybe one day $n will teach us a few of $g his : her; tricks?', 12, 0, 100, 0, 0, 0, 21942, 0, 'Skyguard Pyrotechnician'),
+(23335, 0, 0, 'You''re a peach! I''ll make sure that the ray is properly cared for.', 12, 0, 100, 0, 0, 0, 21371, 0, 'Skyguard Khatie'),
+(23335, 0, 1, 'Wow! Thanks for bringing it all the way back here. You didn''t have to do that.', 12, 0, 100, 0, 0, 0, 21370, 0, 'Skyguard Khatie'),
+(22982, 0, 0, '$n, do you feel the need -- the need for speed?', 12, 0, 100, 0, 0, 0, 21886, 0, 'Skyguard Navigator'),
+(22982, 0, 1, '$n, how''s your mount holding up? Pretty rough up there these days?', 12, 0, 100, 0, 0, 0, 21897, 0, 'Skyguard Navigator'),
+(22982, 0, 3, 'Heh, the skies aren''t so friendly with $n flying them!', 12, 0, 100, 0, 0, 0, 21895, 0, 'Skyguard Navigator'),
+(22982, 0, 4, '$n, terror of the skies, how are you doing?', 12, 0, 100, 0, 0, 0, 21893, 0, 'Skyguard Navigator');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN(23392,23257,23334,23208,23335,22982) AND `source_type`=0;
+INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES
+(23392, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Stable Master <Stable Master> - OOC LOS - Say'),
+(23257, 0, 0, 0, 10, 0, 100, 0, 1, 10, 150000, 150000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Stable Master - OOC LOS - Say'),
+(23334, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Sky Commander Keller - OOC LOS - Say'),
+(23208, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Pyrotechnician - OOC LOS - Say'),
+(23335, 0, 0, 0, 10, 0, 100, 0, 1, 10, 300000, 300000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Khatie - OOC LOS - Say'),
+(22982, 0, 0, 0, 10, 0, 100, 0, 1, 10, 150000, 150000, 1, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'Skyguard Navigator - OOC LOS - Say');
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=22 AND `SourceEntry` IN(23392,23257,23334,23208,23335,22982);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES
+(22, 1, 23392, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23257, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23334, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23208, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted'),
+(22, 1, 23335, 0, 0, 28, 0, 11023, 0, 0, 0, 0, 0, '', 'requires Bomb Them Again complete in quest log'),
+(22, 1, 23335, 0, 1, 28, 0, 11010, 0, 0, 0, 0, 0, '', 'requires Bombing run complete in quest log'),
+(22, 1, 23335, 0, 2, 28, 0, 11102, 0, 0, 0, 0, 0, '', 'requires Bombing run complete in quest log'),
+(22, 1, 22982, 0, 0, 5, 0, 1031, 128, 0, 0, 0, 0, '', 'requires shatari skyguard exhalted');
diff --git a/sql/updates/world/2015_09_21_06_world.sql b/sql/updates/world/2015_09_21_06_world.sql
new file mode 100644
index 00000000000..4e0ee5b2222
--- /dev/null
+++ b/sql/updates/world/2015_09_21_06_world.sql
@@ -0,0 +1,18 @@
+--
+-- North Sea Kraken SAI
+SET @ENTRY := 34925;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
+DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY*100 AND `source_type`=9;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(@ENTRY,0,0,0,0,0,100,0,6000,9000,7000,9000,11,66514,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - IC - Cast Frost Breath'),
+(@ENTRY,0,1,0,8,0,40,0,66588,0,0,0,80,@ENTRY*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - On Spell hit Flaming Spear - ActionList'),
+(@ENTRY*100,9,0,0,0,0,100,0,0,0,0,0,11,50142,2,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Cast Submerge'),
+(@ENTRY*100,9,1,0,0,0,100,0,0,0,0,0,18,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Add unitflag not selectable'),
+(@ENTRY*100,9,2,0,0,0,100,0,3000,3000,0,0,47,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Turn Invisible'),
+(@ENTRY*100,9,3, 0, 0, 0, 100, 0, 10000, 10000, 0, 0, 47, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - actionList - Turn Visible'),
+(@ENTRY*100,9,4,0,0,0,100,0,0,0,0,0,19,33554432,0,0,0,0,0,1,0,0,0,0,0,0,0,'North Sea Kraken - actionList - Remove unitflag not selectable'),
+(@ENTRY, 0, 2, 3, 2, 0, 100, 1, 1, 6, 0, 0, 11, 66994, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - On Between 1 and 6% HP - Cast Kraken Tooth Explosion'),
+(@ENTRY, 0, 3, 0, 61, 0, 100, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - Linked With Previous Event - Die'),
+(@ENTRY, 0, 4, 0, 1, 0, 100, 0, 30000, 30000, 30000, 30000, 11, 68909, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - OOC - Cast Submerge '),
+(@ENTRY, 0, 5, 0, 0, 0, 100, 0, 15000, 20000, 15000, 20000, 11, 66511, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 'Northsea Kraken - IC - Cast Whirl'),
+(@ENTRY,0,6,0,8,0,100,0,66588,0,0,0,11,66717,2,0,0,0,0,7,0,0,0,0,0,0,0,'North Sea Kraken - On spell Hit - Cast Quest credit');
diff --git a/sql/updates/world/2015_09_21_07_world.sql b/sql/updates/world/2015_09_21_07_world.sql
new file mode 100644
index 00000000000..ce126d38081
--- /dev/null
+++ b/sql/updates/world/2015_09_21_07_world.sql
@@ -0,0 +1,6 @@
+--
+DELETE FROM `smart_scripts` WHERE `entryorguid`=23899 AND `source_type`=0 AND `id` IN (8,9);
+UPDATE `smart_scripts` SET `link`=9 WHERE `entryorguid`=23899 AND `source_type`=0 AND `id`=2;
+INSERT INTO `smart_scripts` (`entryorguid`,`source_type`,`id`,`link`,`event_type`,`event_phase_mask`,`event_chance`,`event_flags`,`event_param1`,`event_param2`,`event_param3`,`event_param4`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(23899,0,8,0,54,0,100,0,0,0,0,0,48,1,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tethyr - On Just Summoned - Set Active ON"),
+(23899,0,9,0,61,0,100,0,0,0,0,0,48,0,0,0,0,0,0,1,0,0,0,0,0,0,0,"Tethyr - On wp reached - Set Active OFF");
diff --git a/sql/updates/world/2015_09_21_08_world.sql b/sql/updates/world/2015_09_21_08_world.sql
new file mode 100644
index 00000000000..d56b962ad8f
--- /dev/null
+++ b/sql/updates/world/2015_09_21_08_world.sql
@@ -0,0 +1,10 @@
+-- Update formation points
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=19 WHERE `leaderGUID`=127045 AND `memberGUID`=127058;
+UPDATE `creature_formations` SET `point_1`=4, `point_2`=8 WHERE `leaderGUID`=201706 AND `memberGUID`=201764;
+UPDATE `creature_formations` SET `angle`=270,`point_1`=4, `point_2`=7 WHERE `leaderGUID`=201713 AND `memberGUID`=201735;
+UPDATE `creature_formations` SET `angle`=260, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=202628 AND `memberGUID` IN (202680);
+UPDATE `creature_formations` SET `angle`=100, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=202628 AND `memberGUID` IN (202682);
+UPDATE `creature_formations` SET `point_1`=2, `point_2`=7 WHERE `leaderGUID`=202629 AND `memberGUID` IN (202681,202684);
+UPDATE `creature_formations` SET `point_1`=1, `point_2`=10 WHERE `leaderGUID`=202692 AND `memberGUID` IN (202695,202696);
+UPDATE `creature_formations` SET `point_1`=2, `point_2`=7 WHERE `leaderGUID`=202814 AND `memberGUID` IN (202803,202804);
+UPDATE `creature_formations` SET `point_1`=3, `point_2`=6 WHERE `leaderGUID`=202815 AND `memberGUID` IN (202805,202806);
diff --git a/sql/updates/world/2015_09_21_09_world.sql b/sql/updates/world/2015_09_21_09_world.sql
new file mode 100644
index 00000000000..ea4914a6a53
--- /dev/null
+++ b/sql/updates/world/2015_09_21_09_world.sql
@@ -0,0 +1,95 @@
+--
+UPDATE `creature_template` SET `npcflag`=4194305 WHERE `entry`=9988;
+UPDATE `conditions` SET `ConditionValue1` =4 WHERE `SourceGroup`=9576 AND `SourceTypeOrReferenceId`=15;
+UPDATE `creature_template` SET `npcflag`=4194305 WHERE `npcflag`=4194304 ;
+UPDATE `creature_template` SET `npcflag`=4194307 WHERE `npcflag`=4194306 ;
+UPDATE `creature_template` SET `gossip_menu_id`=9821 WHERE `entry` IN (9976,9978,9979,9982,9985,9986,10048,10049,10051,10052,10057,10058,11105,13616,15131,16094,16586,16656,16824,17896,18984,19018,21336,21517,22469,9896,19325,22551,22577,23392,24905,24974,25037,25519,29251,30155,31991,32105,35290);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14) AND `SourceGroup`=9821;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 9821, 13557, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 9821, 13584, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1);
+
+UPDATE `gossip_menu_option` SET `option_id`=1, `npc_option_npcflag`=1, `action_menu_id`=9820 WHERE `menu_id`=9821 AND `id`=1;
+
+DELETE FROM `gossip_menu` WHERE `entry`=11971 AND `text_id`=16788;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (11971,16788);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14) AND `SourceGroup`=11971;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 11971, 16788, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 11971, 16789, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1);
+
+DELETE FROM `npc_text` WHERE id=16788;
+INSERT INTO `npc_text` (`ID`, `text0_0`, `BroadcastTextID0`, `Probability0`) VALUES
+(16788, "Hey der, mon.$B$BDid ya want ta be stablin' yer pets, or were ya lookin' for a lost companion?", 45395, 1);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 11971;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`) VALUES
+(11971,0,0,'I''d like to stable my pet here.',30181,14,4194304,0,0,0,0,'',0),
+(11971,1,1,'I''m looking for a lost companion.',56613,1,1,9820,0,0,0,'',0);
+
+DELETE FROM `gossip_menu` WHERE `entry`=9864 AND `text_id`=13662;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (9864,13662);
+
+UPDATE `npc_text` SET `text0_0`="", `text0_1`="Well met, Battle-Sister. I can help stable your pets or assist you in recovering lost companions.", `BroadcastTextID0`=30667 WHERE `ID`=13662;
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 9864;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`) VALUES
+(9864,0,0,'I''d like to stable my pet here.',30181,14,4194304,0,0,0,0,'',0),
+(9864,1,1,'I''m looking for a lost companion.',56613,1,1,9820,0,0,0,'',0);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (14) AND `SourceGroup`=9864;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(14, 9864, 13662, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is a hunter', 0),
+(14, 9864, 13661, 0, 15, 4, 0, 0, 0, '', 'Show gossip text if player is not a hunter', 1);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 9212 AND `id`=1;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`) VALUES
+(9212,1,0,'I''d like to stable my pet here.',30181,14,4194304,0,0,0,0,'',0);
+
+DELETE FROM `gossip_menu` WHERE `entry`=9820 AND `text_id`=13584;
+INSERT INTO `gossip_menu` (`entry`, `text_id`) VALUES (9820,13584);
+
+DELETE FROM `gossip_menu_option` WHERE `menu_id` = 9820;
+INSERT INTO `gossip_menu_option` (`menu_id`,`id`,`option_icon`,`option_text`,`OptionBroadcastTextID`,`option_id`,`npc_option_npcflag`,`action_menu_id`,`action_poi_id`,`box_coded`,`box_money`,`box_text`,`BoxBroadcastTextID`) VALUES
+(9820,0,0,'I''ve lost Miniwing.',30182,1,1,0,0,0,0,'',0),
+(9820,1,0,'I''ve lost my Jubling.',30183,1,1,0,0,0,0,'',0),
+(9820,2,0,'I''ve lost my sprite darter hatchling.',30192,1,1,0,0,0,0,'',0),
+(9820,3,0,'I''ve lost my worg pup.',30196,1,1,0,0,0,0,'',0),
+(9820,4,0,'I''ve lost my Smolderweb hatchling.',30197,1,1,0,0,0,0,'',0),
+(9820,5,0,'I''ve lost my Prairie Chicken.',30217,1,1,0,0,0,0,'',0),
+(9820,6,0,'I''ve lost my wolpertinger.',30224,1,1,0,0,0,0,'',0);
+
+DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId` IN (15) AND `SourceGroup`=9820;
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`ErrorTextId`,`ScriptName`,`Comment`, `NegativeCondition`) VALUES
+(15, 9820, 0, 0, 8, 10898, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 0, 0, 2, 31760, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 0, 0, 25, 39181, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 1, 0, 8, 7946, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 1, 0, 2, 19450, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 1, 0, 2, 19462, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 1, 0, 25, 23811, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 2, 0, 8, 4298, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 2, 0, 2, 11474, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 2, 0, 25, 15067, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 3, 0, 8, 4729, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 3, 0, 2, 12264, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 3, 0, 25, 15999, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 4, 0, 8, 4862, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 4, 0, 2, 12529, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 4, 0, 25, 16450, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 5, 0, 8, 3861, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 5, 0, 2, 11110, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 5, 0, 25, 13548, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 5, 1, 8, 13840, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 5, 1, 2, 11110, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 5, 1, 25, 13548, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 6, 0, 8, 11117, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 6, 0, 2, 32233, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 6, 0, 25, 39709, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1),
+(15, 9820, 6, 1, 8, 11431, 0, 0, 0, '', 'Show the gossip option if the player rewarded the quest', 0),
+(15, 9820, 6, 1, 2, 32233, 1, 1, 0, '', 'Show the gossip option if the player Didn''t have the item', 1),
+(15, 9820, 6, 1, 25, 39709, 0, 0, 0, '', 'Show the gossip option if the player Didn''t lear the spell', 1);
+
+UPDATE `creature_template` SET `ScriptName`="npc_stable_master" WHERE `entry` IN (10052, 9978, 33854, 16764, 9986, 9987, 9989, 10045, 10046, 10047, 10048, 10049, 10050, 10051, 10053, 10054, 10055, 10056, 10057, 10058, 10059, 10060, 10061, 10062, 10063, 10085, 11069, 11104, 11105, 11117, 11119, 13616, 9983, 9982, 15131, 9981, 16094, 16185, 9985, 16656, 9980, 16824, 17485, 17666, 17896, 18244, 18250, 18984, 19018, 9979, 19368, 19476, 21336, 21517, 21518, 22468, 22469, 9896, 19325, 23392, 24905, 24974, 25037, 27010, 27385, 24066, 24067, 24154, 24350, 25519, 9977, 16586, 9976, 26597, 26721, 9984, 6749, 27056, 27065, 27068, 27150, 27183, 27194, 27948, 28057, 28690, 28790, 29250, 29251, 29658, 29740, 29906, 29948, 29959, 29967, 35344, 30039, 30155, 30304, 35290, 35291, 30008, 9988);
diff --git a/sql/updates/world/2015_09_21_10_world.sql b/sql/updates/world/2015_09_21_10_world.sql
new file mode 100644
index 00000000000..e7938cdf352
--- /dev/null
+++ b/sql/updates/world/2015_09_21_10_world.sql
@@ -0,0 +1,14 @@
+-- Hall of Stone formation fixes
+UPDATE `creature_formations` SET `angle`=310, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126709 AND `memberGUID`=126692;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126709 AND `memberGUID`=126693;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=3, `point_2`=7 WHERE `leaderGUID`=126687 AND `memberGUID`=126705;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=3, `point_2`=7 WHERE `leaderGUID`=126687 AND `memberGUID`=126700;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=2, `point_2`=6 WHERE `leaderGUID`=126690 AND `memberGUID`=126707;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=2, `point_2`=6 WHERE `leaderGUID`=126690 AND `memberGUID`=126701;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126695 AND `memberGUID`=126713;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126695 AND `memberGUID`=126703;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126696 AND `memberGUID`=126714;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=4, `point_2`=8 WHERE `leaderGUID`=126696 AND `memberGUID`=126704;
+UPDATE `creature_formations` SET `dist`=4, `point_1`=2, `point_2`=4 WHERE `leaderGUID`=126715 AND `memberGUID`=126716;
+UPDATE `creature_formations` SET `angle`=310, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126694 AND `memberGUID`=126711;
+UPDATE `creature_formations` SET `angle`=50, `point_1`=1, `point_2`=3 WHERE `leaderGUID`=126694 AND `memberGUID`=126712;
diff --git a/src/common/Collision/Management/MMapManager.cpp b/src/common/Collision/Management/MMapManager.cpp
index a5685c65d9c..00985e4fa1d 100644
--- a/src/common/Collision/Management/MMapManager.cpp
+++ b/src/common/Collision/Management/MMapManager.cpp
@@ -230,7 +230,7 @@ namespace MMAP
// if the grid is later reloaded, dtNavMesh::addTile will return error but no extra memory is used
// we cannot recover from this error - assert out
TC_LOG_ERROR("maps", "MMAP:unloadMap: Could not unload %03u%02i%02i.mmtile from navmesh", mapId, x, y);
- ASSERT(false);
+ ABORT();
}
else
{
diff --git a/src/common/Common.h b/src/common/Common.h
index 09d64acc795..4c209f89ec8 100644
--- a/src/common/Common.h
+++ b/src/common/Common.h
@@ -39,6 +39,7 @@
#include <sstream>
#include <algorithm>
#include <memory>
+#include <vector>
#include "Debugging/Errors.h"
diff --git a/src/common/Debugging/Errors.cpp b/src/common/Debugging/Errors.cpp
index cebd9d4cf2f..f2da96b86bf 100644
--- a/src/common/Debugging/Errors.cpp
+++ b/src/common/Debugging/Errors.cpp
@@ -29,8 +29,7 @@ void Assert(char const* file, int line, char const* function, char const* messag
{
fprintf(stderr, "\n%s:%i in %s ASSERTION FAILED:\n %s\n",
file, line, function, message);
- *((volatile int*)NULL) = 0;
- exit(1);
+ abort();
}
void Assert(char const* file, int line, char const* function, char const* message, char const* format, ...)
@@ -44,8 +43,7 @@ void Assert(char const* file, int line, char const* function, char const* messag
fflush(stderr);
va_end(args);
- *((volatile int*)NULL) = 0;
- exit(1);
+ abort();
}
void Fatal(char const* file, int line, char const* function, char const* message)
@@ -54,16 +52,14 @@ void Fatal(char const* file, int line, char const* function, char const* message
file, line, function, message);
std::this_thread::sleep_for(std::chrono::seconds(10));
- *((volatile int*)NULL) = 0;
- exit(1);
+ abort();
}
void Error(char const* file, int line, char const* function, char const* message)
{
fprintf(stderr, "\n%s:%i in %s ERROR:\n %s\n",
file, line, function, message);
- *((volatile int*)NULL) = 0;
- exit(1);
+ abort();
}
void Warning(char const* file, int line, char const* function, char const* message)
@@ -72,4 +68,11 @@ void Warning(char const* file, int line, char const* function, char const* messa
file, line, function, message);
}
+void Abort(char const* file, int line, char const* function)
+{
+ fprintf(stderr, "\n%s:%i in %s ABORTED\n",
+ file, line, function);
+ abort();
+}
+
} // namespace Trinity
diff --git a/src/common/Debugging/Errors.h b/src/common/Debugging/Errors.h
index 4d4624b63dd..edf56b29136 100644
--- a/src/common/Debugging/Errors.h
+++ b/src/common/Debugging/Errors.h
@@ -29,6 +29,8 @@ namespace Trinity
DECLSPEC_NORETURN void Fatal(char const* file, int line, char const* function, char const* message) ATTR_NORETURN;
DECLSPEC_NORETURN void Error(char const* file, int line, char const* function, char const* message) ATTR_NORETURN;
+
+ DECLSPEC_NORETURN void Abort(char const* file, int line, char const* function) ATTR_NORETURN;
void Warning(char const* file, int line, char const* function, char const* message);
@@ -46,8 +48,10 @@ namespace Trinity
#define WPFatal(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Fatal(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
#define WPError(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Error(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
#define WPWarning(cond, msg) ASSERT_BEGIN do { if (!(cond)) Trinity::Warning(__FILE__, __LINE__, __FUNCTION__, (msg)); } while(0) ASSERT_END
+#define WPAbort() ASSERT_BEGIN do { Trinity::Abort(__FILE__, __LINE__, __FUNCTION__); } while(0) ASSERT_END
#define ASSERT WPAssert
+#define ABORT WPAbort
template <typename T> inline T* ASSERT_NOTNULL(T* pointer)
{
diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h
index 3da1c800410..6a872b44a60 100644
--- a/src/common/Utilities/Util.h
+++ b/src/common/Utilities/Util.h
@@ -537,7 +537,7 @@ bool CompareValues(ComparisionType type, T val1, T val2)
return val1 <= val2;
default:
// incorrect parameter
- ASSERT(false);
+ ABORT();
return false;
}
}
diff --git a/src/server/authserver/Realms/RealmList.cpp b/src/server/authserver/Realms/RealmList.cpp
index 59cb2392063..f5461d5f42e 100644
--- a/src/server/authserver/Realms/RealmList.cpp
+++ b/src/server/authserver/Realms/RealmList.cpp
@@ -145,7 +145,7 @@ void RealmList::UpdateRealms(bool init)
catch (std::exception& ex)
{
TC_LOG_ERROR("server.authserver", "Realmlist::UpdateRealms has thrown an exception: %s", ex.what());
- ASSERT(false);
+ ABORT();
}
}
while (result->NextRow());
diff --git a/src/server/authserver/authserver.conf.dist b/src/server/authserver/authserver.conf.dist
index ba9cb5b23b4..437ec221e94 100644
--- a/src/server/authserver/authserver.conf.dist
+++ b/src/server/authserver/authserver.conf.dist
@@ -182,7 +182,7 @@ Updates.EnableDatabases = 0
Updates.SourcePath = ""
#
-# Updates.SourcePath
+# Updates.MySqlCLIPath
# Description: The path to your mysql cli binary.
# If the path is left empty, built-in path from cmake is used.
# Example: "C:/Program Files/MySQL/MySQL Server 5.6/bin/mysql.exe"
diff --git a/src/server/database/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h
index f5002c6943b..6a0cf71cca6 100644
--- a/src/server/database/Database/DatabaseWorkerPool.h
+++ b/src/server/database/Database/DatabaseWorkerPool.h
@@ -482,7 +482,7 @@ class DatabaseWorkerPool
else if (type == IDX_SYNCH)
t = new T(*_connectionInfo);
else
- ASSERT(false);
+ ABORT();
_connections[type][i] = t;
++_connectionCount[type];
diff --git a/src/server/game/AI/SmartScripts/SmartScript.cpp b/src/server/game/AI/SmartScripts/SmartScript.cpp
index 9fa2269fd8b..dadffe735d2 100644
--- a/src/server/game/AI/SmartScripts/SmartScript.cpp
+++ b/src/server/game/AI/SmartScripts/SmartScript.cpp
@@ -123,13 +123,18 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
ObjectList* targets = GetTargets(e, unit);
Creature* talker = me;
Player* targetPlayer = NULL;
+ Unit* talkTarget = NULL;
+
if (targets)
{
for (ObjectList::const_iterator itr = targets->begin(); itr != targets->end(); ++itr)
{
if (IsCreature(*itr) && !(*itr)->ToCreature()->IsPet()) // Prevented sending text to pets.
{
- talker = (*itr)->ToCreature();
+ if (e.action.talk.useTalkTarget)
+ talkTarget = (*itr)->ToCreature();
+ else
+ talker = (*itr)->ToCreature();
break;
}
else if (IsPlayer(*itr))
@@ -148,7 +153,7 @@ void SmartScript::ProcessAction(SmartScriptHolder& e, Unit* unit, uint32 var0, u
mTalkerEntry = talker->GetEntry();
mLastTextID = e.action.talk.textGroupID;
mTextTimer = e.action.talk.duration;
- Unit* talkTarget = NULL;
+
if (IsPlayer(GetLastInvoker())) // used for $vars in texts and whisper target
talkTarget = GetLastInvoker();
else if (targetPlayer)
diff --git a/src/server/game/AI/SmartScripts/SmartScriptMgr.h b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
index 8565c5d3497..60a4ce5e8ed 100644
--- a/src/server/game/AI/SmartScripts/SmartScriptMgr.h
+++ b/src/server/game/AI/SmartScripts/SmartScriptMgr.h
@@ -426,7 +426,7 @@ enum SMART_SCRIPT_RESPAWN_CONDITION
enum SMART_ACTION
{
SMART_ACTION_NONE = 0, // No action
- SMART_ACTION_TALK = 1, // groupID from creature_text, duration to wait before TEXT_OVER event is triggered
+ SMART_ACTION_TALK = 1, // groupID from creature_text, duration to wait before TEXT_OVER event is triggered, useTalkTarget (0/1) - use target as talk target
SMART_ACTION_SET_FACTION = 2, // FactionId (or 0 for default)
SMART_ACTION_MORPH_TO_ENTRY_OR_MODEL = 3, // Creature_template entry(param1) OR ModelId (param2) (or 0 for both to demorph)
SMART_ACTION_SOUND = 4, // SoundId, onlySelf
@@ -553,6 +553,7 @@ struct SmartAction
{
uint32 textGroupID;
uint32 duration;
+ uint32 useTalkTarget;
} talk;
struct
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
index 00b6862369d..26b7f672cfa 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAB.cpp
@@ -309,7 +309,7 @@ int32 BattlegroundAB::_GetNodeNameId(uint8 node)
case BG_AB_NODE_LUMBER_MILL:return LANG_BG_AB_NODE_LUMBER_MILL;
case BG_AB_NODE_GOLD_MINE: return LANG_BG_AB_NODE_GOLD_MINE;
default:
- ASSERT(false);
+ ABORT();
}
return 0;
}
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
index 9c654a1793c..d4e51315e92 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundAV.cpp
@@ -789,7 +789,7 @@ BG_AV_Nodes BattlegroundAV::GetNodeThroughObject(uint32 object)
if (object == BG_AV_OBJECT_FLAG_N_SNOWFALL_GRAVE)
return BG_AV_NODES_SNOWFALL_GRAVE;
TC_LOG_ERROR("bg.battleground", "BattlegroundAV: ERROR! GetPlace got a wrong object :(");
- ASSERT(false);
+ ABORT();
return BG_AV_Nodes(0);
}
@@ -827,7 +827,7 @@ uint32 BattlegroundAV::GetObjectThroughNode(BG_AV_Nodes node)
else if (m_Nodes[node].Owner == AV_NEUTRAL_TEAM)
return BG_AV_OBJECT_FLAG_N_SNOWFALL_GRAVE;
TC_LOG_ERROR("bg.battleground", "BattlegroundAV: Error! GetPlaceNode couldn't resolve node %i", node);
- ASSERT(false);
+ ABORT();
return 0;
}
@@ -1402,22 +1402,22 @@ void BattlegroundAV::AssaultNode(BG_AV_Nodes node, uint16 team)
if (m_Nodes[node].TotalOwner == team)
{
TC_LOG_FATAL("bg.battleground", "Assaulting team is TotalOwner of node");
- ASSERT(false);
+ ABORT();
}
if (m_Nodes[node].Owner == team)
{
TC_LOG_FATAL("bg.battleground", "Assaulting team is owner of node");
- ASSERT(false);
+ ABORT();
}
if (m_Nodes[node].State == POINT_DESTROYED)
{
TC_LOG_FATAL("bg.battleground", "Destroyed node is being assaulted");
- ASSERT(false);
+ ABORT();
}
if (m_Nodes[node].State == POINT_ASSAULTED && m_Nodes[node].TotalOwner) //only assault an assaulted node if no totalowner exists
{
TC_LOG_FATAL("bg.battleground", "Assault on an not assaulted node with total owner");
- ASSERT(false);
+ ABORT();
}
//the timer gets another time, if the previous owner was 0 == Neutral
m_Nodes[node].Timer = (m_Nodes[node].PrevOwner)? BG_AV_CAPTIME : BG_AV_SNOWFALL_FIRSTCAP;
diff --git a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
index f267bf7c6c6..c7d8132053c 100644
--- a/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
+++ b/src/server/game/Battlegrounds/Zones/BattlegroundSA.cpp
@@ -744,7 +744,7 @@ bool BattlegroundSA::CanInteractWithObject(uint32 objectId)
return false;
break;
default:
- ASSERT(false);
+ ABORT();
break;
}
@@ -877,7 +877,7 @@ void BattlegroundSA::CaptureGraveyard(BG_SA_Graveyards i, Player* Source)
break;
default:
- ASSERT(false);
+ ABORT();
break;
};
}
diff --git a/src/server/game/Chat/Chat.cpp b/src/server/game/Chat/Chat.cpp
index 5a74ad05b66..0d6816fc80d 100644
--- a/src/server/game/Chat/Chat.cpp
+++ b/src/server/game/Chat/Chat.cpp
@@ -186,13 +186,33 @@ bool ChatHandler::hasStringAbbr(const char* name, const char* part)
return true;
}
-void ChatHandler::SendSysMessage(const char *str)
+void ChatHandler::SendSysMessage(const char *str, bool escapeCharacters)
{
WorldPacket data;
// need copy to prevent corruption by strtok call in LineFromMessage original string
- char* buf = strdup(str);
- char* pos = buf;
+ char* buf;
+ char* pos;
+
+ if (escapeCharacters && strchr(str, '|'))
+ {
+ size_t startPos = 0;
+ std::ostringstream o;
+ while (const char* charPos = strchr(str + startPos, '|'))
+ {
+ o.write(str + startPos, charPos - str - startPos);
+ o << "||";
+ startPos = charPos - str + 1;
+ }
+ o.write(str + startPos, strlen(str) - startPos);
+ buf = strdup(o.str().c_str());
+ }
+ else
+ {
+ buf = strdup(str);
+ }
+
+ pos = buf;
while (char* line = LineFromMessage(pos))
{
@@ -1223,7 +1243,7 @@ bool CliHandler::isAvailable(ChatCommand const& cmd) const
return cmd.AllowConsole;
}
-void CliHandler::SendSysMessage(const char *str)
+void CliHandler::SendSysMessage(const char *str, bool /*escapeCharacters*/)
{
m_print(m_callbackArg, str);
m_print(m_callbackArg, "\r\n");
diff --git a/src/server/game/Chat/Chat.h b/src/server/game/Chat/Chat.h
index 1b095534ad0..72d80aba7e6 100644
--- a/src/server/game/Chat/Chat.h
+++ b/src/server/game/Chat/Chat.h
@@ -66,7 +66,7 @@ class ChatHandler
// function with different implementation for chat/console
virtual char const* GetTrinityString(uint32 entry) const;
- virtual void SendSysMessage(char const* str);
+ virtual void SendSysMessage(char const* str, bool escapeCharacters = false);
void SendSysMessage(uint32 entry);
@@ -166,7 +166,7 @@ class CliHandler : public ChatHandler
char const* GetTrinityString(uint32 entry) const override;
bool isAvailable(ChatCommand const& cmd) const override;
bool HasPermission(uint32 /*permission*/) const override { return true; }
- void SendSysMessage(const char *str) override;
+ void SendSysMessage(const char *str, bool escapeCharacters) override;
std::string GetNameLink() const override;
bool needReportToTarget(Player* chr) const override;
LocaleConstant GetSessionDbcLocale() const override;
diff --git a/src/server/game/DataStores/DBCStores.cpp b/src/server/game/DataStores/DBCStores.cpp
index d9061dfb106..e268b376b34 100644
--- a/src/server/game/DataStores/DBCStores.cpp
+++ b/src/server/game/DataStores/DBCStores.cpp
@@ -570,7 +570,7 @@ void LoadDBCStores(const std::string& dataPath)
// fill data
for (uint32 i = 1; i < sTaxiPathNodeStore.GetNumRows(); ++i)
if (TaxiPathNodeEntry const* entry = sTaxiPathNodeStore.LookupEntry(i))
- sTaxiPathNodesByPath[entry->PathID].set(entry->NodeIndex, entry);
+ sTaxiPathNodesByPath[entry->PathID][entry->NodeIndex] = entry;
// Initialize global taxinodes mask
// include existed nodes that have at least single not spell base (scripted) path
diff --git a/src/server/game/DataStores/DBCStructure.h b/src/server/game/DataStores/DBCStructure.h
index c680494cd72..092ef714145 100644
--- a/src/server/game/DataStores/DBCStructure.h
+++ b/src/server/game/DataStores/DBCStructure.h
@@ -22,13 +22,8 @@
#include "Common.h"
#include "DBCEnums.h"
#include "Define.h"
-#include "Path.h"
#include "Util.h"
-#include <map>
-#include <set>
-#include <vector>
-
// Structures using to access raw DBC data and required packing to portability
#pragma pack(push, 1)
@@ -2211,15 +2206,7 @@ struct TaxiPathBySourceAndDestination
typedef std::map<uint32, TaxiPathBySourceAndDestination> TaxiPathSetForSource;
typedef std::map<uint32, TaxiPathSetForSource> TaxiPathSetBySource;
-struct TaxiPathNodePtr
-{
- TaxiPathNodePtr() : i_ptr(NULL) { }
- TaxiPathNodePtr(TaxiPathNodeEntry const* ptr) : i_ptr(ptr) { }
- TaxiPathNodeEntry const* i_ptr;
- operator TaxiPathNodeEntry const& () const { return *i_ptr; }
-};
-
-typedef Path<TaxiPathNodePtr, TaxiPathNodeEntry const> TaxiPathNodeList;
+typedef std::vector<TaxiPathNodeEntry const*> TaxiPathNodeList;
typedef std::vector<TaxiPathNodeList> TaxiPathNodesByPath;
#define TaxiMaskSize 14
diff --git a/src/server/game/DungeonFinding/LFGQueue.cpp b/src/server/game/DungeonFinding/LFGQueue.cpp
index d2140a96a46..86b010a9ace 100644
--- a/src/server/game/DungeonFinding/LFGQueue.cpp
+++ b/src/server/game/DungeonFinding/LFGQueue.cpp
@@ -72,7 +72,7 @@ char const* GetCompatibleString(LfgCompatibility compatibles)
case LFG_INCOMPATIBLES_NO_ROLES:
return "Incompatible roles";
case LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS:
- return "Too much players";
+ return "Too many players";
case LFG_INCOMPATIBLES_WRONG_GROUP_SIZE:
return "Wrong group size";
default:
@@ -80,7 +80,7 @@ char const* GetCompatibleString(LfgCompatibility compatibles)
}
}
-std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check)
+std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check) const
{
if (check.empty())
return "";
@@ -92,31 +92,25 @@ std::string LFGQueue::GetDetailedMatchRoles(GuidList const& check)
GuidSet::const_iterator it = guids.begin();
o << it->GetRawValue();
- LfgQueueDataContainer::iterator itQueue = QueueDataStore.find(*it);
- if (itQueue == QueueDataStore.end())
- {
- TC_LOG_ERROR("lfg.queue.data.details", "Queue data not found for [%s]", it->ToString().c_str());
- o << ' ' << GetRolesString(PLAYER_ROLE_NONE);
- }
- else
+ LfgQueueDataContainer::const_iterator itQueue = QueueDataStore.find(*it);
+ if (itQueue != QueueDataStore.end())
{
// skip leader flag, log only dps/tank/healer
- o << ' ' << GetRolesString(itQueue->second.roles[*it] & uint8(~PLAYER_ROLE_LEADER));
+ auto role = itQueue->second.roles.find(*it);
+ if (role != itQueue->second.roles.end())
+ o << ' ' << GetRolesString(itQueue->second.roles.at(*it) & uint8(~PLAYER_ROLE_LEADER));
}
for (++it; it != guids.end(); ++it)
{
o << '|' << it->GetRawValue();
itQueue = QueueDataStore.find(*it);
- if (itQueue == QueueDataStore.end())
- {
- TC_LOG_ERROR("lfg.queue.data.details", "Queue data not found for [%s]", it->ToString().c_str());
- o << ' ' << GetRolesString(PLAYER_ROLE_NONE);
- }
- else
+ if (itQueue != QueueDataStore.end())
{
// skip leader flag, log only dps/tank/healer
- o << ' ' << GetRolesString(itQueue->second.roles[*it] & uint8(~PLAYER_ROLE_LEADER));
+ auto role = itQueue->second.roles.find(*it);
+ if (role != itQueue->second.roles.end())
+ o << ' ' << GetRolesString(itQueue->second.roles.at(*it) & uint8(~PLAYER_ROLE_LEADER));
}
}
@@ -438,7 +432,7 @@ LfgCompatibility LFGQueue::CheckCompatibility(GuidList check)
if (numPlayers > MAXGROUPSIZE)
{
- TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) Too much players (%u)", GetDetailedMatchRoles(check).c_str(), numPlayers);
+ TC_LOG_DEBUG("lfg.queue.match.compatibility.check", "Guids: (%s) Too many players (%u)", GetDetailedMatchRoles(check).c_str(), numPlayers);
SetCompatibles(strGuids, LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS);
return LFG_INCOMPATIBLES_TOO_MUCH_PLAYERS;
}
@@ -666,7 +660,23 @@ std::string LFGQueue::DumpCompatibleInfo(bool full /* = false */) const
o << "Compatible Map size: " << CompatibleMapStore.size() << "\n";
if (full)
for (LfgCompatibleContainer::const_iterator itr = CompatibleMapStore.begin(); itr != CompatibleMapStore.end(); ++itr)
- o << "(" << itr->first << "): " << GetCompatibleString(itr->second.compatibility) << "\n";
+ {
+ o << "(" << itr->first << "): " << GetCompatibleString(itr->second.compatibility);
+ if (!itr->second.roles.empty())
+ {
+ o << " (";
+ bool first = true;
+ for (const auto& role : itr->second.roles)
+ {
+ if (!first)
+ o << "|";
+ o << role.first.GetRawValue() << " " << GetRolesString(role.second & uint8(~PLAYER_ROLE_LEADER));
+ first = false;
+ }
+ o << ")";
+ }
+ o << "\n";
+ }
return o.str();
}
diff --git a/src/server/game/DungeonFinding/LFGQueue.h b/src/server/game/DungeonFinding/LFGQueue.h
index 77683614d49..f72e9b4fd6d 100644
--- a/src/server/game/DungeonFinding/LFGQueue.h
+++ b/src/server/game/DungeonFinding/LFGQueue.h
@@ -88,7 +88,7 @@ class LFGQueue
public:
// Add/Remove from queue
- std::string GetDetailedMatchRoles(GuidList const& check);
+ std::string GetDetailedMatchRoles(GuidList const& check) const;
void AddToQueue(ObjectGuid guid);
void RemoveFromQueue(ObjectGuid guid);
void AddQueueData(ObjectGuid guid, time_t joinTime, LfgDungeonSet const& dungeons, LfgRolesMap const& rolesMap);
diff --git a/src/server/game/Entities/Creature/CreatureGroups.cpp b/src/server/game/Entities/Creature/CreatureGroups.cpp
index 2ccf4471788..505d41f63e7 100644
--- a/src/server/game/Entities/Creature/CreatureGroups.cpp
+++ b/src/server/game/Entities/Creature/CreatureGroups.cpp
@@ -228,10 +228,11 @@ void CreatureGroup::LeaderMoveTo(float x, float y, float z)
if (itr->second->point_1)
{
- if (m_leader->GetCurrentWaypointID() == itr->second->point_1)
+ if (m_leader->GetCurrentWaypointID() == itr->second->point_1 - 1)
itr->second->follow_angle = (2 * float(M_PI)) - itr->second->follow_angle;
- if (m_leader->GetCurrentWaypointID() == itr->second->point_2)
- itr->second->follow_angle = (2 * float(M_PI)) + itr->second->follow_angle;
+
+ if (m_leader->GetCurrentWaypointID() == itr->second->point_2 - 1)
+ itr->second->follow_angle = (float(M_PI)) + itr->second->follow_angle;
}
float angle = itr->second->follow_angle;
diff --git a/src/server/game/Entities/Creature/GossipDef.cpp b/src/server/game/Entities/Creature/GossipDef.cpp
index 63be8d06739..db67f1f74f1 100644
--- a/src/server/game/Entities/Creature/GossipDef.cpp
+++ b/src/server/game/Entities/Creature/GossipDef.cpp
@@ -381,10 +381,10 @@ void PlayerMenu::SendQuestGiverStatus(uint8 questStatus, ObjectGuid npcGUID) con
void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGUID, bool activateAccept) const
{
- std::string questTitle = quest->GetTitle();
- std::string questDetails = quest->GetDetails();
- std::string questObjectives = quest->GetObjectives();
- std::string questEndText = quest->GetEndText();
+ std::string questTitle = quest->GetTitle();
+ std::string questDetails = quest->GetDetails();
+ std::string questObjectives = quest->GetObjectives();
+ std::string questAreaDescription = quest->GetAreaDescription();
int32 locale = _session->GetSessionDbLocaleIndex();
if (locale >= 0)
@@ -394,7 +394,7 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU
ObjectMgr::GetLocaleString(localeData->Title, locale, questTitle);
ObjectMgr::GetLocaleString(localeData->Details, locale, questDetails);
ObjectMgr::GetLocaleString(localeData->Objectives, locale, questObjectives);
- ObjectMgr::GetLocaleString(localeData->EndText, locale, questEndText);
+ ObjectMgr::GetLocaleString(localeData->AreaDescription, locale, questAreaDescription);
}
}
@@ -489,11 +489,11 @@ void PlayerMenu::SendQuestGiverQuestDetails(Quest const* quest, ObjectGuid npcGU
void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
{
- std::string questTitle = quest->GetTitle();
- std::string questDetails = quest->GetDetails();
- std::string questObjectives = quest->GetObjectives();
- std::string questEndText = quest->GetEndText();
- std::string questCompletedText = quest->GetCompletedText();
+ std::string questTitle = quest->GetTitle();
+ std::string questDetails = quest->GetDetails();
+ std::string questObjectives = quest->GetObjectives();
+ std::string questAreaDescription = quest->GetAreaDescription();
+ std::string questCompletedText = quest->GetCompletedText();
std::string questObjectiveText[QUEST_OBJECTIVES_COUNT];
for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
@@ -507,7 +507,7 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
ObjectMgr::GetLocaleString(localeData->Title, locale, questTitle);
ObjectMgr::GetLocaleString(localeData->Details, locale, questDetails);
ObjectMgr::GetLocaleString(localeData->Objectives, locale, questObjectives);
- ObjectMgr::GetLocaleString(localeData->EndText, locale, questEndText);
+ ObjectMgr::GetLocaleString(localeData->AreaDescription, locale, questAreaDescription);
ObjectMgr::GetLocaleString(localeData->CompletedText, locale, questCompletedText);
for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
@@ -585,9 +585,9 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
for (uint8 i = 0; i < QUEST_REPUTATIONS_COUNT; ++i) // unk (0)
data << int32(quest->RewardFactionValueIdOverride[i]);
- data << uint32(quest->GetPointMapId());
- data << float(quest->GetPointX());
- data << float(quest->GetPointY());
+ data << uint32(quest->GetPOIContinent());
+ data << float(quest->GetPOIx());
+ data << float(quest->GetPOIy());
data << uint32(quest->GetPointOpt());
if (sWorld->getBoolConfig(CONFIG_UI_QUESTLEVELS_IN_DIALOGS))
@@ -596,7 +596,7 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
data << questTitle;
data << questObjectives;
data << questDetails;
- data << questEndText;
+ data << questAreaDescription;
data << questCompletedText; // display in quest objectives window once all objectives are completed
for (uint8 i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
@@ -607,7 +607,7 @@ void PlayerMenu::SendQuestQueryResponse(Quest const* quest) const
data << uint32(quest->RequiredNpcOrGo[i]);
data << uint32(quest->RequiredNpcOrGoCount[i]);
- data << uint32(quest->RequiredSourceItemId[i]);
+ data << uint32(quest->ItemDrop[i]);
data << uint32(0); // req source count?
}
diff --git a/src/server/game/Entities/Creature/TemporarySummon.cpp b/src/server/game/Entities/Creature/TemporarySummon.cpp
index 2a3e91b7574..46422444bbb 100644
--- a/src/server/game/Entities/Creature/TemporarySummon.cpp
+++ b/src/server/game/Entities/Creature/TemporarySummon.cpp
@@ -368,7 +368,7 @@ void Puppet::InitSummon()
{
Minion::InitSummon();
if (!SetCharmedBy(GetOwner(), CHARM_TYPE_POSSESS))
- ASSERT(false);
+ ABORT();
}
void Puppet::Update(uint32 time)
diff --git a/src/server/game/Entities/GameObject/GameObject.h b/src/server/game/Entities/GameObject/GameObject.h
index 7ef8ef2737d..e12bec768fb 100644
--- a/src/server/game/Entities/GameObject/GameObject.h
+++ b/src/server/game/Entities/GameObject/GameObject.h
@@ -680,7 +680,7 @@ class GameObject : public WorldObject, public GridObject<GameObject>, public Map
// Owner already found and different than expected owner - remove object from old owner
if (owner && GetOwnerGUID() && GetOwnerGUID() != owner)
{
- ASSERT(false);
+ ABORT();
}
m_spawnedByDefault = false; // all object with owner is despawned after delay
SetGuidValue(OBJECT_FIELD_CREATED_BY, owner);
diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp
index 141bac5e50f..4f91423d769 100644
--- a/src/server/game/Entities/Item/Item.cpp
+++ b/src/server/game/Entities/Item/Item.cpp
@@ -1070,7 +1070,7 @@ Item* Item::CreateItem(uint32 itemEntry, uint32 count, Player const* player)
delete item;
}
else
- ASSERT(false);
+ ABORT();
return NULL;
}
diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp
index fc55c09bffa..6087e03b1bb 100644
--- a/src/server/game/Entities/Object/Object.cpp
+++ b/src/server/game/Entities/Object/Object.cpp
@@ -67,7 +67,7 @@ WorldObject::~WorldObject()
{
TC_LOG_FATAL("misc", "WorldObject::~WorldObject Corpse Type: %d (%s) deleted but still in map!!",
ToCorpse()->GetType(), GetGUID().ToString().c_str());
- ASSERT(false);
+ ABORT();
}
ResetMap();
}
@@ -80,14 +80,14 @@ Object::~Object()
TC_LOG_FATAL("misc", "Object::~Object %s deleted but still in world!!", GetGUID().ToString().c_str());
if (isType(TYPEMASK_ITEM))
TC_LOG_FATAL("misc", "Item slot %u", ((Item*)this)->GetSlot());
- ASSERT(false);
+ ABORT();
RemoveFromWorld();
}
if (m_objectUpdated)
{
TC_LOG_FATAL("misc", "Object::~Object %s deleted but still in update list!!", GetGUID().ToString().c_str());
- ASSERT(false);
+ ABORT();
sObjectAccessor->RemoveUpdateObject(this);
}
@@ -1795,7 +1795,7 @@ void WorldObject::SetMap(Map* map)
if (m_currMap)
{
TC_LOG_FATAL("misc", "WorldObject::SetMap: obj %u new map %u %u, old map %u %u", (uint32)GetTypeId(), map->GetId(), map->GetInstanceId(), m_currMap->GetId(), m_currMap->GetInstanceId());
- ASSERT(false);
+ ABORT();
}
m_currMap = map;
m_mapId = map->GetId();
diff --git a/src/server/game/Entities/Pet/Pet.h b/src/server/game/Entities/Pet/Pet.h
index b1d7fcaa28a..e47bf220195 100644
--- a/src/server/game/Entities/Pet/Pet.h
+++ b/src/server/game/Entities/Pet/Pet.h
@@ -159,11 +159,11 @@ class Pet : public Guardian
private:
void SaveToDB(uint32, uint8, uint32) override // override of Creature::SaveToDB - must not be called
{
- ASSERT(false);
+ ABORT();
}
void DeleteFromDB() override // override of Creature::DeleteFromDB - must not be called
{
- ASSERT(false);
+ ABORT();
}
};
#endif
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 88d7dfa6381..e4e07cfeb53 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -8335,9 +8335,6 @@ void Player::CastItemUseSpell(Item* item, SpellCastTargets const& targets, uint8
return;
}
- // use triggered flag only for items with many spell casts and for not first cast
- uint8 count = 0;
-
// item spells cast at use
for (uint8 i = 0; i < MAX_ITEM_PROTO_SPELLS; ++i)
{
@@ -8358,13 +8355,12 @@ void Player::CastItemUseSpell(Item* item, SpellCastTargets const& targets, uint8
continue;
}
- Spell* spell = new Spell(this, spellInfo, (count > 0) ? TRIGGERED_FULL_MASK : TRIGGERED_NONE);
+ Spell* spell = new Spell(this, spellInfo, TRIGGERED_NONE);
spell->m_CastItem = item;
spell->m_cast_count = cast_count; // set count of casts
spell->m_glyphIndex = glyphIndex; // glyph index
spell->prepare(&targets);
-
- ++count;
+ return;
}
// Item enchantments spells cast at use
@@ -8386,13 +8382,12 @@ void Player::CastItemUseSpell(Item* item, SpellCastTargets const& targets, uint8
continue;
}
- Spell* spell = new Spell(this, spellInfo, (count > 0) ? TRIGGERED_FULL_MASK : TRIGGERED_NONE);
+ Spell* spell = new Spell(this, spellInfo, TRIGGERED_NONE);
spell->m_CastItem = item;
spell->m_cast_count = cast_count; // set count of casts
spell->m_glyphIndex = glyphIndex; // glyph index
spell->prepare(&targets);
-
- ++count;
+ return;
}
}
}
@@ -15065,15 +15060,15 @@ void Player::AddQuest(Quest const* quest, Object* questGiver)
uint32 qtime = 0;
if (quest->HasSpecialFlag(QUEST_SPECIAL_FLAGS_TIMED))
{
- uint32 limittime = quest->GetLimitTime();
+ uint32 timeAllowed = quest->GetTimeAllowed();
// shared timed quest
if (questGiver && questGiver->GetTypeId() == TYPEID_PLAYER)
- limittime = questGiver->ToPlayer()->getQuestStatusMap()[quest_id].Timer / IN_MILLISECONDS;
+ timeAllowed = questGiver->ToPlayer()->getQuestStatusMap()[quest_id].Timer / IN_MILLISECONDS;
AddTimedQuest(quest_id);
- questStatusData.Timer = limittime * IN_MILLISECONDS;
- qtime = static_cast<uint32>(time(NULL)) + limittime;
+ questStatusData.Timer = timeAllowed * IN_MILLISECONDS;
+ qtime = static_cast<uint32>(time(NULL)) + timeAllowed;
}
else
questStatusData.Timer = 0;
@@ -15163,10 +15158,10 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
for (uint8 i = 0; i < QUEST_SOURCE_ITEM_IDS_COUNT; ++i)
{
- if (quest->RequiredSourceItemId[i])
+ if (quest->ItemDrop[i])
{
- uint32 count = quest->RequiredSourceItemCount[i];
- DestroyItemCount(quest->RequiredSourceItemId[i], count ? count : 9999, true);
+ uint32 count = quest->ItemDropQuantity[i];
+ DestroyItemCount(quest->ItemDrop[i], count ? count : 9999, true);
}
}
@@ -15373,9 +15368,9 @@ void Player::FailQuest(uint32 questId)
// Destroy items received on starting the quest.
DestroyItemCount(quest->RequiredItemId[i], quest->RequiredItemCount[i], true, true);
for (uint8 i = 0; i < QUEST_SOURCE_ITEM_IDS_COUNT; ++i)
- if (quest->RequiredSourceItemId[i] > 0 && quest->RequiredSourceItemCount[i] > 0)
+ if (quest->ItemDrop[i] > 0 && quest->ItemDropQuantity[i] > 0)
// Destroy items received during the quest.
- DestroyItemCount(quest->RequiredSourceItemId[i], quest->RequiredSourceItemCount[i], true, true);
+ DestroyItemCount(quest->ItemDrop[i], quest->ItemDropQuantity[i], true, true);
}
}
@@ -15557,7 +15552,7 @@ bool Player::SatisfyQuestClass(Quest const* qInfo, bool msg) const
bool Player::SatisfyQuestRace(Quest const* qInfo, bool msg)
{
- uint32 reqraces = qInfo->GetRequiredRaces();
+ uint32 reqraces = qInfo->GetAllowableRaces();
if (reqraces == 0)
return true;
if ((reqraces & getRaceMask()) == 0)
@@ -16678,7 +16673,7 @@ bool Player::HasQuestForItem(uint32 itemid) const
for (uint8 j = 0; j < QUEST_SOURCE_ITEM_IDS_COUNT; ++j)
{
// examined item is a source item
- if (qinfo->RequiredSourceItemId[j] == itemid)
+ if (qinfo->ItemDrop[j] == itemid)
{
ItemTemplate const* pProto = sObjectMgr->GetItemTemplate(itemid);
@@ -16687,9 +16682,9 @@ bool Player::HasQuestForItem(uint32 itemid) const
return true;
// allows custom amount drop when not 0
- if (qinfo->RequiredSourceItemCount[j])
+ if (qinfo->ItemDropQuantity[j])
{
- if (GetItemCount(itemid, true) < qinfo->RequiredSourceItemCount[j])
+ if (GetItemCount(itemid, true) < qinfo->ItemDropQuantity[j])
return true;
} else if (GetItemCount(itemid, true) < pProto->GetMaxStackSize())
return true;
@@ -20445,7 +20440,7 @@ void Player::StopCastingCharm()
if (charm->GetCharmerGUID())
{
TC_LOG_FATAL("entities.player", "Charmed unit has charmer %s", charm->GetCharmerGUID().ToString().c_str());
- ASSERT(false);
+ ABORT();
}
else
SetCharm(charm, false);
@@ -21163,6 +21158,7 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
// fill destinations path tail
uint32 sourcepath = 0;
uint32 totalcost = 0;
+ uint32 firstcost = 0;
uint32 prevnode = sourcenode;
uint32 lastnode = 0;
@@ -21181,6 +21177,8 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
}
totalcost += cost;
+ if (i == 1)
+ firstcost = cost;
if (prevnode == sourcenode)
sourcepath = path;
@@ -21219,8 +21217,6 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
}
//Checks and preparations done, DO FLIGHT
- ModifyMoney(-(int32)totalcost);
- UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, totalcost);
UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_FLIGHT_PATHS_TAKEN, 1);
// prevent stealth flight
@@ -21231,11 +21227,15 @@ bool Player::ActivateTaxiPathTo(std::vector<uint32> const& nodes, Creature* npc
TaxiNodesEntry const* lastPathNode = sTaxiNodesStore.LookupEntry(nodes[nodes.size()-1]);
ASSERT(lastPathNode);
m_taxi.ClearTaxiDestinations();
+ ModifyMoney(-(int32)totalcost);
+ UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, totalcost);
TeleportTo(lastPathNode->map_id, lastPathNode->x, lastPathNode->y, lastPathNode->z, GetOrientation());
return false;
}
else
{
+ ModifyMoney(-(int32)firstcost);
+ UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, firstcost);
GetSession()->SendActivateTaxiReply(ERR_TAXIOK);
GetSession()->SendDoFlight(mount_display_id, sourcepath);
}
@@ -21286,30 +21286,30 @@ void Player::ContinueTaxiFlight()
float distPrev = MAP_SIZE*MAP_SIZE;
float distNext =
- (nodeList[0].LocX-GetPositionX())*(nodeList[0].LocX-GetPositionX())+
- (nodeList[0].LocY-GetPositionY())*(nodeList[0].LocY-GetPositionY())+
- (nodeList[0].LocZ-GetPositionZ())*(nodeList[0].LocZ-GetPositionZ());
+ (nodeList[0]->LocX - GetPositionX())*(nodeList[0]->LocX - GetPositionX()) +
+ (nodeList[0]->LocY - GetPositionY())*(nodeList[0]->LocY - GetPositionY()) +
+ (nodeList[0]->LocZ - GetPositionZ())*(nodeList[0]->LocZ - GetPositionZ());
for (uint32 i = 1; i < nodeList.size(); ++i)
{
- TaxiPathNodeEntry const& node = nodeList[i];
- TaxiPathNodeEntry const& prevNode = nodeList[i-1];
+ TaxiPathNodeEntry const* node = nodeList[i];
+ TaxiPathNodeEntry const* prevNode = nodeList[i-1];
// skip nodes at another map
- if (node.MapID != GetMapId())
+ if (node->MapID != GetMapId())
continue;
distPrev = distNext;
distNext =
- (node.LocX-GetPositionX())*(node.LocX-GetPositionX())+
- (node.LocY-GetPositionY())*(node.LocY-GetPositionY())+
- (node.LocZ-GetPositionZ())*(node.LocZ-GetPositionZ());
+ (node->LocX - GetPositionX())*(node->LocX - GetPositionX()) +
+ (node->LocY - GetPositionY())*(node->LocY - GetPositionY()) +
+ (node->LocZ - GetPositionZ())*(node->LocZ - GetPositionZ());
float distNodes =
- (node.LocX-prevNode.LocX)*(node.LocX-prevNode.LocX)+
- (node.LocY-prevNode.LocY)*(node.LocY-prevNode.LocY)+
- (node.LocZ-prevNode.LocZ)*(node.LocZ-prevNode.LocZ);
+ (node->LocX - prevNode->LocX)*(node->LocX - prevNode->LocX) +
+ (node->LocY - prevNode->LocY)*(node->LocY - prevNode->LocY) +
+ (node->LocZ - prevNode->LocZ)*(node->LocZ - prevNode->LocZ);
if (distNext + distPrev < distNodes)
{
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index a031840a1d8..94d0fa5697c 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -952,6 +952,8 @@ class PlayerTaxi
m_TaxiDestinations.pop_front();
return GetTaxiDestination();
}
+
+ std::deque<uint32> const& GetPath() const { return m_TaxiDestinations; }
bool empty() const { return m_TaxiDestinations.empty(); }
friend std::ostringstream& operator<< (std::ostringstream& ss, PlayerTaxi const& taxi);
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index d02a22d43f4..f8810c9d14f 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -3520,7 +3520,7 @@ void Unit::_UnapplyAura(AuraApplication * aurApp, AuraRemoveMode removeMode)
else
++iter;
}
- ASSERT(false);
+ ABORT();
}
void Unit::_RemoveNoStackAurasDueToAura(Aura* aura)
@@ -3630,7 +3630,7 @@ void Unit::RemoveOwnedAura(Aura* aura, AuraRemoveMode removeMode)
}
}
- ASSERT(false);
+ ABORT();
}
Aura* Unit::GetOwnedAura(uint32 spellId, ObjectGuid casterGUID, ObjectGuid itemCasterGUID, uint8 reqEffMask, Aura* except) const
@@ -9450,7 +9450,7 @@ void Unit::SetMinion(Minion *minion, bool apply)
{
OutDebugInfo();
(*itr)->OutDebugInfo();
- ASSERT(false);
+ ABORT();
}
ASSERT((*itr)->GetTypeId() == TYPEID_UNIT);
@@ -13171,6 +13171,10 @@ bool Unit::IsInFeralForm() const
bool Unit::IsInDisallowedMountForm() const
{
+ if (SpellInfo const* transformSpellInfo = sSpellMgr->GetSpellInfo(getTransForm()))
+ if (transformSpellInfo->HasAttribute(SPELL_ATTR0_CASTABLE_WHILE_MOUNTED))
+ return false;
+
if (ShapeshiftForm form = GetShapeshiftForm())
{
SpellShapeshiftEntry const* shapeshift = sSpellShapeshiftStore.LookupEntry(form);
@@ -13600,7 +13604,7 @@ void Unit::RemoveFromWorld()
if (GetCharmerGUID())
{
TC_LOG_FATAL("entities.unit", "Unit %u has charmer guid when removed from world", GetEntry());
- ASSERT(false);
+ ABORT();
}
if (Unit* owner = GetOwner())
@@ -13608,7 +13612,7 @@ void Unit::RemoveFromWorld()
if (owner->m_Controlled.find(this) != owner->m_Controlled.end())
{
TC_LOG_FATAL("entities.unit", "Unit %u is in controlled list of %u when removed from world", GetEntry(), owner->GetEntry());
- ASSERT(false);
+ ABORT();
}
}
@@ -15976,7 +15980,7 @@ void Unit::RemoveCharmedBy(Unit* charmer)
{
// TC_LOG_FATAL("entities.unit", "Unit::RemoveCharmedBy: this: " UI64FMTD " true charmer: " UI64FMTD " false charmer: " UI64FMTD,
// GetGUID(), GetCharmerGUID(), charmer->GetGUID());
-// ASSERT(false);
+// ABORT();
return;
}
@@ -17273,7 +17277,7 @@ void Unit::SendChangeCurrentVictimOpcode(HostileReference* pHostileReference)
for (ThreatContainer::StorageType::const_iterator itr = tlist.begin(); itr != tlist.end(); ++itr)
{
data << (*itr)->getUnitGuid().WriteAsPacked();
- data << uint32((*itr)->getThreat());
+ data << uint32((*itr)->getThreat() * 100);
}
SendMessageToSet(&data, false);
}
diff --git a/src/server/game/Globals/ObjectMgr.cpp b/src/server/game/Globals/ObjectMgr.cpp
index a568409d918..524bb442868 100644
--- a/src/server/game/Globals/ObjectMgr.cpp
+++ b/src/server/game/Globals/ObjectMgr.cpp
@@ -3966,31 +3966,31 @@ void ObjectMgr::LoadQuests()
mExclusiveQuestGroups.clear();
QueryResult result = WorldDatabase.Query("SELECT "
- //0 1 2 3 4 5 6 7 8
- "ID, Method, QuestLevel, MinLevel, QuestSortID, QuestType, SuggestedGroupNum, LimitTime, RequiredRaces,"
+ //0 1 2 3 4 5 6 7 8
+ "ID, QuestType, QuestLevel, MinLevel, QuestSortID, QuestInfoID, SuggestedGroupNum, TimeAllowed, AllowableRaces,"
// 9 10 11 12
"RequiredFactionId1, RequiredFactionId2, RequiredFactionValue1, RequiredFactionValue2, "
- // 13 14 15 16 17 18 19 20
- "NextQuestIdChain, RewardXPId, RewardOrRequiredMoney, RewardMoneyMaxLevel, RewardSpell, RewardSpellCast, RewardHonor, RewardHonorMultiplier, "
- // 21 22 23 24 25 26
- "SourceItemId, Flags, RewardTitle, RequiredPlayerKills, RewardTalents, RewardArenaPoints, "
+ // 13 14 15 16 17 18 19 20
+ "RewardNextQuest, RewardXPDifficulty, RewardMoney, RewardBonusMoney, RewardDisplaySpell, RewardSpell, RewardHonor, RewardKillHonor, "
+ // 21 22 23 24 25 26
+ "StartItem, Flags, RewardTitle, RequiredPlayerKills, RewardTalents, RewardArenaPoints, "
// 27 28 29 30 31 32 33 34
"RewardItem1, RewardAmount1, RewardItem2, RewardAmount2, RewardItem3, RewardAmount3, RewardItem4, RewardAmount4, "
// 35 36 37 38 39 40 41 42 43 44 45 46
"RewardChoiceItemID1, RewardChoiceItemQuantity1, RewardChoiceItemID2, RewardChoiceItemQuantity2, RewardChoiceItemID3, RewardChoiceItemQuantity3, RewardChoiceItemID4, RewardChoiceItemQuantity4, RewardChoiceItemID5, RewardChoiceItemQuantity5, RewardChoiceItemID6, RewardChoiceItemQuantity6, "
// 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
"RewardFactionID1, RewardFactionValue1, RewardFactionOverride1, RewardFactionID2, RewardFactionValue2, RewardFactionOverride2, RewardFactionID3, RewardFactionValue3, RewardFactionOverride3, RewardFactionID4, RewardFactionValue4, RewardFactionOverride4, RewardFactionID5, RewardFactionValue5, RewardFactionOverride5,"
- // 62 63 64 65
- "PointMapId, PointX, PointY, PointOption, "
- // 66 67 68 69 70
- "LogTitle, LogDescription, QuestDescription, EndText, QuestCompletionLog, "
+ // 62 63 64 65
+ "POIContinent, POIx, POIy, POIPriority, "
+ // 66 67 68 69 70
+ "LogTitle, LogDescription, QuestDescription, AreaDescription, QuestCompletionLog, "
// 71 72 73 74 75 76 77 78
"RequiredNpcOrGo1, RequiredNpcOrGo2, RequiredNpcOrGo3, RequiredNpcOrGo4, RequiredNpcOrGoCount1, RequiredNpcOrGoCount2, RequiredNpcOrGoCount3, RequiredNpcOrGoCount4, "
- // 79 80 81 82 83 84 85 86
- "RequiredSourceItemId1, RequiredSourceItemId2, RequiredSourceItemId3, RequiredSourceItemId4, RequiredSourceItemCount1, RequiredSourceItemCount2, RequiredSourceItemCount3, RequiredSourceItemCount4, "
+ // 79 80 81 82 83 84 85 86
+ "ItemDrop1, ItemDrop2, ItemDrop3, ItemDrop4, ItemDropQuantity1, ItemDropQuantity2, ItemDropQuantity3, ItemDropQuantity4, "
// 87 88 89 90 91 92 93 94 95 96 97 98
"RequiredItemId1, RequiredItemId2, RequiredItemId3, RequiredItemId4, RequiredItemId5, RequiredItemId6, RequiredItemCount1, RequiredItemCount2, RequiredItemCount3, RequiredItemCount4, RequiredItemCount5, RequiredItemCount6, "
- // 99 100 101 102 103
+ // 99 100 101 102 103
"Unknown0, ObjectiveText1, ObjectiveText2, ObjectiveText3, ObjectiveText4"
" FROM quest_template");
if (!result)
@@ -4011,7 +4011,7 @@ void ObjectMgr::LoadQuests()
} while (result->NextRow());
std::map<uint32, uint32> usedMailTemplates;
-
+
// Load `quest_details`
// 0 1 2 3 4 5 6 7 8
result = WorldDatabase.Query("SELECT ID, Emote1, Emote2, Emote3, Emote4, EmoteDelay1, EmoteDelay2, EmoteDelay3, EmoteDelay4 FROM quest_details");
@@ -4215,13 +4215,13 @@ void ObjectMgr::LoadQuests()
qinfo->RequiredClasses = 0;
}
}
- // RequiredRaces, can be 0/RACEMASK_ALL_PLAYABLE to allow any race
- if (qinfo->RequiredRaces)
+ // AllowableRaces, can be 0/RACEMASK_ALL_PLAYABLE to allow any race
+ if (qinfo->AllowableRaces)
{
- if (!(qinfo->RequiredRaces & RACEMASK_ALL_PLAYABLE))
+ if (!(qinfo->AllowableRaces & RACEMASK_ALL_PLAYABLE))
{
- TC_LOG_ERROR("sql.sql", "Quest %u does not contain any playable races in `RequiredRaces` (%u), value set to 0 (all races).", qinfo->GetQuestId(), qinfo->RequiredRaces);
- qinfo->RequiredRaces = 0;
+ TC_LOG_ERROR("sql.sql", "Quest %u does not contain any playable races in `AllowableRaces` (%u), value set to 0 (all races).", qinfo->GetQuestId(), qinfo->AllowableRaces);
+ qinfo->AllowableRaces = 0;
}
}
// RequiredSkillId, can be 0
@@ -4323,26 +4323,26 @@ void ObjectMgr::LoadQuests()
// quest can't reward this title
}
- if (qinfo->SourceItemId)
+ if (qinfo->StartItem)
{
- if (!sObjectMgr->GetItemTemplate(qinfo->SourceItemId))
+ if (!sObjectMgr->GetItemTemplate(qinfo->StartItem))
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `SourceItemId` = %u but item with entry %u does not exist, quest can't be done.",
- qinfo->GetQuestId(), qinfo->SourceItemId, qinfo->SourceItemId);
- qinfo->SourceItemId = 0; // quest can't be done for this requirement
+ TC_LOG_ERROR("sql.sql", "Quest %u has `StartItem` = %u but item with entry %u does not exist, quest can't be done.",
+ qinfo->GetQuestId(), qinfo->StartItem, qinfo->StartItem);
+ qinfo->StartItem = 0; // quest can't be done for this requirement
}
- else if (qinfo->SourceItemIdCount == 0)
+ else if (qinfo->StartItemCount == 0)
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `SourceItemId` = %u but `SourceItemIdCount` = 0, set to 1 but need fix in DB.",
- qinfo->GetQuestId(), qinfo->SourceItemId);
- qinfo->SourceItemIdCount = 1; // update to 1 for allow quest work for backward compatibility with DB
+ TC_LOG_ERROR("sql.sql", "Quest %u has `StartItem` = %u but `StartItemCount` = 0, set to 1 but need fix in DB.",
+ qinfo->GetQuestId(), qinfo->StartItem);
+ qinfo->StartItemCount = 1; // update to 1 for allow quest work for backward compatibility with DB
}
}
- else if (qinfo->SourceItemIdCount>0)
+ else if (qinfo->StartItemCount>0)
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `SourceItemId` = 0 but `SourceItemIdCount` = %u, useless value.",
- qinfo->GetQuestId(), qinfo->SourceItemIdCount);
- qinfo->SourceItemIdCount=0; // no quest work changes in fact
+ TC_LOG_ERROR("sql.sql", "Quest %u has `StartItem` = 0 but `StartItemCount` = %u, useless value.",
+ qinfo->GetQuestId(), qinfo->StartItemCount);
+ qinfo->StartItemCount=0; // no quest work changes in fact
}
if (qinfo->SourceSpellid)
@@ -4393,22 +4393,22 @@ void ObjectMgr::LoadQuests()
for (uint8 j = 0; j < QUEST_SOURCE_ITEM_IDS_COUNT; ++j)
{
- uint32 id = qinfo->RequiredSourceItemId[j];
+ uint32 id = qinfo->ItemDrop[j];
if (id)
{
if (!sObjectMgr->GetItemTemplate(id))
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RequiredSourceItemId%d` = %u but item with entry %u does not exist, quest can't be done.",
+ TC_LOG_ERROR("sql.sql", "Quest %u has `ItemDrop%d` = %u but item with entry %u does not exist, quest can't be done.",
qinfo->GetQuestId(), j+1, id, id);
// no changes, quest can't be done for this requirement
}
}
else
{
- if (qinfo->RequiredSourceItemCount[j]>0)
+ if (qinfo->ItemDropQuantity[j]>0)
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RequiredSourceItemId%d` = 0 but `RequiredSourceItemCount%d` = %u.",
- qinfo->GetQuestId(), j+1, j+1, qinfo->RequiredSourceItemCount[j]);
+ TC_LOG_ERROR("sql.sql", "Quest %u has `ItemDrop%d` = 0 but `ItemDropQuantity%d` = %u.",
+ qinfo->GetQuestId(), j+1, j+1, qinfo->ItemDropQuantity[j]);
// no changes, quest ignore this data
}
}
@@ -4529,55 +4529,55 @@ void ObjectMgr::LoadQuests()
}
}
- if (qinfo->RewardSpell)
+ if (qinfo->RewardDisplaySpell)
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(qinfo->RewardSpell);
+ SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(qinfo->RewardDisplaySpell);
if (!spellInfo)
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpell` = %u but spell %u does not exist, spell removed as display reward.",
- qinfo->GetQuestId(), qinfo->RewardSpell, qinfo->RewardSpell);
- qinfo->RewardSpell = 0; // no spell reward will display for this quest
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardDisplaySpell` = %u but spell %u does not exist, spell removed as display reward.",
+ qinfo->GetQuestId(), qinfo->RewardDisplaySpell, qinfo->RewardDisplaySpell);
+ qinfo->RewardDisplaySpell = 0; // no spell reward will display for this quest
}
else if (!SpellMgr::IsSpellValid(spellInfo))
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpell` = %u but spell %u is broken, quest will not have a spell reward.",
- qinfo->GetQuestId(), qinfo->RewardSpell, qinfo->RewardSpell);
- qinfo->RewardSpell = 0; // no spell reward will display for this quest
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardDisplaySpell` = %u but spell %u is broken, quest will not have a spell reward.",
+ qinfo->GetQuestId(), qinfo->RewardDisplaySpell, qinfo->RewardDisplaySpell);
+ qinfo->RewardDisplaySpell = 0; // no spell reward will display for this quest
}
- else if (GetTalentSpellCost(qinfo->RewardSpell))
+ else if (GetTalentSpellCost(qinfo->RewardDisplaySpell))
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpell` = %u but spell %u is talent, quest will not have a spell reward.",
- qinfo->GetQuestId(), qinfo->RewardSpell, qinfo->RewardSpell);
- qinfo->RewardSpell = 0; // no spell reward will display for this quest
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardDisplaySpell` = %u but spell %u is talent, quest will not have a spell reward.",
+ qinfo->GetQuestId(), qinfo->RewardDisplaySpell, qinfo->RewardDisplaySpell);
+ qinfo->RewardDisplaySpell = 0; // no spell reward will display for this quest
}
}
- if (qinfo->RewardSpellCast > 0)
+ if (qinfo->RewardSpell > 0)
{
- SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(qinfo->RewardSpellCast);
+ SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(qinfo->RewardSpell);
if (!spellInfo)
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpellCast` = %u but spell %u does not exist, quest will not have a spell reward.",
- qinfo->GetQuestId(), qinfo->RewardSpellCast, qinfo->RewardSpellCast);
- qinfo->RewardSpellCast = 0; // no spell will be cast on player
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpell` = %u but spell %u does not exist, quest will not have a spell reward.",
+ qinfo->GetQuestId(), qinfo->RewardSpell, qinfo->RewardSpell);
+ qinfo->RewardSpell = 0; // no spell will be cast on player
}
else if (!SpellMgr::IsSpellValid(spellInfo))
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpellCast` = %u but spell %u is broken, quest will not have a spell reward.",
- qinfo->GetQuestId(), qinfo->RewardSpellCast, qinfo->RewardSpellCast);
- qinfo->RewardSpellCast = 0; // no spell will be cast on player
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpell` = %u but spell %u is broken, quest will not have a spell reward.",
+ qinfo->GetQuestId(), qinfo->RewardSpell, qinfo->RewardSpell);
+ qinfo->RewardSpell = 0; // no spell will be cast on player
}
- else if (GetTalentSpellCost(qinfo->RewardSpellCast))
+ else if (GetTalentSpellCost(qinfo->RewardSpell))
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `RewardSpell` = %u but spell %u is talent, quest will not have a spell reward.",
- qinfo->GetQuestId(), qinfo->RewardSpellCast, qinfo->RewardSpellCast);
- qinfo->RewardSpellCast = 0; // no spell will be cast on player
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardDisplaySpell` = %u but spell %u is talent, quest will not have a spell reward.",
+ qinfo->GetQuestId(), qinfo->RewardSpell, qinfo->RewardSpell);
+ qinfo->RewardSpell = 0; // no spell will be cast on player
}
}
@@ -4602,14 +4602,14 @@ void ObjectMgr::LoadQuests()
usedMailTemplates[qinfo->RewardMailTemplateId] = qinfo->GetQuestId();
}
- if (qinfo->NextQuestIdChain)
+ if (qinfo->RewardNextQuest)
{
- QuestMap::iterator qNextItr = _questTemplates.find(qinfo->NextQuestIdChain);
+ QuestMap::iterator qNextItr = _questTemplates.find(qinfo->RewardNextQuest);
if (qNextItr == _questTemplates.end())
{
- TC_LOG_ERROR("sql.sql", "Quest %u has `NextQuestIdChain` = %u but quest %u does not exist, quest chain will not work.",
- qinfo->GetQuestId(), qinfo->NextQuestIdChain, qinfo->NextQuestIdChain);
- qinfo->NextQuestIdChain = 0;
+ TC_LOG_ERROR("sql.sql", "Quest %u has `RewardNextQuest` = %u but quest %u does not exist, quest chain will not work.",
+ qinfo->GetQuestId(), qinfo->RewardNextQuest, qinfo->RewardNextQuest);
+ qinfo->RewardNextQuest = 0;
}
else
qNextItr->second->prevChainQuests.push_back(qinfo->GetQuestId());
@@ -4644,7 +4644,7 @@ void ObjectMgr::LoadQuests()
if (qinfo->ExclusiveGroup)
mExclusiveQuestGroups.insert(std::pair<int32, uint32>(qinfo->ExclusiveGroup, qinfo->GetQuestId()));
- if (qinfo->LimitTime)
+ if (qinfo->TimeAllowed)
qinfo->SetSpecialFlag(QUEST_SPECIAL_FLAGS_TIMED);
if (qinfo->RequiredPlayerKills)
qinfo->SetSpecialFlag(QUEST_SPECIAL_FLAGS_PLAYER_KILL);
@@ -4720,7 +4720,7 @@ void ObjectMgr::LoadQuestLocales()
AddLocaleString(fields[1 + 11 * (i - 1) + 2].GetString(), locale, data.Objectives);
AddLocaleString(fields[1 + 11 * (i - 1) + 3].GetString(), locale, data.OfferRewardText);
AddLocaleString(fields[1 + 11 * (i - 1) + 4].GetString(), locale, data.RequestItemsText);
- AddLocaleString(fields[1 + 11 * (i - 1) + 5].GetString(), locale, data.EndText);
+ AddLocaleString(fields[1 + 11 * (i - 1) + 5].GetString(), locale, data.AreaDescription);
AddLocaleString(fields[1 + 11 * (i - 1) + 6].GetString(), locale, data.CompletedText);
for (uint8 k = 0; k < 4; ++k)
@@ -5090,13 +5090,13 @@ void ObjectMgr::LoadEventScripts()
{
for (size_t node_idx = 0; node_idx < sTaxiPathNodesByPath[path_idx].size(); ++node_idx)
{
- TaxiPathNodeEntry const& node = sTaxiPathNodesByPath[path_idx][node_idx];
+ TaxiPathNodeEntry const* node = sTaxiPathNodesByPath[path_idx][node_idx];
- if (node.ArrivalEventID)
- evt_scripts.insert(node.ArrivalEventID);
+ if (node->ArrivalEventID)
+ evt_scripts.insert(node->ArrivalEventID);
- if (node.DepartureEventID)
- evt_scripts.insert(node.DepartureEventID);
+ if (node->DepartureEventID)
+ evt_scripts.insert(node->DepartureEventID);
}
}
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 11b31d98cc8..b6e8d3c3ede 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -1942,7 +1942,7 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
{
Quest const* quest = iter->second;
uint32 newRaceMask = (team == TEAM_ALLIANCE) ? RACEMASK_ALLIANCE : RACEMASK_HORDE;
- if (!(quest->GetRequiredRaces() & newRaceMask))
+ if (!(quest->GetAllowableRaces() & newRaceMask))
{
stmt = CharacterDatabase.GetPreparedStatement(CHAR_UPD_CHAR_QUESTSTATUS_REWARDED_ACTIVE_BY_QUEST);
stmt->setUInt32(0, lowGuid);
diff --git a/src/server/game/Handlers/TaxiHandler.cpp b/src/server/game/Handlers/TaxiHandler.cpp
index af0f5b0fc75..a671250c17d 100644
--- a/src/server/game/Handlers/TaxiHandler.cpp
+++ b/src/server/game/Handlers/TaxiHandler.cpp
@@ -24,7 +24,6 @@
#include "Log.h"
#include "ObjectMgr.h"
#include "Player.h"
-#include "Path.h"
#include "WaypointMovementGenerator.h"
void WorldSession::HandleTaxiNodeStatusQueryOpcode(WorldPacket& recvData)
@@ -212,7 +211,7 @@ void WorldSession::HandleMoveSplineDoneOpcode(WorldPacket& recvData)
MovementInfo movementInfo; // used only for proper packet read
ReadMovementInfo(recvData, &movementInfo);
- recvData.read_skip<uint32>(); // unk
+ recvData.read_skip<uint32>(); // spline id
// in taxi flight packet received in 2 case:
// 1) end taxi path in far (multi-node) flight
@@ -220,59 +219,32 @@ void WorldSession::HandleMoveSplineDoneOpcode(WorldPacket& recvData)
// we need process only (1)
uint32 curDest = GetPlayer()->m_taxi.GetTaxiDestination();
- if (!curDest)
- return;
-
- TaxiNodesEntry const* curDestNode = sTaxiNodesStore.LookupEntry(curDest);
-
- // far teleport case
- if (curDestNode && curDestNode->map_id != GetPlayer()->GetMapId())
+ if (curDest)
{
- if (GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE)
- {
- // short preparations to continue flight
- FlightPathMovementGenerator* flight = (FlightPathMovementGenerator*)(GetPlayer()->GetMotionMaster()->top());
-
- flight->SetCurrentNodeAfterTeleport();
- TaxiPathNodeEntry const& node = flight->GetPath()[flight->GetCurrentNode()];
- flight->SkipCurrentNode();
+ TaxiNodesEntry const* curDestNode = sTaxiNodesStore.LookupEntry(curDest);
- GetPlayer()->TeleportTo(curDestNode->map_id, node.LocX, node.LocY, node.LocZ, GetPlayer()->GetOrientation());
- }
- return;
- }
-
- uint32 destinationnode = GetPlayer()->m_taxi.NextTaxiDestination();
- if (destinationnode > 0) // if more destinations to go
- {
- // current source node for next destination
- uint32 sourcenode = GetPlayer()->m_taxi.GetTaxiSource();
-
- // Add to taximask middle hubs in taxicheat mode (to prevent having player with disabled taxicheat and not having back flight path)
- if (GetPlayer()->isTaxiCheater())
+ // far teleport case
+ if (curDestNode && curDestNode->map_id != GetPlayer()->GetMapId())
{
- if (GetPlayer()->m_taxi.SetTaximaskNode(sourcenode))
+ if (GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE)
{
- WorldPacket data(SMSG_NEW_TAXI_PATH, 0);
- _player->GetSession()->SendPacket(&data);
- }
- }
+ // short preparations to continue flight
+ FlightPathMovementGenerator* flight = (FlightPathMovementGenerator*)(GetPlayer()->GetMotionMaster()->top());
- TC_LOG_DEBUG("network", "WORLD: Taxi has to go from %u to %u", sourcenode, destinationnode);
+ flight->SetCurrentNodeAfterTeleport();
+ TaxiPathNodeEntry const* node = flight->GetPath()[flight->GetCurrentNode()];
+ flight->SkipCurrentNode();
- uint32 mountDisplayId = sObjectMgr->GetTaxiMountDisplayId(sourcenode, GetPlayer()->GetTeam());
-
- uint32 path, cost;
- sObjectMgr->GetTaxiPath(sourcenode, destinationnode, path, cost);
+ GetPlayer()->TeleportTo(curDestNode->map_id, node->LocX, node->LocY, node->LocZ, GetPlayer()->GetOrientation());
+ }
+ }
- if (path && mountDisplayId)
- SendDoFlight(mountDisplayId, path, 1); // skip start fly node
- else
- GetPlayer()->m_taxi.ClearTaxiDestinations(); // clear problematic path and next
return;
}
- else
- GetPlayer()->m_taxi.ClearTaxiDestinations(); // not destinations, clear source node
+
+ // at this point only 1 node is expected (final destination)
+ if (GetPlayer()->m_taxi.GetPath().size() != 1)
+ return;
GetPlayer()->CleanupAfterTaxiFlight();
GetPlayer()->SetFallInformation(0, GetPlayer()->GetPositionZ());
diff --git a/src/server/game/Maps/Map.cpp b/src/server/game/Maps/Map.cpp
index 354bbe4e269..c758d132d6e 100644
--- a/src/server/game/Maps/Map.cpp
+++ b/src/server/game/Maps/Map.cpp
@@ -2571,7 +2571,7 @@ inline void Map::setNGrid(NGridType *grid, uint32 x, uint32 y)
if (x >= MAX_NUMBER_OF_GRIDS || y >= MAX_NUMBER_OF_GRIDS)
{
TC_LOG_ERROR("maps", "map::setNGrid() Invalid grid coordinates found: %d, %d!", x, y);
- ASSERT(false);
+ ABORT();
}
i_grids[x][y] = grid;
}
@@ -2630,7 +2630,7 @@ void Map::AddObjectToSwitchList(WorldObject* obj, bool on)
else if (itr->second != on)
i_objectsToSwitch.erase(itr);
else
- ASSERT(false);
+ ABORT();
}
void Map::RemoveAllObjectsInRemoveList()
@@ -2867,7 +2867,7 @@ bool InstanceMap::CanEnter(Player* player)
if (player->GetMapRef().getTarget() == this)
{
TC_LOG_ERROR("maps", "InstanceMap::CanEnter - player %s(%u) already in map %d, %d, %d!", player->GetName().c_str(), player->GetGUIDLow(), GetId(), GetInstanceId(), GetSpawnMode());
- ASSERT(false);
+ ABORT();
return false;
}
@@ -2976,7 +2976,7 @@ bool InstanceMap::AddPlayerToMap(Player* player)
TC_LOG_ERROR("maps", "InstanceMap::Add: player %s(%d) is being put into instance %s %d, %d, %d, %d, %d, %d but he is in group %s and is bound to instance %d, %d, %d, %d, %d, %d!", player->GetName().c_str(), player->GetGUIDLow(), GetMapName(), mapSave->GetMapId(), mapSave->GetInstanceId(), mapSave->GetDifficulty(), mapSave->GetPlayerCount(), mapSave->GetGroupCount(), mapSave->CanReset(), group->GetLeaderGUID().ToString().c_str(), playerBind->save->GetMapId(), playerBind->save->GetInstanceId(), playerBind->save->GetDifficulty(), playerBind->save->GetPlayerCount(), playerBind->save->GetGroupCount(), playerBind->save->CanReset());
if (groupBind)
TC_LOG_ERROR("maps", "InstanceMap::Add: the group is bound to the instance %s %d, %d, %d, %d, %d, %d", GetMapName(), groupBind->save->GetMapId(), groupBind->save->GetInstanceId(), groupBind->save->GetDifficulty(), groupBind->save->GetPlayerCount(), groupBind->save->GetGroupCount(), groupBind->save->CanReset());
- //ASSERT(false);
+ //ABORT();
return false;
}
// bind to the group or keep using the group save
@@ -3256,7 +3256,7 @@ bool BattlegroundMap::CanEnter(Player* player)
if (player->GetMapRef().getTarget() == this)
{
TC_LOG_ERROR("maps", "BGMap::CanEnter - player %u is already in map!", player->GetGUIDLow());
- ASSERT(false);
+ ABORT();
return false;
}
diff --git a/src/server/game/Maps/MapInstanced.cpp b/src/server/game/Maps/MapInstanced.cpp
index e4632bb7515..32c10cae16f 100644
--- a/src/server/game/Maps/MapInstanced.cpp
+++ b/src/server/game/Maps/MapInstanced.cpp
@@ -194,13 +194,13 @@ InstanceMap* MapInstanced::CreateInstance(uint32 InstanceId, InstanceSave* save,
if (!entry)
{
TC_LOG_ERROR("maps", "CreateInstance: no entry for map %d", GetId());
- ASSERT(false);
+ ABORT();
}
const InstanceTemplate* iTemplate = sObjectMgr->GetInstanceTemplate(GetId());
if (!iTemplate)
{
TC_LOG_ERROR("maps", "CreateInstance: no instance template for map %d", GetId());
- ASSERT(false);
+ ABORT();
}
// some instances only have one difficulty
@@ -279,6 +279,6 @@ bool MapInstanced::DestroyInstance(InstancedMaps::iterator &itr)
bool MapInstanced::CanEnter(Player* /*player*/)
{
- //ASSERT(false);
+ //ABORT();
return true;
}
diff --git a/src/server/game/Maps/TransportMgr.cpp b/src/server/game/Maps/TransportMgr.cpp
index dadc2eeeac3..e5815a415e7 100644
--- a/src/server/game/Maps/TransportMgr.cpp
+++ b/src/server/game/Maps/TransportMgr.cpp
@@ -112,7 +112,7 @@ void TransportMgr::GeneratePath(GameObjectTemplate const* goInfo, TransportTempl
Movement::PointsArray splinePath, allPoints;
bool mapChange = false;
for (size_t i = 0; i < path.size(); ++i)
- allPoints.push_back(G3D::Vector3(path[i].LocX, path[i].LocY, path[i].LocZ));
+ allPoints.push_back(G3D::Vector3(path[i]->LocX, path[i]->LocY, path[i]->LocZ));
// Add extra points to allow derivative calculations for all path nodes
allPoints.insert(allPoints.begin(), allPoints.front().lerp(allPoints[1], -0.2f));
@@ -128,8 +128,8 @@ void TransportMgr::GeneratePath(GameObjectTemplate const* goInfo, TransportTempl
{
if (!mapChange)
{
- TaxiPathNodeEntry const& node_i = path[i];
- if (i != path.size() - 1 && (node_i.Flags & 1 || node_i.MapID != path[i + 1].MapID))
+ TaxiPathNodeEntry const* node_i = path[i];
+ if (i != path.size() - 1 && (node_i->Flags & 1 || node_i->MapID != path[i + 1]->MapID))
{
keyFrames.back().Teleport = true;
mapChange = true;
@@ -142,7 +142,7 @@ void TransportMgr::GeneratePath(GameObjectTemplate const* goInfo, TransportTempl
k.InitialOrientation = Position::NormalizeOrientation(std::atan2(h.y, h.x) + float(M_PI));
keyFrames.push_back(k);
- splinePath.push_back(G3D::Vector3(node_i.LocX, node_i.LocY, node_i.LocZ));
+ splinePath.push_back(G3D::Vector3(node_i->LocX, node_i->LocY, node_i->LocZ));
transport->mapsUsed.insert(k.Node->MapID);
}
}
diff --git a/src/server/game/Maps/TransportMgr.h b/src/server/game/Maps/TransportMgr.h
index fff7b9d8afa..c273ea7fb15 100644
--- a/src/server/game/Maps/TransportMgr.h
+++ b/src/server/game/Maps/TransportMgr.h
@@ -37,7 +37,7 @@ typedef std::unordered_map<uint32, std::set<uint32> > TransportInstanceMap;
struct KeyFrame
{
- explicit KeyFrame(TaxiPathNodeEntry const& _node) : Index(0), Node(&_node), InitialOrientation(0.0f),
+ explicit KeyFrame(TaxiPathNodeEntry const* node) : Index(0), Node(node), InitialOrientation(0.0f),
DistSinceStop(-1.0f), DistUntilStop(-1.0f), DistFromPrev(-1.0f), TimeFrom(0.0f), TimeTo(0.0f),
Teleport(false), ArriveTime(0), DepartureTime(0), Spline(NULL), NextDistFromPrev(0.0f), NextArriveTime(0)
{
diff --git a/src/server/game/Movement/MotionMaster.cpp b/src/server/game/Movement/MotionMaster.cpp
index b69322f5720..2bcb4aeb3b3 100644
--- a/src/server/game/Movement/MotionMaster.cpp
+++ b/src/server/game/Movement/MotionMaster.cpp
@@ -563,7 +563,8 @@ void MotionMaster::MoveTaxiFlight(uint32 path, uint32 pathnode)
if (path < sTaxiPathNodesByPath.size())
{
TC_LOG_DEBUG("misc", "%s taxi to (Path %u node %u)", _owner->GetName().c_str(), path, pathnode);
- FlightPathMovementGenerator* mgen = new FlightPathMovementGenerator(sTaxiPathNodesByPath[path], pathnode);
+ FlightPathMovementGenerator* mgen = new FlightPathMovementGenerator(pathnode);
+ mgen->LoadPath(_owner->ToPlayer());
Mutate(mgen, MOTION_SLOT_CONTROLLED);
}
else
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
index f91fc1985d5..8a5ac387f19 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp
@@ -245,17 +245,62 @@ bool WaypointMovementGenerator<Creature>::GetResetPos(Creature*, float& x, float
uint32 FlightPathMovementGenerator::GetPathAtMapEnd() const
{
- if (i_currentNode >= i_path->size())
- return i_path->size();
+ if (i_currentNode >= i_path.size())
+ return i_path.size();
- uint32 curMapId = (*i_path)[i_currentNode].MapID;
- for (uint32 i = i_currentNode; i < i_path->size(); ++i)
- {
- if ((*i_path)[i].MapID != curMapId)
+ uint32 curMapId = i_path[i_currentNode]->MapID;
+ for (uint32 i = i_currentNode; i < i_path.size(); ++i)
+ if (i_path[i]->MapID != curMapId)
return i;
- }
- return i_path->size();
+ return i_path.size();
+}
+
+#define SKIP_SPLINE_POINT_DISTANCE_SQ (40.0f * 40.0f)
+
+bool IsNodeIncludedInShortenedPath(TaxiPathNodeEntry const* p1, TaxiPathNodeEntry const* p2)
+{
+ return p1->MapID != p2->MapID || std::pow(p1->LocX - p2->LocX, 2) + std::pow(p1->LocY - p2->LocY, 2) > SKIP_SPLINE_POINT_DISTANCE_SQ;
+}
+
+void FlightPathMovementGenerator::LoadPath(Player* player)
+{
+ _pointsForPathSwitch.clear();
+ std::deque<uint32> const& taxi = player->m_taxi.GetPath();
+ for (uint32 src = 0, dst = 1; dst < taxi.size(); src = dst++)
+ {
+ uint32 path, cost;
+ sObjectMgr->GetTaxiPath(taxi[src], taxi[dst], path, cost);
+ if (path > sTaxiPathNodesByPath.size())
+ return;
+
+ TaxiPathNodeList const& nodes = sTaxiPathNodesByPath[path];
+ if (!nodes.empty())
+ {
+ TaxiPathNodeEntry const* start = nodes[0];
+ TaxiPathNodeEntry const* end = nodes[nodes.size() - 1];
+ bool passedPreviousSegmentProximityCheck = false;
+ for (uint32 i = 0; i < nodes.size(); ++i)
+ {
+ if (passedPreviousSegmentProximityCheck || !src || i_path.empty() || IsNodeIncludedInShortenedPath(i_path[i_path.size() - 1], nodes[i]))
+ {
+ if ((!src || (IsNodeIncludedInShortenedPath(start, nodes[i]) && i >= 2)) &&
+ (dst == taxi.size() - 1 || (IsNodeIncludedInShortenedPath(end, nodes[i]) && i < nodes.size() - 1)))
+ {
+ passedPreviousSegmentProximityCheck = true;
+ i_path.push_back(nodes[i]);
+ }
+ }
+ else
+ {
+ i_path.pop_back();
+ --_pointsForPathSwitch.back().PathIndex;
+ }
+ }
+ }
+
+ _pointsForPathSwitch.push_back({ uint32(i_path.size() - 1), int32(cost) });
+ }
}
void FlightPathMovementGenerator::DoInitialize(Player* player)
@@ -296,7 +341,7 @@ void FlightPathMovementGenerator::DoReset(Player* player)
uint32 end = GetPathAtMapEnd();
for (uint32 i = GetCurrentNode(); i != end; ++i)
{
- G3D::Vector3 vertice((*i_path)[i].LocX, (*i_path)[i].LocY, (*i_path)[i].LocZ);
+ G3D::Vector3 vertice(i_path[i]->LocX, i_path[i]->LocY, i_path[i]->LocZ);
init.Path().push_back(vertice);
}
init.SetFirstPointId(GetCurrentNode());
@@ -313,9 +358,21 @@ bool FlightPathMovementGenerator::DoUpdate(Player* player, uint32 /*diff*/)
bool departureEvent = true;
do
{
- DoEventIfAny(player, (*i_path)[i_currentNode], departureEvent);
+ DoEventIfAny(player, i_path[i_currentNode], departureEvent);
+ while (!_pointsForPathSwitch.empty() && _pointsForPathSwitch.front().PathIndex <= i_currentNode)
+ {
+ _pointsForPathSwitch.pop_front();
+ player->m_taxi.NextTaxiDestination();
+ if (!_pointsForPathSwitch.empty())
+ {
+ player->UpdateAchievementCriteria(ACHIEVEMENT_CRITERIA_TYPE_GOLD_SPENT_FOR_TRAVELLING, _pointsForPathSwitch.front().Cost);
+ player->ModifyMoney(-_pointsForPathSwitch.front().Cost);
+ }
+ }
+
if (pointId == i_currentNode)
break;
+
if (i_currentNode == _preloadTargetNode)
PreloadEndGrid();
i_currentNode += (uint32)departureEvent;
@@ -324,18 +381,18 @@ bool FlightPathMovementGenerator::DoUpdate(Player* player, uint32 /*diff*/)
while (true);
}
- return i_currentNode < (i_path->size()-1);
+ return i_currentNode < (i_path.size() - 1);
}
void FlightPathMovementGenerator::SetCurrentNodeAfterTeleport()
{
- if (i_path->empty())
+ if (i_path.empty() || i_currentNode >= i_path.size())
return;
- uint32 map0 = (*i_path)[0].MapID;
- for (size_t i = 1; i < i_path->size(); ++i)
+ uint32 map0 = i_path[i_currentNode]->MapID;
+ for (size_t i = i_currentNode + 1; i < i_path.size(); ++i)
{
- if ((*i_path)[i].MapID != map0)
+ if (i_path[i]->MapID != map0)
{
i_currentNode = i;
return;
@@ -343,19 +400,21 @@ void FlightPathMovementGenerator::SetCurrentNodeAfterTeleport()
}
}
-void FlightPathMovementGenerator::DoEventIfAny(Player* player, TaxiPathNodeEntry const& node, bool departure)
+void FlightPathMovementGenerator::DoEventIfAny(Player* player, TaxiPathNodeEntry const* node, bool departure)
{
- if (uint32 eventid = departure ? node.DepartureEventID : node.ArrivalEventID)
+ if (uint32 eventid = departure ? node->DepartureEventID : node->ArrivalEventID)
{
- TC_LOG_DEBUG("maps.script", "Taxi %s event %u of node %u of path %u for player %s", departure ? "departure" : "arrival", eventid, node.NodeIndex, node.PathID, player->GetName().c_str());
+ TC_LOG_DEBUG("maps.script", "Taxi %s event %u of node %u of path %u for player %s", departure ? "departure" : "arrival", eventid, node->NodeIndex, node->PathID, player->GetName().c_str());
player->GetMap()->ScriptsStart(sEventScripts, eventid, player, player);
}
}
bool FlightPathMovementGenerator::GetResetPos(Player*, float& x, float& y, float& z)
{
- const TaxiPathNodeEntry& node = (*i_path)[i_currentNode];
- x = node.LocX; y = node.LocY; z = node.LocZ;
+ TaxiPathNodeEntry const* node = i_path[i_currentNode];
+ x = node->LocX;
+ y = node->LocY;
+ z = node->LocZ;
return true;
}
@@ -363,11 +422,11 @@ void FlightPathMovementGenerator::InitEndGridInfo()
{
/*! Storage to preload flightmaster grid at end of flight. For multi-stop flights, this will
be reinitialized for each flightmaster at the end of each spline (or stop) in the flight. */
- uint32 nodeCount = (*i_path).size(); //! Number of nodes in path.
- _endMapId = (*i_path)[nodeCount - 1].MapID; //! MapId of last node
+ uint32 nodeCount = i_path.size(); //! Number of nodes in path.
+ _endMapId = i_path[nodeCount - 1]->MapID; //! MapId of last node
_preloadTargetNode = nodeCount - 3;
- _endGridX = (*i_path)[nodeCount - 1].LocX;
- _endGridY = (*i_path)[nodeCount - 1].LocY;
+ _endGridX = i_path[nodeCount - 1]->LocX;
+ _endGridY = i_path[nodeCount - 1]->LocY;
}
void FlightPathMovementGenerator::PreloadEndGrid()
@@ -378,7 +437,7 @@ void FlightPathMovementGenerator::PreloadEndGrid()
// Load the grid
if (endMap)
{
- TC_LOG_DEBUG("misc", "Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path->size()-1));
+ TC_LOG_DEBUG("misc", "Preloading rid (%f, %f) for map %u at node index %u/%u", _endGridX, _endGridY, _endMapId, _preloadTargetNode, (uint32)(i_path.size() - 1));
endMap->LoadGrid(_endGridX, _endGridY);
}
else
diff --git a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
index eb8533159a9..caf76b5ea19 100755
--- a/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
+++ b/src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.h
@@ -27,13 +27,8 @@
#include "MovementGenerator.h"
#include "WaypointManager.h"
-#include "Path.h"
-
#include "Player.h"
-#include <vector>
-#include <set>
-
#define FLIGHT_TRAVEL_UPDATE 100
#define STOP_TIME_FOR_PLAYER 3 * MINUTE * IN_MILLISECONDS // 3 Minutes
#define TIMEDIFF_NEXT_WP 250
@@ -42,11 +37,9 @@ template<class T, class P>
class PathMovementBase
{
public:
- PathMovementBase() : i_path(NULL), i_currentNode(0) { }
+ PathMovementBase() : i_path(), i_currentNode(0) { }
virtual ~PathMovementBase() { };
- // template pattern, not defined .. override required
- void LoadPath(T &);
uint32 GetCurrentNode() const { return i_currentNode; }
protected:
@@ -110,30 +103,30 @@ class WaypointMovementGenerator<Creature> : public MovementGeneratorMedium< Crea
* and hence generates ground and activities for the player.
*/
class FlightPathMovementGenerator : public MovementGeneratorMedium< Player, FlightPathMovementGenerator >,
- public PathMovementBase<Player, TaxiPathNodeList const*>
+ public PathMovementBase<Player, TaxiPathNodeList>
{
public:
- explicit FlightPathMovementGenerator(TaxiPathNodeList const& pathnodes, uint32 startNode = 0)
+ explicit FlightPathMovementGenerator(uint32 startNode = 0)
{
- i_path = &pathnodes;
i_currentNode = startNode;
_endGridX = 0.0f;
_endGridY = 0.0f;
_endMapId = 0;
_preloadTargetNode = 0;
}
+ void LoadPath(Player* player);
void DoInitialize(Player*);
void DoReset(Player*);
void DoFinalize(Player*);
bool DoUpdate(Player*, uint32);
MovementGeneratorType GetMovementGeneratorType() const override { return FLIGHT_MOTION_TYPE; }
- TaxiPathNodeList const& GetPath() { return *i_path; }
+ TaxiPathNodeList const& GetPath() { return i_path; }
uint32 GetPathAtMapEnd() const;
- bool HasArrived() const { return (i_currentNode >= i_path->size()); }
+ bool HasArrived() const { return (i_currentNode >= i_path.size()); }
void SetCurrentNodeAfterTeleport();
void SkipCurrentNode() { ++i_currentNode; }
- void DoEventIfAny(Player* player, TaxiPathNodeEntry const& node, bool departure);
+ void DoEventIfAny(Player* player, TaxiPathNodeEntry const* node, bool departure);
bool GetResetPos(Player*, float& x, float& y, float& z);
@@ -141,9 +134,18 @@ class FlightPathMovementGenerator : public MovementGeneratorMedium< Player, Flig
void PreloadEndGrid();
private:
- float _endGridX; //! X coord of last node location
- float _endGridY; //! Y coord of last node location
- uint32 _endMapId; //! map Id of last node location
- uint32 _preloadTargetNode; //! node index where preloading starts
+
+ float _endGridX; //! X coord of last node location
+ float _endGridY; //! Y coord of last node location
+ uint32 _endMapId; //! map Id of last node location
+ uint32 _preloadTargetNode; //! node index where preloading starts
+
+ struct TaxiNodeChangeInfo
+ {
+ uint32 PathIndex;
+ int32 Cost;
+ };
+
+ std::deque<TaxiNodeChangeInfo> _pointsForPathSwitch; //! node indexes and costs where TaxiPath changes
};
#endif
diff --git a/src/server/game/Movement/Spline/Spline.h b/src/server/game/Movement/Spline/Spline.h
index c8b7a19c943..59f514bed75 100644
--- a/src/server/game/Movement/Spline/Spline.h
+++ b/src/server/game/Movement/Spline/Spline.h
@@ -82,7 +82,7 @@ protected:
typedef void (SplineBase::*InitMethtod)(const Vector3*, index_type, index_type);
static InitMethtod initializers[ModesEnd];
- void UninitializedSpline() const { ASSERT(false);}
+ void UninitializedSpline() const { ABORT();}
public:
diff --git a/src/server/game/Movement/Waypoints/Path.h b/src/server/game/Movement/Waypoints/Path.h
deleted file mode 100644
index bb8abc37eb3..00000000000
--- a/src/server/game/Movement/Waypoints/Path.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/>
- * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef TRINITYCORE_PATH_H
-#define TRINITYCORE_PATH_H
-
-#include "Common.h"
-#include <deque>
-
-struct PathNode
-{
- PathNode(): x(0.0f), y(0.0f), z(0.0f) { }
- PathNode(float _x, float _y, float _z): x(_x), y(_y), z(_z) { }
- float x, y, z;
-};
-template<typename PathElem, typename PathNode = PathElem>
-
-class Path
-{
- public:
- size_t size() const { return i_nodes.size(); }
- bool empty() const { return i_nodes.empty(); }
- void resize(unsigned int sz) { i_nodes.resize(sz); }
- void clear() { i_nodes.clear(); }
- void erase(uint32 idx) { i_nodes.erase(i_nodes.begin()+idx); }
- void crop(unsigned int start, unsigned int end)
- {
- while (start && !i_nodes.empty())
- {
- i_nodes.pop_front();
- --start;
- }
-
- while (end && !i_nodes.empty())
- {
- i_nodes.pop_back();
- --end;
- }
- }
-
- float GetTotalLength(uint32 start, uint32 end) const
- {
- float len = 0.0f;
- for (uint32 idx=start+1; idx < end; ++idx)
- {
- PathNode const& node = i_nodes[idx];
- PathNode const& prev = i_nodes[idx-1];
- float xd = node.x - prev.x;
- float yd = node.y - prev.y;
- float zd = node.z - prev.z;
- len += std::sqrt(xd*xd + yd*yd + zd*zd);
- }
- return len;
- }
-
- float GetTotalLength() const { return GetTotalLength(0, size()); }
-
- float GetPassedLength(uint32 curnode, float x, float y, float z) const
- {
- float len = GetTotalLength(0, curnode);
-
- if (curnode > 0)
- {
- PathNode const& node = i_nodes[curnode-1];
- float xd = x - node.x;
- float yd = y - node.y;
- float zd = z - node.z;
- len += std::sqrt(xd*xd + yd*yd + zd*zd);
- }
-
- return len;
- }
-
- PathNode& operator[](size_t idx) { return i_nodes[idx]; }
- PathNode const& operator[](size_t idx) const { return i_nodes[idx]; }
-
- void set(size_t idx, PathElem elem) { i_nodes[idx] = elem; }
-
- protected:
- std::deque<PathElem> i_nodes;
-};
-
-typedef Path<PathNode> SimplePath;
-
-#endif
diff --git a/src/server/game/Quests/QuestDef.cpp b/src/server/game/Quests/QuestDef.cpp
index eea0fd72e8b..58bc4915d3f 100644
--- a/src/server/game/Quests/QuestDef.cpp
+++ b/src/server/game/Quests/QuestDef.cpp
@@ -29,21 +29,21 @@ Quest::Quest(Field* questRecord)
ZoneOrSort = questRecord[4].GetInt16();
Type = questRecord[5].GetUInt16();
SuggestedPlayers = questRecord[6].GetUInt8();
- LimitTime = questRecord[7].GetUInt32();
- RequiredRaces = questRecord[8].GetUInt16();
+ TimeAllowed = questRecord[7].GetUInt32();
+ AllowableRaces = questRecord[8].GetUInt16();
RequiredFactionId1 = questRecord[9].GetUInt16();
RequiredFactionId2 = questRecord[10].GetUInt16();
RequiredFactionValue1 = questRecord[11].GetInt32();
RequiredFactionValue2 = questRecord[12].GetInt32();
- NextQuestIdChain = questRecord[13].GetUInt32();
- RewardXPId = questRecord[14].GetUInt8();
- RewardOrRequiredMoney = questRecord[15].GetInt32();
- RewardMoneyMaxLevel = questRecord[16].GetUInt32();
- RewardSpell = questRecord[17].GetUInt32();
- RewardSpellCast = questRecord[18].GetInt32();
+ RewardNextQuest = questRecord[13].GetUInt32();
+ RewardXPDifficulty = questRecord[14].GetUInt8();
+ RewardMoney = questRecord[15].GetInt32();
+ RewardBonusMoney = questRecord[16].GetUInt32();
+ RewardDisplaySpell = questRecord[17].GetUInt32();
+ RewardSpell = questRecord[18].GetInt32();
RewardHonor = questRecord[19].GetUInt32();
- RewardHonorMultiplier = questRecord[20].GetFloat();
- SourceItemId = questRecord[21].GetUInt32();
+ RewardKillHonor = questRecord[20].GetFloat();
+ StartItem = questRecord[21].GetUInt32();
Flags = questRecord[22].GetUInt32();
RewardTitleId = questRecord[23].GetUInt8();
RequiredPlayerKills = questRecord[24].GetUInt8();
@@ -69,14 +69,14 @@ Quest::Quest(Field* questRecord)
RewardFactionValueIdOverride[i] = questRecord[49+i*3].GetInt32();
}
- PointMapId = questRecord[62].GetUInt16();
- PointX = questRecord[63].GetFloat();
- PointY = questRecord[64].GetFloat();
- PointOption = questRecord[65].GetUInt32();
+ POIContinent = questRecord[62].GetUInt16();
+ POIx = questRecord[63].GetFloat();
+ POIy = questRecord[64].GetFloat();
+ POIPriority = questRecord[65].GetUInt32();
Title = questRecord[66].GetString();
Objectives = questRecord[67].GetString();
Details = questRecord[68].GetString();
- EndText = questRecord[69].GetString();
+ AreaDescription = questRecord[69].GetString();
CompletedText = questRecord[70].GetString();
for (int i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
@@ -86,10 +86,10 @@ Quest::Quest(Field* questRecord)
RequiredNpcOrGoCount[i] = questRecord[75+i].GetUInt16();
for (int i = 0; i < QUEST_SOURCE_ITEM_IDS_COUNT; ++i)
- RequiredSourceItemId[i] = questRecord[79+i].GetUInt32();
+ ItemDrop[i] = questRecord[79+i].GetUInt32();
for (int i = 0; i < QUEST_SOURCE_ITEM_IDS_COUNT; ++i)
- RequiredSourceItemCount[i] = questRecord[83+i].GetUInt16();
+ ItemDropQuantity[i] = questRecord[83+i].GetUInt16();
for (int i = 0; i < QUEST_ITEM_OBJECTIVES_COUNT; ++i)
RequiredItemId[i] = questRecord[87+i].GetUInt32();
@@ -102,6 +102,9 @@ Quest::Quest(Field* questRecord)
for (int i = 0; i < QUEST_OBJECTIVES_COUNT; ++i)
ObjectiveText[i] = questRecord[100+i].GetString();
+ EmoteOnIncomplete = 0;
+ EmoteOnComplete = 0;
+
//int32 VerifiedBuild = questRecord[104].GetInt32();
_reqItemsCount = 0;
@@ -169,7 +172,7 @@ void Quest::LoadQuestTemplateAddon(Field* fields)
RequiredMaxRepFaction = fields[12].GetUInt16();
RequiredMinRepValue = fields[13].GetInt32();
RequiredMaxRepValue = fields[14].GetInt32();
- SourceItemIdCount = fields[15].GetUInt8();
+ StartItemCount = fields[15].GetUInt8();
SpecialFlags = fields[16].GetUInt8();
if (SpecialFlags & QUEST_SPECIAL_FLAGS_AUTO_ACCEPT)
@@ -191,7 +194,7 @@ uint32 Quest::XPValue(Player* player) const
else if (diffFactor > 10)
diffFactor = 10;
- uint32 xp = diffFactor * xpentry->Exp[RewardXPId] / 10;
+ uint32 xp = diffFactor * xpentry->Exp[RewardXPDifficulty] / 10;
if (xp <= 100)
xp = 5 * ((xp + 2) / 5);
else if (xp <= 500)
@@ -210,11 +213,11 @@ uint32 Quest::XPValue(Player* player) const
int32 Quest::GetRewOrReqMoney() const
{
// RequiredMoney: the amount is the negative copper sum.
- if (RewardOrRequiredMoney <= 0)
- return RewardOrRequiredMoney;
+ if (RewardMoney <= 0)
+ return RewardMoney;
// RewardMoney: the positive amount
- return int32(RewardOrRequiredMoney * sWorld->getRate(RATE_MONEY_QUEST));
+ return int32(RewardMoney * sWorld->getRate(RATE_MONEY_QUEST));
}
uint32 Quest::GetRewMoneyMaxLevel() const
@@ -224,7 +227,7 @@ uint32 Quest::GetRewMoneyMaxLevel() const
return 0;
// Else, return the rewarded copper sum modified by the rate
- return uint32(RewardMoneyMaxLevel * sWorld->getRate(RATE_MONEY_MAX_LEVEL_QUEST));
+ return uint32(RewardBonusMoney * sWorld->getRate(RATE_MONEY_MAX_LEVEL_QUEST));
}
bool Quest::IsAutoAccept() const
diff --git a/src/server/game/Quests/QuestDef.h b/src/server/game/Quests/QuestDef.h
index 78fd065e9bd..91b4a3181f5 100644
--- a/src/server/game/Quests/QuestDef.h
+++ b/src/server/game/Quests/QuestDef.h
@@ -182,7 +182,7 @@ struct QuestLocale
StringVector Objectives;
StringVector OfferRewardText;
StringVector RequestItemsText;
- StringVector EndText;
+ StringVector AreaDescription;
StringVector CompletedText;
std::vector< StringVector > ObjectiveText;
};
@@ -217,7 +217,7 @@ class Quest
int32 GetQuestLevel() const { return Level; }
uint32 GetType() const { return Type; }
uint32 GetRequiredClasses() const { return RequiredClasses; }
- uint32 GetRequiredRaces() const { return RequiredRaces; }
+ uint32 GetAllowableRaces() const { return AllowableRaces; }
uint32 GetRequiredSkill() const { return RequiredSkillId; }
uint32 GetRequiredSkillValue() const { return RequiredSkillPoints; }
uint32 GetRepObjectiveFaction() const { return RequiredFactionId1; }
@@ -229,38 +229,38 @@ class Quest
uint32 GetRequiredMaxRepFaction() const { return RequiredMaxRepFaction; }
int32 GetRequiredMaxRepValue() const { return RequiredMaxRepValue; }
uint32 GetSuggestedPlayers() const { return SuggestedPlayers; }
- uint32 GetLimitTime() const { return LimitTime; }
+ uint32 GetTimeAllowed() const { return TimeAllowed; }
int32 GetPrevQuestId() const { return PrevQuestId; }
int32 GetNextQuestId() const { return NextQuestId; }
int32 GetExclusiveGroup() const { return ExclusiveGroup; }
- uint32 GetNextQuestInChain() const { return NextQuestIdChain; }
+ uint32 GetNextQuestInChain() const { return RewardNextQuest; }
uint32 GetCharTitleId() const { return RewardTitleId; }
uint32 GetPlayersSlain() const { return RequiredPlayerKills; }
uint32 GetBonusTalents() const { return RewardTalents; }
int32 GetRewArenaPoints() const {return RewardArenaPoints; }
- uint32 GetXPId() const { return RewardXPId; }
- uint32 GetSrcItemId() const { return SourceItemId; }
- uint32 GetSrcItemCount() const { return SourceItemIdCount; }
+ uint32 GetXPId() const { return RewardXPDifficulty; }
+ uint32 GetSrcItemId() const { return StartItem; }
+ uint32 GetSrcItemCount() const { return StartItemCount; }
uint32 GetSrcSpell() const { return SourceSpellid; }
std::string const& GetTitle() const { return Title; }
std::string const& GetDetails() const { return Details; }
std::string const& GetObjectives() const { return Objectives; }
std::string const& GetOfferRewardText() const { return OfferRewardText; }
std::string const& GetRequestItemsText() const { return RequestItemsText; }
- std::string const& GetEndText() const { return EndText; }
+ std::string const& GetAreaDescription() const { return AreaDescription; }
std::string const& GetCompletedText() const { return CompletedText; }
int32 GetRewOrReqMoney() const;
uint32 GetRewHonorAddition() const { return RewardHonor; }
- float GetRewHonorMultiplier() const { return RewardHonorMultiplier; }
+ float GetRewHonorMultiplier() const { return RewardKillHonor; }
uint32 GetRewMoneyMaxLevel() const; // use in XP calculation at client
- uint32 GetRewSpell() const { return RewardSpell; }
- int32 GetRewSpellCast() const { return RewardSpellCast; }
+ uint32 GetRewSpell() const { return RewardDisplaySpell; }
+ int32 GetRewSpellCast() const { return RewardSpell; }
uint32 GetRewMailTemplateId() const { return RewardMailTemplateId; }
uint32 GetRewMailDelaySecs() const { return RewardMailDelay; }
- uint32 GetPointMapId() const { return PointMapId; }
- float GetPointX() const { return PointX; }
- float GetPointY() const { return PointY; }
- uint32 GetPointOpt() const { return PointOption; }
+ uint32 GetPOIContinent() const { return POIContinent; }
+ float GetPOIx() const { return POIx; }
+ float GetPOIy() const { return POIy; }
+ uint32 GetPointOpt() const { return POIPriority; }
uint32 GetIncompleteEmote() const { return EmoteOnIncomplete; }
uint32 GetCompleteEmote() const { return EmoteOnComplete; }
bool IsRepeatable() const { return SpecialFlags & QUEST_SPECIAL_FLAGS_REPEATABLE; }
@@ -281,8 +281,8 @@ class Quest
std::string ObjectiveText[QUEST_OBJECTIVES_COUNT];
uint32 RequiredItemId[QUEST_ITEM_OBJECTIVES_COUNT];
uint32 RequiredItemCount[QUEST_ITEM_OBJECTIVES_COUNT];
- uint32 RequiredSourceItemId[QUEST_SOURCE_ITEM_IDS_COUNT];
- uint32 RequiredSourceItemCount[QUEST_SOURCE_ITEM_IDS_COUNT];
+ uint32 ItemDrop[QUEST_SOURCE_ITEM_IDS_COUNT];
+ uint32 ItemDropQuantity[QUEST_SOURCE_ITEM_IDS_COUNT];
int32 RequiredNpcOrGo[QUEST_OBJECTIVES_COUNT]; // >0 Creature <0 Gameobject
uint32 RequiredNpcOrGoCount[QUEST_OBJECTIVES_COUNT];
uint32 RewardChoiceItemId[QUEST_REWARD_CHOICES_COUNT];
@@ -322,38 +322,38 @@ class Quest
uint32 MinLevel;
int32 Level;
uint32 Type;
- uint32 RequiredRaces;
+ uint32 AllowableRaces;
uint32 RequiredFactionId1;
int32 RequiredFactionValue1;
uint32 RequiredFactionId2;
int32 RequiredFactionValue2;
uint32 SuggestedPlayers;
- uint32 LimitTime;
+ uint32 TimeAllowed;
uint32 Flags;
uint32 RewardTitleId;
uint32 RequiredPlayerKills;
uint32 RewardTalents;
int32 RewardArenaPoints;
- uint32 NextQuestIdChain;
- uint32 RewardXPId;
- uint32 SourceItemId;
+ uint32 RewardNextQuest;
+ uint32 RewardXPDifficulty;
+ uint32 StartItem;
std::string Title;
std::string Details;
std::string Objectives;
std::string OfferRewardText;
std::string RequestItemsText;
- std::string EndText;
+ std::string AreaDescription;
std::string CompletedText;
uint32 RewardHonor;
- float RewardHonorMultiplier;
- int32 RewardOrRequiredMoney;
- uint32 RewardMoneyMaxLevel;
- uint32 RewardSpell;
- int32 RewardSpellCast;
- uint32 PointMapId;
- float PointX;
- float PointY;
- uint32 PointOption;
+ float RewardKillHonor;
+ int32 RewardMoney;
+ uint32 RewardBonusMoney;
+ uint32 RewardDisplaySpell;
+ int32 RewardSpell;
+ uint32 POIContinent;
+ float POIx;
+ float POIy;
+ uint32 POIPriority;
uint32 EmoteOnIncomplete;
uint32 EmoteOnComplete;
@@ -372,7 +372,7 @@ class Quest
int32 RequiredMinRepValue = 0;
uint32 RequiredMaxRepFaction = 0;
int32 RequiredMaxRepValue = 0;
- uint32 SourceItemIdCount = 0;
+ uint32 StartItemCount = 0;
uint32 SpecialFlags = 0; // custom flags, not sniffed/WDB
};
diff --git a/src/server/game/Scripting/ScriptMgr.cpp b/src/server/game/Scripting/ScriptMgr.cpp
index aed829a7b57..0ece05f1d93 100644
--- a/src/server/game/Scripting/ScriptMgr.cpp
+++ b/src/server/game/Scripting/ScriptMgr.cpp
@@ -108,7 +108,7 @@ class ScriptRegistry
TC_LOG_ERROR("scripts", "Script '%s' already assigned with the same script name, so the script can't work.",
script->GetName().c_str());
- ASSERT(false); // Error that should be fixed ASAP.
+ ABORT(); // Error that should be fixed ASAP.
}
}
else
@@ -960,7 +960,7 @@ bool ScriptMgr::OnAreaTrigger(Player* player, AreaTriggerEntry const* trigger)
Battleground* ScriptMgr::CreateBattleground(BattlegroundTypeId /*typeId*/)
{
/// @todo Implement script-side battlegrounds.
- ASSERT(false);
+ ABORT();
return NULL;
}
diff --git a/src/server/game/Spells/Auras/SpellAuras.cpp b/src/server/game/Spells/Auras/SpellAuras.cpp
index 4eea5eed03d..e380373f4c4 100644
--- a/src/server/game/Spells/Auras/SpellAuras.cpp
+++ b/src/server/game/Spells/Auras/SpellAuras.cpp
@@ -323,7 +323,7 @@ Aura* Aura::Create(SpellInfo const* spellproto, uint8 effMask, WorldObject* owne
aura = new DynObjAura(spellproto, effMask, owner, caster, baseAmount, castItem, casterGUID);
break;
default:
- ASSERT(false);
+ ABORT();
return NULL;
}
// aura can be removed in Unit::_AddAura call
@@ -437,7 +437,7 @@ void Aura::_UnapplyForTarget(Unit* target, Unit* caster, AuraApplication * auraA
{
TC_LOG_ERROR("spells", "Aura::_UnapplyForTarget, target:%u, caster:%u, spell:%u was not found in owners application map!",
target->GetGUIDLow(), caster ? caster->GetGUIDLow() : 0, auraApp->GetBase()->GetSpellInfo()->Id);
- ASSERT(false);
+ ABORT();
}
// aura has to be already applied
@@ -528,7 +528,7 @@ void Aura::UpdateTargetMap(Unit* caster, bool apply)
else
{
// ok, we have one unit twice in target map (impossible, but...)
- ASSERT(false);
+ ABORT();
}
}
@@ -586,7 +586,7 @@ void Aura::UpdateTargetMap(Unit* caster, bool apply)
TC_LOG_FATAL("spells", "Aura %u: Owner %s (map %u) is not in the same map as target %s (map %u).", GetSpellInfo()->Id,
GetOwner()->GetName().c_str(), GetOwner()->IsInWorld() ? GetOwner()->GetMap()->GetId() : uint32(-1),
itr->first->GetName().c_str(), itr->first->IsInWorld() ? itr->first->GetMap()->GetId() : uint32(-1));
- ASSERT(false);
+ ABORT();
}
itr->first->_CreateAuraApplication(this, itr->second);
++itr;
diff --git a/src/server/game/Spells/Spell.cpp b/src/server/game/Spells/Spell.cpp
index 03f14d1cdc8..ca6946554d4 100644
--- a/src/server/game/Spells/Spell.cpp
+++ b/src/server/game/Spells/Spell.cpp
@@ -6586,7 +6586,7 @@ SpellEvent::~SpellEvent()
{
TC_LOG_ERROR("spells", "~SpellEvent: %s %u tried to delete non-deletable spell %u. Was not deleted, causes memory leak.",
(m_Spell->GetCaster()->GetTypeId() == TYPEID_PLAYER ? "Player" : "Creature"), m_Spell->GetCaster()->GetGUIDLow(), m_Spell->m_spellInfo->Id);
- ASSERT(false);
+ ABORT();
}
}
@@ -7044,7 +7044,7 @@ bool Spell::CallScriptEffectHandlers(SpellEffIndex effIndex, SpellEffectHandleMo
hookType = SPELL_SCRIPT_HOOK_EFFECT_HIT_TARGET;
break;
default:
- ASSERT(false);
+ ABORT();
return false;
}
(*scritr)->_PrepareScriptCall(hookType);
diff --git a/src/server/scripts/Commands/cs_lfg.cpp b/src/server/scripts/Commands/cs_lfg.cpp
index d1662f3a97c..8bb64a454d2 100644
--- a/src/server/scripts/Commands/cs_lfg.cpp
+++ b/src/server/scripts/Commands/cs_lfg.cpp
@@ -150,7 +150,7 @@ public:
static bool HandleLfgQueueInfoCommand(ChatHandler* handler, char const* args)
{
- handler->SendSysMessage(sLFGMgr->DumpQueueInfo(*args != '\0').c_str());
+ handler->SendSysMessage(sLFGMgr->DumpQueueInfo(*args != '\0').c_str(), true);
return true;
}
diff --git a/src/server/scripts/Commands/cs_ticket.cpp b/src/server/scripts/Commands/cs_ticket.cpp
index 5fc3cc618e5..b609dfe18dd 100644
--- a/src/server/scripts/Commands/cs_ticket.cpp
+++ b/src/server/scripts/Commands/cs_ticket.cpp
@@ -113,7 +113,7 @@ public:
// If assigned to different player other than current, leave
//! Console can override though
- Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : NULL;
+ Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : nullptr;
if (player && ticket->IsAssignedNotTo(player->GetGUID()))
{
handler->PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId(), target.c_str());
@@ -146,7 +146,7 @@ public:
// Ticket should be assigned to the player who tries to close it.
// Console can override though
- Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : NULL;
+ Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : nullptr;
if (player && ticket->IsAssignedNotTo(player->GetGUID()))
{
handler->PSendSysMessage(LANG_COMMAND_TICKETCANNOTCLOSE, ticket->GetId());
@@ -190,7 +190,7 @@ public:
// Cannot comment ticket assigned to someone else
//! Console excluded
- Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : NULL;
+ Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : nullptr;
if (player && ticket->IsAssignedNotTo(player->GetGUID()))
{
handler->PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId());
@@ -220,7 +220,9 @@ public:
if (!*args)
return false;
- uint32 ticketId = atoi(args);
+ char* ticketIdStr = strtok((char*)args, " ");
+ uint32 ticketId = atoi(ticketIdStr);
+
GmTicket* ticket = sTicketMgr->GetTicket(ticketId);
if (!ticket || ticket->IsClosed() || ticket->IsCompleted())
{
@@ -228,6 +230,21 @@ public:
return true;
}
+ char* response = strtok(NULL, "\n");
+ if (response)
+ {
+ // Cannot add response to ticket, assigned to someone else
+ //! Console excluded
+ Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : nullptr;
+ if (player && ticket->IsAssignedNotTo(player->GetGUID()))
+ {
+ handler->PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId());
+ return true;
+ }
+
+ ticket->AppendResponse(response);
+ }
+
if (Player* player = ticket->GetPlayer())
ticket->SendResponse(player->GetSession());
@@ -476,7 +493,7 @@ public:
// Cannot add response to ticket, assigned to someone else
//! Console excluded
- Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : NULL;
+ Player* player = handler->GetSession() ? handler->GetSession()->GetPlayer() : nullptr;
if (player && ticket->IsAssignedNotTo(player->GetGUID()))
{
handler->PSendSysMessage(LANG_COMMAND_TICKETALREADYASSIGNED, ticket->GetId());
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
index f5842181358..7c85c5f73b9 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_patchwerk.cpp
@@ -21,7 +21,7 @@
enum Spells
{
- SPELL_HATEFUL_STRIKE = 41926,
+ SPELL_HATEFUL_STRIKE = 28308,
SPELL_FRENZY = 28131,
SPELL_BERSERK = 26662,
SPELL_SLIME_BOLT = 32309
@@ -33,7 +33,7 @@ enum Yells
SAY_SLAY = 1,
SAY_DEATH = 2,
EMOTE_BERSERK = 3,
- EMOTE_ENRAGE = 4
+ EMOTE_FRENZY = 4
};
enum Events
@@ -49,6 +49,11 @@ enum Misc
ACHIEV_MAKE_QUICK_WERK_OF_HIM_STARTING_EVENT = 10286
};
+enum HatefulThreatAmounts
+{
+ HATEFUL_THREAT_AMT = 1000,
+};
+
class boss_patchwerk : public CreatureScript
{
public:
@@ -92,8 +97,8 @@ public:
_EnterCombat();
Enraged = false;
Talk(SAY_AGGRO);
- events.ScheduleEvent(EVENT_HATEFUL, 1000);
- events.ScheduleEvent(EVENT_BERSERK, 360000);
+ events.ScheduleEvent(EVENT_HATEFUL, 1 * IN_MILLISECONDS);
+ events.ScheduleEvent(EVENT_BERSERK, 6 * MINUTE * IN_MILLISECONDS);
instance->DoStartTimedAchievement(ACHIEVEMENT_TIMED_TYPE_EVENT, ACHIEV_MAKE_QUICK_WERK_OF_HIM_STARTING_EVENT);
}
@@ -111,37 +116,68 @@ public:
{
case EVENT_HATEFUL:
{
- //Cast Hateful strike on the player with the highest
- //amount of HP within melee distance
- uint32 MostHP = 0;
- Unit* pMostHPTarget = NULL;
+ // Hateful Strike targets the highest non-MT threat in melee range on 10man
+ // and the higher HP target out of the two highest non-MT threats in melee range on 25man
+ float MostThreat = 0.0f;
+ Unit* secondThreatTarget = NULL;
+ Unit* thirdThreatTarget = NULL;
+
std::list<HostileReference*>::const_iterator i = me->getThreatManager().getThreatList().begin();
for (; i != me->getThreatManager().getThreatList().end(); ++i)
- {
+ { // find second highest
Unit* target = (*i)->getTarget();
- if (target->IsAlive() && target != me->GetVictim() && target->GetHealth() > MostHP && me->IsWithinMeleeRange(target))
+ if (target->IsAlive() && target != me->GetVictim() && (*i)->getThreat() >= MostThreat && me->IsWithinMeleeRange(target))
+ {
+ MostThreat = (*i)->getThreat();
+ secondThreatTarget = target;
+ }
+ }
+
+ if (secondThreatTarget && Is25ManRaid())
+ { // find third highest
+ MostThreat = 0.0f;
+ i = me->getThreatManager().getThreatList().begin();
+ for (; i != me->getThreatManager().getThreatList().end(); ++i)
{
- MostHP = target->GetHealth();
- pMostHPTarget = target;
+ Unit* target = (*i)->getTarget();
+ if (target->IsAlive() && target != me->GetVictim() && target != secondThreatTarget && (*i)->getThreat() >= MostThreat && me->IsWithinMeleeRange(target))
+ {
+ MostThreat = (*i)->getThreat();
+ thirdThreatTarget = target;
+ }
}
}
- if (!pMostHPTarget)
- pMostHPTarget = me->GetVictim();
+ Unit* pHatefulTarget = NULL;
+ if (!thirdThreatTarget)
+ pHatefulTarget = secondThreatTarget;
+ else if (secondThreatTarget)
+ pHatefulTarget = (secondThreatTarget->GetHealth() < thirdThreatTarget->GetHealth()) ? thirdThreatTarget : secondThreatTarget;
+
+ if (!pHatefulTarget)
+ pHatefulTarget = me->GetVictim();
+
+ DoCast(pHatefulTarget, SPELL_HATEFUL_STRIKE, true);
- DoCast(pMostHPTarget, SPELL_HATEFUL_STRIKE, true);
+ // add threat to highest threat targets
+ if (me->GetVictim() && me->IsWithinMeleeRange(me->GetVictim()))
+ me->getThreatManager().addThreat(me->GetVictim(), HATEFUL_THREAT_AMT);
+ if (secondThreatTarget)
+ me->getThreatManager().addThreat(secondThreatTarget, HATEFUL_THREAT_AMT);
+ if (thirdThreatTarget)
+ me->getThreatManager().addThreat(thirdThreatTarget, HATEFUL_THREAT_AMT); // this will only ever be used in 25m
- events.ScheduleEvent(EVENT_HATEFUL, 1000);
+ events.ScheduleEvent(EVENT_HATEFUL, 1 * IN_MILLISECONDS);
break;
}
case EVENT_BERSERK:
DoCast(me, SPELL_BERSERK, true);
Talk(EMOTE_BERSERK);
- events.ScheduleEvent(EVENT_SLIME, 2000);
+ events.ScheduleEvent(EVENT_SLIME, 2 * IN_MILLISECONDS);
break;
case EVENT_SLIME:
DoCastVictim(SPELL_SLIME_BOLT, true);
- events.ScheduleEvent(EVENT_SLIME, 2000);
+ events.ScheduleEvent(EVENT_SLIME, 2 * IN_MILLISECONDS);
break;
}
}
@@ -149,7 +185,7 @@ public:
if (!Enraged && HealthBelowPct(5))
{
DoCast(me, SPELL_FRENZY, true);
- Talk(EMOTE_ENRAGE);
+ Talk(EMOTE_FRENZY);
Enraged = true;
}
diff --git a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
index ee482c23d1b..02a7aa570e5 100644
--- a/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
+++ b/src/server/scripts/Northrend/Naxxramas/boss_sapphiron.cpp
@@ -43,6 +43,7 @@ enum Spells
SPELL_BERSERK = 26662,
SPELL_DIES = 29357,
SPELL_CHILL = 28547,
+ SPELL_CHECK_RESISTS = 60539,
};
enum Phases
@@ -67,7 +68,8 @@ enum Events
EVENT_EXPLOSION,
EVENT_LAND,
EVENT_GROUND,
- EVENT_BIRTH
+ EVENT_BIRTH,
+ EVENT_CHECK_RESISTS
};
enum Misc
@@ -90,10 +92,9 @@ class boss_sapphiron : public CreatureScript
struct boss_sapphironAI : public BossAI
{
boss_sapphironAI(Creature* creature) :
- BossAI(creature, BOSS_SAPPHIRON), _map(me->GetMap())
+ BossAI(creature, BOSS_SAPPHIRON), _iceboltCount(0), _map(me->GetMap())
{
Initialize();
- _iceboltCount = 0;
}
void Initialize()
@@ -101,7 +102,6 @@ class boss_sapphiron : public CreatureScript
_phase = PHASE_NULL;
_canTheHundredClub = true;
- _checkFrostResistTimer = 5 * IN_MILLISECONDS;
}
void InitializeAI() override
@@ -123,7 +123,16 @@ class boss_sapphiron : public CreatureScript
_Reset();
if (_phase == PHASE_FLIGHT)
+ {
ClearIceBlock();
+ me->SetReactState(REACT_AGGRESSIVE);
+ if (me->IsHovering())
+ {
+ me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
+ me->SetHover(false);
+ }
+ me->SetDisableGravity(false);
+ }
Initialize();
}
@@ -134,22 +143,30 @@ class boss_sapphiron : public CreatureScript
me->CastSpell(me, SPELL_FROST_AURA, true);
+ DoCast(me, SPELL_CHECK_RESISTS);
+ events.ScheduleEvent(EVENT_CHECK_RESISTS, 30 * IN_MILLISECONDS);
events.ScheduleEvent(EVENT_BERSERK, 15 * MINUTE * IN_MILLISECONDS);
EnterPhaseGround();
-
- CheckPlayersFrostResist();
}
void SpellHitTarget(Unit* target, SpellInfo const* spell) override
{
- if (spell->Id == SPELL_ICEBOLT)
+ switch(spell->Id)
{
- IceBlockMap::iterator itr = _iceblocks.find(target->GetGUID());
- if (itr != _iceblocks.end() && !itr->second)
+ case SPELL_ICEBOLT:
{
- if (GameObject* iceblock = me->SummonGameObject(GO_ICEBLOCK, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, 0, 0, 0, 0, 25))
- itr->second = iceblock->GetGUID();
+ IceBlockMap::iterator itr = _iceblocks.find(target->GetGUID());
+ if (itr != _iceblocks.end() && !itr->second)
+ {
+ if (GameObject* iceblock = me->SummonGameObject(GO_ICEBLOCK, target->GetPositionX(), target->GetPositionY(), target->GetPositionZ(), 0, 0, 0, 0, 0, 25))
+ itr->second = iceblock->GetGUID();
+ }
+ break;
}
+ case SPELL_CHECK_RESISTS:
+ if (target && target->GetResistance(SPELL_SCHOOL_FROST) > MAX_FROST_RESISTANCE)
+ _canTheHundredClub = false;
+ break;
}
}
@@ -157,8 +174,6 @@ class boss_sapphiron : public CreatureScript
{
_JustDied();
me->CastSpell(me, SPELL_DIES, true);
-
- CheckPlayersFrostResist();
}
void MovementInform(uint32 /*type*/, uint32 id) override
@@ -176,22 +191,6 @@ class boss_sapphiron : public CreatureScript
}
}
- void CheckPlayersFrostResist()
- {
- if (_canTheHundredClub && _map && _map->IsRaid())
- {
- Map::PlayerList const &players = _map->GetPlayers();
- for (Map::PlayerList::const_iterator itr = players.begin(); itr != players.end(); ++itr)
- {
- if (itr->GetSource()->GetResistance(SPELL_SCHOOL_FROST) > MAX_FROST_RESISTANCE)
- {
- _canTheHundredClub = false;
- break;
- }
- }
- }
- }
-
void EnterPhaseGround()
{
_phase = PHASE_GROUND;
@@ -235,23 +234,16 @@ class boss_sapphiron : public CreatureScript
if ((_phase != PHASE_BIRTH && !UpdateVictim()) || !CheckInRoom())
return;
- if (_canTheHundredClub)
- {
- if (_checkFrostResistTimer <= diff)
- {
- CheckPlayersFrostResist();
- _checkFrostResistTimer = 5 * IN_MILLISECONDS;
- }
- else
- _checkFrostResistTimer -= diff;
- }
-
if (_phase == PHASE_GROUND)
{
while (uint32 eventId = events.ExecuteEvent())
{
switch (eventId)
{
+ case EVENT_CHECK_RESISTS:
+ DoCast(me, SPELL_CHECK_RESISTS);
+ events.ScheduleEvent(EVENT_CHECK_RESISTS, 30 * IN_MILLISECONDS);
+ return;
case EVENT_BERSERK:
Talk(EMOTE_ENRAGE);
DoCast(me, SPELL_BERSERK);
@@ -270,7 +262,6 @@ class boss_sapphiron : public CreatureScript
return;
case EVENT_BLIZZARD:
{
- //DoCastAOE(SPELL_SUMMON_BLIZZARD);
if (Creature* summon = DoSummon(NPC_BLIZZARD, me, 0.0f, urand(25, 30) * IN_MILLISECONDS, TEMPSUMMON_TIMED_DESPAWN))
summon->GetMotionMaster()->MoveRandom(40);
events.ScheduleEvent(EVENT_BLIZZARD, RAID_MODE(20, 7) * IN_MILLISECONDS, 0, PHASE_GROUND);
@@ -300,9 +291,14 @@ class boss_sapphiron : public CreatureScript
{
switch (eventId)
{
+ case EVENT_CHECK_RESISTS:
+ DoCast(me, SPELL_CHECK_RESISTS);
+ events.ScheduleEvent(EVENT_CHECK_RESISTS, 30 * IN_MILLISECONDS);
+ return;
case EVENT_LIFTOFF:
Talk(EMOTE_AIR_PHASE);
me->SetDisableGravity(true);
+ me->SetHover(true);
events.ScheduleEvent(EVENT_ICEBOLT, 1500);
_iceboltCount = RAID_MODE(2, 3);
return;
@@ -346,6 +342,7 @@ class boss_sapphiron : public CreatureScript
case EVENT_LAND:
me->HandleEmoteCommand(EMOTE_ONESHOT_LAND);
Talk(EMOTE_GROUND_PHASE);
+ me->SetHover(false);
me->SetDisableGravity(false);
events.ScheduleEvent(EVENT_GROUND, 1500);
return;
@@ -406,7 +403,6 @@ class boss_sapphiron : public CreatureScript
uint32 _iceboltCount;
IceBlockMap _iceblocks;
bool _canTheHundredClub;
- uint32 _checkFrostResistTimer;
Map* _map;
};
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
index 61d64413178..b31436f656a 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_flame_leviathan.cpp
@@ -97,9 +97,6 @@ enum Creatures
NPC_MIMIRON_TARGET_BEACON = 33369,
NPC_HODIR_TARGET_BEACON = 33108,
NPC_FREYA_TARGET_BEACON = 33366,
- NPC_LOREKEEPER = 33686, // Hard mode starter
- NPC_BRANZ_BRONZBEARD = 33579,
- NPC_DELORAH = 33701,
NPC_ULDUAR_GAUNTLET_GENERATOR = 33571, // Trigger tied to towers
};
@@ -1167,9 +1164,49 @@ class npc_freya_ward_summon : public CreatureScript
}
};
-//npc lore keeper
-#define GOSSIP_ITEM_1 "Activate secondary defensive systems"
-#define GOSSIP_ITEM_2 "Confirmed"
+enum BrannBronzebeardGossips
+{
+ GOSSIP_MENU_BRANN_BRONZEBEARD = 10355,
+ GOSSIP_OPTION_BRANN_BRONZEBEARD = 0
+};
+
+class npc_brann_bronzebeard_ulduar_intro : public CreatureScript
+{
+ public:
+ npc_brann_bronzebeard_ulduar_intro() : CreatureScript("npc_brann_bronzebeard_ulduar_intro") { }
+
+ struct npc_brann_bronzebeard_ulduar_introAI : public ScriptedAI
+ {
+ npc_brann_bronzebeard_ulduar_introAI(Creature* creature) : ScriptedAI(creature)
+ {
+ _instance = creature->GetInstanceScript();
+ }
+
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
+ {
+ if (menuId == GOSSIP_MENU_BRANN_BRONZEBEARD && gossipListId == GOSSIP_OPTION_BRANN_BRONZEBEARD)
+ {
+ player->PlayerTalkClass->SendCloseGossip();
+ if (Creature* loreKeeper = _instance->GetCreature(DATA_LORE_KEEPER_OF_NORGANNON))
+ loreKeeper->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
+ }
+ }
+
+ private:
+ InstanceScript* _instance;
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return GetUlduarAI<npc_brann_bronzebeard_ulduar_introAI>(creature);
+ }
+};
+
+enum LoreKeeperGossips
+{
+ GOSSIP_MENU_LORE_KEEPER = 10477,
+ GOSSIP_OPTION_LORE_KEEPER = 0
+};
class npc_lorekeeper : public CreatureScript
{
@@ -1180,6 +1217,7 @@ class npc_lorekeeper : public CreatureScript
{
npc_lorekeeperAI(Creature* creature) : ScriptedAI(creature)
{
+ _instance = creature->GetInstanceScript();
}
void DoAction(int32 action) override
@@ -1187,66 +1225,42 @@ class npc_lorekeeper : public CreatureScript
// Start encounter
if (action == ACTION_SPAWN_VEHICLES)
{
- for (int32 i = 0; i < RAID_MODE(2, 5); ++i)
+ for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
DoSummon(VEHICLE_SIEGE, PosSiege[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- for (int32 i = 0; i < RAID_MODE(2, 5); ++i)
+ for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
DoSummon(VEHICLE_CHOPPER, PosChopper[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- for (int32 i = 0; i < RAID_MODE(2, 5); ++i)
+ for (uint8 i = 0; i < RAID_MODE(2, 5); ++i)
DoSummon(VEHICLE_DEMOLISHER, PosDemolisher[i], 3000, TEMPSUMMON_CORPSE_TIMED_DESPAWN);
- return;
}
}
- };
-
- bool OnGossipSelect(Player* player, Creature* creature, uint32 /*sender*/, uint32 action) override
- {
- player->CLOSE_GOSSIP_MENU();
- InstanceScript* instance = creature->GetInstanceScript();
- if (!instance)
- return true;
- switch (action)
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
{
- case GOSSIP_ACTION_INFO_DEF+1:
- player->PrepareGossipMenu(creature);
- instance->instance->LoadGrid(364, -16); //make sure leviathan is loaded
+ if (menuId == GOSSIP_MENU_LORE_KEEPER && gossipListId == GOSSIP_OPTION_LORE_KEEPER)
+ {
+ player->PlayerTalkClass->SendCloseGossip();
+ _instance->instance->LoadGrid(364, -16); // make sure leviathan is loaded
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- break;
- case GOSSIP_ACTION_INFO_DEF+2:
- if (Creature* leviathan = instance->instance->GetCreature(instance->GetGuidData(BOSS_LEVIATHAN)))
+ if (Creature* leviathan = _instance->instance->GetCreature(_instance->GetGuidData(BOSS_LEVIATHAN)))
{
leviathan->AI()->DoAction(ACTION_START_HARD_MODE);
- creature->SetVisible(false);
- creature->AI()->DoAction(ACTION_SPAWN_VEHICLES); // spawn the vehicles
- if (Creature* Delorah = creature->FindNearestCreature(NPC_DELORAH, 1000, true))
+ me->SetVisible(false);
+ DoAction(ACTION_SPAWN_VEHICLES); // spawn the vehicles
+ if (Creature* delorah = _instance->GetCreature(DATA_DELLORAH))
{
- if (Creature* Branz = creature->FindNearestCreature(NPC_BRANZ_BRONZBEARD, 1000, true))
+ if (Creature* brann = _instance->GetCreature(DATA_BRANN_BRONZEBEARD_INTRO))
{
- Delorah->GetMotionMaster()->MovePoint(0, Branz->GetPositionX()-4, Branz->GetPositionY(), Branz->GetPositionZ());
- /// @todo Delorah->AI()->Talk(xxxx, Branz->GetGUID()); when reached at branz
+ delorah->GetMotionMaster()->MovePoint(0, brann->GetPositionX() - 4, brann->GetPositionY(), brann->GetPositionZ());
+ /// @todo delorah->AI()->Talk(xxxx, brann->GetGUID()); when reached at branz
}
}
}
- break;
+ }
}
- return true;
- }
-
- bool OnGossipHello(Player* player, Creature* creature) override
- {
- InstanceScript* instance = creature->GetInstanceScript();
- if (instance && instance->GetData(BOSS_LEVIATHAN) != DONE && player)
- {
- player->PrepareGossipMenu(creature);
-
- player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- }
- return true;
- }
+ private:
+ InstanceScript* _instance;
+ };
CreatureAI* GetAI(Creature* creature) const override
{
@@ -1254,56 +1268,6 @@ class npc_lorekeeper : public CreatureScript
}
};
-//enable hardmode
-////npc_brann_bronzebeard this requires more work involving area triggers. if reached this guy speaks through his radio..
-//#define GOSSIP_ITEM_1 "xxxxx"
-//#define GOSSIP_ITEM_2 "xxxxx"
-//
-/*
-class npc_brann_bronzebeard : public CreatureScript
-{
-public:
- npc_brann_bronzebeard() : CreatureScript("npc_brann_bronzebeard") { }
-
- //bool OnGossipSelect(Player* player, Creature* creature, uint32 sender, uint32 action) override
- //{
- // player->PlayerTalkClass->ClearMenus();
- // switch (action)
- // {
- // case GOSSIP_ACTION_INFO_DEF+1:
- // if (player)
- // {
- // player->PrepareGossipMenu(creature);
- //
- // player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_2, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+2);
- // player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- // }
- // break;
- // case GOSSIP_ACTION_INFO_DEF+2:
- // if (player)
- // player->CLOSE_GOSSIP_MENU();
- // if (Creature* Lorekeeper = creature->FindNearestCreature(NPC_LOREKEEPER, 1000, true)) //lore keeper of lorgannon
- // Lorekeeper->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
- // break;
- // }
- // return true;
- //}
- //bool OnGossipHello(Player* player, Creature* creature) override
- //{
- // InstanceScript* instance = creature->GetInstanceScript();
- // if (instance && instance->GetData(BOSS_LEVIATHAN) !=DONE)
- // {
- // player->PrepareGossipMenu(creature);
- //
- // player->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_1, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
- // player->SEND_GOSSIP_MENU(player->GetGossipTextId(creature), creature->GetGUID());
- // }
- // return true;
- //}
- //
-}
-*/
-
class go_ulduar_tower : public GameObjectScript
{
public:
@@ -1836,8 +1800,8 @@ void AddSC_boss_flame_leviathan()
new npc_hodirs_fury();
new npc_freyas_ward();
new npc_freya_ward_summon();
+ new npc_brann_bronzebeard_ulduar_intro();
new npc_lorekeeper();
- // new npc_brann_bronzebeard();
new go_ulduar_tower();
new achievement_three_car_garage_demolisher();
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
index 818bb0041a9..6958b5d78a5 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/boss_freya.cpp
@@ -749,8 +749,8 @@ class boss_elder_brightleaf : public CreatureScript
case EVENT_SOLAR_FLARE:
{
uint8 stackAmount = 0;
- if (me->GetAura(SPELL_FLUX_AURA))
- stackAmount = me->GetAura(SPELL_FLUX_AURA)->GetStackAmount();
+ if (Aura* aura = me->GetAura(SPELL_FLUX_AURA))
+ stackAmount = aura->GetStackAmount();
me->CastCustomSpell(SPELL_SOLAR_FLARE, SPELLVALUE_MAX_TARGETS, stackAmount, me, false);
events.ScheduleEvent(EVENT_SOLAR_FLARE, urand(5000, 10000));
break;
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
index 0c7df100f60..f2edfa816a0 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/instance_ulduar.cpp
@@ -54,6 +54,15 @@ MinionData const minionData[] =
{ 0, 0, }
};
+ObjectData const creatureData[] =
+{
+ { NPC_BRANN_BRONZEBEARD_INTRO, DATA_BRANN_BRONZEBEARD_INTRO },
+ { NPC_LORE_KEEPER_OF_NORGANNON, DATA_LORE_KEEPER_OF_NORGANNON },
+ { NPC_HIGH_EXPLORER_DELLORAH, DATA_DELLORAH },
+ { NPC_BRONZEBEARD_RADIO, DATA_BRONZEBEARD_RADIO },
+ { 0, 0, }
+};
+
class instance_ulduar : public InstanceMapScript
{
public:
@@ -68,6 +77,7 @@ class instance_ulduar : public InstanceMapScript
LoadDoorData(doorData);
LoadMinionData(minionData);
+ LoadObjectData(creatureData, nullptr);
_algalonTimer = 61;
_maxArmorItemLevel = 0;
@@ -420,6 +430,8 @@ class instance_ulduar : public InstanceMapScript
algalon->AI()->JustSummoned(creature);
break;
}
+
+ InstanceScript::OnCreatureCreate(creature);
}
void OnCreatureRemove(Creature* creature) override
@@ -446,6 +458,8 @@ class instance_ulduar : public InstanceMapScript
default:
break;
}
+
+ InstanceScript::OnCreatureRemove(creature);
}
void OnGameObjectCreate(GameObject* gameObject) override
diff --git a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
index 9f640c410ef..834ab32864f 100644
--- a/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
+++ b/src/server/scripts/Northrend/Ulduar/Ulduar/ulduar.h
@@ -80,6 +80,23 @@ enum UlduarNPCs
NPC_YOGG_SARON = 33288,
NPC_ALGALON = 32871,
+ // Flame Leviathan
+ NPC_ULDUAR_COLOSSUS = 33237,
+ NPC_BRANN_BRONZEBEARD_INTRO = 33579,
+ NPC_BRANN_BRONZEBEARD_FLYING_MACHINE = 34119,
+ NPC_BRANN_S_FLYING_MACHINE = 34120,
+ NPC_ARCHMAGE_PENTARUS = 33624,
+ NPC_ARCHMAGE_RHYDIAN = 33696,
+ NPC_LORE_KEEPER_OF_NORGANNON = 33686,
+ NPC_HIGH_EXPLORER_DELLORAH = 33701,
+ NPC_BRONZEBEARD_RADIO = 34054,
+ NPC_FLAME_LEVIATHAN = 33113,
+ NPC_FLAME_LEVIATHAN_SEAT = 33114,
+ NPC_FLAME_LEVIATHAN_TURRET = 33139,
+ NPC_LEVIATHAN_DEFENSE_TURRET = 33142,
+ NPC_OVERLOAD_CONTROL_DEVICE = 33143,
+ NPC_ORBITAL_SUPPORT = 34286,
+
// Mimiron
NPC_LEVIATHAN_MKII = 33432,
NPC_VX_001 = 33651,
@@ -382,6 +399,12 @@ enum UlduarData
DATA_UNIVERSE_GLOBE,
DATA_ALGALON_TRAPDOOR,
DATA_BRANN_BRONZEBEARD_ALG,
+
+ // Misc
+ DATA_BRANN_BRONZEBEARD_INTRO,
+ DATA_LORE_KEEPER_OF_NORGANNON,
+ DATA_DELLORAH,
+ DATA_BRONZEBEARD_RADIO
};
enum UlduarWorldStates
diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp
index 68c115f9faf..0ab7c2fcb54 100644
--- a/src/server/scripts/Spells/spell_generic.cpp
+++ b/src/server/scripts/Spells/spell_generic.cpp
@@ -614,6 +614,47 @@ class spell_gen_burn_brutallus : public SpellScriptLoader
}
};
+// 48750 - Burning Depths Necrolyte Image
+class spell_gen_burning_depths_necrolyte_image : public SpellScriptLoader
+{
+ public:
+ spell_gen_burning_depths_necrolyte_image() : SpellScriptLoader("spell_gen_burning_depths_necrolyte_image") { }
+
+ class spell_gen_burning_depths_necrolyte_image_AuraScript : public AuraScript
+ {
+ PrepareAuraScript(spell_gen_burning_depths_necrolyte_image_AuraScript);
+
+ bool Validate(SpellInfo const* spellInfo) override
+ {
+ if (!sSpellMgr->GetSpellInfo(uint32(spellInfo->Effects[EFFECT_2].CalcValue())))
+ return false;
+ return true;
+ }
+
+ void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ if (Unit* caster = GetCaster())
+ caster->CastSpell(GetTarget(), uint32(GetSpellInfo()->Effects[EFFECT_2].CalcValue()));
+ }
+
+ void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
+ {
+ GetTarget()->RemoveAurasDueToSpell(uint32(GetSpellInfo()->Effects[EFFECT_2].CalcValue()), GetCasterGUID());
+ }
+
+ void Register() override
+ {
+ AfterEffectApply += AuraEffectApplyFn(spell_gen_burning_depths_necrolyte_image_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
+ AfterEffectRemove += AuraEffectRemoveFn(spell_gen_burning_depths_necrolyte_image_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
+ }
+ };
+
+ AuraScript* GetAuraScript() const override
+ {
+ return new spell_gen_burning_depths_necrolyte_image_AuraScript();
+ }
+};
+
enum CannibalizeSpells
{
SPELL_CANNIBALIZE_TRIGGERED = 20578
@@ -4093,6 +4134,7 @@ void AddSC_generic_spell_scripts()
new spell_gen_break_shield("spell_gen_break_shield");
new spell_gen_break_shield("spell_gen_tournament_counterattack");
new spell_gen_burn_brutallus();
+ new spell_gen_burning_depths_necrolyte_image();
new spell_gen_cannibalize();
new spell_gen_chaos_blast();
new spell_gen_clone();
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 57346443390..22eabd3dd65 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -57,6 +57,7 @@ EndContentData */
#include "SpellAuras.h"
#include "Pet.h"
#include "CreatureTextMgr.h"
+#include "SmartAI.h"
/*########
# npc_air_force_bots
@@ -2321,6 +2322,71 @@ public:
}
};
+enum StableMasters
+{
+ SPELL_MINIWING = 54573,
+ SPELL_JUBLING = 54611,
+ SPELL_DARTER = 54619,
+ SPELL_WORG = 54631,
+ SPELL_SMOLDERWEB = 54634,
+ SPELL_CHIKEN = 54677,
+ SPELL_WOLPERTINGER = 54688,
+
+ STABLE_MASTER_GOSSIP_SUB_MENU = 9820
+};
+
+class npc_stable_master : public CreatureScript
+{
+ public:
+ npc_stable_master() : CreatureScript("npc_stable_master") { }
+
+ struct npc_stable_masterAI : public SmartAI
+ {
+ npc_stable_masterAI(Creature* creature) : SmartAI(creature) { }
+
+ void sGossipSelect(Player* player, uint32 menuId, uint32 gossipListId) override
+ {
+ SmartAI::sGossipSelect(player, menuId, gossipListId);
+ if (menuId != STABLE_MASTER_GOSSIP_SUB_MENU)
+ return;
+
+ switch (gossipListId)
+ {
+ case 0:
+ player->CastSpell(player, SPELL_MINIWING, false);
+ break;
+ case 1:
+ player->CastSpell(player, SPELL_JUBLING, false);
+ break;
+ case 2:
+ player->CastSpell(player, SPELL_DARTER, false);
+ break;
+ case 3:
+ player->CastSpell(player, SPELL_WORG, false);
+ break;
+ case 4:
+ player->CastSpell(player, SPELL_SMOLDERWEB, false);
+ break;
+ case 5:
+ player->CastSpell(player, SPELL_CHIKEN, false);
+ break;
+ case 6:
+ player->CastSpell(player, SPELL_WOLPERTINGER, false);
+ break;
+ default:
+ return;
+ }
+
+ player->PlayerTalkClass->SendCloseGossip();
+ }
+ };
+
+ CreatureAI* GetAI(Creature* creature) const override
+ {
+ return new npc_stable_masterAI(creature);
+ }
+};
+
void AddSC_npcs_special()
{
new npc_air_force_bots();
@@ -2343,4 +2409,5 @@ void AddSC_npcs_special()
new npc_firework();
new npc_spring_rabbit();
new npc_imp_in_a_ball();
+ new npc_stable_master();
}
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp
index 10c41835a9f..387fb156dee 100644
--- a/src/server/worldserver/Main.cpp
+++ b/src/server/worldserver/Main.cpp
@@ -424,7 +424,7 @@ void FreezeDetectorHandler(const boost::system::error_code& error)
else if (getMSTimeDiff(_lastChangeMsTime, curtime) > _maxCoreStuckTimeInMs)
{
TC_LOG_ERROR("server.worldserver", "World Thread hangs, kicking out server!");
- ASSERT(false);
+ ABORT();
}
_freezeCheckTimer.expires_from_now(boost::posix_time::seconds(1));