// Copyright 2017 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.

CANVAS_DIMENSIONS, 96,
MOVE_TO, 88, 60,
R_V_LINE_TO, -8,
H_LINE_TO, 52,
R_V_LINE_TO, 4,
H_LINE_TO, 32,
R_V_LINE_TO, 20,
R_H_LINE_TO, 20,
R_V_LINE_TO, 8,
H_LINE_TO, 24,
V_LINE_TO, 68,
H_LINE_TO, 8,
V_LINE_TO, 44,
R_CUBIC_TO, 0, -6.64f, 5.36f, -12, 12, -12,
R_H_LINE_TO, 56,
R_CUBIC_TO, 6.64f, 0, 12, 5.36f, 12, 12,
R_V_LINE_TO, 16,
CLOSE,
MOVE_TO, 76, 48,
R_CUBIC_TO, 2.2f, 0, 4, -1.8f, 4, -4,
R_CUBIC_TO, 0, -2.2f, -1.8f, -4, -4, -4,
R_CUBIC_TO, -2.2f, 0, -4, 1.8f, -4, 4,
R_CUBIC_TO, 0, 2.2f, 1.8f, 4, 4, 4,
CLOSE,
R_MOVE_TO, -4, -36,
R_V_LINE_TO, 16,
H_LINE_TO, 24,
V_LINE_TO, 12,
R_H_LINE_TO, 48,
CLOSE,
MOVE_TO, 56, 56,
R_H_LINE_TO, 32,
R_V_LINE_TO, 32,
H_LINE_TO, 56,
V_LINE_TO, 56,
CLOSE,
R_MOVE_TO, 14, 6,
R_V_LINE_TO, 12,
R_H_LINE_TO, 4,
V_LINE_TO, 62,
R_H_LINE_TO, -4,
CLOSE,
R_MOVE_TO, 0, 16,
R_V_LINE_TO, 4,
R_H_LINE_TO, 4,
R_V_LINE_TO, -4,
R_H_LINE_TO, -4,
CLOSE
