<!--
 Copyright (C) 2015 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:auto="http://schemas.android.com/apk/res-auto"
        auto:height="64dp"
        auto:width="64dp"
        auto:viewportHeight="400"
        auto:viewportWidth="400" >

    <group auto:name="backgroundGroup" >
        <path
            auto:name="background1"
            auto:fillColor="#80000000"
            auto:pathData="M 0,0 l 200,0 l 0, 200 l -200, 0 z" />
        <path
            auto:name="background2"
            auto:fillColor="#80000000"
            auto:pathData="M 200,200 l 200,0 l 0, 200 l -200, 0 z" />
    </group>
    <group
        auto:name="translateToCenterGroup"
        auto:translateX="50.0"
        auto:translateY="90.0" >
        <path
            auto:name="twoLines"
            auto:pathData="M 0,0 v 100 M 0,0 h 100"
            auto:strokeColor="#FFFF0000"
            auto:strokeWidth="20" />

        <group
            auto:name="rotationGroup"
            auto:pivotX="0.0"
            auto:pivotY="0.0"
            auto:rotation="-45.0" >
            <path
                auto:name="twoLines1"
                auto:pathData="M 0,0 v 100 M 0,0 h 100"
                auto:strokeColor="#FF00FF00"
                auto:strokeWidth="20" />

            <group
                auto:name="translateGroup"
                auto:translateX="130.0"
                auto:translateY="160.0" >
                <group auto:name="scaleGroup" >
                    <path
                        auto:name="twoLines2"
                        auto:pathData="M 0,0 v 100 M 0,0 h 100"
                        auto:strokeColor="#FF0000FF"
                        auto:strokeWidth="20" />
                </group>
            </group>
        </group>
    </group>

</vector>