[
  {
    "type": "mapgen",
    "om_terrain": "microlab_generic_hallway_end",
    "object": {
      "fill_ter": "t_strconc_floor",
      "place_nested": [
        { "chunks": [ "microlab_generic_end_tile" ], "x": 0, "y": 0 },
        { "chunks": [ { "param": "unique_foe", "fallback": "mnm_more_density" }, "null" ], "x": 0, "y": 0 },
        { "else_chunks": [ "concrete_wall_ew" ], "x": 0, "y": 0, "neighbors": { "north": "microlab" } },
        { "else_chunks": [ "concrete_wall_ns" ], "x": 23, "y": 0, "neighbors": { "east": "microlab" } },
        { "else_chunks": [ "concrete_wall_ew" ], "x": 0, "y": 23, "neighbors": { "south": "microlab" } },
        { "else_chunks": [ "concrete_wall_ns" ], "x": 0, "y": 0, "neighbors": { "west": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 0, "y": 0, "neighbors": { "north_west": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 23, "y": 0, "neighbors": { "north_east": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 23, "y": 23, "neighbors": { "south_east": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 0, "y": 23, "neighbors": { "south_west": "microlab" } }
      ],
      "place_monster": [
        {
          "group": {
            "switch": { "param": "labtype", "fallback": "microlab_generic" },
            "cases": { "microlab_meat": "GROUP_MEATLAB", "microlab_generic": "GROUP_LAB" }
          },
          "chance": 80,
          "x": [ 0, 23 ],
          "y": [ 0, 23 ],
          "repeat": [ 0, 3 ]
        }
      ]
    }
  },
  {
    "type": "mapgen",
    "nested_mapgen_id": "microlab_generic_end_tile",
    "object": {
      "mapgensize": [ 24, 24 ],
      "rows": [
        "     |FFFF|  |FFFF|     ",
        "   cc||||||  ||||||c c  ",
        "   cc|Bhd     ???^|c c  ",
        "   c6|B d  YY     |c c  ",
        "     |^       ???^|     ",
        "|2||||(((((22(((((||2|||",
        "     |^    YY     |c    ",
        "cc  6| PP      PP |c c  ",
        "cc  c| PP      PP |c c  ",
        "   hc| PP      PP |c    ",
        "|2|||| PP |||| PP ||2((|",
        "    2  PP |##| PP       ",
        "    2  PP |##| PP       ",
        "|5|||| PP |||| PP ||||||",
        "  |  | PP =XX= PP |^??| ",
        " F|F | PP =XX= PP  Y t| ",
        " F|F | PP =XX= PP  Y t| ",
        " F|F | PP =XX= PP |???| ",
        "||||2| PP =XX= PP ||||||",
        " FFF | PP |||| PP |r c  ",
        "     | PP |##| PP |r c  ",
        "     | PP |||| PP |r i  ",
        " cc  | PP  YY  PP |     ",
        " cc  | PP  YY  PP |     "
      ],
      "palettes": [ "microlab" ]
    }
  },
  {
    "type": "mapgen",
    "nested_mapgen_id": "microlab_generic_end_tile",
    "object": {
      "mapgensize": [ 24, 24 ],
      "rows": [
        "     |FFFF|  |FFFF|     ",
        " c|||||||||  ||||||c c  ",
        " c|  2            2  c  ",
        " c|  2            2  c  ",
        " c|  ||||||  ||||||FFFFF",
        "|||  |^??^    ^??^||||||",
        "cc=  |   Y    Y   |c    ",
        "  =  | PP  PP  PP |c c  ",
        "  [  | PP  PP  PP |c c  ",
        "  =  | PP  PP  PP |c    ",
        "|||  | PP  PP  PP ||2((|",
        "     | PP  PP  PP |^    ",
        "     | PP  PP  PP |^    ",
        "|||||| PP  PP  PP |||||2",
        "  |XX= PPY PP YPP =XX|F ",
        " F|XX= PP  PP  PP =XX|F ",
        " F|XX= PP dddd PP =XX|F ",
        " F|XX= PP d hd PP =XX|F ",
        "|||XX= PP d^ d PP =XX||2",
        " F|XX= PP |||| PP =XX|F ",
        " F|XX= PPY|##|YPP =XX|F ",
        " 6|||| PP |||| PP ||||F ",
        " cccc| PP  PP  PP |c6h  ",
        "  c h| PP  PP  PP |c    "
      ],
      "palettes": [ "microlab" ]
    }
  },
  {
    "type": "mapgen",
    "nested_mapgen_id": "microlab_generic_end_tile",
    "object": {
      "mapgensize": [ 24, 24 ],
      "rows": [
        "     |FFFF|  |FFFF|     ",
        " c|22||||||  ||||||c c  ",
        " c|               2  c  ",
        " c|               2  c  ",
        " c|  ||||||PP||||||FFFFF",
        "|||  |XXX=YPPY=XXX||||||",
        "cc=  |XXX= PP =XXX|c    ",
        "  =  |XXX= PP =XXX|c c  ",
        "  [  |XXX= PP =XXX|c c  ",
        "cc=  |XXX= PP =XXX|c    ",
        "|||  |||===[[===||||2((|",
        "     2YPPPPPPPPPPY2     ",
        "     2YPPPPPPPPPPY2     ",
        "|||||||====[[====||||||2",
        "  |XXXXXX=YPPY=XXXXXX|F ",
        " F|XXXXXX=YPPY=XXXXXX|F ",
        " F|XX======[[======XX|F ",
        " F|XX= PPPPPPPPPP =XX|F ",
        "|||XX= PPPPPPPPPP =XX||2",
        " F|XX= PP |dd| PP =XX|F ",
        " F|XX= PP   h  PP =XX|F ",
        " 6|||| PP |||| PP ||||F ",
        " cccc| PP  PP  PP |c6h  ",
        "  c h| PP  PP  PP |c    "
      ],
      "palettes": [ "microlab" ]
    }
  },
  {
    "type": "mapgen",
    "nested_mapgen_id": "microlab_generic_end_tile",
    "object": {
      "mapgensize": [ 24, 24 ],
      "rows": [
        "     |    |  |FFFF|     ",
        " c|22| c  |  ||||||c c  ",
        " c|  | 6h |  |FFFF|  c  ",
        " c|  |cccc|  |F   2  c  ",
        " c|  ||||||  ||||||FFFFF",
        "|||  |   =    =   ||||||",
        "cc=  |h  [ PP [  h|c    ",
        "  =  |dd = PP = dd|c c  ",
        "  [  |hd = PP =  h|c c  ",
        "cc=  |B ^=h  h=BB^|c    ",
        "|||  |||||h  h||||||2((|",
        "     2YPPPPPPPPPPY2     ",
        "     2YPPPPPPPPPPY2     ",
        "|||||||   ||||   ||||||2",
        "  |       |##|       |F ",
        " F|htth   ||||   htth|F ",
        " F|htth          htth|F ",
        " F|||| PPPPPPPPPP ||||F ",
        "|||XX= PPPPPPPPPP =XX||2",
        " F|XX= PP |||| PP =XX|F ",
        " F|XX= PP |##| PP =XX|F ",
        " 6|||| PP |||| PP ||||F ",
        " cccc| PP  PP  PP |c6h  ",
        "  c h| PP  PP  PP |c    "
      ],
      "palettes": [ "microlab" ]
    }
  },
  {
    "type": "mapgen",
    "om_terrain": [ [ "microlab_generic_hallway_blind_end" ] ],
    "object": {
      "fill_ter": "t_strconc_floor",
      "rows": [
        "|||||| PP  PP  PP ||||||",
        "|####| PP  PP  PP |####|",
        "|#|||| PP |||| PP ||||#|",
        "|#|XX= PP |##| PP =XX|#|",
        "|#|XX= PP |||| PP =XX|#|",
        "|#|XX= PPPPPPPPPP =XX|#|",
        "|#|||| PPPPPPPPPP ||||#|",
        "|#|htth          htth|#|",
        "|#|htth   ||||   htth|#|",
        "|#|       |##|       |#|",
        "|||||||   ||||   |||||||",
        "     2YPPPPPPPPPPY2     ",
        "     2YPPPPPPPPPPY2     ",
        "|2||||||||h  h|||||||(2|",
        "    c|B ^=h  h=BB^|c    ",
        "   hc|hd = PP =  h|c c  ",
        "   hc|dd = PP = dd|c c  ",
        "    c|h  [ PP [  h|c    ",
        "|2||||||||=[[=||||||||2|",
        "   h6|^    PP    ^|FFF  ",
        " cc c|B      h   B|     ",
        " cc c|B   d6dd   B|  c  ",
        "    F|B     h    B|c c  ",
        "||||||||||||||||||||||||"
      ],
      "place_nested": [
        { "else_chunks": [ "concrete_wall_ns" ], "x": 23, "y": 0, "neighbors": { "east": "microlab" } },
        { "else_chunks": [ "concrete_wall_ns" ], "x": 0, "y": 0, "neighbors": { "west": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 0, "y": 0, "neighbors": { "north_west": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 23, "y": 0, "neighbors": { "north_east": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 23, "y": 23, "neighbors": { "south_east": "microlab" } },
        { "else_chunks": [ "concrete_corner" ], "x": 0, "y": 23, "neighbors": { "south_west": "microlab" } }
      ],
      "palettes": [ "microlab" ]
    }
  }
]
