{
  "metadata": {
    "properties": {
      "prop": true,
      "prop-with-comment": true,
      "prop-with-leading-spaces": true
    },
    "settings": {
      "set-a1": "42",
      "set-a2": "42",
      "set-a3": "42",
      "set-a4": "42",
      "set-a5": "42",
      "set-a6": "42",
      "set-a7": "42",
      "set-a8": "42",
      "set-a9": "42",
      "set-b1": "42",
      "set-b2": "42",
      "set-b3": "42",
      "set-b4": "42",
      "set-b5": "42",
      "set-b6": "42",
      "set-b7": "42",
      "set-b8": "42",
      "set-c1": "foo # bar",
      "set-c2": "## not a comment",
      "set-d1": "",
      "set-d2": "",
      "set-d3": "",
      "set-d4": ""
    }
  },
  "content": [
    {
      "value": [
        {
          "value": "Paragraph with only one line.",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "Paragraph trailed by comment.",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "Paragraph split",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": "over multiple lines.",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "Paragraph split",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": "over multiple lines",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": "with a comment trailing some.",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "This",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": "paragraph starts with a simple tag.",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "This paragraph ends with a simple",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "tag.",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "This",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "paragraph",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": "has a few",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "tags",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": ".",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": {
            "name": "a",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": "b",
          "type": "text"
        },
        {
          "value": {
            "name": "c",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": {
            "name": "d",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "This paragraph has a number of inline tag styles.",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {
                "prop": true
              },
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {
                "prop1": true,
                "prop2": true
              },
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {
                "set": "42"
              }
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {
                "set": "42"
              }
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {
                "set": "42"
              }
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {
                "set": "42"
              }
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {
                "prop": true
              },
              "settings": {
                "baz": "quz",
                "foo": "bar"
              }
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "content",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "content",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": {
                  "name": "tag",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "ok",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {
                "prop": true
              },
              "settings": {
                "baz": "quz",
                "foo": "bar"
              }
            },
            "content": [
              {
                "value": {
                  "name": "tag",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "ok",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {
                "prop1": true,
                "prop2": true,
                "prop3": true
              },
              "settings": {
                "set": "42"
              }
            },
            "content": [
              {
                "value": "This one is pathological",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": "This paragraph has some tags that are awfuly close to one another.",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": "text",
          "type": "text"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": "text",
          "type": "text"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": []
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "value": ".",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "This is a paragraph in an",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": {
                  "name": "kind",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "inline",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              },
              {
                "type": "break"
              },
              {
                "value": "tag.",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "This is a paragraph in an",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": {
                  "name": "kind",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "inline",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              },
              {
                "type": "break"
              },
              {
                "value": "tag.",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": "It spans many lines.",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": "Content may follow.",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": "This follows!",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": [
        {
          "value": {
            "name": "tag",
            "metadata": {
              "properties": {},
              "settings": {}
            },
            "content": [
              {
                "value": "This is a paragraph in an",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": {
                  "name": "kind",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "inline",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              },
              {
                "type": "break"
              },
              {
                "value": "tag.",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": "It spans many lines .",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": "Content may follow.",
                "type": "text"
              }
            ]
          },
          "type": "tag",
          "subtype": "inline"
        },
        {
          "type": "break"
        },
        {
          "value": "This follows!",
          "type": "text"
        }
      ],
      "type": "paragraph"
    },
    {
      "value": {
        "name": "tag",
        "metadata": {
          "properties": {},
          "settings": {}
        },
        "content": [
          {
            "value": [
              {
                "value": "This is a paragraph in a",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": {
                  "name": "kind",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "block",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              },
              {
                "type": "break"
              },
              {
                "value": "tag.",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": "Content may not follow.",
                "type": "text"
              }
            ],
            "type": "paragraph"
          }
        ]
      },
      "type": "tag",
      "subtype": "block"
    },
    {
      "value": {
        "name": "block",
        "metadata": {
          "properties": {},
          "settings": {}
        },
        "content": [
          {
            "value": [
              {
                "value": "This is the other kind of block tag.",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": "It can have",
                "type": "text"
              },
              {
                "type": "break"
              },
              {
                "value": {
                  "name": "italic",
                  "metadata": {
                    "properties": {},
                    "settings": {}
                  },
                  "content": [
                    {
                      "value": "nested",
                      "type": "text"
                    }
                  ]
                },
                "type": "tag",
                "subtype": "inline"
              },
              {
                "type": "break"
              },
              {
                "value": "block children.",
                "type": "text"
              }
            ],
            "type": "paragraph"
          },
          {
            "value": {
              "name": "block",
              "metadata": {
                "properties": {},
                "settings": {}
              },
              "content": []
            },
            "type": "tag",
            "subtype": "block"
          },
          {
            "value": {
              "name": "block",
              "metadata": {
                "properties": {
                  "prop": true
                },
                "settings": {}
              },
              "content": [
                {
                  "value": [
                    {
                      "value": "Block starts/ends can have aribtrary labels attached.",
                      "type": "text"
                    }
                  ],
                  "type": "paragraph"
                }
              ]
            },
            "type": "tag",
            "subtype": "block"
          },
          {
            "value": {
              "name": "block",
              "metadata": {
                "properties": {},
                "settings": {
                  "set": "42"
                }
              },
              "content": [
                {
                  "value": [
                    {
                      "value": "Block starts/ends can have aribtrary labels attached.",
                      "type": "text"
                    }
                  ],
                  "type": "paragraph"
                }
              ]
            },
            "type": "tag",
            "subtype": "block"
          },
          {
            "value": {
              "name": "block",
              "metadata": {
                "properties": {
                  "prop1": true,
                  "prop2": true
                },
                "settings": {
                  "set": "42"
                }
              },
              "content": [
                {
                  "value": [
                    {
                      "value": "Block starts/ends can have aribtrary labels attached.",
                      "type": "text"
                    }
                  ],
                  "type": "paragraph"
                }
              ]
            },
            "type": "tag",
            "subtype": "block"
          }
        ]
      },
      "type": "tag",
      "subtype": "block"
    },
    {
      "value": {
        "name": "block",
        "metadata": {
          "properties": {
            "prop1": true,
            "prop2": true,
            "prop3": true
          },
          "settings": {
            "set": "42"
          }
        },
        "content": [
          {
            "value": [
              {
                "value": "This is another pathological tag, just a block this time.",
                "type": "text"
              }
            ],
            "type": "paragraph"
          }
        ]
      },
      "type": "tag",
      "subtype": "block"
    },
    {
      "value": {
        "name": "lit",
        "metadata": {
          "properties": {},
          "settings": {}
        },
        "content": "#-block: ## this is treated literally!\n  This is the other kind of block tag.\n  It can have #italic{nested} block children.\n\n  #-block: ## this is treated literally!\n  #:\n\n  #-block[prop]:label ## this is treated literally!\n    Block starts/ends can have aribtrary labels attached.\n  #:label ## this is treated literally!\n\n  #-block[set='42']:label ## this is treated literally!\n    Block starts/ends can have aribtrary labels attached.\n  #:label ## this is treated literally!\n\n  #-block[prop1, set: '42', prop2]:label ## this is treated literally!\n    Block starts/ends can have aribtrary labels attached.\n  #:label ## this is treated literally!\n#: ## this is treated literally!"
      },
      "type": "tag",
      "subtype": "literal"
    },
    {
      "value": [
        {
          "value": "Some unicode escapes:",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": "\"😸\" is a smiling cat face,",
          "type": "text"
        },
        {
          "type": "break"
        },
        {
          "value": "and \"\u000b\" is a vertical tab.",
          "type": "text"
        }
      ],
      "type": "paragraph"
    }
  ]
}
