fun testForBreak1(ss: List<String>) {
  { // BLOCK
    val tmp_0: Iterator<String> = ss.iterator()
    while (tmp_0.hasNext()) { // BLOCK
      val s: String = tmp_0.next()
      { // BLOCK
        break
      }
    }
  }
}

fun testForBreak2(ss: List<String>) {
  { // BLOCK
    val tmp_1: Iterator<String> = ss.iterator()
    OUTER@ while (tmp_1.hasNext()) { // BLOCK
      val s1: String = tmp_1.next()
      { // BLOCK
        { // BLOCK
          val tmp_2: Iterator<String> = ss.iterator()
          INNER@ while (tmp_2.hasNext()) { // BLOCK
            val s2: String = tmp_2.next()
            { // BLOCK
              break@OUTER
              break@INNER
              break
            }
          }
        }
        break@OUTER
      }
    }
  }
}

fun testForContinue1(ss: List<String>) {
  { // BLOCK
    val tmp_3: Iterator<String> = ss.iterator()
    while (tmp_3.hasNext()) { // BLOCK
      val s: String = tmp_3.next()
      { // BLOCK
        continue
      }
    }
  }
}

fun testForContinue2(ss: List<String>) {
  { // BLOCK
    val tmp_4: Iterator<String> = ss.iterator()
    OUTER@ while (tmp_4.hasNext()) { // BLOCK
      val s1: String = tmp_4.next()
      { // BLOCK
        { // BLOCK
          val tmp_5: Iterator<String> = ss.iterator()
          INNER@ while (tmp_5.hasNext()) { // BLOCK
            val s2: String = tmp_5.next()
            { // BLOCK
              continue@OUTER
              continue@INNER
              continue
            }
          }
        }
        continue@OUTER
      }
    }
  }
}
