// Package line 1 group 1
// Package line 2 group 1

// Package line 1 - group 2
// Package line 2 - group 2
package comments

// Emit line 1 group 1

// Emit line 1 group 2
// Emit line 2 group 2
{
    // Inside Emit
}

a: 3 // a line comment

b: 4 // line comment that is last in the file.
cc: 555 // align comments

// don't simplify
a: {
    b: 2
}

// simplify
a: {
    b: c: {
        d: 1
    }
}

// unchanged
a: b: [1]

// don't simplify
a: b: {
    c: 2
}

// rewrite okay
a: b: c: {
    d: 2
}

m: {
}
m: {
    // empty with comment
}

// Issue #478
struct1: {
    // This is a comment

    // This is a comment

    // Another comment

    something: {
    }
    // extra comment
}

struct2: {
    // This is a comment

    // This is a comment

    // Another comment
    something: {
    }

    // extra comment
}

list1: [
    // Comment1

    // Comment2

    // Another comment
    {
    },

    // Comment 3
]

list2: [
    // foo
]

list3: [
    // foo

    // bar
]

funcArg1: foo(
    // Comment1

    // Comment2
    3

    // Comment3
)

funcArg2: foo(
    // Comment1

    // Comment2

    3
    // Comment3
)

funcArg3: foo(
    2,

    // Comment1

    // Comment2
    3

    // Comment3
)
