<?xml version="1.0" encoding="utf-8" ?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You 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.

-->
<Graphic version="2.0" ATE:version="1.0.0" flm:version="1.0.0" d:using="" 
	xmlns="http://ns.adobe.com/fxg/2008" xmlns:ATE="http://ns.adobe.com/ate/2009" xmlns:d="http://ns.adobe.com/fxg/2008/dt" 
	xmlns:flm="http://ns.adobe.com/flame/2008"
	xmlns:afx="http://ns.apache.org/flex/2012" afx:className="mx.skins.cursor.DragReject" afx:baseClassName="flash.display.Sprite" >
  <Library>
    <Definition name="Drag_Cursors_Elements_Cursor" flm:originalName="Drag Cursors/Elements/Cursor">
      <Group>
        <Group d:type="layer" d:userLabel="Layer 1">
          <Path data="M265.85 158 264.85 158 264.85 157 263.85 157 263.85 168 264.85 168 264.85 169 263.85 169 263.85 170 262.85 170 262.85 155 263.85 155 263.85 156 264.85 156 264.85 157 265.85 157 265.85 158 266.85 158 266.85 159 267.85 159 267.85 160 266.85 160
 266.85 159 265.85 159 265.85 158M269.85 162 268.85 162 268.85 161 267.85 161 267.85 160 268.85 160 268.85 161 269.85 161 269.85 162 270.85 162 270.85 163 271.85 163 271.85 164 270.85 164 270.85 163 269.85 163 269.85 162M266.85 167 265.85 167
 265.85 168 264.85 168 264.85 167 265.85 167 265.85 166 266.85 166 266.85 167 267.85 167 267.85 169 268.85 169 268.85 171 270.85 171 270.85 169 269.85 169 269.85 167 268.85 167 268.85 165 271.85 165 271.85 164 272.85 164 272.85 165 273.85 165
 273.85 166 269.85 166 269.85 167 270.85 167 270.85 169 271.85 169 271.85 172 268.85 172 268.85 171 267.85 171 267.85 169 266.85 169 266.85 167">
            <fill>
              <SolidColor color="#FFFFFF"/>
            </fill>
          </Path>
          <Path data="M270.85 169 270.85 171 268.85 171 268.85 169 267.85 169 267.85 167 266.85 167 266.85 166 265.85 166 265.85 167 264.85 167 264.85 168 263.85 168 263.85 157 264.85 157 264.85 158 265.85 158 265.85 159 266.85 159 266.85 160 267.85 160 267.85 161
 268.85 161 268.85 162 269.85 162 269.85 163 270.85 163 270.85 164 271.85 164 271.85 165 268.85 165 268.85 167 269.85 167 269.85 169 270.85 169">
            <fill>
              <SolidColor/>
            </fill>
          </Path>
        </Group>
      </Group>
    </Definition>
  </Library>
          <Group>
            <Path data="M11.9 16.075Q10.014648 14.18125 10.025 11.475 10.014648 8.7685547 11.9 6.875 13.80625 4.9769531 16.525 4.975 19.231055 4.9769531 21.125 6.875 23.022852 8.7685547 23.025 11.475 23.022852 14.18125 21.125 16.075 19.231055 17.972852 16.525 17.975
 13.80625 17.972852 11.9 16.075">
              <fill>
                <SolidColor alpha="0.2"/>
              </fill>
            </Path>
          </Group>
          <Group>
            <Path data="M13.65 5.45Q14.75 5 16 5 18.45 5 20.2 6.75 21.95 8.5 22 11 22 13.45 20.2 15.2 18.45 16.95 16 17 14.75 17 13.65 16.5 12.55 16.05 11.75 15.2 10.9 14.4 10.45 13.3 10 12.2 10 11 10 9.75 10.45 8.65 10.9 7.55 11.75 6.75 12.55 5.9 13.65 5.45">
              <fill>
                <RadialGradient x="16" y="11" scaleX="11.975" scaleY="11.975">
                  <GradientEntry ratio="0" color="#FE5050"/>
                  <GradientEntry ratio="1" color="#CC0000"/>
                </RadialGradient>
              </fill>
            </Path>
          </Group>
          <Drag_Cursors_Elements_Cursor x="-263.85" y="-157"/>
          <Group>
            <Path data="M12.45 8.85 13.85 7.45 15.975 9.575 18.1 7.45 19.5 8.85 17.375 10.975 19.5 13.1 18.1 14.5 15.975 12.375 13.85 14.5 12.45 13.1 14.575 10.975 12.45 8.85">
              <fill>
                <SolidColor color="#FFFFFF"/>
              </fill>
            </Path>
          </Group>
  <Private/>
</Graphic>