fgColor: '#000000',
                                name: 'Brothers\' House',
                                short: 'Bros',
+                               type: 'Interior',
                        },
                        {
                                id: 'link',
                                fgColor: '#000000',
                                name: 'Link\'s House',
                                short: 'Links',
+                               type: 'SpecialInterior',
                        },
                        {
                                id: 'sariah',
                                fgColor: '#000000',
                                name: 'Sariah\'s House',
                                short: 'Sariahs',
+                               type: 'Interior',
                        },
                        {
                                id: 'twin',
                                fgColor: '#000000',
                                name: 'Twins\' House',
                                short: 'Twins',
+                               type: 'Interior',
                        },
                        {
                                id: 'shop',
                                fgColor: '#000000',
                                name: 'Shop',
                                short: 'Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'mido',
                                fgColor: '#000000',
                                name: 'Mido\'s House',
                                short: 'Mido',
+                               type: 'Interior',
                        },
                        {
                                id: 'deku',
                                name: 'Deku Tree',
                                short: 'Deku',
                                spacer: true,
+                               type: 'Dungeon',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hf',
                                fgColor: '#000000',
                                name: 'Hyrule Field',
                                short: 'HF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'lw',
                                fgColor: '#000000',
                                name: 'Lost Woods',
                                short: 'LW',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'GC Grotto',
                                short: 'GC Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'tg',
                                fgColor: '#000000',
                                name: 'Theater Grotto',
                                short: 'Theater Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'sfmg',
                                fgColor: '#000000',
                                name: 'SFM Grotto',
                                short: 'SFM Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'kf',
                                name: 'Kokiri Forest',
                                short: 'KF',
                                spacer: true,
+                               type: 'Overworld',
                        },
                        {
                                id: 'gc',
                                fgColor: '#000000',
                                name: 'Goron City',
                                short: 'GC',
+                               type: 'Overworld',
                        },
                        {
                                id: 'zr',
                                fgColor: '#000000',
                                name: 'Zora\'s River',
                                short: 'ZR',
+                               type: 'Overworld',
                        },
                        {
                                id: 'sfm',
                                fgColor: '#000000',
                                name: 'Sacred Forest Maedows',
                                short: 'SFM',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Forest Temple',
                                short: 'Forest Temple',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'wolf',
                                fgColor: '#000000',
                                name: 'Wolf Grotto',
                                short: 'Wolf Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'fairy',
                                fgColor: '#000000',
                                name: 'Fairy Grotto',
                                short: 'Fairy Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'lw',
                                fgColor: '#000000',
                                name: 'Lost Woods',
                                short: 'LW',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Dampe Hut',
                                short: 'Dampe Hut',
+                               type: 'Interior',
                        },
                        {
                                id: 'shadow',
                                fgColor: '#000000',
                                name: 'Shadow Temple',
                                short: 'Shadow',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'shield',
                                fgColor: '#000000',
                                name: 'Shield Grave',
                                short: 'Shield Grave',
+                               type: 'Grave',
                        },
                        {
                                id: 'race',
                                fgColor: '#000000',
                                name: 'Dampe Race',
                                short: 'Dampe Race',
+                               type: 'Grave',
                        },
                        {
                                id: 'sun',
                                fgColor: '#000000',
                                name: 'Sun Song Grave',
                                short: 'Sun Song Gr',
+                               type: 'Grave',
                        },
                        {
                                id: 'family',
                                fgColor: '#000000',
                                name: 'Family Tomb',
                                short: 'Family Tomb',
+                               type: 'Grave',
                        },
                        {
                                id: 'kak',
                                fgColor: '#000000',
                                name: 'Kakariko',
                                short: 'Kak',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Talon\'s House',
                                short: 'Talons',
+                               type: 'Interior',
                        },
                        {
                                id: 'skull',
                                fgColor: '#000000',
                                name: 'Skulltula House',
                                short: 'Skulltula',
+                               type: 'Interior',
                        },
                        {
                                id: 'impaf',
                                fgColor: '#000000',
                                name: 'Impa Front',
                                short: 'Impa Front',
+                               type: 'Interior',
                        },
                        {
                                id: 'impab',
                                fgColor: '#000000',
                                name: 'Impa Back',
                                short: 'Impa Back',
+                               type: 'Interior',
                        },
                        {
                                id: 'shield',
                                fgColor: '#000000',
                                name: 'Shield Shop',
                                short: 'Shield Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'potion',
                                fgColor: '#000000',
                                name: 'Potion Shop',
                                short: 'Potion Shop',
+                               type: 'SpecialInterior',
                        },
                        {
                                id: 'back',
                                fgColor: '#000000',
                                name: 'Shop Back',
                                short: 'Shop Back',
+                               type: 'SpecialInterior',
                        },
                        {
                                id: 'witch',
                                fgColor: '#000000',
                                name: 'Witch',
                                short: 'Witch',
+                               type: 'Interior',
                        },
                        {
                                id: 'arch',
                                fgColor: '#000000',
                                name: 'Archery',
                                short: 'Archery',
+                               type: 'Interior',
                        },
                        {
                                id: 'mill',
                                fgColor: '#000000',
                                name: 'Windmill',
                                short: 'Windmill',
+                               type: 'SpecialInterior',
                        },
                        {
                                id: 'botw',
                                name: 'Bottom of the Well',
                                short: 'Bottom Well',
                                spacer: true,
+                               type: 'Dungeon',
                        },
                        {
                                id: 'open',
                                fgColor: '#000000',
                                name: 'Open Grotto',
                                short: 'Open Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'redead',
                                fgColor: '#000000',
                                name: 'Redead Grotto',
                                short: 'Redead Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hf',
                                fgColor: '#000000',
                                name: 'Hyrule Field',
                                short: 'HF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'dmt',
                                fgColor: '#000000',
                                name: 'Death Mountain Trail',
                                short: 'DMT',
+                               type: 'Overworld',
                        },
                        {
                                id: 'gy',
                                fgColor: '#000000',
                                name: 'Graveyard',
                                short: 'Grave',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Shield Shop',
                                short: 'Shield Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'potion',
                                fgColor: '#000000',
                                name: 'Potion Shop',
                                short: 'Potion Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'mask',
                                fgColor: '#000000',
                                name: 'Mask Shop',
                                short: 'Mask Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'sling',
                                fgColor: '#000000',
                                name: 'Slingshot/Arrow Game',
                                short: 'Sling Game',
+                               type: 'Interior',
                        },
                        {
                                id: 'chuu',
                                fgColor: '#000000',
                                name: 'Bombchu Bowling',
                                short: 'Bombchu',
+                               type: 'Interior',
                        },
                        {
                                id: 'tcg',
                                fgColor: '#000000',
                                name: 'Treasure Chest Game',
                                short: 'TCG',
+                               type: 'Interior',
                        },
                        {
                                id: 'alleyl',
                                fgColor: '#000000',
                                name: 'Backalley Left',
                                short: 'Alley L',
+                               type: 'Overworld',
                        },
                        {
                                id: 'alleyr',
                                fgColor: '#000000',
                                name: 'Backalley Right',
                                short: 'Alley R',
+                               type: 'Overworld',
                        },
                        {
                                id: 'tot',
                                fgColor: '#000000',
                                name: 'Temple of Time',
                                short: 'ToT',
+                               type: 'Overworld',
                        },
                        {
                                id: 'hc',
                                fgColor: '#000000',
                                name: 'Hyrule Castle',
                                short: 'HC',
+                               type: 'Overworld',
                        },
                        {
                                id: 'm2',
                                fgColor: '#000000',
                                name: 'Market 2',
                                short: 'M2',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Big Poe',
                                short: 'Big Poe',
+                               type: 'Interior',
                        },
                        {
                                id: 'hf',
                                fgColor: '#000000',
                                name: 'Hyrule Field',
                                short: 'HF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'm1',
                                fgColor: '#000000',
                                name: 'Market 1',
                                short: 'M1',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Hyrule Castle Fairy',
                                short: 'HC Fairy',
+                               type: 'Interior',
                        },
                        {
                                id: 'gfairy',
                                fgColor: '#000000',
                                name: 'Ganon\'s Castle Fairy',
                                short: 'Ganon Fairy',
+                               type: 'Interior',
                        },
                        {
                                id: 'igc',
                                fgColor: '#000000',
                                name: 'Inside Ganon\'s Castle',
                                short: 'IGC',
+                               type: 'DungeonSpecial',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'm1',
                                fgColor: '#000000',
                                name: 'Market 1',
                                short: 'M1',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Destiny Grotto',
                                short: 'Destiny Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'tektite',
                                fgColor: '#000000',
                                name: 'Tektite Grotto',
                                short: 'Tektite',
+                               type: 'Grotto',
                        },
                        {
                                id: 'nw',
                                fgColor: '#000000',
                                name: 'Northwest Grotto',
                                short: 'NW Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'nk',
                                fgColor: '#000000',
                                name: 'Grotto near Kakariko',
                                short: 'near Kak Gro',
+                               type: 'Grotto',
                        },
                        {
                                id: 'se',
                                fgColor: '#000000',
                                name: 'Southeast Grotto',
                                short: 'SE Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'open',
                                fgColor: '#000000',
                                name: 'Open Grotto',
                                short: 'Open Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'sg',
                                fgColor: '#000000',
                                name: 'South Grotto',
                                short: 'South Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'cow',
                                fgColor: '#000000',
                                name: 'Cow Grotto',
                                short: 'Cow Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'town',
                                name: 'Town',
                                short: 'Town',
                                spacer: true,
+                               type: 'Overworld',
                        },
                        {
                                id: 'llr',
                                fgColor: '#000000',
                                name: 'Lon Lon Ranch',
                                short: 'LLR',
+                               type: 'Overworld',
                        },
                        {
                                id: 'kak',
                                fgColor: '#000000',
                                name: 'Kakariko',
                                short: 'Kak',
+                               type: 'Overworld',
                        },
                        {
                                id: 'zr',
                                fgColor: '#000000',
                                name: 'Zora\'s River',
                                short: 'ZR',
+                               type: 'Overworld',
                        },
                        {
                                id: 'kf',
                                fgColor: '#000000',
                                name: 'Kokiri Forest',
                                short: 'KF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'lh',
                                fgColor: '#000000',
                                name: 'Lake Hylia',
                                short: 'LH',
+                               type: 'Overworld',
                        },
                        {
                                id: 'gv',
                                fgColor: '#000000',
                                name: 'Gerudo Valley',
                                short: 'GV',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'open',
                                fgColor: '#000000',
                                name: 'Open Grotto',
                                short: 'Open Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'boulder',
                                fgColor: '#000000',
                                name: 'Boulder Grotto',
                                short: 'Boulder Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hf',
                                name: 'Hyrule Field',
                                short: 'HF',
                                spacer: true,
+                               type: 'Overworld',
                        },
                        {
                                id: 'lw',
                                fgColor: '#000000',
                                name: 'Lost Woods',
                                short: 'LW',
+                               type: 'Overworld',
                        },
                        {
                                id: 'zd',
                                fgColor: '#000000',
                                name: 'Zora\'s Domain',
                                short: 'ZD',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Shop',
                                short: 'Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'zr',
                                fgColor: '#000000',
                                name: 'Zora\'s River',
                                short: 'ZR',
+                               type: 'Overworld',
                        },
                        {
                                id: 'lh',
                                fgColor: '#000000',
                                name: 'Lake Hylia',
                                short: 'LH',
+                               type: 'Overworld',
                        },
                        {
                                id: 'zf',
                                fgColor: '#000000',
                                name: 'Zora\'s Fountain',
                                short: 'ZF',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Fairy Wall',
                                short: 'Fairy Wall',
+                               type: 'Interior',
                        },
                        {
                                id: 'jabu',
                                fgColor: '#000000',
                                name: 'Jabu Jabu\'s Belly',
                                short: 'Jabu',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'ice',
                                fgColor: '#000000',
                                name: 'Ice Cavern',
                                short: 'Ice Cavern',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'zd',
                                fgColor: '#000000',
                                name: 'Zora\'s Domain',
                                short: 'ZD',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Lab Diving',
                                short: 'Lab Dive',
+                               type: 'Interior',
                        },
                        {
                                id: 'fishing',
                                fgColor: '#000000',
                                name: 'Fishing Game',
                                short: 'Fishing',
+                               type: 'Interior',
                        },
                        {
                                id: 'water',
                                fgColor: '#000000',
                                name: 'Water Temple',
                                short: 'Water Temple',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'owl',
                                fgColor: '#000000',
                                name: 'Owl Grotto',
                                short: 'Owl Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hf',
                                fgColor: '#000000',
                                name: 'Hyrule Field',
                                short: 'HF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'zd',
                                fgColor: '#000000',
                                name: 'Zora\'s Domain',
                                short: 'ZD',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Chicken Game',
                                short: 'Chicken',
+                               type: 'Interior',
                        },
                        {
                                id: 'stable',
                                fgColor: '#000000',
                                name: 'Stable',
                                short: 'Stable',
+                               type: 'Interior',
                        },
                        {
                                id: 'tower',
                                fgColor: '#000000',
                                name: 'Tower',
                                short: 'Tower',
+                               type: 'Interior',
                        },
                        {
                                id: 'grotto',
                                fgColor: '#000000',
                                name: 'Grotto',
                                short: 'Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hf',
                                fgColor: '#000000',
                                name: 'Hyrule Field',
                                short: 'HF',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Tent',
                                short: 'Tent',
+                               type: 'Interior',
                        },
                        {
                                id: 'str2',
                                fgColor: '#000000',
                                name: 'Strength 2 Grotto',
                                short: 'Str2 Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hf',
                                fgColor: '#000000',
                                name: 'Hyrule Field',
                                short: 'HF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'gf',
                                fgColor: '#000000',
                                name: 'Gerudo Fortress',
                                short: 'GF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'wf',
                                name: 'Waterfall',
                                short: 'Waterfall',
                                oneway: true,
+                               type: 'OverworldOneWay',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Gerudo Training Grounds',
                                short: 'GTG',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'gv',
                                fgColor: '#000000',
                                name: 'Gerudo Valley',
                                short: 'GV',
+                               type: 'Overworld',
                        },
                        {
                                id: 'hw',
                                fgColor: '#000000',
                                name: 'Haunted Wasteland',
                                short: 'Waste',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Spirit Temple',
                                short: 'Spirit',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'fairy',
                                fgColor: '#000000',
                                name: 'Fairy',
                                short: 'Fairy',
+                               type: 'Interior',
                        },
                        {
                                id: 'str2',
                                fgColor: '#000000',
                                name: 'Strength 2 Grotto',
                                short: 'Str2 Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hw',
                                fgColor: '#000000',
                                name: 'Haunted Wasteland',
                                short: 'Waste',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Gerudo Fortress',
                                short: 'GF',
+                               type: 'Overworld',
                        },
                        {
                                id: 'dcol',
                                fgColor: '#000000',
                                name: 'Desert Colossus',
                                short: 'DCol',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Fairy',
                                short: 'Fairy',
+                               type: 'Interior',
                        },
                        {
                                id: 'fire',
                                fgColor: '#000000',
                                name: 'Fire Temple',
                                short: 'Fire',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'boulder',
                                fgColor: '#000000',
                                name: 'Boulder Grotto',
                                short: 'Boulder Gro',
+                               type: 'Grotto',
                        },
                        {
                                id: 'hammer',
                                fgColor: '#000000',
                                name: 'Hammer Grotto',
                                short: 'Hammer Gro',
+                               type: 'Grotto',
                        },
                        {
                                id: 'gc',
                                fgColor: '#000000',
                                name: 'Goron City',
                                short: 'GC',
+                               type: 'Overworld',
                        },
                        {
                                id: 'dmt',
                                fgColor: '#000000',
                                name: 'Death Mountain Trail',
                                short: 'DMT',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Dodongo\'s Cavern',
                                short: 'DC',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'fairy',
                                fgColor: '#000000',
                                name: 'Fairy',
                                short: 'Fairy',
+                               type: 'Interior',
                        },
                        {
                                id: 'storms',
                                fgColor: '#000000',
                                name: 'Storms Grotto',
                                short: 'Storms Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'cow',
                                fgColor: '#000000',
                                name: 'Cow Grotto',
                                short: 'Cow Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'kak',
                                name: 'Kakariko',
                                short: 'Kak',
                                spacer: true,
+                               type: 'Overworld',
                        },
                        {
                                id: 'gc',
                                fgColor: '#000000',
                                name: 'Goron City',
                                short: 'GC',
+                               type: 'Overworld',
                        },
                        {
                                id: 'dmc',
                                fgColor: '#000000',
                                name: 'Death Mountain Crater',
                                short: 'DMC',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Shop',
                                short: 'Shop',
+                               type: 'Interior',
                        },
                        {
                                id: 'times',
                                fgColor: '#000000',
                                name: 'Times Grotto',
                                short: 'Times Grotto',
+                               type: 'Grotto',
                        },
                        {
                                id: 'dmt',
                                fgColor: '#000000',
                                name: 'Death Mountain Trail',
                                short: 'DMT',
+                               type: 'Overworld',
                        },
                        {
                                id: 'lw',
                                fgColor: '#000000',
                                name: 'Lost Woods',
                                short: 'LW',
+                               type: 'Overworld',
                        },
                        {
                                id: 'dmc',
                                fgColor: '#000000',
                                name: 'Death Mountain Crater',
                                short: 'DMC',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Temple of Time',
                                short: 'Temple',
+                               type: 'SpecialInterior',
                        },
                        {
                                id: 'm1',
                                fgColor: '#000000',
                                name: 'Market 1',
                                short: 'M1',
+                               type: 'Overworld',
                        },
                ],
        },
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'ChildBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'Gohma',
                short: 'Gohma',
+               type: 'ChildBoss',
        },
        {
                id: 'dc',
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'ChildBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'King Dodongo',
                short: 'Dodongo',
+               type: 'ChildBoss',
        },
        {
                id: 'jabu',
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'ChildBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'Barinade',
                short: 'Barinade',
+               type: 'ChildBoss',
        },
        {
                id: 'forest',
                                name: 'Main',
                                short: 'Main',
                                spacer: true,
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                name: 'End',
                                short: 'End',
                                spacer: true,
+                               type: 'AdultBoss',
                        },
                ],
        },
                name: 'Phantom Ganon',
                short: 'PG',
                spacer: true,
+               type: 'AdultBoss',
        },
        {
                id: 'fire',
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'AdultBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'Volvagia',
                short: 'Volvagia',
+               type: 'AdultBoss',
        },
        {
                id: 'water',
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'AdultBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'Morpha',
                short: 'Morpha',
+               type: 'AdultBoss',
        },
        {
                id: 'shadow',
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'AdultBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'Bongo Bongo',
                short: 'Bongo Bongo',
+               type: 'AdultBoss',
        },
        {
                id: 'spirit',
                                fgColor: '#000000',
                                name: 'Main',
                                short: 'Main',
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                fgColor: '#000000',
                                name: 'End',
                                short: 'End',
+                               type: 'AdultBoss',
                        },
                ],
        },
                fgColor: '#000000',
                name: 'Twinrova',
                short: 'Twinrova',
+               type: 'AdultBoss',
        },
        {
                id: 'igc',
                                name: 'Main',
                                short: 'Main',
                                spacer: true,
+                               type: 'Dungeon',
                        },
                        {
                                id: 'end',
                                name: 'End',
                                short: 'End',
                                spacer: true,
+                               type: 'SpecialBoss',
                        },
                ],
        },
                name: 'Ganon',
                short: 'Ganon',
                spacer: true,
+               type: 'SpecialBoss',
        },
        {
                id: 'botw',
                fgColor: '#000000',
                name: 'Bottom of the Well',
                short: 'Bottom Well',
+               type: 'Dungeon',
        },
        {
                id: 'ice',
                fgColor: '#000000',
                name: 'Ice Cavern',
                short: 'Ice Cavern',
+               type: 'Dungeon',
        },
        {
                id: 'gtg',
                fgColor: '#000000',
                name: 'Gerudo Training Grounds',
                short: 'GTG',
+               type: 'Dungeon',
+       },
+       {
+               id: 'songs',
+               bgColor: '#000000',
+               fgColor: '#ffffff',
+               name: 'Warp Songs',
+               short: 'Songs',
+               entrances: [
+                       {
+                               id: 'minuet',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Minuet of Forest',
+                               short: 'Minuet',
+                               oneway: true,
+                               type: 'WarpSong',
+                       },
+                       {
+                               id: 'bolero',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Bolero of Fire',
+                               short: 'Bolero',
+                               oneway: true,
+                               type: 'WarpSong',
+                       },
+                       {
+                               id: 'serenade',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Serenade of Water',
+                               short: 'Serenade',
+                               oneway: true,
+                               type: 'WarpSong',
+                       },
+                       {
+                               id: 'nocturne',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Nocturne of Shadow',
+                               short: 'Nocturne',
+                               oneway: true,
+                               type: 'WarpSong',
+                       },
+                       {
+                               id: 'requiem',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Requiem of Spirit',
+                               short: 'Requiem',
+                               oneway: true,
+                               type: 'WarpSong',
+                       },
+                       {
+                               id: 'prelude',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Prelude of Light',
+                               short: 'Prelude',
+                               oneway: true,
+                               type: 'WarpSong',
+                       },
+               ],
+       },
+       {
+               id: 'spawns',
+               bgColor: '#000000',
+               fgColor: '#ffffff',
+               name: 'Spawns',
+               short: 'Spawns',
+               entrances: [
+                       {
+                               id: 'child',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Child Spawn',
+                               short: 'Child',
+                               oneway: true,
+                               type: 'Spawn',
+                       },
+                       {
+                               id: 'adult',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Adult Spawn',
+                               short: 'Adult',
+                               oneway: true,
+                               type: 'Spawn',
+                       },
+               ],
+       },
+       {
+               id: 'owls',
+               bgColor: '#000000',
+               fgColor: '#ffffff',
+               name: 'Owl Drops',
+               short: 'Owls',
+               entrances: [
+                       {
+                               id: 'lhowl',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Lake Hylia Owl',
+                               short: 'LH Owl',
+                               oneway: true,
+                               type: 'OwlDrop',
+                       },
+                       {
+                               id: 'dmtowl',
+                               bgColor: '#38761d',
+                               fgColor: '#ffffff',
+                               name: 'Death Mountain Trail Owl',
+                               short: 'Trail Owl',
+                               oneway: true,
+                               type: 'OwlDrop',
+                       },
+               ],
        },
 ];
 
        },
 ];
 
+const TYPE_RESTRICTIONS = {
+       OverworldOneWay: [
+               'WarpSong',
+               'BlueWarp',
+               'OwlDrop',
+               'OverworldOneWay',
+               'Overworld',
+               'Extra',
+       ],
+       OwlDrop: [
+               'WarpSong',
+               'BlueWarp',
+               'OwlDrop',
+               'OverworldOneWay',
+               'Overworld',
+               'Extra',
+       ],
+       Spawn: [
+               'Spawn',
+               'WarpSong',
+               'BlueWarp',
+               'OwlDrop',
+               'OverworldOneWay',
+               'Overworld',
+               'Interior',
+               'SpecialInterior',
+               'Extra',
+       ],
+       WarpSong: [
+               'Spawn',
+               'WarpSong',
+               'BlueWarp',
+               'OwlDrop',
+               'OverworldOneWay',
+               'Overworld',
+               'Interior',
+               'SpecialInterior',
+               'Extra',
+       ],
+};
+
 const CONTEXT = React.createContext({});
 
 const useTracker = () => React.useContext(CONTEXT);
 const EntranceRow = ({ entranceId }) => {
        const entrance = React.useMemo(() => getEntrance(entranceId), [entranceId]);
 
-       if (!entrance) {
-               return <div className="entrance-row empty" />;
-       }
+       const { connections, entrances, setConnection } = useTracker();
 
-       const { connections, freeEntrances, setConnection } = useTracker();
+       const options = React.useMemo(() => {
+               if (entrance.type && TYPE_RESTRICTIONS[entrance.type]) {
+                       return entrances.filter((e) =>
+                               e.type && TYPE_RESTRICTIONS[entrance.type].includes(e.type));
+               }
+               return entrances;
+       }, [entrances]);
 
-       const classNames = ['entrance-row'];
-       if (entrance.spacer) classNames.push('mt-2');
-       if (connections[entrance.id] === 'trash') classNames.push('is-trash');
+       const className = React.useMemo(() => {
+               const classNames = ['entrance-row'];
+               if (entrance.spacer) classNames.push('mt-2');
+               if (connections[entrance.id] === 'trash') classNames.push('is-trash');
+               return classNames.join(' ');
+       }, [entrance, connections]);
 
-       return <div className={classNames.join(' ')}>
+       return <div className={className}>
                <label
                        className="entrance-label"
                        htmlFor={entranceId}
                        id={entranceId}
                        name={entranceId}
                        onChange={({ target: { name, value } }) => setConnection(name, value)}
-                       options={freeEntrances}
+                       options={options}
                        value={connections[entranceId]}
                />
        </div>;
        const setConnection = React.useCallback((src, dst) => {
                setConnections((c) => {
                        const newConn = { ...c };
-                       if (getEntrance(c[src])) {
+                       const srcEntrance = getEntrance(src);
+                       const oldTarget = getEntrance(c[src]);
+                       if (oldTarget && (!srcEntrance || !srcEntrance.oneway)) {
                                // unset old connection
                                newConn[c[src]] = null;
                        }
                        newConn[src] = dst;
-                       if (dst && getEntrance(src)) {
+                       if (dst && srcEntrance && !srcEntrance.oneway) {
                                newConn[dst] = src;
                        }
                        return newConn;
                return options;
        }, []);
 
-       const freeEntrances = React.useMemo(() => {
-               return entrances.filter((entrance) => {
-                       return entrance.multi ||
-                               !Object.entries(connections).find(([, b]) => b === entrance.id);
-               });
-       }, [connections, entrances]);
+       const warpTargets = React.useMemo(() => {
+               const targets = [];
+               return targets;
+       }, []);
 
        const context = React.useMemo(() => ({
-               connections, entrances, freeEntrances, setConnection,
-       }), [connections, entrances, freeEntrances, setConnection]);
+               connections, entrances, setConnection, warpTargets,
+       }), [connections, entrances, setConnection, warpTargets]);
 
        const superGroups = React.useMemo(() => {
                const sg = [
                                                </EntranceGroup>
                                        </div>
                                )}
+                               <div className="column">
+                                       {AREAS.slice(43, 44).map((area) =>
+                                               <EntranceGroup group={area} key={area.id}>
+                                                       {area.entrances.map((entrance) =>
+                                                               <EntranceRow
+                                                                       entranceId={`${area.id}.${entrance.id}`}
+                                                                       key={entrance.id}
+                                                               />
+                                                       )}
+                                               </EntranceGroup>
+                                       )}
+                               </div>
+                               <div className="column">
+                                       {AREAS.slice(44, 46).map((area) =>
+                                               <EntranceGroup group={area} key={area.id}>
+                                                       {area.entrances.map((entrance) =>
+                                                               <EntranceRow
+                                                                       entranceId={`${area.id}.${entrance.id}`}
+                                                                       key={entrance.id}
+                                                               />
+                                                       )}
+                                               </EntranceGroup>
+                                       )}
+                               </div>
                        </div>
                </div>
        </CONTEXT.Provider>;