// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

MOVE_TO, 40, 37.39f,
LINE_TO, 15.68f, 12.3f,
R_LINE_TO, -5.13f, -5.29f,
LINE_TO, 8, 9.55f,
R_LINE_TO, 5.6f, 5.6f,
R_LINE_TO, 0.01f, 0.01f,
CUBIC_TO, 12.56f, 17.14f, 12, 19.48f, 12, 22,
R_V_LINE_TO, 10,
R_LINE_TO, -4, 4,
R_V_LINE_TO, 2,
R_H_LINE_TO, 27.46f,
R_LINE_TO, 4, 4,
LINE_TO, 42, 39.45f,
R_LINE_TO, -2, -2.06f,
CLOSE,
MOVE_TO, 24, 44,
R_CUBIC_TO, 2.21f, 0, 4, -1.79f, 4, -4,
R_H_LINE_TO, -8,
R_CUBIC_TO, 0, 2.21f, 1.79f, 4, 4, 4,
CLOSE,
R_MOVE_TO, 12, -14.64f,
V_LINE_TO, 22,
R_CUBIC_TO, 0, -6.15f, -3.27f, -11.28f, -9, -12.64f,
V_LINE_TO, 8,
R_CUBIC_TO, 0, -1.66f, -1.34f, -3, -3, -3,
R_CUBIC_TO, -1.66f, 0, -3, 1.34f, -3, 3,
R_V_LINE_TO, 1.36f,
R_ARC_TO, 10.95f, 10.95f, 0, 0, 0, -1.46f, 0.46f,
R_CUBIC_TO, 0, 0, -0.01f, 0, -0.01f, 0.01f,
R_CUBIC_TO, -0.01f, 0, -0.02f, 0.01f, -0.03f, 0.01f,
R_CUBIC_TO, -0.46f, 0.18f, -0.91f, 0.39f, -1.35f, 0.62f,
R_CUBIC_TO, -0.01f, 0, -0.02f, 0.01f, -0.03f, 0.01f,
LINE_TO, 36, 29.36f,
CLOSE
