<?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 flm:originalName="Slider/Slider_thumbSkin" version="2.0" afx:className="Slider_thumbSkin" afx:baseClassName="flash.display.Sprite" xmlns:afx="http://ns.apache.org/flex/2012" xmlns:flm="http://ns.adobe.com/flame/2008" xmlns="http://ns.adobe.com/fxg/2008">
  <Group>
    <Group aaa:type="layer" aaa:userLabel="border" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M14 4.15 13.95 9.9 9.85 14 4.1 14 0 9.9 0 4.15 4.1 0 9.85 0 14 4.15">
        <fill>
          <LinearGradient x="7" y="14" scaleX="14" rotation="270">
            <GradientEntry ratio="0" color="#C06103"/>
            <GradientEntry ratio="1" color="#643302"/>
          </LinearGradient>
        </fill>
      </Path>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="art" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M2 4.95 4.9 2 9.05 2 12 4.95 11.95 9.1 9.05 12 4.9 12 2 9.1 2 4.95">
        <fill>
          <LinearGradient x="5.9" y="12" scaleX="10" rotation="270">
            <GradientEntry ratio="0" color="#562B00"/>
            <GradientEntry ratio="1" color="#9C4E00"/>
          </LinearGradient>
        </fill>
      </Path>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="grain" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt">
      <Path data="M12 7.4Q11.15 7.4 10.3 7.4 8.95 7.2 7.5 6.9 6.95 6.8 6.45 6.7 5.8 6.55 5.15 6.45 4.9 6.4 4.75 6.4 3.2 6.1 2.05 5.9L2.05 4.85Q3.2 5.05 4.75 5.35 4.9 5.4 5.15 5.45 5.8 5.55 6.45 5.7 7.1 5.8 7.85 5.95 9.2 6.2 10.3 6.4 11.15 6.4 12 6.4L12 7.4">
        <fill>
          <SolidColor color="#4C2600" alpha="0.25098041"/>
        </fill>
      </Path>
      <Path data="M1.9 7.8 6.65 8.35Q8.6 8.55 9.25 8.55 9.5 8.55 10.15 8.55L11.85 8.55 11.85 9.2 10.15 9.2Q9.5 9.2 9.25 9.2 8.5 9.2 6.3 9 5.7 8.9 5 8.85 4.85 8.8 4.6 8.8 3.35 8.65 1.9 8.45L1.9 7.8">
        <fill>
          <SolidColor color="#FFFFFF" alpha="0.10196079"/>
        </fill>
      </Path>
      <Path data="M1.9 7.8 1.9 7.05Q3.45 7.25 4.6 7.4 4.85 7.45 5 7.45 5.7 7.55 6.3 7.6 8.6 7.85 9.25 7.85 9.5 7.85 10.15 7.85L11.85 7.85 11.85 8.55 10.15 8.55Q9.5 8.55 9.25 8.55 8.6 8.55 6.65 8.35L1.9 7.8">
        <fill>
          <SolidColor color="#321900" alpha="0.3019608"/>
        </fill>
      </Path>
    </Group>
    <Group aaa:type="layer" aaa:userLabel="transitions" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt"/>
    <Group aaa:type="layer" aaa:userLabel="states" xmlns:aaa="http://ns.adobe.com/fxg/2008/dt"/>
  </Group>
</Graphic>