cesium 0.20.0 → 0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1976) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/Cesium.js +46 -3
  3. data/app/assets/javascripts/Core/BingMapsApi.js +41 -0
  4. data/app/assets/javascripts/Core/BoundingRectangle.js +4 -3
  5. data/app/assets/javascripts/Core/BoundingSphere.js +17 -17
  6. data/app/assets/javascripts/Core/BoxGeometry.js +3 -3
  7. data/app/assets/javascripts/Core/BoxOutlineGeometry.js +6 -6
  8. data/app/assets/javascripts/Core/Cartesian2.js +23 -268
  9. data/app/assets/javascripts/Core/Cartesian3.js +24 -284
  10. data/app/assets/javascripts/Core/Cartesian4.js +25 -256
  11. data/app/assets/javascripts/Core/CatmullRomSpline.js +17 -16
  12. data/app/assets/javascripts/Core/Color.js +12 -3
  13. data/app/assets/javascripts/Core/ColorGeometryInstanceAttribute.js +8 -4
  14. data/app/assets/javascripts/Core/CornerType.js +15 -0
  15. data/app/assets/javascripts/Core/CorridorGeometry.js +67 -317
  16. data/app/assets/javascripts/Core/CorridorGeometryLibrary.js +287 -0
  17. data/app/assets/javascripts/Core/CorridorOutlineGeometry.js +388 -0
  18. data/app/assets/javascripts/Core/CylinderGeometry.js +4 -4
  19. data/app/assets/javascripts/Core/CylinderOutlineGeometry.js +1 -1
  20. data/app/assets/javascripts/Core/EllipseGeometry.js +8 -8
  21. data/app/assets/javascripts/Core/EllipseGeometryLibrary.js +3 -3
  22. data/app/assets/javascripts/Core/Ellipsoid.js +1 -1
  23. data/app/assets/javascripts/Core/EllipsoidGeodesic.js +4 -4
  24. data/app/assets/javascripts/Core/EllipsoidTangentPlane.js +10 -7
  25. data/app/assets/javascripts/Core/EllipsoidalOccluder.js +10 -10
  26. data/app/assets/javascripts/Core/EncodedCartesian3.js +2 -2
  27. data/app/assets/javascripts/Core/ExtentGeometry.js +10 -10
  28. data/app/assets/javascripts/Core/ExtentOutlineGeometry.js +2 -2
  29. data/app/assets/javascripts/Core/GeometryAttributes.js +12 -0
  30. data/app/assets/javascripts/Core/GeometryInstance.js +7 -0
  31. data/app/assets/javascripts/Core/GeometryPipeline.js +78 -49
  32. data/app/assets/javascripts/Core/HeightmapTessellator.js +1 -1
  33. data/app/assets/javascripts/Core/HermiteSpline.js +13 -12
  34. data/app/assets/javascripts/Core/IntersectionTests.js +17 -17
  35. data/app/assets/javascripts/Core/Math.js +2 -2
  36. data/app/assets/javascripts/Core/Matrix4.js +3 -3
  37. data/app/assets/javascripts/Core/NearFarScalar.js +76 -4
  38. data/app/assets/javascripts/Core/Occluder.js +46 -46
  39. data/app/assets/javascripts/Core/OrientationInterpolator.js +5 -4
  40. data/app/assets/javascripts/Core/PolygonGeometry.js +29 -26
  41. data/app/assets/javascripts/Core/PolygonPipeline.js +36 -36
  42. data/app/assets/javascripts/Core/PolylineGeometry.js +271 -0
  43. data/app/assets/javascripts/Core/PolylinePipeline.js +1 -1
  44. data/app/assets/javascripts/Core/Quaternion.js +7 -238
  45. data/app/assets/javascripts/Core/Ray.js +2 -1
  46. data/app/assets/javascripts/Core/Shapes.js +18 -18
  47. data/app/assets/javascripts/Core/ShowGeometryInstanceAttribute.js +9 -4
  48. data/app/assets/javascripts/Core/Simon1994PlanetaryPositions.js +5 -6
  49. data/app/assets/javascripts/Core/SimplePolylineGeometry.js +66 -12
  50. data/app/assets/javascripts/Core/Transforms.js +2 -2
  51. data/app/assets/javascripts/Core/TridiagonalSystemSolver.js +9 -8
  52. data/app/assets/javascripts/Core/WallGeometry.js +7 -7
  53. data/app/assets/javascripts/Core/barycentricCoordinates.js +26 -10
  54. data/app/assets/javascripts/DynamicScene/CompositeDynamicObjectCollection.js +489 -201
  55. data/app/assets/javascripts/DynamicScene/CzmlDataSource.js +232 -232
  56. data/app/assets/javascripts/DynamicScene/DynamicBillboard.js +128 -40
  57. data/app/assets/javascripts/DynamicScene/DynamicBillboardVisualizer.js +30 -15
  58. data/app/assets/javascripts/DynamicScene/DynamicClock.js +76 -50
  59. data/app/assets/javascripts/DynamicScene/DynamicCone.js +117 -47
  60. data/app/assets/javascripts/DynamicScene/DynamicConeVisualizerUsingCustomSensor.js +20 -21
  61. data/app/assets/javascripts/DynamicScene/DynamicEllipse.js +67 -39
  62. data/app/assets/javascripts/DynamicScene/DynamicEllipsoid.js +56 -26
  63. data/app/assets/javascripts/DynamicScene/DynamicEllipsoidVisualizer.js +18 -17
  64. data/app/assets/javascripts/DynamicScene/DynamicLabel.js +110 -44
  65. data/app/assets/javascripts/DynamicScene/DynamicLabelVisualizer.js +17 -17
  66. data/app/assets/javascripts/DynamicScene/DynamicObject.js +181 -117
  67. data/app/assets/javascripts/DynamicScene/DynamicObjectCollection.js +226 -52
  68. data/app/assets/javascripts/DynamicScene/DynamicObjectView.js +7 -7
  69. data/app/assets/javascripts/DynamicScene/DynamicPath.js +86 -36
  70. data/app/assets/javascripts/DynamicScene/DynamicPathVisualizer.js +18 -18
  71. data/app/assets/javascripts/DynamicScene/DynamicPoint.js +69 -31
  72. data/app/assets/javascripts/DynamicScene/DynamicPointVisualizer.js +10 -10
  73. data/app/assets/javascripts/DynamicScene/DynamicPolygon.js +51 -25
  74. data/app/assets/javascripts/DynamicScene/DynamicPolygonVisualizer.js +11 -11
  75. data/app/assets/javascripts/DynamicScene/DynamicPolyline.js +68 -31
  76. data/app/assets/javascripts/DynamicScene/DynamicPolylineVisualizer.js +13 -13
  77. data/app/assets/javascripts/DynamicScene/DynamicPyramid.js +80 -35
  78. data/app/assets/javascripts/DynamicScene/DynamicPyramidVisualizer.js +20 -19
  79. data/app/assets/javascripts/DynamicScene/DynamicVector.js +68 -30
  80. data/app/assets/javascripts/DynamicScene/DynamicVectorVisualizer.js +12 -12
  81. data/app/assets/javascripts/DynamicScene/GeoJsonDataSource.js +2 -2
  82. data/app/assets/javascripts/DynamicScene/MaterialProperty.js +6 -4
  83. data/app/assets/javascripts/DynamicScene/ReferenceProperty.js +2 -2
  84. data/app/assets/javascripts/DynamicScene/createDynamicPropertyDescriptor.js +26 -0
  85. data/app/assets/javascripts/Renderer/AutomaticUniforms.js +1525 -0
  86. data/app/assets/javascripts/Renderer/Context.js +83 -17
  87. data/app/assets/javascripts/Renderer/CubeMap.js +2 -2
  88. data/app/assets/javascripts/Renderer/PickFramebuffer.js +2 -2
  89. data/app/assets/javascripts/Renderer/RenderState.js +4 -5
  90. data/app/assets/javascripts/Renderer/ShaderProgram.js +224 -1882
  91. data/app/assets/javascripts/Renderer/Texture.js +2 -2
  92. data/app/assets/javascripts/Renderer/TextureWrap.js +2 -2
  93. data/app/assets/javascripts/Renderer/UniformState.js +16 -12
  94. data/app/assets/javascripts/Scene/Appearance.js +2 -0
  95. data/app/assets/javascripts/Scene/Billboard.js +9 -7
  96. data/app/assets/javascripts/Scene/BillboardCollection.js +8 -9
  97. data/app/assets/javascripts/Scene/BingMapsImageryProvider.js +12 -4
  98. data/app/assets/javascripts/Scene/Camera.js +151 -122
  99. data/app/assets/javascripts/Scene/CameraController.js +176 -50
  100. data/app/assets/javascripts/Scene/CameraEventAggregator.js +4 -4
  101. data/app/assets/javascripts/Scene/CameraFlightPath.js +58 -51
  102. data/app/assets/javascripts/Scene/CentralBody.js +25 -25
  103. data/app/assets/javascripts/Scene/CentralBodySurface.js +28 -27
  104. data/app/assets/javascripts/Scene/CentralBodySurfaceShaderSet.js +30 -12
  105. data/app/assets/javascripts/Scene/CompositePrimitive.js +7 -2
  106. data/app/assets/javascripts/Scene/CustomSensorVolume.js +12 -9
  107. data/app/assets/javascripts/Scene/EllipsoidPrimitive.js +8 -5
  108. data/app/assets/javascripts/Scene/EllipsoidSurfaceAppearance.js +2 -2
  109. data/app/assets/javascripts/Scene/ExtentPrimitive.js +4 -5
  110. data/app/assets/javascripts/Scene/FrameState.js +0 -7
  111. data/app/assets/javascripts/Scene/ImageryLayer.js +6 -6
  112. data/app/assets/javascripts/Scene/Material.js +256 -160
  113. data/app/assets/javascripts/Scene/MaterialAppearance.js +2 -2
  114. data/app/assets/javascripts/Scene/OrthographicFrustum.js +30 -27
  115. data/app/assets/javascripts/Scene/PerInstanceColorAppearance.js +3 -1
  116. data/app/assets/javascripts/Scene/PerformanceDisplay.js +2 -2
  117. data/app/assets/javascripts/Scene/PerspectiveFrustum.js +41 -38
  118. data/app/assets/javascripts/Scene/PerspectiveOffCenterFrustum.js +46 -43
  119. data/app/assets/javascripts/Scene/Polygon.js +38 -10
  120. data/app/assets/javascripts/Scene/Polyline.js +4 -2
  121. data/app/assets/javascripts/Scene/PolylineCollection.js +9 -6
  122. data/app/assets/javascripts/Scene/PolylineColorAppearance.js +150 -0
  123. data/app/assets/javascripts/Scene/PolylineMaterialAppearance.js +157 -0
  124. data/app/assets/javascripts/Scene/Primitive.js +89 -58
  125. data/app/assets/javascripts/Scene/PrimitivePipeline.js +18 -5
  126. data/app/assets/javascripts/Scene/RectangularPyramidSensorVolume.js +3 -3
  127. data/app/assets/javascripts/Scene/Scene.js +67 -38
  128. data/app/assets/javascripts/Scene/SceneTransforms.js +83 -6
  129. data/app/assets/javascripts/Scene/SceneTransitioner.js +65 -65
  130. data/app/assets/javascripts/Scene/ScreenSpaceCameraController.js +22 -22
  131. data/app/assets/javascripts/Scene/SkyAtmosphere.js +6 -5
  132. data/app/assets/javascripts/Scene/Sun.js +198 -11
  133. data/app/assets/javascripts/Scene/SunPostProcess.js +2 -3
  134. data/app/assets/javascripts/Scene/Tile.js +19 -6
  135. data/app/assets/javascripts/Scene/ViewportQuad.js +4 -2
  136. data/app/assets/javascripts/Shaders/Appearances/AllMaterialAppearanceFS.js +5 -5
  137. data/app/assets/javascripts/Shaders/Appearances/AllMaterialAppearanceVS.js +5 -5
  138. data/app/assets/javascripts/Shaders/Appearances/BasicMaterialAppearanceFS.js +5 -5
  139. data/app/assets/javascripts/Shaders/Appearances/BasicMaterialAppearanceVS.js +5 -5
  140. data/app/assets/javascripts/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +5 -5
  141. data/app/assets/javascripts/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +5 -5
  142. data/app/assets/javascripts/Shaders/Appearances/PerInstanceColorAppearanceFS.js +5 -5
  143. data/app/assets/javascripts/Shaders/Appearances/PerInstanceColorAppearanceVS.js +5 -5
  144. data/app/assets/javascripts/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +5 -5
  145. data/app/assets/javascripts/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +5 -5
  146. data/app/assets/javascripts/Shaders/Appearances/PolylineColorAppearanceVS.glsl +26 -0
  147. data/app/assets/javascripts/Shaders/Appearances/PolylineColorAppearanceVS.js +27 -0
  148. data/app/assets/javascripts/Shaders/Appearances/PolylineMaterialAppearanceVS.glsl +28 -0
  149. data/app/assets/javascripts/Shaders/Appearances/PolylineMaterialAppearanceVS.js +29 -0
  150. data/app/assets/javascripts/Shaders/Appearances/TexturedMaterialAppearanceFS.js +5 -5
  151. data/app/assets/javascripts/Shaders/Appearances/TexturedMaterialAppearanceVS.js +5 -5
  152. data/app/assets/javascripts/Shaders/BillboardCollectionFS.js +5 -5
  153. data/app/assets/javascripts/Shaders/BillboardCollectionVS.js +5 -5
  154. data/app/assets/javascripts/Shaders/Builtin/Constants/degreesPerRadian.glsl +16 -0
  155. data/app/assets/javascripts/Shaders/Builtin/Constants/degreesPerRadian.js +7 -0
  156. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon1.glsl +7 -0
  157. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon1.js +7 -0
  158. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon2.glsl +7 -0
  159. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon2.js +7 -0
  160. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon3.glsl +7 -0
  161. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon3.js +7 -0
  162. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon4.glsl +7 -0
  163. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon4.js +7 -0
  164. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon5.glsl +7 -0
  165. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon5.js +7 -0
  166. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon6.glsl +7 -0
  167. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon6.js +7 -0
  168. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon7.glsl +7 -0
  169. data/app/assets/javascripts/Shaders/Builtin/Constants/epsilon7.js +7 -0
  170. data/app/assets/javascripts/Shaders/Builtin/Constants/infinity.glsl +7 -0
  171. data/app/assets/javascripts/Shaders/Builtin/Constants/infinity.js +7 -0
  172. data/app/assets/javascripts/Shaders/Builtin/Constants/oneOverPi.glsl +16 -0
  173. data/app/assets/javascripts/Shaders/Builtin/Constants/oneOverPi.js +7 -0
  174. data/app/assets/javascripts/Shaders/Builtin/Constants/oneOverTwoPi.glsl +16 -0
  175. data/app/assets/javascripts/Shaders/Builtin/Constants/oneOverTwoPi.js +7 -0
  176. data/app/assets/javascripts/Shaders/Builtin/Constants/pi.glsl +16 -0
  177. data/app/assets/javascripts/Shaders/Builtin/Constants/pi.js +7 -0
  178. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverFour.glsl +16 -0
  179. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverFour.js +7 -0
  180. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverSix.glsl +16 -0
  181. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverSix.js +7 -0
  182. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverThree.glsl +16 -0
  183. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverThree.js +7 -0
  184. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverTwo.glsl +16 -0
  185. data/app/assets/javascripts/Shaders/Builtin/Constants/piOverTwo.js +7 -0
  186. data/app/assets/javascripts/Shaders/Builtin/Constants/radiansPerDegree.glsl +16 -0
  187. data/app/assets/javascripts/Shaders/Builtin/Constants/radiansPerDegree.js +7 -0
  188. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneMode2D.glsl +11 -0
  189. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneMode2D.js +7 -0
  190. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneMode3D.glsl +11 -0
  191. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneMode3D.js +7 -0
  192. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneModeColumbusView.glsl +11 -0
  193. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneModeColumbusView.js +7 -0
  194. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneModeMorphing.glsl +11 -0
  195. data/app/assets/javascripts/Shaders/Builtin/Constants/sceneModeMorphing.js +7 -0
  196. data/app/assets/javascripts/Shaders/Builtin/Constants/solarRadius.glsl +13 -0
  197. data/app/assets/javascripts/Shaders/Builtin/Constants/solarRadius.js +7 -0
  198. data/app/assets/javascripts/Shaders/Builtin/Constants/threePiOver2.glsl +16 -0
  199. data/app/assets/javascripts/Shaders/Builtin/Constants/threePiOver2.js +7 -0
  200. data/app/assets/javascripts/Shaders/Builtin/Constants/twoPi.glsl +16 -0
  201. data/app/assets/javascripts/Shaders/Builtin/Constants/twoPi.js +7 -0
  202. data/app/assets/javascripts/Shaders/Builtin/Constants/webMercatorMaxLatitude.glsl +16 -0
  203. data/app/assets/javascripts/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +7 -0
  204. data/app/assets/javascripts/Shaders/Builtin/CzmBuiltins.js +136 -0
  205. data/app/assets/javascripts/Shaders/Builtin/Functions/RGBToXYZ.js +5 -5
  206. data/app/assets/javascripts/Shaders/Builtin/Functions/XYZToRGB.js +5 -5
  207. data/app/assets/javascripts/Shaders/Builtin/Functions/antialias.js +5 -5
  208. data/app/assets/javascripts/Shaders/Builtin/Functions/cellular.js +5 -5
  209. data/app/assets/javascripts/Shaders/Builtin/Functions/columbusViewMorph.js +5 -5
  210. data/app/assets/javascripts/Shaders/Builtin/Functions/computePosition.js +5 -5
  211. data/app/assets/javascripts/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +5 -5
  212. data/app/assets/javascripts/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +5 -5
  213. data/app/assets/javascripts/Shaders/Builtin/Functions/ellipsoidNew.js +5 -5
  214. data/app/assets/javascripts/Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates.js +5 -5
  215. data/app/assets/javascripts/Shaders/Builtin/Functions/equalsEpsilon.js +5 -5
  216. data/app/assets/javascripts/Shaders/Builtin/Functions/eyeOffset.js +5 -5
  217. data/app/assets/javascripts/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +5 -5
  218. data/app/assets/javascripts/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +5 -5
  219. data/app/assets/javascripts/Shaders/Builtin/Functions/getDefaultMaterial.js +5 -5
  220. data/app/assets/javascripts/Shaders/Builtin/Functions/getLambertDiffuse.glsl +22 -0
  221. data/app/assets/javascripts/Shaders/Builtin/Functions/getLambertDiffuse.js +10 -0
  222. data/app/assets/javascripts/Shaders/Builtin/Functions/getSpecular.glsl +26 -0
  223. data/app/assets/javascripts/Shaders/Builtin/Functions/getSpecular.js +12 -0
  224. data/app/assets/javascripts/Shaders/Builtin/Functions/getWaterNoise.js +5 -5
  225. data/app/assets/javascripts/Shaders/Builtin/Functions/getWgs84EllipsoidEC.js +5 -5
  226. data/app/assets/javascripts/Shaders/Builtin/Functions/hue.js +5 -5
  227. data/app/assets/javascripts/Shaders/Builtin/Functions/isEmpty.js +5 -5
  228. data/app/assets/javascripts/Shaders/Builtin/Functions/isFull.js +5 -5
  229. data/app/assets/javascripts/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +5 -5
  230. data/app/assets/javascripts/Shaders/Builtin/Functions/luminance.js +5 -5
  231. data/app/assets/javascripts/Shaders/Builtin/Functions/modelToWindowCoordinates.js +5 -5
  232. data/app/assets/javascripts/Shaders/Builtin/Functions/multiplyWithColorBalance.js +5 -5
  233. data/app/assets/javascripts/Shaders/Builtin/Functions/phong.glsl +6 -18
  234. data/app/assets/javascripts/Shaders/Builtin/Functions/phong.js +10 -20
  235. data/app/assets/javascripts/Shaders/Builtin/Functions/pointAlongRay.js +5 -5
  236. data/app/assets/javascripts/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +5 -5
  237. data/app/assets/javascripts/Shaders/Builtin/Functions/saturation.js +5 -5
  238. data/app/assets/javascripts/Shaders/Builtin/Functions/snoise.js +5 -5
  239. data/app/assets/javascripts/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +5 -5
  240. data/app/assets/javascripts/Shaders/Builtin/Functions/translateRelativeToEye.js +5 -5
  241. data/app/assets/javascripts/Shaders/Builtin/Functions/transpose.js +5 -5
  242. data/app/assets/javascripts/Shaders/Builtin/Functions/windowToEyeCoordinates.js +5 -5
  243. data/app/assets/javascripts/Shaders/Builtin/Structs/ellipsoid.glsl +12 -0
  244. data/app/assets/javascripts/Shaders/Builtin/Structs/ellipsoid.js +13 -0
  245. data/app/assets/javascripts/Shaders/Builtin/Structs/material.glsl +22 -0
  246. data/app/assets/javascripts/Shaders/Builtin/Structs/material.js +15 -0
  247. data/app/assets/javascripts/Shaders/Builtin/Structs/materialInput.glsl +22 -0
  248. data/app/assets/javascripts/Shaders/Builtin/Structs/materialInput.js +15 -0
  249. data/app/assets/javascripts/Shaders/Builtin/Structs/ray.glsl +11 -0
  250. data/app/assets/javascripts/Shaders/Builtin/Structs/ray.js +11 -0
  251. data/app/assets/javascripts/Shaders/Builtin/Structs/raySegment.glsl +27 -0
  252. data/app/assets/javascripts/Shaders/Builtin/Structs/raySegment.js +13 -0
  253. data/app/assets/javascripts/Shaders/CentralBodyFS.glsl +21 -16
  254. data/app/assets/javascripts/Shaders/CentralBodyFS.js +19 -17
  255. data/app/assets/javascripts/Shaders/CentralBodyFSDepth.js +5 -5
  256. data/app/assets/javascripts/Shaders/CentralBodyFSPole.js +5 -5
  257. data/app/assets/javascripts/Shaders/CentralBodyVS.glsl +1 -1
  258. data/app/assets/javascripts/Shaders/CentralBodyVS.js +5 -5
  259. data/app/assets/javascripts/Shaders/CentralBodyVSDepth.js +5 -5
  260. data/app/assets/javascripts/Shaders/CentralBodyVSPole.js +5 -5
  261. data/app/assets/javascripts/Shaders/CustomSensorVolumeFS.js +5 -5
  262. data/app/assets/javascripts/Shaders/CustomSensorVolumeVS.js +5 -5
  263. data/app/assets/javascripts/Shaders/EllipsoidFS.js +5 -5
  264. data/app/assets/javascripts/Shaders/EllipsoidVS.js +5 -5
  265. data/app/assets/javascripts/Shaders/Materials/AsphaltMaterial.js +5 -5
  266. data/app/assets/javascripts/Shaders/Materials/BlobMaterial.js +5 -5
  267. data/app/assets/javascripts/Shaders/Materials/BrickMaterial.js +5 -5
  268. data/app/assets/javascripts/Shaders/Materials/BumpMapMaterial.js +5 -5
  269. data/app/assets/javascripts/Shaders/Materials/CementMaterial.js +5 -5
  270. data/app/assets/javascripts/Shaders/Materials/CheckerboardMaterial.js +5 -5
  271. data/app/assets/javascripts/Shaders/Materials/DotMaterial.js +5 -5
  272. data/app/assets/javascripts/Shaders/Materials/ErosionMaterial.js +5 -5
  273. data/app/assets/javascripts/Shaders/Materials/FacetMaterial.js +5 -5
  274. data/app/assets/javascripts/Shaders/Materials/FadeMaterial.js +5 -5
  275. data/app/assets/javascripts/Shaders/Materials/FresnelMaterial.js +5 -5
  276. data/app/assets/javascripts/Shaders/Materials/GrassMaterial.js +5 -5
  277. data/app/assets/javascripts/Shaders/Materials/GridMaterial.js +5 -5
  278. data/app/assets/javascripts/Shaders/Materials/NormalMapMaterial.js +5 -5
  279. data/app/assets/javascripts/Shaders/Materials/PolylineArrowMaterial.js +5 -5
  280. data/app/assets/javascripts/Shaders/Materials/PolylineGlowMaterial.js +5 -5
  281. data/app/assets/javascripts/Shaders/Materials/PolylineOutlineMaterial.js +5 -5
  282. data/app/assets/javascripts/Shaders/Materials/ReflectionMaterial.js +5 -5
  283. data/app/assets/javascripts/Shaders/Materials/RefractionMaterial.js +5 -5
  284. data/app/assets/javascripts/Shaders/Materials/RimLightingMaterial.js +5 -5
  285. data/app/assets/javascripts/Shaders/Materials/StripeMaterial.js +5 -5
  286. data/app/assets/javascripts/Shaders/Materials/TieDyeMaterial.js +5 -5
  287. data/app/assets/javascripts/Shaders/Materials/Water.js +5 -5
  288. data/app/assets/javascripts/Shaders/Materials/WoodMaterial.js +5 -5
  289. data/app/assets/javascripts/Shaders/PolylineCommon.glsl +93 -0
  290. data/app/assets/javascripts/Shaders/PolylineCommon.js +79 -0
  291. data/app/assets/javascripts/Shaders/PolylineFS.glsl +4 -4
  292. data/app/assets/javascripts/Shaders/PolylineFS.js +8 -8
  293. data/app/assets/javascripts/Shaders/PolylineVS.glsl +3 -94
  294. data/app/assets/javascripts/Shaders/PolylineVS.js +8 -79
  295. data/app/assets/javascripts/Shaders/PostProcessFilters/AdditiveBlend.js +5 -5
  296. data/app/assets/javascripts/Shaders/PostProcessFilters/BrightPass.js +5 -5
  297. data/app/assets/javascripts/Shaders/PostProcessFilters/GaussianBlur1D.js +5 -5
  298. data/app/assets/javascripts/Shaders/PostProcessFilters/PassThrough.js +5 -5
  299. data/app/assets/javascripts/Shaders/ReprojectWebMercatorFS.js +5 -5
  300. data/app/assets/javascripts/Shaders/ReprojectWebMercatorVS.js +5 -5
  301. data/app/assets/javascripts/Shaders/SensorVolume.js +5 -5
  302. data/app/assets/javascripts/Shaders/SkyAtmosphereFS.js +5 -5
  303. data/app/assets/javascripts/Shaders/SkyAtmosphereVS.js +5 -5
  304. data/app/assets/javascripts/Shaders/SkyBoxFS.js +5 -5
  305. data/app/assets/javascripts/Shaders/SkyBoxVS.js +5 -5
  306. data/app/assets/javascripts/Shaders/SunFS.glsl +3 -6
  307. data/app/assets/javascripts/Shaders/SunFS.js +7 -9
  308. data/app/assets/javascripts/Shaders/SunTextureFS.glsl +56 -0
  309. data/app/assets/javascripts/Shaders/SunTextureFS.js +38 -0
  310. data/app/assets/javascripts/Shaders/SunVS.glsl +3 -3
  311. data/app/assets/javascripts/Shaders/SunVS.js +7 -8
  312. data/app/assets/javascripts/Shaders/ViewportQuadFS.js +5 -5
  313. data/app/assets/javascripts/Shaders/ViewportQuadVS.js +5 -5
  314. data/app/assets/javascripts/Widgets/Animation/Animation.js +1 -1
  315. data/app/assets/javascripts/Widgets/CesiumWidget/CesiumWidget.js +22 -2
  316. data/app/assets/javascripts/Widgets/HomeButton/HomeButtonViewModel.js +6 -6
  317. data/app/assets/javascripts/Widgets/Timeline/Timeline.css +1 -2
  318. data/app/assets/javascripts/Widgets/Timeline/Timeline.js +4 -0
  319. data/app/assets/javascripts/Widgets/Viewer/Viewer.js +1 -1
  320. data/app/assets/javascripts/Widgets/Viewer/viewerDynamicObjectMixin.js +31 -10
  321. data/app/assets/javascripts/Workers/createCorridorOutlineGeometry.js +23 -0
  322. data/app/assets/javascripts/Workers/createPolylineGeometry.js +20 -0
  323. data/lib/cesium/version.rb +1 -1
  324. data/lib/tasks/cesium_tasks.rake +5 -5
  325. data/test/dummy/log/development.log +11486 -0
  326. data/test/dummy/tmp/cache/assets/B99/0B0/sprockets%2F4723632036683061b3298399d52922e7 +0 -0
  327. data/test/dummy/tmp/cache/assets/BAF/370/sprockets%2F799a74598087f7719313562f44828061 +0 -0
  328. data/test/dummy/tmp/cache/assets/BEC/140/sprockets%2F543679da044b10754151b23b36875755 +0 -0
  329. data/test/dummy/tmp/cache/assets/BF5/780/sprockets%2F4972cb4661342668d3594133711f29d2 +0 -0
  330. data/test/dummy/tmp/cache/assets/BF5/FE0/sprockets%2F368a904259d19129785a545b0f620238 +0 -0
  331. data/test/dummy/tmp/cache/assets/BF8/BC0/sprockets%2F1982805b53487d15554f20955019b8c4 +0 -0
  332. data/test/dummy/tmp/cache/assets/BF9/AE0/sprockets%2F9368350e9f18f633d29435164053903b +0 -0
  333. data/test/dummy/tmp/cache/assets/C01/8D0/sprockets%2F2ec425249233274aa0b026b451230672 +0 -0
  334. data/test/dummy/tmp/cache/assets/C02/060/sprockets%2F1d0bc0120a24460771534a6066a19474 +0 -0
  335. data/test/dummy/tmp/cache/assets/C07/150/sprockets%2F1b420211d4602737f80569030633dbf0 +0 -0
  336. data/test/dummy/tmp/cache/assets/C07/640/sprockets%2F7111e317b455fb168332b5603123083a +0 -0
  337. data/test/dummy/tmp/cache/assets/C12/030/sprockets%2Fbd84b00d783150a219825433401a7946 +0 -0
  338. data/test/dummy/tmp/cache/assets/C12/F80/sprockets%2F9356a00b5159422da062270884e23a29 +0 -0
  339. data/test/dummy/tmp/cache/assets/C16/BD0/sprockets%2Fd2b48e35108f523114643b3d53706825 +0 -0
  340. data/test/dummy/tmp/cache/assets/C1E/5C0/sprockets%2F2277f02712e633f06102744168f8f35d +0 -0
  341. data/test/dummy/tmp/cache/assets/C1F/050/sprockets%2F53a947727b383e4660419f08d91a1032 +0 -0
  342. data/test/dummy/tmp/cache/assets/C1F/AD0/sprockets%2F663e19c50940941591c806f0709b211f +0 -0
  343. data/test/dummy/tmp/cache/assets/C1F/BE0/sprockets%2F9ff195723d3a539023420682a372f561 +0 -0
  344. data/test/dummy/tmp/cache/assets/C21/2F0/sprockets%2F542b776b2358128506142733e2f7bc94 +0 -0
  345. data/test/dummy/tmp/cache/assets/C23/080/sprockets%2F7953320c0848d5564133365a6c3d728d +0 -0
  346. data/test/dummy/tmp/cache/assets/C26/280/sprockets%2F9860ce60e03164c35b8039e072376784 +0 -0
  347. data/test/dummy/tmp/cache/assets/C26/5B0/sprockets%2F55b830337d0462859671b7e5447ed430 +0 -0
  348. data/test/dummy/tmp/cache/assets/C26/6B0/sprockets%2F3f60c79508688afb054131884428613b +0 -0
  349. data/test/dummy/tmp/cache/assets/C27/CA0/sprockets%2F4c81f5363088374007d69607197dbf11 +0 -0
  350. data/test/dummy/tmp/cache/assets/C27/DA0/sprockets%2Fe49200d07769d24f54f721d890142818 +0 -0
  351. data/test/dummy/tmp/cache/assets/C29/0D0/sprockets%2F78f4925384f00974930f43dec1006924 +0 -0
  352. data/test/dummy/tmp/cache/assets/C29/170/sprockets%2F02826284e867237657439d3ce475a0b3 +0 -0
  353. data/test/dummy/tmp/cache/assets/C2A/3B0/sprockets%2F5386784b88d5e106865d52d3161651c2 +0 -0
  354. data/test/dummy/tmp/cache/assets/C2D/8E0/sprockets%2F64b8f949c8611a847315410698207fc3 +0 -0
  355. data/test/dummy/tmp/cache/assets/C31/9B0/sprockets%2F91243839e47880702db90f07f449d509 +0 -0
  356. data/test/dummy/tmp/cache/assets/C31/9E0/sprockets%2F3e25990dc848275307160f9e93184d54 +0 -0
  357. data/test/dummy/tmp/cache/assets/C31/F10/sprockets%2Fda8926e44189139968b640029b873d14 +0 -0
  358. data/test/dummy/tmp/cache/assets/C37/EB0/sprockets%2F410166e528f769c35999d061f6552d57 +0 -0
  359. data/test/dummy/tmp/cache/assets/C39/FD0/sprockets%2F40341e47b1219c54b1701d04a96a6192 +0 -0
  360. data/test/dummy/tmp/cache/assets/C40/040/sprockets%2F755e3952d9331b86782d4a7478a59299 +0 -0
  361. data/test/dummy/tmp/cache/assets/C40/FC0/sprockets%2F98f5c2a12b705912dd240327119152e3 +0 -0
  362. data/test/dummy/tmp/cache/assets/C41/C50/sprockets%2F97252d94663e85679cfc447910e79622 +0 -0
  363. data/test/dummy/tmp/cache/assets/C42/440/sprockets%2F1b618402da380cb405d971458a874033 +0 -0
  364. data/test/dummy/tmp/cache/assets/C44/870/sprockets%2Fc7607e52811e723312c83d096c611c32 +0 -0
  365. data/test/dummy/tmp/cache/assets/C46/770/sprockets%2F9b6c82d0454ab5ba8727173860060324 +0 -0
  366. data/test/dummy/tmp/cache/assets/C46/E60/sprockets%2F151028e967f13248ca6121c9407242cf +0 -0
  367. data/test/dummy/tmp/cache/assets/C48/040/sprockets%2F5389957e1b18210c3e842dd07148013a +0 -0
  368. data/test/dummy/tmp/cache/assets/C48/360/sprockets%2Fc966013651008025255f5b53b1d63f9e +0 -0
  369. data/test/dummy/tmp/cache/assets/C48/B80/sprockets%2F977a1612cd7012456e49684e00f12b15 +0 -0
  370. data/test/dummy/tmp/cache/assets/C49/AB0/sprockets%2F03711d5f17161228368251a5ff64a4f6 +0 -0
  371. data/test/dummy/tmp/cache/assets/C4A/020/sprockets%2F162d504e77459f0304b964139300cfe3 +0 -0
  372. data/test/dummy/tmp/cache/assets/C4A/2B0/sprockets%2F821c1d08482a9b936b661a56444551b3 +0 -0
  373. data/test/dummy/tmp/cache/assets/C4A/6D0/sprockets%2F367ae9689887469477258e3717a81d7a +0 -0
  374. data/test/dummy/tmp/cache/assets/C4B/100/sprockets%2F68d50de95c6555c15507523610f4c240 +0 -0
  375. data/test/dummy/tmp/cache/assets/C4B/890/sprockets%2F6e334463d45482c1421353046a96fad7 +0 -0
  376. data/test/dummy/tmp/cache/assets/C4D/960/sprockets%2Fb000576886efd55d3234013285580e8a +0 -0
  377. data/test/dummy/tmp/cache/assets/C51/5B0/sprockets%2F8a5118e541fa9727e263038a13796b15 +0 -0
  378. data/test/dummy/tmp/cache/assets/C52/2E0/sprockets%2Fa9783d991ed60019261a3651e219b194 +0 -0
  379. data/test/dummy/tmp/cache/assets/C52/CE0/sprockets%2F6a90b1d4e55589bc930a916842407308 +0 -0
  380. data/test/dummy/tmp/cache/assets/C53/040/sprockets%2F52411d26c4863636c7ae5b5090690f94 +0 -0
  381. data/test/dummy/tmp/cache/assets/C53/260/sprockets%2F94c148329f3031f18de416393235b88a +0 -0
  382. data/test/dummy/tmp/cache/assets/C53/660/sprockets%2F536301e85c8568fc601c0264d34935d6 +0 -0
  383. data/test/dummy/tmp/cache/assets/C54/B80/sprockets%2F3d600e58a215f47e00d92e5697298233 +0 -0
  384. data/test/dummy/tmp/cache/assets/C55/050/sprockets%2Fce172473f4850e2954423d79a57e0082 +0 -0
  385. data/test/dummy/tmp/cache/assets/C55/3F0/sprockets%2F8253261b673918af64a81c5911439b8b +0 -0
  386. data/test/dummy/tmp/cache/assets/C55/F00/sprockets%2Fa01e48539b20b57888127a675398ed10 +0 -0
  387. data/test/dummy/tmp/cache/assets/C56/5C0/sprockets%2F3383988301b0378ef1127572a59ee07d +0 -0
  388. data/test/dummy/tmp/cache/assets/C57/6C0/sprockets%2F90f201ca5864d9979082316f5f80a631 +0 -0
  389. data/test/dummy/tmp/cache/assets/C57/D10/sprockets%2F784e21cb5b634a598629115ef4685213 +0 -0
  390. data/test/dummy/tmp/cache/assets/C59/380/sprockets%2F22f3dc721a20019d400095053f1fb410 +0 -0
  391. data/test/dummy/tmp/cache/assets/C59/810/sprockets%2Fc37183f61d9511d324983656cd9375a1 +0 -0
  392. data/test/dummy/tmp/cache/assets/C5A/F10/sprockets%2F89244f33142747095fc49143708bf7ca +0 -0
  393. data/test/dummy/tmp/cache/assets/C5C/E20/sprockets%2F41c3676b5a839a9210713a976809ed76 +0 -0
  394. data/test/dummy/tmp/cache/assets/C5D/C90/sprockets%2Fc95a68422035a73f646f74e74767134c +0 -0
  395. data/test/dummy/tmp/cache/assets/C5E/0C0/sprockets%2F0700cd92993b55978435e474c733c9d0 +0 -0
  396. data/test/dummy/tmp/cache/assets/C5F/BB0/sprockets%2F4061427d3babc120be37a18006970251 +0 -0
  397. data/test/dummy/tmp/cache/assets/C60/1B0/sprockets%2Faf8b450372646883cc98c1478472a744 +0 -0
  398. data/test/dummy/tmp/cache/assets/C61/2F0/sprockets%2Fe7f511982b4799474ab391f714d39630 +0 -0
  399. data/test/dummy/tmp/cache/assets/C61/D10/sprockets%2F99f1eb6583e8c569a6070750064d0649 +0 -0
  400. data/test/dummy/tmp/cache/assets/C62/FC0/sprockets%2F779572f82e84f06a03543f53f9b68340 +0 -0
  401. data/test/dummy/tmp/cache/assets/C63/070/sprockets%2F8e770283d268526610e99264922dce9b +0 -0
  402. data/test/dummy/tmp/cache/assets/C64/730/sprockets%2F78fd706ba991f21a399070866616c297 +0 -0
  403. data/test/dummy/tmp/cache/assets/C65/0E0/sprockets%2F8303e4555c14f5f62cd2979665f50578 +0 -0
  404. data/test/dummy/tmp/cache/assets/C67/1C0/sprockets%2F84ad36029c8b68580e409459ec917845 +0 -0
  405. data/test/dummy/tmp/cache/assets/C67/E40/sprockets%2F1d740719dc66e827206004a2d1d130e0 +0 -0
  406. data/test/dummy/tmp/cache/assets/C69/8F0/sprockets%2F57b3e8425d39829d9046818773a7e4c4 +0 -0
  407. data/test/dummy/tmp/cache/assets/C69/9D0/sprockets%2Fe23697506159895308f471dbfe79b049 +0 -0
  408. data/test/dummy/tmp/cache/assets/C69/DC0/sprockets%2F99a7cf31e7d92983436407940c83e384 +0 -0
  409. data/test/dummy/tmp/cache/assets/C6C/C90/sprockets%2Fad7947b2492467a62388859219a92de9 +0 -0
  410. data/test/dummy/tmp/cache/assets/C6C/E20/sprockets%2Fa47597474b5a3359d9933b9099f34b84 +0 -0
  411. data/test/dummy/tmp/cache/assets/C6C/E30/sprockets%2F566fe333c6901634240a26ebda413044 +0 -0
  412. data/test/dummy/tmp/cache/assets/C6D/AC0/sprockets%2Fa1344c280c4d1518b6c15c357543247a +0 -0
  413. data/test/dummy/tmp/cache/assets/C6F/BB0/sprockets%2F402487bc510925334deb804af12a8614 +0 -0
  414. data/test/dummy/tmp/cache/assets/C6F/F50/sprockets%2F2cb3477a83350ba2020cd38803929a55 +0 -0
  415. data/test/dummy/tmp/cache/assets/C70/600/sprockets%2Fa190260891222cefb27e01037c26e592 +0 -0
  416. data/test/dummy/tmp/cache/assets/C70/D70/sprockets%2F2e438313a1edf3a1538c2348911a3194 +0 -0
  417. data/test/dummy/tmp/cache/assets/C70/FD0/sprockets%2F55b154db32ed8c025d6902063604346c +0 -0
  418. data/test/dummy/tmp/cache/assets/C71/120/sprockets%2F50a1192c409257f2f7c2ab2a32609745 +0 -0
  419. data/test/dummy/tmp/cache/assets/C73/0F0/sprockets%2F8a6a50d9b866140c720b6a48307c4116 +0 -0
  420. data/test/dummy/tmp/cache/assets/C73/A90/sprockets%2F1a0dcd67663309397c50716dd2304a43 +0 -0
  421. data/test/dummy/tmp/cache/assets/C75/A30/sprockets%2F70433b035563751f91da2c42849c3eb1 +0 -0
  422. data/test/dummy/tmp/cache/assets/C76/020/sprockets%2F93a743240510b9fc229172560fe0e5d4 +0 -0
  423. data/test/dummy/tmp/cache/assets/C76/620/sprockets%2F632c9212c090a66b2278ff03d1037a98 +0 -0
  424. data/test/dummy/tmp/cache/assets/C76/7C0/sprockets%2Fc8a40132f840235629f214e0f0e4097f +0 -0
  425. data/test/dummy/tmp/cache/assets/C76/B20/sprockets%2F00e497b5db44cc01854869442bc31091 +0 -0
  426. data/test/dummy/tmp/cache/assets/C76/F10/sprockets%2F536e031c5d9a257b602d38f8711480a2 +0 -0
  427. data/test/dummy/tmp/cache/assets/C79/2A0/sprockets%2Fdbff93f30738954d250021029a8705a3 +0 -0
  428. data/test/dummy/tmp/cache/assets/C79/CA0/sprockets%2F6c457040c003bb7fe76cd91327372572 +0 -0
  429. data/test/dummy/tmp/cache/assets/C7A/EC0/sprockets%2F4f95941b98817b478774b7399c95a6f2 +0 -0
  430. data/test/dummy/tmp/cache/assets/C7C/7C0/sprockets%2F951d4a02d8b2ce148765e618081a8036 +0 -0
  431. data/test/dummy/tmp/cache/assets/C7C/810/sprockets%2F8c911307ea50fb1f75e855507300e780 +0 -0
  432. data/test/dummy/tmp/cache/assets/C7D/EF0/sprockets%2F2750eae96e23fa7136c91111e5852275 +0 -0
  433. data/test/dummy/tmp/cache/assets/C7E/200/sprockets%2F21b0b364a5b1018b18f894c6e8655682 +0 -0
  434. data/test/dummy/tmp/cache/assets/C7E/AF0/sprockets%2Fd0089a94f336126088a4c1e44e5b9423 +0 -0
  435. data/test/dummy/tmp/cache/assets/C7E/EA0/sprockets%2F2504a119ab66f79d8d296032e957a023 +0 -0
  436. data/test/dummy/tmp/cache/assets/C80/150/sprockets%2F0d3881005b0646df783d5c24683d34f5 +0 -0
  437. data/test/dummy/tmp/cache/assets/C80/350/sprockets%2F74b45455ed56100542e4c59359e052cf +0 -0
  438. data/test/dummy/tmp/cache/assets/C80/780/sprockets%2F49930c35001a30c38745b89a6a86cf74 +0 -0
  439. data/test/dummy/tmp/cache/assets/C81/A90/sprockets%2F996b636b1494756317233a4582b3caae +0 -0
  440. data/test/dummy/tmp/cache/assets/C82/040/sprockets%2Fe0a40c66c75956304aa9b9908197710c +0 -0
  441. data/test/dummy/tmp/cache/assets/C82/060/sprockets%2Fb043f48276a50489714f9ec04525e26a +0 -0
  442. data/test/dummy/tmp/cache/assets/C82/580/sprockets%2F8118f4526088ba8fd441f20317475d6b +0 -0
  443. data/test/dummy/tmp/cache/assets/C82/AA0/sprockets%2Fd83006c52345d7fe51216f1e577a8185 +0 -0
  444. data/test/dummy/tmp/cache/assets/C82/F80/sprockets%2F324c35a8c98608b49e564734245aab52 +0 -0
  445. data/test/dummy/tmp/cache/assets/C83/A50/sprockets%2F26b151f7490286ff7059ff9a411e1027 +0 -0
  446. data/test/dummy/tmp/cache/assets/C83/B70/sprockets%2Fa703782e55371373dad6667a7f25173b +0 -0
  447. data/test/dummy/tmp/cache/assets/C84/A30/sprockets%2F4867b0b9b390b58a539162663f95a11d +0 -0
  448. data/test/dummy/tmp/cache/assets/C84/E00/sprockets%2F49d13d786c17ba7650b374646455a6b3 +0 -0
  449. data/test/dummy/tmp/cache/assets/C84/F20/sprockets%2F083e68a51997c13d32841a8f90dd7123 +0 -0
  450. data/test/dummy/tmp/cache/assets/C85/310/sprockets%2Fc638d86c720815e5b635e0a3646e2186 +0 -0
  451. data/test/dummy/tmp/cache/assets/C85/860/sprockets%2F1128e045516f9716afd74c1e59a84129 +0 -0
  452. data/test/dummy/tmp/cache/assets/C85/A90/sprockets%2Fc1f8ee195823c02e7b7c623493141937 +0 -0
  453. data/test/dummy/tmp/cache/assets/C86/030/sprockets%2F0ad25c896165036167b94387675bcdd1 +0 -0
  454. data/test/dummy/tmp/cache/assets/C86/160/sprockets%2F170cebf5c63267b58657ac9519502158 +0 -0
  455. data/test/dummy/tmp/cache/assets/C86/1D0/sprockets%2F27b505354597df6d366bbc531082e198 +0 -0
  456. data/test/dummy/tmp/cache/assets/C86/230/sprockets%2F4454c38e9e8bb905a7b1351b76394830 +0 -0
  457. data/test/dummy/tmp/cache/assets/C87/1B0/sprockets%2F58524f16545fa54ea39c3c1270d06799 +0 -0
  458. data/test/dummy/tmp/cache/assets/C88/3F0/sprockets%2Fa516de7192d1e35894787e3dd5009161 +0 -0
  459. data/test/dummy/tmp/cache/assets/C88/400/sprockets%2F9454b598601cfa56142892fc3f11e267 +0 -0
  460. data/test/dummy/tmp/cache/assets/C88/500/sprockets%2F4922887ab2a8fe01664747b36094b17f +0 -0
  461. data/test/dummy/tmp/cache/assets/C88/E50/sprockets%2F02cd2a2814dd575e95685636198ab572 +0 -0
  462. data/test/dummy/tmp/cache/assets/C89/5B0/sprockets%2Ff09892888c3240bc4b227f136608eb66 +0 -0
  463. data/test/dummy/tmp/cache/assets/C89/C90/sprockets%2Fb57417bcd9197c44286f14650e552b84 +0 -0
  464. data/test/dummy/tmp/cache/assets/C89/EF0/sprockets%2Fd29c68a07b9e63713834bc7543a53683 +0 -0
  465. data/test/dummy/tmp/cache/assets/C8A/3A0/sprockets%2F4fa70475e9967491aa904382d57f0a70 +0 -0
  466. data/test/dummy/tmp/cache/assets/C8A/B60/sprockets%2F91211f962c595bd97d4236eb07e99023 +0 -0
  467. data/test/dummy/tmp/cache/assets/C8B/000/sprockets%2Ff973959272a2474ab3fd8909117fb403 +0 -0
  468. data/test/dummy/tmp/cache/assets/C8B/0F0/sprockets%2F3317c35ce7597681091ac91985d08bb5 +0 -0
  469. data/test/dummy/tmp/cache/assets/C8B/700/sprockets%2F733de337382f6086545288fc6a6fa611 +0 -0
  470. data/test/dummy/tmp/cache/assets/C8B/A30/sprockets%2Fe20153c26552232703d0f4a5a60b10ed +0 -0
  471. data/test/dummy/tmp/cache/assets/C8C/A10/sprockets%2F530e507cce6d8e38083e47883140890f +0 -0
  472. data/test/dummy/tmp/cache/assets/C8C/ED0/sprockets%2F43ea33764c6de9a90766696891d1421a +0 -0
  473. data/test/dummy/tmp/cache/assets/C8D/C30/sprockets%2Fb8b7a83d530275d303f1769879f60f34 +0 -0
  474. data/test/dummy/tmp/cache/assets/C8D/FC0/sprockets%2Fab1b1b654d968822069892e844f5244f +0 -0
  475. data/test/dummy/tmp/cache/assets/C8E/1A0/sprockets%2F7937090f77385164f68c0ee252b26be5 +0 -0
  476. data/test/dummy/tmp/cache/assets/C8E/1B0/sprockets%2F3309cd849788a2b736f12369ad4e4851 +0 -0
  477. data/test/dummy/tmp/cache/assets/C8E/450/sprockets%2F5fa08396255656fa8151e3796bf902a7 +0 -0
  478. data/test/dummy/tmp/cache/assets/C8E/810/sprockets%2F3e40187995c1803db884c434d95ca657 +0 -0
  479. data/test/dummy/tmp/cache/assets/C8E/BA0/sprockets%2F08f8e8332b29f19e64082789d34b6e10 +0 -0
  480. data/test/dummy/tmp/cache/assets/C8E/D10/sprockets%2F925a7d498e00228a891b7835bf3787b1 +0 -0
  481. data/test/dummy/tmp/cache/assets/C8E/E40/sprockets%2F96aaf9af5e7906347880902610773bc5 +0 -0
  482. data/test/dummy/tmp/cache/assets/C8F/030/sprockets%2F6e7f990a153258258b23f435e85b583d +0 -0
  483. data/test/dummy/tmp/cache/assets/C8F/370/sprockets%2Ff794170ec844d49b57216a088c0297d7 +0 -0
  484. data/test/dummy/tmp/cache/assets/C90/760/sprockets%2F01998bca7e3860b668f2999f405411d4 +0 -0
  485. data/test/dummy/tmp/cache/assets/C90/7C0/sprockets%2Fa18129a474f49984c750c79ac94e5261 +0 -0
  486. data/test/dummy/tmp/cache/assets/C90/DC0/sprockets%2Fd540859f390d384194ad013e88a099f7 +0 -0
  487. data/test/dummy/tmp/cache/assets/C91/730/sprockets%2F78e7a8fbde842a8563457623f5388011 +0 -0
  488. data/test/dummy/tmp/cache/assets/C91/F00/sprockets%2F0f611f4f95811990472ff1b6f95383d5 +0 -0
  489. data/test/dummy/tmp/cache/assets/C92/E60/sprockets%2Fa80a146215a040d03e312a796c0b95f2 +0 -0
  490. data/test/dummy/tmp/cache/assets/C93/F70/sprockets%2F65f6452a7e17925ac0894c3e1858874c +0 -0
  491. data/test/dummy/tmp/cache/assets/C94/200/sprockets%2F8dae686ee6012f59a55568f381753237 +0 -0
  492. data/test/dummy/tmp/cache/assets/C94/230/sprockets%2Ff1065a9c342c30d071c501513a608e7a +0 -0
  493. data/test/dummy/tmp/cache/assets/C94/640/sprockets%2F030e3637e18304c5882dc23aa601da13 +0 -0
  494. data/test/dummy/tmp/cache/assets/C94/700/sprockets%2F775c775cc514476ef935216e1f58a582 +0 -0
  495. data/test/dummy/tmp/cache/assets/C94/D70/sprockets%2Faea916d8ce2618664957713f7928b505 +0 -0
  496. data/test/dummy/tmp/cache/assets/C96/2C0/sprockets%2Fe4683318365884fbd295708ffdd76411 +0 -0
  497. data/test/dummy/tmp/cache/assets/C96/C30/sprockets%2F05c3e0fdab78193100597ca21732b240 +0 -0
  498. data/test/dummy/tmp/cache/assets/C96/FD0/sprockets%2Fb2ea92be038600ec0a9b502454766020 +0 -0
  499. data/test/dummy/tmp/cache/assets/C97/620/sprockets%2Fd6a187dd770a969944280590c884b7e3 +0 -0
  500. data/test/dummy/tmp/cache/assets/C97/A60/sprockets%2Fd9cf6a17df7846771993f7191124346c +0 -0
  501. data/test/dummy/tmp/cache/assets/C97/EA0/sprockets%2F5cf03181a14067fc4a5ae8220d360218 +0 -0
  502. data/test/dummy/tmp/cache/assets/C98/0D0/sprockets%2Fb8734f08f696a8828b26778fb44643c0 +0 -0
  503. data/test/dummy/tmp/cache/assets/C98/410/sprockets%2F87851f95936d3c7c5c00f267539c158f +0 -0
  504. data/test/dummy/tmp/cache/assets/C98/460/sprockets%2F3c548d9f8118e3f9313400826ff9e848 +0 -0
  505. data/test/dummy/tmp/cache/assets/C98/D30/sprockets%2F3f2411651caa9b4fd0833085b001f490 +0 -0
  506. data/test/dummy/tmp/cache/assets/C99/320/sprockets%2Fd148d2c3062b8163517bbc344ec30244 +0 -0
  507. data/test/dummy/tmp/cache/assets/C99/490/sprockets%2F16997e6179973f7ad3b0eb59062d8914 +0 -0
  508. data/test/dummy/tmp/cache/assets/C99/810/sprockets%2Fab8d1730e377000e073b4620360e92dc +0 -0
  509. data/test/dummy/tmp/cache/assets/C9B/D70/sprockets%2F3673a307810246b3d9e4ca84d3a8000a +0 -0
  510. data/test/dummy/tmp/cache/assets/C9C/580/sprockets%2Ff2350c8af961d9861684a79b18f45669 +0 -0
  511. data/test/dummy/tmp/cache/assets/C9C/830/sprockets%2F257378c359c343e99485c46736ef0a9e +0 -0
  512. data/test/dummy/tmp/cache/assets/C9C/E60/sprockets%2F02e415ba74d1342030e6e4c5ac428675 +0 -0
  513. data/test/dummy/tmp/cache/assets/C9D/040/sprockets%2F13cb6c3f50e4a9f4064617e3205d0306 +0 -0
  514. data/test/dummy/tmp/cache/assets/C9D/CA0/sprockets%2Fd6488368e96de6905676c74fb79b3210 +0 -0
  515. data/test/dummy/tmp/cache/assets/C9F/970/sprockets%2Fee819848331c1da21b3a6304d626240e +0 -0
  516. data/test/dummy/tmp/cache/assets/C9F/CE0/sprockets%2F56383454ba44300671223dd6ab4b7ed3 +0 -0
  517. data/test/dummy/tmp/cache/assets/CA0/400/sprockets%2F416eb009b505cf50a4088253ba48268a +0 -0
  518. data/test/dummy/tmp/cache/assets/CA2/4E0/sprockets%2F064662810df01b94c2434af6f90161af +0 -0
  519. data/test/dummy/tmp/cache/assets/CA3/BB0/sprockets%2F03f6cb16bf8066f6f33520430b83a066 +0 -0
  520. data/test/dummy/tmp/cache/assets/CA3/E30/sprockets%2F2bc81b3b8b3ac52590515856f421605d +0 -0
  521. data/test/dummy/tmp/cache/assets/CA4/0A0/sprockets%2F482164b83a43ac07c4e351f2a936247b +0 -0
  522. data/test/dummy/tmp/cache/assets/CA4/840/sprockets%2F2b831117377091a2c803f8e127ea6ea4 +0 -0
  523. data/test/dummy/tmp/cache/assets/CA5/1A0/sprockets%2Fb02357f6d5905e5500c7fc529af10243 +0 -0
  524. data/test/dummy/tmp/cache/assets/CA5/2F0/sprockets%2F54df4c2621764801d17a342673c6eac2 +0 -0
  525. data/test/dummy/tmp/cache/assets/CA5/F30/sprockets%2Fb2f70423bf51f566d201679bd037170e +0 -0
  526. data/test/dummy/tmp/cache/assets/CA6/AC0/sprockets%2F27c15c84305f4b0062cf363c75c067c6 +0 -0
  527. data/test/dummy/tmp/cache/assets/CA8/080/sprockets%2Fad2824627f815e1154d19e03b35f44a5 +0 -0
  528. data/test/dummy/tmp/cache/assets/CA8/2F0/sprockets%2F912149fc7423810b329a7f2cc6d82a32 +0 -0
  529. data/test/dummy/tmp/cache/assets/CA8/740/sprockets%2F601a6f118b6060fb4548f602d4b2795d +0 -0
  530. data/test/dummy/tmp/cache/assets/CA8/7B0/sprockets%2Ffd396b13941328a37163704e1da6a53e +0 -0
  531. data/test/dummy/tmp/cache/assets/CA8/AD0/sprockets%2Fe8226081da6164555fb9c531aa3369b1 +0 -0
  532. data/test/dummy/tmp/cache/assets/CA8/BF0/sprockets%2Fe911b490684958767bd3c0203411bbdb +0 -0
  533. data/test/dummy/tmp/cache/assets/CA9/5A0/sprockets%2F8282351dd11504a68cbc8500b7786cf2 +0 -0
  534. data/test/dummy/tmp/cache/assets/CA9/7C0/sprockets%2Fd4c2d8830fd3ee151231c61163f41598 +0 -0
  535. data/test/dummy/tmp/cache/assets/CA9/E20/sprockets%2F1ca84c82be52603a0c947256a38a0598 +0 -0
  536. data/test/dummy/tmp/cache/assets/CA9/F90/sprockets%2F49615730ab8b88568e02b1226eef130b +0 -0
  537. data/test/dummy/tmp/cache/assets/CAA/3C0/sprockets%2F75ce813900f222ce7892711f61db04d3 +0 -0
  538. data/test/dummy/tmp/cache/assets/CAA/400/sprockets%2F5c330e413aa8e6769050215b5366c7ef +0 -0
  539. data/test/dummy/tmp/cache/assets/CAA/410/sprockets%2Fe3498411d0ef311af57a4f900432976a +0 -0
  540. data/test/dummy/tmp/cache/assets/CAA/9F0/sprockets%2Fb4132c4d2b7f819be30755173373b9c3 +0 -0
  541. data/test/dummy/tmp/cache/assets/CAA/A60/sprockets%2F76b467bc7a2344e208653c4261f8ab15 +0 -0
  542. data/test/dummy/tmp/cache/assets/CAA/CE0/sprockets%2Fdf22e3ea4f4383025868328363c03f2b +0 -0
  543. data/test/dummy/tmp/cache/assets/CAA/D90/sprockets%2Fd477a5c2046351a0c462bb945e3954e5 +0 -0
  544. data/test/dummy/tmp/cache/assets/CAB/010/sprockets%2Fbab4934b76d5a08f11275052a57d8267 +0 -0
  545. data/test/dummy/tmp/cache/assets/CAB/260/sprockets%2F3a249d027051a549f7ca1a0776e0767f +0 -0
  546. data/test/dummy/tmp/cache/assets/CAB/670/sprockets%2F678e67cae28828b42b010381be1f1247 +0 -0
  547. data/test/dummy/tmp/cache/assets/CAB/C30/sprockets%2F161e910a8e74f95b2333dd133e2b5557 +0 -0
  548. data/test/dummy/tmp/cache/assets/CAC/000/sprockets%2F39720f0080e70a954d9956acd571d0b2 +0 -0
  549. data/test/dummy/tmp/cache/assets/CAC/1D0/sprockets%2F62e63558132c8807eb14d542bf31cd55 +0 -0
  550. data/test/dummy/tmp/cache/assets/CAD/320/sprockets%2F8385a8212d39068b0b4bb38860e160ff +0 -0
  551. data/test/dummy/tmp/cache/assets/CAD/540/sprockets%2F6cd6077d2d3b9603d4135c97108ad580 +0 -0
  552. data/test/dummy/tmp/cache/assets/CAD/B20/sprockets%2F4c087829240d4b69e0a47e39bb8124d0 +0 -0
  553. data/test/dummy/tmp/cache/assets/CAD/CF0/sprockets%2F25811882cd57a31606348eb7b16f4f0d +0 -0
  554. data/test/dummy/tmp/cache/assets/CAE/0D0/sprockets%2F02345f5b06f3a25b588ed66b8e167034 +0 -0
  555. data/test/dummy/tmp/cache/assets/CAE/220/sprockets%2Fc0b1580bb4a89220283613a991ef6f96 +0 -0
  556. data/test/dummy/tmp/cache/assets/CAE/400/sprockets%2F001d42e622970fc906953559dc55cce0 +0 -0
  557. data/test/dummy/tmp/cache/assets/CAE/6F0/sprockets%2F091ca41269e646eee0958a9260002ee6 +0 -0
  558. data/test/dummy/tmp/cache/assets/CAE/A10/sprockets%2F9a417652b089c91b9f2bd2600fc44148 +0 -0
  559. data/test/dummy/tmp/cache/assets/CAF/790/sprockets%2F53448b199fd673d7c64190c9a3a3b211 +0 -0
  560. data/test/dummy/tmp/cache/assets/CAF/AD0/sprockets%2Fec228a94364d0d686876d02550ed15c1 +0 -0
  561. data/test/dummy/tmp/cache/assets/CB0/4D0/sprockets%2Fc8d3b85d3b111031888d656507d9c54a +0 -0
  562. data/test/dummy/tmp/cache/assets/CB1/070/sprockets%2F9cba6728b6733422b7e02386f1fc6461 +0 -0
  563. data/test/dummy/tmp/cache/assets/CB1/3A0/sprockets%2F22de41499517af8aa582914442e7f4a1 +0 -0
  564. data/test/dummy/tmp/cache/assets/CB1/810/sprockets%2Fc955dad169a09c520920679a69a115b7 +0 -0
  565. data/test/dummy/tmp/cache/assets/CB1/890/sprockets%2F885618ee4329753a0016280aab8ffb37 +0 -0
  566. data/test/dummy/tmp/cache/assets/CB1/9B0/sprockets%2F87f57e08ca13769cbd687014c332322d +0 -0
  567. data/test/dummy/tmp/cache/assets/CB1/D20/sprockets%2F3af266589b487d2511386a5c93bac801 +0 -0
  568. data/test/dummy/tmp/cache/assets/CB2/250/sprockets%2Fa7b35a4667c73e49df3382821ba61455 +0 -0
  569. data/test/dummy/tmp/cache/assets/CB2/E20/sprockets%2F86ff165475d25f0292d085557b1c0bb6 +0 -0
  570. data/test/dummy/tmp/cache/assets/CB3/790/sprockets%2F6dfa7549424909cfb20341a0b3e72888 +0 -0
  571. data/test/dummy/tmp/cache/assets/CB3/C00/sprockets%2F63c296a983bb460c9848035483be2cb2 +0 -0
  572. data/test/dummy/tmp/cache/assets/CB4/350/sprockets%2F20d5b899f43e34c64549ed9aa4526211 +0 -0
  573. data/test/dummy/tmp/cache/assets/CB4/BD0/sprockets%2Fa86fe47cf2482849d7c047a0556b0171 +0 -0
  574. data/test/dummy/tmp/cache/assets/CB4/D20/sprockets%2F94c251de5c21293f227709479c4f32be +0 -0
  575. data/test/dummy/tmp/cache/assets/CB6/560/sprockets%2F59d6144728c7d2d07ee64502db56329c +0 -0
  576. data/test/dummy/tmp/cache/assets/CB6/980/sprockets%2F908752baca0860f89a1adb4963592925 +0 -0
  577. data/test/dummy/tmp/cache/assets/CB6/AA0/sprockets%2F56d5b3f736db575c715d50659511ba76 +0 -0
  578. data/test/dummy/tmp/cache/assets/CB6/C90/sprockets%2F7f9e00e1350735a928c44c7b3e57198a +0 -0
  579. data/test/dummy/tmp/cache/assets/CB7/140/sprockets%2F548af446b8c04062f6dc9335d3887d21 +0 -0
  580. data/test/dummy/tmp/cache/assets/CB7/180/sprockets%2F01772f15f958d4918f3143f1dda172d9 +0 -0
  581. data/test/dummy/tmp/cache/assets/CB7/1F0/sprockets%2F4197d93e3b348c16a25a531fd9f30498 +0 -0
  582. data/test/dummy/tmp/cache/assets/CB7/CF0/sprockets%2F3f3ad7a66839378da014157b4277e93b +0 -0
  583. data/test/dummy/tmp/cache/assets/CB7/ED0/sprockets%2Ff8695d0f1536c18f414dfa467632323f +0 -0
  584. data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2F62d364e38ba9b500f8b1633367f782b9 +0 -0
  585. data/test/dummy/tmp/cache/assets/CB8/180/sprockets%2Fe66eae8997e04c4bf70531e166511662 +0 -0
  586. data/test/dummy/tmp/cache/assets/CB8/1A0/sprockets%2F31aa6a08d84e55500e99848f019a64f7 +0 -0
  587. data/test/dummy/tmp/cache/assets/CB8/3D0/sprockets%2F82660934f515fc61a144b9c9cd39c482 +0 -0
  588. data/test/dummy/tmp/cache/assets/CB8/5E0/sprockets%2F39ac9e81027348a7d3678c7b902a607d +0 -0
  589. data/test/dummy/tmp/cache/assets/CB8/840/sprockets%2F8c74fb265297f32a4fc87a213827b742 +0 -0
  590. data/test/dummy/tmp/cache/assets/CB8/B60/sprockets%2F181d3aa0c983e79f2f700259e1885b56 +0 -0
  591. data/test/dummy/tmp/cache/assets/CB8/E90/sprockets%2F287e06c801ed73919420eee5438aa766 +0 -0
  592. data/test/dummy/tmp/cache/assets/CB8/EA0/sprockets%2F9e63d365e2159c725d111698cc04a7e7 +0 -0
  593. data/test/dummy/tmp/cache/assets/CB8/EF0/sprockets%2Ff47909056b54fbb653c60c2b89746b07 +0 -0
  594. data/test/dummy/tmp/cache/assets/CB9/0C0/sprockets%2F4e8172b657637124dc8887da053dc90d +0 -0
  595. data/test/dummy/tmp/cache/assets/CB9/1A0/sprockets%2F5018a74946d354964fa5d2efc3c91634 +0 -0
  596. data/test/dummy/tmp/cache/assets/CB9/680/sprockets%2F9bad6dc04875e04891351521b9795f5a +0 -0
  597. data/test/dummy/tmp/cache/assets/CB9/D00/sprockets%2Fdec288179177920eb8ac005438fc9425 +0 -0
  598. data/test/dummy/tmp/cache/assets/CBA/250/sprockets%2F39bb3860405888c9f3b4b35c738b940c +0 -0
  599. data/test/dummy/tmp/cache/assets/CBA/470/sprockets%2F4f40cdd502a8495759245e785f4b10e8 +0 -0
  600. data/test/dummy/tmp/cache/assets/CBB/650/sprockets%2F2cf882d9d849c201a76665e71d47090b +0 -0
  601. data/test/dummy/tmp/cache/assets/CBC/420/sprockets%2F5f44c3129fc7a8e64885b1f5355726c1 +0 -0
  602. data/test/dummy/tmp/cache/assets/CBC/520/sprockets%2Fc6485291750c5ad1b2498ad90498a67f +0 -0
  603. data/test/dummy/tmp/cache/assets/CBC/620/sprockets%2Fa222028f7794f7e9c619a390b389f0d3 +0 -0
  604. data/test/dummy/tmp/cache/assets/CBC/670/sprockets%2Fed21a216241599e0adb837666f64f679 +0 -0
  605. data/test/dummy/tmp/cache/assets/CBC/6C0/sprockets%2F464439bf5a0e28d80594ee09a9509f51 +0 -0
  606. data/test/dummy/tmp/cache/assets/CBC/6C0/sprockets%2F6f494cff47ee245d30168217542c66d6 +0 -0
  607. data/test/dummy/tmp/cache/assets/CBC/BB0/sprockets%2F86bd51e7b319bd796682d236651e4a37 +0 -0
  608. data/test/dummy/tmp/cache/assets/CBD/370/sprockets%2Fb1302703ec87d477fb386e77d981823c +0 -0
  609. data/test/dummy/tmp/cache/assets/CBD/470/sprockets%2F7110b265296871366ad669bde4fd287e +0 -0
  610. data/test/dummy/tmp/cache/assets/CBE/F20/sprockets%2F7610efc00f29935606275944978fbabf +0 -0
  611. data/test/dummy/tmp/cache/assets/CBF/3A0/sprockets%2Fc7b6a2891626c77607ea2881dc84d475 +0 -0
  612. data/test/dummy/tmp/cache/assets/CBF/8B0/sprockets%2F5c98534d57c1e7f7d2926173d27e4d14 +0 -0
  613. data/test/dummy/tmp/cache/assets/CBF/FB0/sprockets%2F798a9501a87778527d3ab07c5a7ab757 +0 -0
  614. data/test/dummy/tmp/cache/assets/CC0/170/sprockets%2F458478f2faf8559d5008ca28c64232f7 +0 -0
  615. data/test/dummy/tmp/cache/assets/CC0/640/sprockets%2Fd0118b2031c44248f899dc8f66784c9e +0 -0
  616. data/test/dummy/tmp/cache/assets/CC0/6D0/sprockets%2F5e75696d7832c695f40e7b1fd3d31183 +0 -0
  617. data/test/dummy/tmp/cache/assets/CC0/E60/sprockets%2F9731b0739ec7356b2e484cb427d6955f +0 -0
  618. data/test/dummy/tmp/cache/assets/CC1/280/sprockets%2Fec6dd36652375a17476b9e50274fd884 +0 -0
  619. data/test/dummy/tmp/cache/assets/CC1/600/sprockets%2F322629f082c9e743f47a32edd58874b8 +0 -0
  620. data/test/dummy/tmp/cache/assets/CC1/9D0/sprockets%2F8491d92502ae879bc8d378a74f32e129 +0 -0
  621. data/test/dummy/tmp/cache/assets/CC1/D00/sprockets%2F010bd21b402502a36d8b769be07710fb +0 -0
  622. data/test/dummy/tmp/cache/assets/CC1/DF0/sprockets%2F44075187d45483b197e2465cccf99c5c +0 -0
  623. data/test/dummy/tmp/cache/assets/CC2/4A0/sprockets%2F3879518df43c51792d5f7108a68d17be +0 -0
  624. data/test/dummy/tmp/cache/assets/CC3/960/sprockets%2F5e2c614602b8caf6b33af1100136272e +0 -0
  625. data/test/dummy/tmp/cache/assets/CC3/B20/sprockets%2Fb3c85f734d6995079665c32cb16d5f63 +0 -0
  626. data/test/dummy/tmp/cache/assets/CC3/D80/sprockets%2F02802a4b1c372f0f60a7de1c34252f61 +0 -0
  627. data/test/dummy/tmp/cache/assets/CC3/F70/sprockets%2F37207838c16e4131fe6989df49e05fe2 +0 -0
  628. data/test/dummy/tmp/cache/assets/CC4/760/sprockets%2F775571eb5b67e74f93b19ae786a16903 +0 -0
  629. data/test/dummy/tmp/cache/assets/CC4/B10/sprockets%2F55b1a4137e59cad5520e1f012eb29021 +0 -0
  630. data/test/dummy/tmp/cache/assets/CC4/B80/sprockets%2F5b090557c9468f93cc1ab77898ba2629 +0 -0
  631. data/test/dummy/tmp/cache/assets/CC5/EE0/sprockets%2F4d843268a36e2f306b869e077f157ff7 +0 -0
  632. data/test/dummy/tmp/cache/assets/CC6/850/sprockets%2F5291418cfe00a0a6b7cc1c55171f5212 +0 -0
  633. data/test/dummy/tmp/cache/assets/CC7/0B0/sprockets%2Fa26009e31f9e68672f4fc7f873909a64 +0 -0
  634. data/test/dummy/tmp/cache/assets/CC7/B50/sprockets%2F1e47a1f0d43ad62734bb351c6419102e +0 -0
  635. data/test/dummy/tmp/cache/assets/CC8/B90/sprockets%2F5d9845c9282886a459f148b3f0d95bc3 +0 -0
  636. data/test/dummy/tmp/cache/assets/CC8/E10/sprockets%2F16953d292b79b2fef06562994cc754d9 +0 -0
  637. data/test/dummy/tmp/cache/assets/CC9/7B0/sprockets%2F56a55d852968f64f7912ff0b4a7685d3 +0 -0
  638. data/test/dummy/tmp/cache/assets/CC9/D20/sprockets%2F372172a3ef18b8cac40a5c410f748021 +0 -0
  639. data/test/dummy/tmp/cache/assets/CCA/2A0/sprockets%2F8337ffdc90755c35a69884b990e59d02 +0 -0
  640. data/test/dummy/tmp/cache/assets/CCA/6D0/sprockets%2F0e1a1dbf113a82521b978a4a1a725279 +0 -0
  641. data/test/dummy/tmp/cache/assets/CCB/3B0/sprockets%2F0da9a1b01432f31e830c960638ae650e +0 -0
  642. data/test/dummy/tmp/cache/assets/CCB/B50/sprockets%2F035d03554240a88af44a47ab9005dfc2 +0 -0
  643. data/test/dummy/tmp/cache/assets/CCC/B80/sprockets%2F55f5d38df94594621ea86f96c18171e7 +0 -0
  644. data/test/dummy/tmp/cache/assets/CCC/F50/sprockets%2Fe277e38f225f8781944a34897d7ef3c1 +0 -0
  645. data/test/dummy/tmp/cache/assets/CCD/9B0/sprockets%2F0b3845e705c1a2c20c80b56c9c8a2246 +0 -0
  646. data/test/dummy/tmp/cache/assets/CCE/390/sprockets%2Feb62012223bcb36429cd139d360eb567 +0 -0
  647. data/test/dummy/tmp/cache/assets/CCE/B90/sprockets%2F582c396edb7919e3448f3792b7a8627e +0 -0
  648. data/test/dummy/tmp/cache/assets/CCE/D10/sprockets%2F4fa6a80782bc12a71820e552d06bb166 +0 -0
  649. data/test/dummy/tmp/cache/assets/CCF/7E0/sprockets%2F3d478e2550d0140a8da13a229735bcd7 +0 -0
  650. data/test/dummy/tmp/cache/assets/CCF/940/sprockets%2Fac094205607b0a46d77e156a4ebb4516 +0 -0
  651. data/test/dummy/tmp/cache/assets/CCF/F90/sprockets%2F5829cbee03489d953e8a7f842925776b +0 -0
  652. data/test/dummy/tmp/cache/assets/CD0/2E0/sprockets%2F55b65dc36d92b1c60660a2055222d9ea +0 -0
  653. data/test/dummy/tmp/cache/assets/CD0/4B0/sprockets%2Ff96040176e767aa2118dc2d16a4b413c +0 -0
  654. data/test/dummy/tmp/cache/assets/CD0/990/sprockets%2F3027964ce732931bb70c158aa61ab08d +0 -0
  655. data/test/dummy/tmp/cache/assets/CD0/F80/sprockets%2F8af86b04655d8e8d28862ab5478f9565 +0 -0
  656. data/test/dummy/tmp/cache/assets/CD1/230/sprockets%2Fedcb286269b05d0c2746328f60c1a007 +0 -0
  657. data/test/dummy/tmp/cache/assets/CD1/590/sprockets%2F2f99067423113c4aebb30a4dd3643b85 +0 -0
  658. data/test/dummy/tmp/cache/assets/CD2/2B0/sprockets%2Ffb1f940af74d29200f9020655e44b15a +0 -0
  659. data/test/dummy/tmp/cache/assets/CD2/5C0/sprockets%2F17ae7026f1ea272517ff23191fca0185 +0 -0
  660. data/test/dummy/tmp/cache/assets/CD2/C10/sprockets%2F854f3baa4316e8f290a5161d3a35508a +0 -0
  661. data/test/dummy/tmp/cache/assets/CD2/DD0/sprockets%2F467c5a1fc9b5b71b044a8130f6045c27 +0 -0
  662. data/test/dummy/tmp/cache/assets/CD3/250/sprockets%2F9982c13eacaf46622739beab50120614 +0 -0
  663. data/test/dummy/tmp/cache/assets/CD3/630/sprockets%2Ff00610ce4f24f2d960094315cf5cd156 +0 -0
  664. data/test/dummy/tmp/cache/assets/CD3/DB0/sprockets%2F38ec8b4912b23f2b31322570d56c9c2b +0 -0
  665. data/test/dummy/tmp/cache/assets/CD3/E20/sprockets%2F0b0533ca0c834dfa00378d8583d7c454 +0 -0
  666. data/test/dummy/tmp/cache/assets/CD4/6A0/sprockets%2F46b43cd41eba3026e74fa4b450369707 +0 -0
  667. data/test/dummy/tmp/cache/assets/CD4/760/sprockets%2F17016417b655023f2a67d7d583fadb2b +0 -0
  668. data/test/dummy/tmp/cache/assets/CD5/610/sprockets%2F781f678a99f8c7699162fd9362e8c2b0 +0 -0
  669. data/test/dummy/tmp/cache/assets/CD6/010/sprockets%2F4d78a2a73773d53077d96c4ca0b0d150 +0 -0
  670. data/test/dummy/tmp/cache/assets/CD7/1C0/sprockets%2F7da0653006165e7cfd74ec5104f0573d +0 -0
  671. data/test/dummy/tmp/cache/assets/CD7/3F0/sprockets%2Fda47fc6b4257475712bb5161d5a1f093 +0 -0
  672. data/test/dummy/tmp/cache/assets/CD7/E60/sprockets%2F382aba92126c110887406ff2e70b4b8f +0 -0
  673. data/test/dummy/tmp/cache/assets/CD8/370/sprockets%2F357970feca3ac29060c1e3861e2c0953 +0 -0
  674. data/test/dummy/tmp/cache/assets/CD8/5E0/sprockets%2Ffd127b418d9dc4cc3d196672811a6112 +0 -0
  675. data/test/dummy/tmp/cache/assets/CD8/C00/sprockets%2F9090b24116705be9a907d1db3b66a65e +0 -0
  676. data/test/dummy/tmp/cache/assets/CD8/D40/sprockets%2F73570572f17300ebf2dda1ef2635149e +0 -0
  677. data/test/dummy/tmp/cache/assets/CD8/DD0/sprockets%2F7b4bb389373d86c1a13508d75c1071db +0 -0
  678. data/test/dummy/tmp/cache/assets/CD9/970/sprockets%2F136161482305ce48be8cb039cba47f64 +0 -0
  679. data/test/dummy/tmp/cache/assets/CD9/9B0/sprockets%2F1682bc0003ad36c529918c9b68272afc +0 -0
  680. data/test/dummy/tmp/cache/assets/CD9/B20/sprockets%2F65698070c3bce81f5ee4eb101722b741 +0 -0
  681. data/test/dummy/tmp/cache/assets/CD9/B80/sprockets%2Fb0b1f25c9374d2569a655d2a1dd25357 +0 -0
  682. data/test/dummy/tmp/cache/assets/CD9/D90/sprockets%2F87979893cfde1b28afc60797a9948345 +0 -0
  683. data/test/dummy/tmp/cache/assets/CD9/FD0/sprockets%2F66139747d4eda2ab606b44732228c2ec +0 -0
  684. data/test/dummy/tmp/cache/assets/CDA/100/sprockets%2Fb7e25fba039892f8213535e03aea6092 +0 -0
  685. data/test/dummy/tmp/cache/assets/CDA/400/sprockets%2F529ea92c26a3ef31a4c1250ec7095882 +0 -0
  686. data/test/dummy/tmp/cache/assets/CDA/610/sprockets%2F04721126ea3d934a6048c66872d9aace +0 -0
  687. data/test/dummy/tmp/cache/assets/CDA/810/sprockets%2Fb93a399a651c7205733da7365cf6a20c +0 -0
  688. data/test/dummy/tmp/cache/assets/CDB/060/sprockets%2F59609411fe82f2c303bc2f8c7d045e14 +0 -0
  689. data/test/dummy/tmp/cache/assets/CDB/150/sprockets%2Fc565aac970915a0b6123f36457b6b9e2 +0 -0
  690. data/test/dummy/tmp/cache/assets/CDB/630/sprockets%2Fc48aca3d09504ff1811d9234c8267f50 +0 -0
  691. data/test/dummy/tmp/cache/assets/CDB/900/sprockets%2F7ca164ee49b224dc24fca11444956375 +0 -0
  692. data/test/dummy/tmp/cache/assets/CDB/F40/sprockets%2F2e6f666e74290aebb31116b0f913492e +0 -0
  693. data/test/dummy/tmp/cache/assets/CDC/6F0/sprockets%2F44495b98ada400c4eb359f39da804007 +0 -0
  694. data/test/dummy/tmp/cache/assets/CDC/B50/sprockets%2F0f1e213595a02089df9735ec41c3ee80 +0 -0
  695. data/test/dummy/tmp/cache/assets/CDC/CE0/sprockets%2Fadf5a20fd1595b883ac11518595364b4 +0 -0
  696. data/test/dummy/tmp/cache/assets/CDC/E00/sprockets%2Fad43c7b7185a313c734c643cb565e673 +0 -0
  697. data/test/dummy/tmp/cache/assets/CDC/F40/sprockets%2Fc4533fdc840bf49b110953cc54e37265 +0 -0
  698. data/test/dummy/tmp/cache/assets/CDD/1F0/sprockets%2F35b328657ea4e59741574e7a0ca9da00 +0 -0
  699. data/test/dummy/tmp/cache/assets/CDD/4D0/sprockets%2F0f6b3e82dd3d95341ee015499e3072b3 +0 -0
  700. data/test/dummy/tmp/cache/assets/CDD/670/sprockets%2Fd11dc218da7862c7457c9ab59d750231 +0 -0
  701. data/test/dummy/tmp/cache/assets/CDD/700/sprockets%2F81abeb9004a9f0d068f95041f274277c +0 -0
  702. data/test/dummy/tmp/cache/assets/CDD/950/sprockets%2F50953bbf520730dfc834765c7b2b8b62 +0 -0
  703. data/test/dummy/tmp/cache/assets/CDD/A80/sprockets%2Fb26beb84e33b444a9e42722f52b19781 +0 -0
  704. data/test/dummy/tmp/cache/assets/CDE/0E0/sprockets%2F7a6f28ed8d482f104e543094026a7b3c +0 -0
  705. data/test/dummy/tmp/cache/assets/CDE/FE0/sprockets%2F73622e63d431f8250cd57842fc0bec83 +0 -0
  706. data/test/dummy/tmp/cache/assets/CDF/380/sprockets%2F39695e0a1726566c80281aab8d9a51cc +0 -0
  707. data/test/dummy/tmp/cache/assets/CDF/710/sprockets%2F16d775d6707a066df80d10cd1528ff33 +0 -0
  708. data/test/dummy/tmp/cache/assets/CDF/CA0/sprockets%2F3d5b2c400b7877c15ec29575d95b613b +0 -0
  709. data/test/dummy/tmp/cache/assets/CDF/D10/sprockets%2F335787107b488ab63480b1bb3ce76ea7 +0 -0
  710. data/test/dummy/tmp/cache/assets/CE0/150/sprockets%2F92e162c173765d0a6ea74a60c3b8f297 +0 -0
  711. data/test/dummy/tmp/cache/assets/CE0/2C0/sprockets%2F6b717c9263b7ba46f0074858023dfa5e +0 -0
  712. data/test/dummy/tmp/cache/assets/CE0/420/sprockets%2F5b3a1508216cb6b968313beae256f788 +0 -0
  713. data/test/dummy/tmp/cache/assets/CE0/4A0/sprockets%2F15600c7f628be37a11543a8e73c9ab89 +0 -0
  714. data/test/dummy/tmp/cache/assets/CE0/8E0/sprockets%2Ff8d73c0137e4da7517c4127b6e056d29 +0 -0
  715. data/test/dummy/tmp/cache/assets/CE0/B90/sprockets%2Fb509ee1a85317573a8a16d6e7c5a3617 +0 -0
  716. data/test/dummy/tmp/cache/assets/CE0/EA0/sprockets%2F96dd503181000ef248b6b55f2c9f73f4 +0 -0
  717. data/test/dummy/tmp/cache/assets/CE1/420/sprockets%2F7112f25f674c95b914cda4138c2a495e +0 -0
  718. data/test/dummy/tmp/cache/assets/CE1/970/sprockets%2F0920f4126156c25f0e9ace4f0f276f87 +0 -0
  719. data/test/dummy/tmp/cache/assets/CE1/A00/sprockets%2F168b4bf7364dfd883a5930302e0f554c +0 -0
  720. data/test/dummy/tmp/cache/assets/CE1/DC0/sprockets%2Fb417a6fbc796327c0c594b51164d78e0 +0 -0
  721. data/test/dummy/tmp/cache/assets/CE1/E80/sprockets%2F1f3d149a091eb925ec618a7088e374d1 +0 -0
  722. data/test/dummy/tmp/cache/assets/CE2/A30/sprockets%2Fd830d0d39e53a3a844891a252e864d9a +0 -0
  723. data/test/dummy/tmp/cache/assets/CE2/AD0/sprockets%2Fdc590d37dac68bf94489744c2421310d +0 -0
  724. data/test/dummy/tmp/cache/assets/CE2/CC0/sprockets%2F4b0024da353e527b099a43992cd959cf +0 -0
  725. data/test/dummy/tmp/cache/assets/CE3/240/sprockets%2F018ba37f3cc68a07d752729e44e1790e +0 -0
  726. data/test/dummy/tmp/cache/assets/CE3/680/sprockets%2F67394b9ab8eca1c91b1f2a6735646237 +0 -0
  727. data/test/dummy/tmp/cache/assets/CE3/8B0/sprockets%2F75457381e718e253615b30cef2f5adb8 +0 -0
  728. data/test/dummy/tmp/cache/assets/CE3/E70/sprockets%2F1034953506e2daacc6c8f752f3d82938 +0 -0
  729. data/test/dummy/tmp/cache/assets/CE4/260/sprockets%2F4144597dde60f756c9a533ee270ba742 +0 -0
  730. data/test/dummy/tmp/cache/assets/CE4/5F0/sprockets%2F4e3426c67bb990eb7189d265a452f0e2 +0 -0
  731. data/test/dummy/tmp/cache/assets/CE4/A90/sprockets%2F8d03987799c678a7ca958de90e96b499 +0 -0
  732. data/test/dummy/tmp/cache/assets/CE4/F60/sprockets%2Fbc3490162e3489bf88aab055d19397f0 +0 -0
  733. data/test/dummy/tmp/cache/assets/CE5/0C0/sprockets%2F08f216db06418a882f888d5db6c4a119 +0 -0
  734. data/test/dummy/tmp/cache/assets/CE5/280/sprockets%2Fc77669acec9e4150d5194810e12f418d +0 -0
  735. data/test/dummy/tmp/cache/assets/CE5/3C0/sprockets%2F51278e12fb2f83652a4698d0a7ffa625 +0 -0
  736. data/test/dummy/tmp/cache/assets/CE5/820/sprockets%2Fd5837a90d9d83d7208a14905e1f0f63d +0 -0
  737. data/test/dummy/tmp/cache/assets/CE5/A80/sprockets%2Ff284835027dd09004e65c8c7fcf4137d +0 -0
  738. data/test/dummy/tmp/cache/assets/CE5/AC0/sprockets%2Fc9a452c8b65252a7cbb47089465ae529 +0 -0
  739. data/test/dummy/tmp/cache/assets/CE5/F10/sprockets%2Fe9cf045465025d8527c83c3b93625fca +0 -0
  740. data/test/dummy/tmp/cache/assets/CE5/F80/sprockets%2F411e28ad08572cd67fcf1901569c45c8 +0 -0
  741. data/test/dummy/tmp/cache/assets/CE5/F90/sprockets%2F31557450886bf9c124f2fdb42704ce8e +0 -0
  742. data/test/dummy/tmp/cache/assets/CE5/FE0/sprockets%2F627e4127557531a3f8471cfbc718ed2f +0 -0
  743. data/test/dummy/tmp/cache/assets/CE6/240/sprockets%2F484961c0ca9bb0b56679b267406e6e2f +0 -0
  744. data/test/dummy/tmp/cache/assets/CE6/3A0/sprockets%2F0453891773e54c7f7a2290aca28f8c3e +0 -0
  745. data/test/dummy/tmp/cache/assets/CE6/4A0/sprockets%2F9c04b8b8df7217a708732da4982a5f61 +0 -0
  746. data/test/dummy/tmp/cache/assets/CE6/600/sprockets%2Feb2a1f47171172f95668f6eaaa691933 +0 -0
  747. data/test/dummy/tmp/cache/assets/CE6/E60/sprockets%2F11bd584ee0508549e6f9a4c185b61e64 +0 -0
  748. data/test/dummy/tmp/cache/assets/CE7/040/sprockets%2Fa9010c7751c3088b29b96cea42396f9e +0 -0
  749. data/test/dummy/tmp/cache/assets/CE7/650/sprockets%2F834b60044436456eefb9ce5cf7144d38 +0 -0
  750. data/test/dummy/tmp/cache/assets/CE7/970/sprockets%2Fc89cf760b663827c5e771b93d107b2c2 +0 -0
  751. data/test/dummy/tmp/cache/assets/CE7/A40/sprockets%2F2974c4aef7a04f06738c8f6a2066e292 +0 -0
  752. data/test/dummy/tmp/cache/assets/CE7/C70/sprockets%2F8627e999f207ce7214e0ab06afe86412 +0 -0
  753. data/test/dummy/tmp/cache/assets/CE7/E00/sprockets%2F7a6153b37dd5791c86f34094642bc6bf +0 -0
  754. data/test/dummy/tmp/cache/assets/CE8/2F0/sprockets%2F194583535ab9782e5983d102db1dd8ce +0 -0
  755. data/test/dummy/tmp/cache/assets/CE8/3F0/sprockets%2F909f1b19c74afd89408e59e09c4a1304 +0 -0
  756. data/test/dummy/tmp/cache/assets/CE8/AA0/sprockets%2Fd569f5f91016b77401782ef3b42de6a6 +0 -0
  757. data/test/dummy/tmp/cache/assets/CE8/C90/sprockets%2Fb58b83d1bc902887bc247af8336556c4 +0 -0
  758. data/test/dummy/tmp/cache/assets/CE8/DC0/sprockets%2F49324064376deb60c942b7d85a3e7d9b +0 -0
  759. data/test/dummy/tmp/cache/assets/CE8/F10/sprockets%2F146b8dc7365c7564824d49ec1138bbc7 +0 -0
  760. data/test/dummy/tmp/cache/assets/CE9/2D0/sprockets%2F0b878e7b11d378531e0a5d085e8e9d28 +0 -0
  761. data/test/dummy/tmp/cache/assets/CE9/760/sprockets%2F23608343fc0bfe68d8b3617de96713d6 +0 -0
  762. data/test/dummy/tmp/cache/assets/CE9/760/sprockets%2F4956fa052943d22badcc86c9077e7950 +0 -0
  763. data/test/dummy/tmp/cache/assets/CE9/D60/sprockets%2F4652a196a6e10ac52969547e909d8cad +0 -0
  764. data/test/dummy/tmp/cache/assets/CE9/F40/sprockets%2Fc23323fb2ef44ade3104929589f694e6 +0 -0
  765. data/test/dummy/tmp/cache/assets/CEA/040/sprockets%2Ff4423d669ddbb9827d4835fc83a24072 +0 -0
  766. data/test/dummy/tmp/cache/assets/CEA/6D0/sprockets%2F1da842257a051a9e871c739d29b7d77f +0 -0
  767. data/test/dummy/tmp/cache/assets/CEA/860/sprockets%2F198736e2441a36cecc857814e7dda932 +0 -0
  768. data/test/dummy/tmp/cache/assets/CEA/BC0/sprockets%2F45a84e6c8423b8e927123d9ce3be3178 +0 -0
  769. data/test/dummy/tmp/cache/assets/CEA/E10/sprockets%2F888c18a6b36ca5e51363b7b21c29f877 +0 -0
  770. data/test/dummy/tmp/cache/assets/CEB/0A0/sprockets%2Fa19152c9838b60787bad54bf0f5f6448 +0 -0
  771. data/test/dummy/tmp/cache/assets/CEB/360/sprockets%2Fa32003c94f0c552d0ab3a2b6fa280551 +0 -0
  772. data/test/dummy/tmp/cache/assets/CEB/B70/sprockets%2F139d9789a1a5e456ca4f796db15c5450 +0 -0
  773. data/test/dummy/tmp/cache/assets/CEB/B80/sprockets%2Fbd5b638965aac89832c75292e6c1435c +0 -0
  774. data/test/dummy/tmp/cache/assets/CEB/C10/sprockets%2F6cadb28080126992d76e5e35ba79088e +0 -0
  775. data/test/dummy/tmp/cache/assets/CEC/030/sprockets%2F15d996d59f6c9ce6c21f52604b903c71 +0 -0
  776. data/test/dummy/tmp/cache/assets/CEC/2B0/sprockets%2F917af8a56c884b3d5c6a03593d95a365 +0 -0
  777. data/test/dummy/tmp/cache/assets/CEC/5F0/sprockets%2F8a6262498440db8693fb315acea85d95 +0 -0
  778. data/test/dummy/tmp/cache/assets/CEC/7A0/sprockets%2F1ccee406d881875c559b82932a25e7d4 +0 -0
  779. data/test/dummy/tmp/cache/assets/CEC/B30/sprockets%2F7cf9a1c683f008354d7837ea11439f6f +0 -0
  780. data/test/dummy/tmp/cache/assets/CEC/B60/sprockets%2F9dec0e0f236608a79f6690cf29211e59 +0 -0
  781. data/test/dummy/tmp/cache/assets/CEC/BE0/sprockets%2F9b8e73d6a8882ed9a65400500dbf9094 +0 -0
  782. data/test/dummy/tmp/cache/assets/CED/1A0/sprockets%2F31e4cf6e3551bd892d767755b552b7d5 +0 -0
  783. data/test/dummy/tmp/cache/assets/CED/500/sprockets%2F23db1088d6beb9cff9245e1648555294 +0 -0
  784. data/test/dummy/tmp/cache/assets/CED/5E0/sprockets%2F6e94c3343eb6f33eb4fd9803085d2983 +0 -0
  785. data/test/dummy/tmp/cache/assets/CED/6F0/sprockets%2F17947555632d86e915cf6ccb16a545fb +0 -0
  786. data/test/dummy/tmp/cache/assets/CED/730/sprockets%2Ffd2399e766d1a513490bd481898b2eb5 +0 -0
  787. data/test/dummy/tmp/cache/assets/CEE/100/sprockets%2F922197e2ea992f30894ed9bc035d186c +0 -0
  788. data/test/dummy/tmp/cache/assets/CEE/190/sprockets%2Fad9e1761f7c888414bd42e527f19028f +0 -0
  789. data/test/dummy/tmp/cache/assets/CEE/490/sprockets%2Fb74aec392e126b756bc86972964923db +0 -0
  790. data/test/dummy/tmp/cache/assets/CEE/920/sprockets%2F97c97b08d42738b583ed92b55c540a4f +0 -0
  791. data/test/dummy/tmp/cache/assets/CEE/C90/sprockets%2Fc66d1d80067892e2b17e3666f8255eec +0 -0
  792. data/test/dummy/tmp/cache/assets/CEE/E80/sprockets%2Fad1e70a7b3529ccf694793554539c57c +0 -0
  793. data/test/dummy/tmp/cache/assets/CEE/FE0/sprockets%2Fa6564403e9f3dd369e5d44d3c6645f45 +0 -0
  794. data/test/dummy/tmp/cache/assets/CEF/160/sprockets%2F74caa14e02046241cad519b5c36c20a6 +0 -0
  795. data/test/dummy/tmp/cache/assets/CEF/4E0/sprockets%2Fb8ba5861e53326dbfa469947916dd464 +0 -0
  796. data/test/dummy/tmp/cache/assets/CEF/B60/sprockets%2Fb4101a16cca2590452bb141f093b8f1d +0 -0
  797. data/test/dummy/tmp/cache/assets/CEF/F00/sprockets%2F8ac77338a1dc57bb32999653c561e74e +0 -0
  798. data/test/dummy/tmp/cache/assets/CF0/950/sprockets%2Fd08f99c34c161881adb05d342e8984f9 +0 -0
  799. data/test/dummy/tmp/cache/assets/CF0/E10/sprockets%2F64e45655c03582eafed52f9d938b2970 +0 -0
  800. data/test/dummy/tmp/cache/assets/CF0/E30/sprockets%2F48f69b290bae9103cc8895586421aef7 +0 -0
  801. data/test/dummy/tmp/cache/assets/CF1/000/sprockets%2Fa779ae7d9f80d3098529264b91dd405d +0 -0
  802. data/test/dummy/tmp/cache/assets/CF1/5B0/sprockets%2F46e4886602bb924fc5c638865b6bf4f2 +0 -0
  803. data/test/dummy/tmp/cache/assets/CF1/980/sprockets%2Ffe3e06873a1d9f624947006e38fac498 +0 -0
  804. data/test/dummy/tmp/cache/assets/CF1/FC0/sprockets%2F33121681479e8f584ea40f68df55f6bd +0 -0
  805. data/test/dummy/tmp/cache/assets/CF2/A50/sprockets%2Fcf9138398b20d8922d6959b3d13ad7f7 +0 -0
  806. data/test/dummy/tmp/cache/assets/CF2/D50/sprockets%2Ff2a473f4e818e9762ea649a24fa77076 +0 -0
  807. data/test/dummy/tmp/cache/assets/CF4/3D0/sprockets%2F78ecd74ef58a60fb828471c7813647b4 +0 -0
  808. data/test/dummy/tmp/cache/assets/CF4/700/sprockets%2Ff96f5defe8092c45a579100804b9836f +0 -0
  809. data/test/dummy/tmp/cache/assets/CF4/7C0/sprockets%2Ff17cd218fc062a2279f957409f97d86b +0 -0
  810. data/test/dummy/tmp/cache/assets/CF4/F20/sprockets%2F6d6d68896efb528e34fd3c16875532b0 +0 -0
  811. data/test/dummy/tmp/cache/assets/CF5/2E0/sprockets%2F14513ab2f3a0311abd083e70c99bd293 +0 -0
  812. data/test/dummy/tmp/cache/assets/CF5/5C0/sprockets%2F64a4190014fe00d17e708fc02dfc2a32 +0 -0
  813. data/test/dummy/tmp/cache/assets/CF5/760/sprockets%2F681176b164b052212cabffc000e548ae +0 -0
  814. data/test/dummy/tmp/cache/assets/CF5/890/sprockets%2F7cde9c0a96f9816708c23807c5808df4 +0 -0
  815. data/test/dummy/tmp/cache/assets/CF5/D60/sprockets%2F1520db8cfcf360ded92499456176997d +0 -0
  816. data/test/dummy/tmp/cache/assets/CF6/4E0/sprockets%2Ff9c27df89c8173d41850b9c40e766a85 +0 -0
  817. data/test/dummy/tmp/cache/assets/CF6/B00/sprockets%2F97db464ddd7439e97bb4708f65170d37 +0 -0
  818. data/test/dummy/tmp/cache/assets/CF6/B30/sprockets%2Fbccf98089c3e16fee76660695a333485 +0 -0
  819. data/test/dummy/tmp/cache/assets/CF6/D80/sprockets%2F0213f60cb28483006cb1c00ae809ecf6 +0 -0
  820. data/test/dummy/tmp/cache/assets/CF8/130/sprockets%2Fd519234d99322fc8c5e8d16d52e96d78 +0 -0
  821. data/test/dummy/tmp/cache/assets/CF8/720/sprockets%2F64b18ab5939865ba89498b3aef27199a +0 -0
  822. data/test/dummy/tmp/cache/assets/CF8/8A0/sprockets%2Fa4144fea021936c315c3e315b56d6c2a +0 -0
  823. data/test/dummy/tmp/cache/assets/CF9/B70/sprockets%2F8144ebf49f85b18c46d90b897239b56e +0 -0
  824. data/test/dummy/tmp/cache/assets/CF9/D30/sprockets%2F35b1d102792fb3cf6fd942010eab0247 +0 -0
  825. data/test/dummy/tmp/cache/assets/CF9/EB0/sprockets%2F6b591f1a73b4b1b13410a5e3d0c2e488 +0 -0
  826. data/test/dummy/tmp/cache/assets/CFB/0C0/sprockets%2F75c05ecd0785f346b63ec7997f0a8859 +0 -0
  827. data/test/dummy/tmp/cache/assets/CFB/540/sprockets%2Fc40fe1438edc416788894df8b834f944 +0 -0
  828. data/test/dummy/tmp/cache/assets/CFC/580/sprockets%2Fccf1110c4053d3e7634551f70136defa +0 -0
  829. data/test/dummy/tmp/cache/assets/CFC/7F0/sprockets%2F6158d3ff6993e4c114a894dd371999ec +0 -0
  830. data/test/dummy/tmp/cache/assets/CFC/D00/sprockets%2F0b6955f101cc760792e699e88cea97e8 +0 -0
  831. data/test/dummy/tmp/cache/assets/CFD/750/sprockets%2Ff86ed3e35003369a86787f9cb98de345 +0 -0
  832. data/test/dummy/tmp/cache/assets/CFD/EA0/sprockets%2Fe43051fb1f2752c010e292ccbc53399b +0 -0
  833. data/test/dummy/tmp/cache/assets/CFD/F80/sprockets%2Fe2b02979764013ad04e2f2b23d28e2ca +0 -0
  834. data/test/dummy/tmp/cache/assets/CFE/600/sprockets%2F769f77ec667fe74911bf3a71e78c5435 +0 -0
  835. data/test/dummy/tmp/cache/assets/CFF/DF0/sprockets%2F4b52ca2b9566ca010092d68cd21690ed +0 -0
  836. data/test/dummy/tmp/cache/assets/CFF/EC0/sprockets%2Ff4f149303aecd036f1f1a3245135d8b5 +0 -0
  837. data/test/dummy/tmp/cache/assets/CFF/FC0/sprockets%2Ff34d34ffdba26c9d04860c02d6412107 +0 -0
  838. data/test/dummy/tmp/cache/assets/D00/0D0/sprockets%2F604a7b3d306124a068dc6de2b7a8744a +0 -0
  839. data/test/dummy/tmp/cache/assets/D00/110/sprockets%2F9111b1426a2982754f3ad6ced0d615ab +0 -0
  840. data/test/dummy/tmp/cache/assets/D00/520/sprockets%2F8476576513d9c9a83a7eaffdf3977760 +0 -0
  841. data/test/dummy/tmp/cache/assets/D00/5D0/sprockets%2F02f5e8429793cb8b4b69d38f8a7395e9 +0 -0
  842. data/test/dummy/tmp/cache/assets/D00/690/sprockets%2F488324fb426a1e3cb3ca16488caf4004 +0 -0
  843. data/test/dummy/tmp/cache/assets/D00/990/sprockets%2Fd0f2b027752003be9f5a766a042a93fc +0 -0
  844. data/test/dummy/tmp/cache/assets/D00/E50/sprockets%2F9392facf860c87619e3649fd72b287e7 +0 -0
  845. data/test/dummy/tmp/cache/assets/D00/F10/sprockets%2F168b7c79236d9aed9c68dc169a677287 +0 -0
  846. data/test/dummy/tmp/cache/assets/D01/210/sprockets%2F98094becbf17c66d1c25ba8421b43022 +0 -0
  847. data/test/dummy/tmp/cache/assets/D01/6F0/sprockets%2F740aff323f074082319acda2a34e781e +0 -0
  848. data/test/dummy/tmp/cache/assets/D01/710/sprockets%2Fc4b5b592d40620ba6f22c3fe611e4529 +0 -0
  849. data/test/dummy/tmp/cache/assets/D01/A00/sprockets%2F5704bfb588da51f6053f30abd310b458 +0 -0
  850. data/test/dummy/tmp/cache/assets/D01/BF0/sprockets%2F7460a4a876b0a7613baf35383db1e45a +0 -0
  851. data/test/dummy/tmp/cache/assets/D02/1F0/sprockets%2F8c3b926d5be312279c1aaa891f0f0062 +0 -0
  852. data/test/dummy/tmp/cache/assets/D02/280/sprockets%2Fa4dbf904daf395082430f44233272eda +0 -0
  853. data/test/dummy/tmp/cache/assets/D02/320/sprockets%2F95d58a54f71758967c19cec8367ceb83 +0 -0
  854. data/test/dummy/tmp/cache/assets/D02/4C0/sprockets%2F6386d72b2c51c911a7fd84ba612430cc +0 -0
  855. data/test/dummy/tmp/cache/assets/D02/6E0/sprockets%2F886e897f07ee48ec4e9f640643440dd9 +0 -0
  856. data/test/dummy/tmp/cache/assets/D02/840/sprockets%2F93becbe77a74a29528140049b140bd0e +0 -0
  857. data/test/dummy/tmp/cache/assets/D02/9C0/sprockets%2F65be886f420229fb150c2c10ea747c1b +0 -0
  858. data/test/dummy/tmp/cache/assets/D02/B90/sprockets%2Fe099c74f337e8d416e69f7973b3b7c67 +0 -0
  859. data/test/dummy/tmp/cache/assets/D02/DF0/sprockets%2F61105bd3dc48cd91aad36068219137bf +0 -0
  860. data/test/dummy/tmp/cache/assets/D03/290/sprockets%2F2721f08b1d68fe8614cb5181bd500ac7 +0 -0
  861. data/test/dummy/tmp/cache/assets/D03/B80/sprockets%2F31dd24009526a39382b08eee51c6ad5c +0 -0
  862. data/test/dummy/tmp/cache/assets/D04/550/sprockets%2F9b0e634fa0174061d1a0c068b7fe7c75 +0 -0
  863. data/test/dummy/tmp/cache/assets/D04/6D0/sprockets%2F1600a3543941f043df5d4f43fcab8a58 +0 -0
  864. data/test/dummy/tmp/cache/assets/D04/DB0/sprockets%2Fc80ac79dc21989309c20c0de1ba10739 +0 -0
  865. data/test/dummy/tmp/cache/assets/D05/410/sprockets%2Fa0fcbb465697503133cd56dc52426ae5 +0 -0
  866. data/test/dummy/tmp/cache/assets/D05/8A0/sprockets%2Fd1e45653c3a4190fb4dcc1b690781a55 +0 -0
  867. data/test/dummy/tmp/cache/assets/D06/3A0/sprockets%2Fa7fe0050b17a8652517c80d2be6c7e53 +0 -0
  868. data/test/dummy/tmp/cache/assets/D06/590/sprockets%2F19c899c20cf5d9b8629878e3add89708 +0 -0
  869. data/test/dummy/tmp/cache/assets/D06/A70/sprockets%2Ff5da4e04222a35db9d267255424bf5c6 +0 -0
  870. data/test/dummy/tmp/cache/assets/D06/BC0/sprockets%2Fe8b20853a1f42b64e9b2db8c38261d22 +0 -0
  871. data/test/dummy/tmp/cache/assets/D06/C10/sprockets%2F38cba1985dea749125f6024b2633cd1b +0 -0
  872. data/test/dummy/tmp/cache/assets/D07/330/sprockets%2F3b24c0c589b1004b399d108ae5d6ef81 +0 -0
  873. data/test/dummy/tmp/cache/assets/D07/650/sprockets%2F3153fe34d7850b9d48c630b8bd21da60 +0 -0
  874. data/test/dummy/tmp/cache/assets/D07/7F0/sprockets%2F3fb0ed6b32aa83a6878d12a209c38824 +0 -0
  875. data/test/dummy/tmp/cache/assets/D07/A80/sprockets%2Fb99ad109d988e19d8583617d7677c8fb +0 -0
  876. data/test/dummy/tmp/cache/assets/D07/BF0/sprockets%2F47962bb2378ffb6010aaa3c0238f6d66 +0 -0
  877. data/test/dummy/tmp/cache/assets/D07/C40/sprockets%2F995a361a4f2fa731412d29450fab6c4e +0 -0
  878. data/test/dummy/tmp/cache/assets/D07/DC0/sprockets%2Fcf13f583677aa0343a26a3c58d25b1e8 +0 -0
  879. data/test/dummy/tmp/cache/assets/D07/E80/sprockets%2F761670b9741e72e706a06ad3bd5f0fb1 +0 -0
  880. data/test/dummy/tmp/cache/assets/D08/170/sprockets%2Ff33de33cd10d81a6c5c5785f22c73235 +0 -0
  881. data/test/dummy/tmp/cache/assets/D08/1E0/sprockets%2F87404ab2950540bf352f76d01cfbea59 +0 -0
  882. data/test/dummy/tmp/cache/assets/D08/4B0/sprockets%2F4c75dfd9895056a9836d6876b5c5f9a8 +0 -0
  883. data/test/dummy/tmp/cache/assets/D08/530/sprockets%2F311d9ba15b34718d1e60ddc95a84194d +0 -0
  884. data/test/dummy/tmp/cache/assets/D08/670/sprockets%2F81413182cba11b4a7d7c899f4d7c33b2 +0 -0
  885. data/test/dummy/tmp/cache/assets/D08/D80/sprockets%2F388df4f82d11657bb0b4024448b6af2b +0 -0
  886. data/test/dummy/tmp/cache/assets/D09/020/sprockets%2F5176362c460747d5ebeb6c2ca3e02d84 +0 -0
  887. data/test/dummy/tmp/cache/assets/D09/0E0/sprockets%2F0e29193919038f14b1cc1a8fbfbd1861 +0 -0
  888. data/test/dummy/tmp/cache/assets/D09/110/sprockets%2F6314cfb3f8a293f12511b268cb08de48 +0 -0
  889. data/test/dummy/tmp/cache/assets/D09/2A0/sprockets%2Fdf1981e393cc868e90de0995f85865f6 +0 -0
  890. data/test/dummy/tmp/cache/assets/D09/7F0/sprockets%2Fa2d67c31222348f16a9812df26da3e8d +0 -0
  891. data/test/dummy/tmp/cache/assets/D09/B00/sprockets%2F008deed72df2c580014cb951387ae913 +0 -0
  892. data/test/dummy/tmp/cache/assets/D09/E40/sprockets%2Fc2693927bc52084b4d2b89373aaa0ac9 +0 -0
  893. data/test/dummy/tmp/cache/assets/D0A/7C0/sprockets%2F59ecc2c315eb4c9273da18bb85392025 +0 -0
  894. data/test/dummy/tmp/cache/assets/D0A/830/sprockets%2F3155dcf93a62cf601a0d48b2806b599b +0 -0
  895. data/test/dummy/tmp/cache/assets/D0A/830/sprockets%2F830cdfb33202453675d55d8de703fa2f +0 -0
  896. data/test/dummy/tmp/cache/assets/D0A/DD0/sprockets%2F00e49bc1f2658a16cb7682a0a8e95c16 +0 -0
  897. data/test/dummy/tmp/cache/assets/D0A/F30/sprockets%2F1e1583c2d42607743e9cc166bbaed419 +0 -0
  898. data/test/dummy/tmp/cache/assets/D0B/030/sprockets%2Fb21e08fc7a953c2a6924cc761428d71b +0 -0
  899. data/test/dummy/tmp/cache/assets/D0B/3E0/sprockets%2F66c11f02337c8851bfab67bbb3b94916 +0 -0
  900. data/test/dummy/tmp/cache/assets/D0B/570/sprockets%2F98e7ff34702164b7dba133b08be264a6 +0 -0
  901. data/test/dummy/tmp/cache/assets/D0B/860/sprockets%2F7efd9f55bd4a5e26019718ab2115c307 +0 -0
  902. data/test/dummy/tmp/cache/assets/D0B/8C0/sprockets%2F3905fe859d072dc46ce9140e0ba31f07 +0 -0
  903. data/test/dummy/tmp/cache/assets/D0B/E20/sprockets%2Ffabf936c2485109116fb25a3a277b28f +0 -0
  904. data/test/dummy/tmp/cache/assets/D0C/2E0/sprockets%2Fecb35ec370e250a63784c2f508b76a38 +0 -0
  905. data/test/dummy/tmp/cache/assets/D0C/8E0/sprockets%2Fae90f6a695f070da9169e14a300529fa +0 -0
  906. data/test/dummy/tmp/cache/assets/D0C/920/sprockets%2F6b14653cf0019f22eca779ee4751be60 +0 -0
  907. data/test/dummy/tmp/cache/assets/D0C/9A0/sprockets%2F036b6fe78ba5c07955461a85baa7a344 +0 -0
  908. data/test/dummy/tmp/cache/assets/D0D/250/sprockets%2F2ff737d45e2d613c278de4054e321d2e +0 -0
  909. data/test/dummy/tmp/cache/assets/D0D/2D0/sprockets%2Fc83161ea8cf425703b9ae6a93b208f90 +0 -0
  910. data/test/dummy/tmp/cache/assets/D0D/440/sprockets%2F4a4bdc15db50a07f384773aad9367746 +0 -0
  911. data/test/dummy/tmp/cache/assets/D0D/490/sprockets%2Fa28f98c36907a64874b0ba50ba5f2e51 +0 -0
  912. data/test/dummy/tmp/cache/assets/D0D/510/sprockets%2Ff56c3c9ffb168363a1f09712b0a456f2 +0 -0
  913. data/test/dummy/tmp/cache/assets/D0D/C00/sprockets%2F5781daf7b7c6765ab6910e75d5ba3102 +0 -0
  914. data/test/dummy/tmp/cache/assets/D0D/CB0/sprockets%2Faa08fa615f277edc574e6b36161b1764 +0 -0
  915. data/test/dummy/tmp/cache/assets/D0D/EC0/sprockets%2Fe64b6ea3470a7820f0f6b1955be345a8 +0 -0
  916. data/test/dummy/tmp/cache/assets/D0D/F70/sprockets%2F539c91e2874b82d2d0a2a8de60a5815d +0 -0
  917. data/test/dummy/tmp/cache/assets/D0E/010/sprockets%2F797b9e08c55a2106f8e2dace455710d0 +0 -0
  918. data/test/dummy/tmp/cache/assets/D0E/180/sprockets%2F045e183281dfc37485db513d585c5bdb +0 -0
  919. data/test/dummy/tmp/cache/assets/D0E/1C0/sprockets%2Fa677d9c320d86b48f73fc2b11651a08d +0 -0
  920. data/test/dummy/tmp/cache/assets/D0E/4E0/sprockets%2Fb2cdbc63ab95b474d109990759329a2a +0 -0
  921. data/test/dummy/tmp/cache/assets/D0E/690/sprockets%2F8a0ed53d600da2f2c788d1659ba66346 +0 -0
  922. data/test/dummy/tmp/cache/assets/D0E/7B0/sprockets%2Faf821bc72620991b57062886abfc0f8a +0 -0
  923. data/test/dummy/tmp/cache/assets/D0E/A90/sprockets%2F4ed87cbd33472d8a68d129e7c0a24045 +0 -0
  924. data/test/dummy/tmp/cache/assets/D0E/E40/sprockets%2Fdc478cae3337db897210c13c9c711e82 +0 -0
  925. data/test/dummy/tmp/cache/assets/D0E/EA0/sprockets%2F1d36a1420cf4558fb3c793316ae89ca7 +0 -0
  926. data/test/dummy/tmp/cache/assets/D0E/F60/sprockets%2Fe3a69c47253551a76c45fd007b861bde +0 -0
  927. data/test/dummy/tmp/cache/assets/D0F/0B0/sprockets%2Fe6c9fc316b319d1259c8eb19c5e30522 +0 -0
  928. data/test/dummy/tmp/cache/assets/D0F/210/sprockets%2F252e51920faf5ad7c1ad2f6c96679223 +0 -0
  929. data/test/dummy/tmp/cache/assets/D0F/560/sprockets%2Fbc6d28ba9257a963050c675a015d8d6f +0 -0
  930. data/test/dummy/tmp/cache/assets/D0F/590/sprockets%2F0602a50a4d729e9be6e2589d62d028bf +0 -0
  931. data/test/dummy/tmp/cache/assets/D0F/9E0/sprockets%2F1536c04e487ca1a768d90a68513c3cff +0 -0
  932. data/test/dummy/tmp/cache/assets/D0F/B20/sprockets%2F0bcc3319d46d753c43f875a2c26983ac +0 -0
  933. data/test/dummy/tmp/cache/assets/D10/120/sprockets%2F3db9f6cd6180f52534f66ba5c90229a3 +0 -0
  934. data/test/dummy/tmp/cache/assets/D10/2E0/sprockets%2F7870f68fbbc2a6410bb730d18b609e86 +0 -0
  935. data/test/dummy/tmp/cache/assets/D10/690/sprockets%2F996e65221e9bc79d0c3b9001e4d145cd +0 -0
  936. data/test/dummy/tmp/cache/assets/D10/750/sprockets%2F4c4a696e3e0b905d75ed60f9042cd227 +0 -0
  937. data/test/dummy/tmp/cache/assets/D10/7E0/sprockets%2F30fa9c7c7b5a187d9c28d0735132a48e +0 -0
  938. data/test/dummy/tmp/cache/assets/D10/890/sprockets%2Fdfa76c032ef4cb2636762a847488e0a2 +0 -0
  939. data/test/dummy/tmp/cache/assets/D10/B50/sprockets%2Fd5cf872242e1f19b794c63ad0830e82b +0 -0
  940. data/test/dummy/tmp/cache/assets/D10/F40/sprockets%2F262146ab66af29b05c1e386f7395cc4e +0 -0
  941. data/test/dummy/tmp/cache/assets/D11/A10/sprockets%2F004abdc6849beb5bc819187f7c068531 +0 -0
  942. data/test/dummy/tmp/cache/assets/D11/B80/sprockets%2F5afc83bc162794fd376f14d2d53922e0 +0 -0
  943. data/test/dummy/tmp/cache/assets/D11/C80/sprockets%2F1ba2e54437321859b625ed4eb3bb788f +0 -0
  944. data/test/dummy/tmp/cache/assets/D11/D30/sprockets%2F3a4ea327dcb37ee2d1e765875915126d +0 -0
  945. data/test/dummy/tmp/cache/assets/D11/D60/sprockets%2F954d9e05b5ca5d0e1566b27a059aa894 +0 -0
  946. data/test/dummy/tmp/cache/assets/D11/F70/sprockets%2Fb440b99688b10ef67502aed36d1ee652 +0 -0
  947. data/test/dummy/tmp/cache/assets/D11/FC0/sprockets%2F9bd6c83d367423fe05ef6c3338143aa6 +0 -0
  948. data/test/dummy/tmp/cache/assets/D11/FD0/sprockets%2Fa7872e06fd015c19f48f4c350d63cc19 +0 -0
  949. data/test/dummy/tmp/cache/assets/D12/1C0/sprockets%2F5901cb9faf1725dd2e472ca2965b4287 +0 -0
  950. data/test/dummy/tmp/cache/assets/D12/350/sprockets%2F73268b45c2fe9ce6084c1c6e42a25d82 +0 -0
  951. data/test/dummy/tmp/cache/assets/D12/5F0/sprockets%2Fda576d2db70dc9ab67e50171a7901977 +0 -0
  952. data/test/dummy/tmp/cache/assets/D12/BE0/sprockets%2Ff01aaa83ff0f19584cb671837a7d7444 +0 -0
  953. data/test/dummy/tmp/cache/assets/D12/F00/sprockets%2F47b50ed60cee23476959b74af812f0e1 +0 -0
  954. data/test/dummy/tmp/cache/assets/D12/F00/sprockets%2Fbe43b342066f1fc567993af3f11df077 +0 -0
  955. data/test/dummy/tmp/cache/assets/D13/520/sprockets%2F3316346df1f7f5ff0202f8d5b4742de7 +0 -0
  956. data/test/dummy/tmp/cache/assets/D13/540/sprockets%2F2014f0eb4dab38244e7de83848f36c49 +0 -0
  957. data/test/dummy/tmp/cache/assets/D13/690/sprockets%2F305c399e52a63447a7be45c4d5d3dd74 +0 -0
  958. data/test/dummy/tmp/cache/assets/D13/6B0/sprockets%2F0975ed2a9d299bf1c719b3b1137e581b +0 -0
  959. data/test/dummy/tmp/cache/assets/D13/950/sprockets%2F524ae513c5c491ec5813972febc7826b +0 -0
  960. data/test/dummy/tmp/cache/assets/D13/B40/sprockets%2Fddcfb72c9dd4f9d872604435090036f1 +0 -0
  961. data/test/dummy/tmp/cache/assets/D13/DF0/sprockets%2F990f09f573b2d52af1cea3528745af62 +0 -0
  962. data/test/dummy/tmp/cache/assets/D14/340/sprockets%2F4d057c80e80694c2c4d637ecd538bc08 +0 -0
  963. data/test/dummy/tmp/cache/assets/D14/660/sprockets%2Fd0f1a527bb9b3979c856235aebe80671 +0 -0
  964. data/test/dummy/tmp/cache/assets/D14/7C0/sprockets%2F72562c9166a322a9ed1dee8d6139af63 +0 -0
  965. data/test/dummy/tmp/cache/assets/D14/BD0/sprockets%2Ffc2255112852fb55d96d41a92f8fb6b6 +0 -0
  966. data/test/dummy/tmp/cache/assets/D14/DA0/sprockets%2F54a7d7c2a544df07d57173cda79e9700 +0 -0
  967. data/test/dummy/tmp/cache/assets/D15/0C0/sprockets%2Fc672a5447b43eda16d38f2d8b298186a +0 -0
  968. data/test/dummy/tmp/cache/assets/D15/850/sprockets%2F833e07e77066c61e8ca3f24d39a45fa5 +0 -0
  969. data/test/dummy/tmp/cache/assets/D15/A20/sprockets%2F9e52b9b230f4aa1d0e1a74699d82e983 +0 -0
  970. data/test/dummy/tmp/cache/assets/D15/B50/sprockets%2Fc8124caa04d123201bd73ffb3bc13241 +0 -0
  971. data/test/dummy/tmp/cache/assets/D15/BD0/sprockets%2Fb15d82cc0a8387b5333c89a746d49f0e +0 -0
  972. data/test/dummy/tmp/cache/assets/D15/F40/sprockets%2Fad8f7e162084d2b8a7c6f5335651b4e7 +0 -0
  973. data/test/dummy/tmp/cache/assets/D16/420/sprockets%2Fc1439b84cda5475e55f3d8da6071467c +0 -0
  974. data/test/dummy/tmp/cache/assets/D16/780/sprockets%2F6b4a1924545e380c0af7b66ea95f87f1 +0 -0
  975. data/test/dummy/tmp/cache/assets/D16/AE0/sprockets%2F58eb8df80c3b7ee3d231058355a80f85 +0 -0
  976. data/test/dummy/tmp/cache/assets/D16/B50/sprockets%2Fd9b256e8b3e85a8422a1d4fc3674f840 +0 -0
  977. data/test/dummy/tmp/cache/assets/D17/6C0/sprockets%2F69144d8b21e495ac17e4994fdfa3a803 +0 -0
  978. data/test/dummy/tmp/cache/assets/D17/ED0/sprockets%2F9f9aff2126b34dd922943d2d80d708f2 +0 -0
  979. data/test/dummy/tmp/cache/assets/D18/1F0/sprockets%2Fc46cd97b34389e04c6ab264f9e51527b +0 -0
  980. data/test/dummy/tmp/cache/assets/D18/2F0/sprockets%2Fa30a780a8699901f5fdf66fa2192f32f +0 -0
  981. data/test/dummy/tmp/cache/assets/D18/760/sprockets%2Fb4a66ff9ccb6b9f69415368590a090b1 +0 -0
  982. data/test/dummy/tmp/cache/assets/D18/970/sprockets%2F48fd387e031a0a8e7b5d99fad7138622 +0 -0
  983. data/test/dummy/tmp/cache/assets/D18/AC0/sprockets%2Fb2148fad273188b6fcb896cd5e683016 +0 -0
  984. data/test/dummy/tmp/cache/assets/D19/680/sprockets%2Fcd3a545b89d274cfd328f4d341f96272 +0 -0
  985. data/test/dummy/tmp/cache/assets/D19/6F0/sprockets%2F4d7ed3e790e4f3668380c6a70c77be30 +0 -0
  986. data/test/dummy/tmp/cache/assets/D19/760/sprockets%2F6cb307be30e1d67f838e8d11a0678d89 +0 -0
  987. data/test/dummy/tmp/cache/assets/D19/9B0/sprockets%2F7ca2f6668c5739b663a831ac977e0a1e +0 -0
  988. data/test/dummy/tmp/cache/assets/D19/AD0/sprockets%2F113bd6f12a1645dc5cc6a10bb3045b15 +0 -0
  989. data/test/dummy/tmp/cache/assets/D19/B10/sprockets%2F0d689fc3bc66ed07a9a971c1708628b4 +0 -0
  990. data/test/dummy/tmp/cache/assets/D1A/980/sprockets%2F2d774c4d64ca94551cb468cf06f9208f +0 -0
  991. data/test/dummy/tmp/cache/assets/D1B/210/sprockets%2F92ebfed0378e79e9bc22e628733d4042 +0 -0
  992. data/test/dummy/tmp/cache/assets/D1B/A50/sprockets%2F56fcea859b90b3ce7184481361e8dc08 +0 -0
  993. data/test/dummy/tmp/cache/assets/D1B/A60/sprockets%2F0f13887548f4f3b551c8c4a4b487e6bd +0 -0
  994. data/test/dummy/tmp/cache/assets/D1B/C80/sprockets%2F835147dfca8c918a99182e9e2e600f1c +0 -0
  995. data/test/dummy/tmp/cache/assets/D1C/070/sprockets%2F19aa6be16056890e435d65d4c84cf69e +0 -0
  996. data/test/dummy/tmp/cache/assets/D1C/AB0/sprockets%2Feb48e464e0c9448f11f9a75dc107c388 +0 -0
  997. data/test/dummy/tmp/cache/assets/D1C/BF0/sprockets%2F393c2da017963cb719b5c5e35986fe5d +0 -0
  998. data/test/dummy/tmp/cache/assets/D1C/DD0/sprockets%2F22b9c57e637d8bd9f33345a36e0a75e9 +0 -0
  999. data/test/dummy/tmp/cache/assets/D1D/700/sprockets%2F72d9824da671eff2338d52de93b83a56 +0 -0
  1000. data/test/dummy/tmp/cache/assets/D1D/750/sprockets%2F87e6134c4d4e6ca398d4d63be508f806 +0 -0
  1001. data/test/dummy/tmp/cache/assets/D1D/930/sprockets%2F633ef784b49825c854b02f3a68cae7c6 +0 -0
  1002. data/test/dummy/tmp/cache/assets/D1D/950/sprockets%2Fe99f1e946187b20432f95c06e2aecf74 +0 -0
  1003. data/test/dummy/tmp/cache/assets/D1D/E30/sprockets%2Fe09d7dd884e845366a3201c93ff43b9c +0 -0
  1004. data/test/dummy/tmp/cache/assets/D1E/360/sprockets%2F4a6a3690f7ffd0ee9f19758978b3a200 +0 -0
  1005. data/test/dummy/tmp/cache/assets/D1E/370/sprockets%2F99ee518676e86a61ec0dca0706665c5d +0 -0
  1006. data/test/dummy/tmp/cache/assets/D1E/A40/sprockets%2Fd9560f67d3383ade9a07ff129b47606f +0 -0
  1007. data/test/dummy/tmp/cache/assets/D1F/5D0/sprockets%2Fce9e23d48e27f794d23915d707fb9b03 +0 -0
  1008. data/test/dummy/tmp/cache/assets/D1F/5F0/sprockets%2Ff8cb248d9fc90758124cd284e17e3b66 +0 -0
  1009. data/test/dummy/tmp/cache/assets/D1F/F40/sprockets%2F3d54ac9a79c06d572aa45ea947997f33 +0 -0
  1010. data/test/dummy/tmp/cache/assets/D20/010/sprockets%2F9917f1672bf6b844937405aa4d48cdef +0 -0
  1011. data/test/dummy/tmp/cache/assets/D20/700/sprockets%2Fc6441888a1ed696daacb9786138654ae +0 -0
  1012. data/test/dummy/tmp/cache/assets/D20/840/sprockets%2F775429e7a5fa8e5c085d2f93bc57721d +0 -0
  1013. data/test/dummy/tmp/cache/assets/D20/A50/sprockets%2F4783e2bd28795d2da95bb0e195d9735e +0 -0
  1014. data/test/dummy/tmp/cache/assets/D20/B50/sprockets%2F0d38872e6d89d7e1f96aa655355adf13 +0 -0
  1015. data/test/dummy/tmp/cache/assets/D20/CB0/sprockets%2F48e30b1fa807a83a7f9656688aeb856b +0 -0
  1016. data/test/dummy/tmp/cache/assets/D21/030/sprockets%2Fef62cc74774cfc85293287c4e2c19c36 +0 -0
  1017. data/test/dummy/tmp/cache/assets/D21/1A0/sprockets%2Ff4f445f315298a7e228910ed96dd8db5 +0 -0
  1018. data/test/dummy/tmp/cache/assets/D21/310/sprockets%2F16c613de1f200ec10139fc45a3dab093 +0 -0
  1019. data/test/dummy/tmp/cache/assets/D21/7E0/sprockets%2Ffe64c33247c36798540d90fafde5709e +0 -0
  1020. data/test/dummy/tmp/cache/assets/D21/AA0/sprockets%2Fbfcf760ae796d3203689f83f519db093 +0 -0
  1021. data/test/dummy/tmp/cache/assets/D21/EF0/sprockets%2F935d9ee3ec37515493a293c3785dadc8 +0 -0
  1022. data/test/dummy/tmp/cache/assets/D22/0B0/sprockets%2F9dfda36b032e59892637b875d7af392b +0 -0
  1023. data/test/dummy/tmp/cache/assets/D22/2C0/sprockets%2Fe42d5d90d467a803999bdec116955f8b +0 -0
  1024. data/test/dummy/tmp/cache/assets/D22/730/sprockets%2F58581f3da7364ff79bb8892ac7d12b91 +0 -0
  1025. data/test/dummy/tmp/cache/assets/D22/820/sprockets%2F1bc531079d5acc4c26b027b910b2af42 +0 -0
  1026. data/test/dummy/tmp/cache/assets/D22/8F0/sprockets%2Fe6175fddcfb94f2824f621695675ea25 +0 -0
  1027. data/test/dummy/tmp/cache/assets/D22/D40/sprockets%2Fc4121b103539f9c9fa321f05b1cb0a6b +0 -0
  1028. data/test/dummy/tmp/cache/assets/D22/E20/sprockets%2F126d9e944e88d5e68cbb579c29e2213b +0 -0
  1029. data/test/dummy/tmp/cache/assets/D22/F20/sprockets%2F8bc1b012f5c454642312c1cbc6b3f32d +0 -0
  1030. data/test/dummy/tmp/cache/assets/D23/4B0/sprockets%2Fba03053a389e898f6eaaad18f4866887 +0 -0
  1031. data/test/dummy/tmp/cache/assets/D23/610/sprockets%2F0e51cca080cc65e62e080941b232a1ed +0 -0
  1032. data/test/dummy/tmp/cache/assets/D24/030/sprockets%2F6a1c1e866f660eea77d36569748b3c7e +0 -0
  1033. data/test/dummy/tmp/cache/assets/D24/370/sprockets%2F504e9f35d676c51ea45cb24e7749f94f +0 -0
  1034. data/test/dummy/tmp/cache/assets/D24/B80/sprockets%2F0be3bdcda25030bcb8c71c7402558154 +0 -0
  1035. data/test/dummy/tmp/cache/assets/D25/060/sprockets%2F5aad12d32a3897b20a00b4cf2684e16b +0 -0
  1036. data/test/dummy/tmp/cache/assets/D25/530/sprockets%2Ffd3a49a96f6efe7726b878d245f12065 +0 -0
  1037. data/test/dummy/tmp/cache/assets/D25/710/sprockets%2F8d4e935e1d5089d9793acf8f1a6c4921 +0 -0
  1038. data/test/dummy/tmp/cache/assets/D25/8F0/sprockets%2Fe3a1889ce707ebc28d6943ecd4282697 +0 -0
  1039. data/test/dummy/tmp/cache/assets/D25/950/sprockets%2Ff8d88541dfa758276393fa6f323f7a2e +0 -0
  1040. data/test/dummy/tmp/cache/assets/D25/980/sprockets%2F255b21e72d2c0d8e38da7c30eb3511a1 +0 -0
  1041. data/test/dummy/tmp/cache/assets/D25/C00/sprockets%2Ff63d097054df34bc660bdf98f7661b99 +0 -0
  1042. data/test/dummy/tmp/cache/assets/D25/E40/sprockets%2F72fe6a6283eff449a28d79d8c33494d0 +0 -0
  1043. data/test/dummy/tmp/cache/assets/D27/410/sprockets%2F03eba8c67b23a029319bb02a3c149fd3 +0 -0
  1044. data/test/dummy/tmp/cache/assets/D27/9A0/sprockets%2Fcd96e7bfd120b01aa4c61921ec063343 +0 -0
  1045. data/test/dummy/tmp/cache/assets/D29/580/sprockets%2F99f041cf104ac642bb2efa208c4021e7 +0 -0
  1046. data/test/dummy/tmp/cache/assets/D29/910/sprockets%2Fe51f36e9fde73e3928070a96fcf77571 +0 -0
  1047. data/test/dummy/tmp/cache/assets/D2A/E10/sprockets%2F2d2a1cfcc28a38330d30434fd8c1077c +0 -0
  1048. data/test/dummy/tmp/cache/assets/D2B/4C0/sprockets%2Ff18e693a0ed61ad0b3175d87d00001cf +0 -0
  1049. data/test/dummy/tmp/cache/assets/D2B/BC0/sprockets%2Fc0ce356c1046b2bfef184c53d7120a73 +0 -0
  1050. data/test/dummy/tmp/cache/assets/D2B/F20/sprockets%2Fa3e0775ac250bacf1d116939305f1fb3 +0 -0
  1051. data/test/dummy/tmp/cache/assets/D2C/830/sprockets%2F0bd01633acf234d4f7353765acea4b53 +0 -0
  1052. data/test/dummy/tmp/cache/assets/D2C/840/sprockets%2Ff898fefe84116998b56e68ad0b2d5173 +0 -0
  1053. data/test/dummy/tmp/cache/assets/D2D/7E0/sprockets%2Fc60625fab6231de71ab0ce748b191b35 +0 -0
  1054. data/test/dummy/tmp/cache/assets/D2D/E40/sprockets%2Faf21fa3d26ad3f68a23532178e20fb15 +0 -0
  1055. data/test/dummy/tmp/cache/assets/D2E/420/sprockets%2F0104ec61ab293fdc679a13dc333e9b41 +0 -0
  1056. data/test/dummy/tmp/cache/assets/D2E/7D0/sprockets%2Faab2ed88e135c8226c3833a1518a71ab +0 -0
  1057. data/test/dummy/tmp/cache/assets/D2F/100/sprockets%2F8c0286ee70744ca12c7c12a563de4b2a +0 -0
  1058. data/test/dummy/tmp/cache/assets/D2F/430/sprockets%2Fc051daa1a273d99ae91644122cd31e8e +0 -0
  1059. data/test/dummy/tmp/cache/assets/D2F/770/sprockets%2F02fc9c6163ec87ca3301a8ed104a5d63 +0 -0
  1060. data/test/dummy/tmp/cache/assets/D30/230/sprockets%2F579061565dcf87f3b5ef97de79c328f2 +0 -0
  1061. data/test/dummy/tmp/cache/assets/D30/3D0/sprockets%2Fc25f0b615d86e3c51312d2083afd08ed +0 -0
  1062. data/test/dummy/tmp/cache/assets/D30/5C0/sprockets%2F22dfce18279e968c8824f70808e6fce8 +0 -0
  1063. data/test/dummy/tmp/cache/assets/D30/870/sprockets%2F4f18811a027c9fdb47bf1815ca43db02 +0 -0
  1064. data/test/dummy/tmp/cache/assets/D30/9E0/sprockets%2F0d913be407e5e0c8732bc2c4ed6e2160 +0 -0
  1065. data/test/dummy/tmp/cache/assets/D30/C80/sprockets%2F172b4da10359fb5a0921a44756d8cace +0 -0
  1066. data/test/dummy/tmp/cache/assets/D31/1A0/sprockets%2Fa719ac1adc1bbd789653f270b1e11743 +0 -0
  1067. data/test/dummy/tmp/cache/assets/D31/710/sprockets%2Fad299a6a9b2d3b6444d242a1545de02e +0 -0
  1068. data/test/dummy/tmp/cache/assets/D32/3E0/sprockets%2Fc9f2c6b93b29fa3b0d5420b751903eb1 +0 -0
  1069. data/test/dummy/tmp/cache/assets/D32/5B0/sprockets%2F1fb6fd00554a0d42f1557bf095c2e4d4 +0 -0
  1070. data/test/dummy/tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705 +0 -0
  1071. data/test/dummy/tmp/cache/assets/D32/A80/sprockets%2Fb12fb26042f73cf3b2796abc2836ee20 +0 -0
  1072. data/test/dummy/tmp/cache/assets/D32/BF0/sprockets%2F2161effd39b16585e03d2fad60f1c214 +0 -0
  1073. data/test/dummy/tmp/cache/assets/D33/6D0/sprockets%2Faea4e9f1253905c3c206be4163faf462 +0 -0
  1074. data/test/dummy/tmp/cache/assets/D33/AA0/sprockets%2Fe232a724938c4144db7ec47ca3a0b4b9 +0 -0
  1075. data/test/dummy/tmp/cache/assets/D33/C40/sprockets%2Fd2a8aa388966c03ee534024ecd1a3e15 +0 -0
  1076. data/test/dummy/tmp/cache/assets/D34/020/sprockets%2F99d101b09145af7ac80cdd219ee4730b +0 -0
  1077. data/test/dummy/tmp/cache/assets/D34/110/sprockets%2Fe516b191ae7c521a90d70ed6e1a560c9 +0 -0
  1078. data/test/dummy/tmp/cache/assets/D34/A80/sprockets%2F2b056f9b8a31a05846a5b049509afeac +0 -0
  1079. data/test/dummy/tmp/cache/assets/D35/120/sprockets%2Fee634821c4051385267b64ef5dcba3aa +0 -0
  1080. data/test/dummy/tmp/cache/assets/D35/610/sprockets%2F2c4b047e3902cacf87f03df334383c4b +0 -0
  1081. data/test/dummy/tmp/cache/assets/D35/700/sprockets%2Fb5ab6a30062ee0277b78c5ebc35a1958 +0 -0
  1082. data/test/dummy/tmp/cache/assets/D35/740/sprockets%2F61c3bb9a61f0c84d431b266fd3751be5 +0 -0
  1083. data/test/dummy/tmp/cache/assets/D35/CB0/sprockets%2Fb8be043bfd57bfd702b574152157ec23 +0 -0
  1084. data/test/dummy/tmp/cache/assets/D35/D70/sprockets%2F14bae56b0929ba886b35093d0f282bbb +0 -0
  1085. data/test/dummy/tmp/cache/assets/D35/D70/sprockets%2F955ca2e2406809aaf6ef02600b5f48ca +0 -0
  1086. data/test/dummy/tmp/cache/assets/D36/7F0/sprockets%2F78e0c63f0043ae6e6536ec504cc23a9b +0 -0
  1087. data/test/dummy/tmp/cache/assets/D36/820/sprockets%2Fa4b42a86a2d436a1f769e073e27aa47b +0 -0
  1088. data/test/dummy/tmp/cache/assets/D36/840/sprockets%2F194eb7dd741b4082654afa931a3cda28 +0 -0
  1089. data/test/dummy/tmp/cache/assets/D36/B90/sprockets%2Fa453d03a92d6fa1c62638ad3c1449e8b +0 -0
  1090. data/test/dummy/tmp/cache/assets/D36/E70/sprockets%2F69b00a4118d012bf6d7cf293b5f316ff +0 -0
  1091. data/test/dummy/tmp/cache/assets/D36/F80/sprockets%2F0de581615d3d24f365ba01f88af9b41a +0 -0
  1092. data/test/dummy/tmp/cache/assets/D37/610/sprockets%2F65e66b2c8c223ac07c5c7ad5c5c99011 +0 -0
  1093. data/test/dummy/tmp/cache/assets/D37/7C0/sprockets%2F03e1ffcecadd87170a077f207983f111 +0 -0
  1094. data/test/dummy/tmp/cache/assets/D37/AA0/sprockets%2Fead2943534ac02460e7c273fa82a38fe +0 -0
  1095. data/test/dummy/tmp/cache/assets/D37/B90/sprockets%2F17df9f1e2c50d81f1c5e2242594bfe00 +0 -0
  1096. data/test/dummy/tmp/cache/assets/D37/F10/sprockets%2Fd1e798d6133f1f8cc3d11c17d9550aa0 +0 -0
  1097. data/test/dummy/tmp/cache/assets/D38/2B0/sprockets%2Fda19dde8270c3f6a581064fb00ee4851 +0 -0
  1098. data/test/dummy/tmp/cache/assets/D38/310/sprockets%2Fbb3da38718a4315ab86307c4e62a6fe6 +0 -0
  1099. data/test/dummy/tmp/cache/assets/D38/920/sprockets%2F12627fb8c0f3cdf91ed7609a480b341a +0 -0
  1100. data/test/dummy/tmp/cache/assets/D39/260/sprockets%2F1469132dc4af5199b67b443b147aebfa +0 -0
  1101. data/test/dummy/tmp/cache/assets/D39/3A0/sprockets%2F2e21042d01b594dd46e5a7b2bece9389 +0 -0
  1102. data/test/dummy/tmp/cache/assets/D39/6E0/sprockets%2F5b10bcccb378060d35f838f5a58c525c +0 -0
  1103. data/test/dummy/tmp/cache/assets/D39/840/sprockets%2F1018dbc73bf9b07d84fbd720a470e952 +0 -0
  1104. data/test/dummy/tmp/cache/assets/D39/D00/sprockets%2F0451093c2f9faeefb84d343a79ea4041 +0 -0
  1105. data/test/dummy/tmp/cache/assets/D3A/150/sprockets%2Fd295f404f18a2cddf0ba955045f5262e +0 -0
  1106. data/test/dummy/tmp/cache/assets/D3A/2D0/sprockets%2F4a04168763c75f93ab9cb41b36debd32 +0 -0
  1107. data/test/dummy/tmp/cache/assets/D3A/520/sprockets%2F7193d867aa217d4a306848dbcc1d9c0b +0 -0
  1108. data/test/dummy/tmp/cache/assets/D3A/670/sprockets%2F0db6624d07920a5f4decb479718da33c +0 -0
  1109. data/test/dummy/tmp/cache/assets/D3A/7B0/sprockets%2Ff812a5e25abeb03b136494656f3b79bc +0 -0
  1110. data/test/dummy/tmp/cache/assets/D3A/A00/sprockets%2F1077cd94fef55fbb01ce529612180bd5 +0 -0
  1111. data/test/dummy/tmp/cache/assets/D3A/ED0/sprockets%2F5ae1cf0266d63b8eb0647535ca93b63d +0 -0
  1112. data/test/dummy/tmp/cache/assets/D3A/F90/sprockets%2F08ee8d66c16e2048233eb4ae8e0a5d07 +0 -0
  1113. data/test/dummy/tmp/cache/assets/D3B/010/sprockets%2F3b3609c83340e9fcd3cceb23f917604b +0 -0
  1114. data/test/dummy/tmp/cache/assets/D3B/0A0/sprockets%2F6e82318b9bac9ae4b2ec46448b6730b0 +0 -0
  1115. data/test/dummy/tmp/cache/assets/D3B/410/sprockets%2Fcb0aa9ea365367c16d61d078ea84a574 +0 -0
  1116. data/test/dummy/tmp/cache/assets/D3B/4F0/sprockets%2F88643a0b64d5cf920c470f0ce8c731bd +0 -0
  1117. data/test/dummy/tmp/cache/assets/D3B/5A0/sprockets%2Fb17614cedb4c7dc82b054074d586ed61 +0 -0
  1118. data/test/dummy/tmp/cache/assets/D3B/5C0/sprockets%2Fc0fa5ecc2e5594ae08a368a85205c717 +0 -0
  1119. data/test/dummy/tmp/cache/assets/D3B/6B0/sprockets%2Fd57e2d77434931c1f7504ebebb0f0c74 +0 -0
  1120. data/test/dummy/tmp/cache/assets/D3B/870/sprockets%2F14a2f9ec64aba61016378cad3a89745e +0 -0
  1121. data/test/dummy/tmp/cache/assets/D3B/CB0/sprockets%2F64e145634d2a6c7aa4bb3db1f9b69653 +0 -0
  1122. data/test/dummy/tmp/cache/assets/D3C/640/sprockets%2F42e7a70bb8be9398385afb3c4742aa04 +0 -0
  1123. data/test/dummy/tmp/cache/assets/D3C/910/sprockets%2F99239b29c69a5bcb92f42d621312adad +0 -0
  1124. data/test/dummy/tmp/cache/assets/D3C/A50/sprockets%2F86d202b46c3d0224f5ff87deb4db3770 +0 -0
  1125. data/test/dummy/tmp/cache/assets/D3C/B40/sprockets%2F04c51c1f78e9fac3a5565228e4167abc +0 -0
  1126. data/test/dummy/tmp/cache/assets/D3D/120/sprockets%2F837fd0f36c315cc5ed6321a37c78f15a +0 -0
  1127. data/test/dummy/tmp/cache/assets/D3D/3D0/sprockets%2F7f6184a495382b1a55fa1df1ebf8620c +0 -0
  1128. data/test/dummy/tmp/cache/assets/D3D/410/sprockets%2Ff106679b8b4a3b97c6922fbd1305bc4d +0 -0
  1129. data/test/dummy/tmp/cache/assets/D3D/7B0/sprockets%2F3ef4473b5d0b339084f5bb722c5ec74d +0 -0
  1130. data/test/dummy/tmp/cache/assets/D3D/A30/sprockets%2Fea9374f9f4ac230ad7e4216230cf936d +0 -0
  1131. data/test/dummy/tmp/cache/assets/D3D/A60/sprockets%2Fc1ddc173463642dde6a64d0ae5518c79 +0 -0
  1132. data/test/dummy/tmp/cache/assets/D3D/CD0/sprockets%2F3595d1551bd608fcb3dc351a87beb169 +0 -0
  1133. data/test/dummy/tmp/cache/assets/D3D/E00/sprockets%2F7f430142fdea76d6e40884c4a7cd432c +0 -0
  1134. data/test/dummy/tmp/cache/assets/D3D/EE0/sprockets%2F51e79b33fba1c5353e77bb445a6b891b +0 -0
  1135. data/test/dummy/tmp/cache/assets/D3E/290/sprockets%2Fd2f652b4e74b470bab8d423c179e19f3 +0 -0
  1136. data/test/dummy/tmp/cache/assets/D3E/3F0/sprockets%2F86979badf89dec3212225604aba2cd27 +0 -0
  1137. data/test/dummy/tmp/cache/assets/D3E/610/sprockets%2F7ddb15b4de326c562c74e81e8f07109a +0 -0
  1138. data/test/dummy/tmp/cache/assets/D3E/880/sprockets%2F3a476e3b4f8a1de2d392139d6bb3c566 +0 -0
  1139. data/test/dummy/tmp/cache/assets/D3E/900/sprockets%2F8d2f50fc5e4cfb64901183f4f732ba53 +0 -0
  1140. data/test/dummy/tmp/cache/assets/D3E/940/sprockets%2F5ed82a03c1de5c34135b67ff053787ec +0 -0
  1141. data/test/dummy/tmp/cache/assets/D3E/CF0/sprockets%2Fb817b1990e84cd9241408c4cfa0ed71e +0 -0
  1142. data/test/dummy/tmp/cache/assets/D3E/CF0/sprockets%2Ffdaaeb4c030471898b22f8c144f76b56 +0 -0
  1143. data/test/dummy/tmp/cache/assets/D3E/F80/sprockets%2Fa146a4bfc3b8cb08334b9b14fe379756 +0 -0
  1144. data/test/dummy/tmp/cache/assets/D3F/050/sprockets%2Fab4aa96dbce1e6b359f2658118291d90 +0 -0
  1145. data/test/dummy/tmp/cache/assets/D3F/150/sprockets%2Fad86b9b242ed861ca46d087951017fcb +0 -0
  1146. data/test/dummy/tmp/cache/assets/D3F/1A0/sprockets%2Ffc3bb0a82945639473ca2c4029fe4e8b +0 -0
  1147. data/test/dummy/tmp/cache/assets/D3F/350/sprockets%2Fc430fa77be69b17f1c9d6c01d667501f +0 -0
  1148. data/test/dummy/tmp/cache/assets/D3F/6B0/sprockets%2Fd4c6072434f9fab0ef336571f108efb6 +0 -0
  1149. data/test/dummy/tmp/cache/assets/D3F/760/sprockets%2Fd8f3b8c267409a532e9241a20fbb89dc +0 -0
  1150. data/test/dummy/tmp/cache/assets/D3F/C20/sprockets%2Fb4ef58d6c6be49802175630ad53bde06 +0 -0
  1151. data/test/dummy/tmp/cache/assets/D3F/DD0/sprockets%2F8c76c0f2326d807dd2a7cd072b63cf75 +0 -0
  1152. data/test/dummy/tmp/cache/assets/D3F/E10/sprockets%2Ff8492202733ea4a4f67065c95eec1beb +0 -0
  1153. data/test/dummy/tmp/cache/assets/D3F/F10/sprockets%2Fb6dcc8900d3da7ed6329638ab624f154 +0 -0
  1154. data/test/dummy/tmp/cache/assets/D40/120/sprockets%2F3b8a72c698ad5f3c04e372b028cb09f8 +0 -0
  1155. data/test/dummy/tmp/cache/assets/D40/200/sprockets%2F880e80c22dc2fa922f1b8db231799fc4 +0 -0
  1156. data/test/dummy/tmp/cache/assets/D40/3E0/sprockets%2Fd65537e1d1ddf27135ffea9a66305b54 +0 -0
  1157. data/test/dummy/tmp/cache/assets/D40/6C0/sprockets%2Fafe496eaca27b82020893b81383e8b6b +0 -0
  1158. data/test/dummy/tmp/cache/assets/D40/8F0/sprockets%2F80da1c86349f9227fe57cea00e8a8a40 +0 -0
  1159. data/test/dummy/tmp/cache/assets/D40/C20/sprockets%2Fc507af7361b5663c5bd2f441176dede8 +0 -0
  1160. data/test/dummy/tmp/cache/assets/D40/D10/sprockets%2F7af151c9b6080d9285fe058ae6d40c4d +0 -0
  1161. data/test/dummy/tmp/cache/assets/D40/E50/sprockets%2F278df3df34e9573cbd9a402e42d1193b +0 -0
  1162. data/test/dummy/tmp/cache/assets/D41/770/sprockets%2F271c5f12457864bbb0c6646c9ebf1f3f +0 -0
  1163. data/test/dummy/tmp/cache/assets/D41/8A0/sprockets%2Fbc7ce77806517ea173350e6a4d8c55db +0 -0
  1164. data/test/dummy/tmp/cache/assets/D41/950/sprockets%2F34eb91c1ce8a0e97f9e86a045c4b5216 +0 -0
  1165. data/test/dummy/tmp/cache/assets/D41/AA0/sprockets%2F82420b3e098a89f48ebf0a1fd04b29c9 +0 -0
  1166. data/test/dummy/tmp/cache/assets/D41/D70/sprockets%2F48b33bbf96854b502b0eaf902e69d55c +0 -0
  1167. data/test/dummy/tmp/cache/assets/D41/FE0/sprockets%2F2901ba969f333cc19393afd2f0fc7c64 +0 -0
  1168. data/test/dummy/tmp/cache/assets/D42/140/sprockets%2F1cb73727ffa2680da8200ea7abf78669 +0 -0
  1169. data/test/dummy/tmp/cache/assets/D42/1D0/sprockets%2Ffb783da43ed9fada2f7071260964c085 +0 -0
  1170. data/test/dummy/tmp/cache/assets/D42/2C0/sprockets%2F444a83e2c79ecc64112d294bb9b8d7a5 +0 -0
  1171. data/test/dummy/tmp/cache/assets/D42/6A0/sprockets%2F9ac05a638ee7816b9b2fb17ea1c69613 +0 -0
  1172. data/test/dummy/tmp/cache/assets/D42/850/sprockets%2F52825878ba78d155f3310c8adeeaeb36 +0 -0
  1173. data/test/dummy/tmp/cache/assets/D42/CC0/sprockets%2Fb1e122d7cd85a9d14047daef46f93376 +0 -0
  1174. data/test/dummy/tmp/cache/assets/D42/DC0/sprockets%2F6c6197617cfb36bcc7bac0477815a3f5 +0 -0
  1175. data/test/dummy/tmp/cache/assets/D42/E60/sprockets%2Fb023ab90173979d4deb9c0b51ccd3999 +0 -0
  1176. data/test/dummy/tmp/cache/assets/D43/390/sprockets%2F83be81536be1427ab49fbe736a71d4f5 +0 -0
  1177. data/test/dummy/tmp/cache/assets/D43/6F0/sprockets%2F38649a8cba0b6c9788cb58f6e03da040 +0 -0
  1178. data/test/dummy/tmp/cache/assets/D43/A30/sprockets%2Ff04f447219d67fe669002fbfbad5a914 +0 -0
  1179. data/test/dummy/tmp/cache/assets/D43/BB0/sprockets%2Fbd3f2fd3f006934806077a93bca9f7c5 +0 -0
  1180. data/test/dummy/tmp/cache/assets/D43/E30/sprockets%2Fe8da4e0365f733c7d84c7c60922ab5c6 +0 -0
  1181. data/test/dummy/tmp/cache/assets/D43/E90/sprockets%2F2351caee9e66f34809780d7a2dc2dc18 +0 -0
  1182. data/test/dummy/tmp/cache/assets/D43/FE0/sprockets%2F5d585d195aa6c45453c7d8125fcb1dc8 +0 -0
  1183. data/test/dummy/tmp/cache/assets/D44/1A0/sprockets%2Fb92362575b656dfaacbb6c4449f3277b +0 -0
  1184. data/test/dummy/tmp/cache/assets/D44/3A0/sprockets%2F445f1c0c575898429d9f0d0bc4d3ec3c +0 -0
  1185. data/test/dummy/tmp/cache/assets/D44/4B0/sprockets%2F0eecb09395e147d5b94245d54cc8d6d2 +0 -0
  1186. data/test/dummy/tmp/cache/assets/D44/6D0/sprockets%2F4d7032af47bfce2d4a8564830f8a6a96 +0 -0
  1187. data/test/dummy/tmp/cache/assets/D44/8D0/sprockets%2F34631c40f7fc893e57a147dd2f6a3bc9 +0 -0
  1188. data/test/dummy/tmp/cache/assets/D44/8E0/sprockets%2Fb841718bb1a07e7b757ff66d0e5cc582 +0 -0
  1189. data/test/dummy/tmp/cache/assets/D44/E70/sprockets%2F7834628a343cfe4b5bb57dffa81576b0 +0 -0
  1190. data/test/dummy/tmp/cache/assets/D44/EC0/sprockets%2Feceb87b6275f9079e3e1130b5fa473c4 +0 -0
  1191. data/test/dummy/tmp/cache/assets/D45/050/sprockets%2F1b1869fa7116698c5bbe2f36fccd1446 +0 -0
  1192. data/test/dummy/tmp/cache/assets/D45/1C0/sprockets%2F7e052d17bd4b749ba373bea97380c8f6 +0 -0
  1193. data/test/dummy/tmp/cache/assets/D45/3B0/sprockets%2Fd26b5a0d570ef57d06df6f032e9b8980 +0 -0
  1194. data/test/dummy/tmp/cache/assets/D45/3E0/sprockets%2F3eaefc9b68bcd82b52052504488d069f +0 -0
  1195. data/test/dummy/tmp/cache/assets/D45/580/sprockets%2F14b96ba086d5c5a5874ba107d8e3fc97 +0 -0
  1196. data/test/dummy/tmp/cache/assets/D45/9E0/sprockets%2F130c46284fa1f6c76972bedb871c1fe8 +0 -0
  1197. data/test/dummy/tmp/cache/assets/D45/BC0/sprockets%2Feca16786e19e61e8223ae46b2c76c9d1 +0 -0
  1198. data/test/dummy/tmp/cache/assets/D46/500/sprockets%2F8f1353b95c1ae2986739f51ad5b23feb +0 -0
  1199. data/test/dummy/tmp/cache/assets/D46/770/sprockets%2F96355435f9ab8090c2d3e4f0ddd9b7c3 +0 -0
  1200. data/test/dummy/tmp/cache/assets/D46/8A0/sprockets%2F49683a7741a9baf859c3aa7ff32a417b +0 -0
  1201. data/test/dummy/tmp/cache/assets/D46/900/sprockets%2F18ca5b915a90bf847363cca608be4e98 +0 -0
  1202. data/test/dummy/tmp/cache/assets/D46/930/sprockets%2F3f7e8c9b45f15625db37da7d7325dc05 +0 -0
  1203. data/test/dummy/tmp/cache/assets/D46/C00/sprockets%2Fe6b2081e4e4a5178c7fdd26e39844bf1 +0 -0
  1204. data/test/dummy/tmp/cache/assets/D46/C80/sprockets%2Ff4ba1c28702e084d8c375097c78aea9e +0 -0
  1205. data/test/dummy/tmp/cache/assets/D46/D90/sprockets%2F4b5848d10e8a19c9db7c97164df3c30d +0 -0
  1206. data/test/dummy/tmp/cache/assets/D47/2B0/sprockets%2Ff3d8c4ca1a44044d98395b36b770fcf9 +0 -0
  1207. data/test/dummy/tmp/cache/assets/D47/2E0/sprockets%2Fd277f2a5e504e0c2893c41598dedbf55 +0 -0
  1208. data/test/dummy/tmp/cache/assets/D47/670/sprockets%2F95284b12addf9c46e49d92031ace56d8 +0 -0
  1209. data/test/dummy/tmp/cache/assets/D47/730/sprockets%2Fd4896739cfee6536220ae6fcf1232ca7 +0 -0
  1210. data/test/dummy/tmp/cache/assets/D47/8F0/sprockets%2F1cc6e49382be4f74cbb97821ae1928c4 +0 -0
  1211. data/test/dummy/tmp/cache/assets/D47/AC0/sprockets%2Fb2d0bb7668a4ac043b0de0102d6513ba +0 -0
  1212. data/test/dummy/tmp/cache/assets/D47/AC0/sprockets%2Fcb9189183de4d74faa04d6ad1347964f +0 -0
  1213. data/test/dummy/tmp/cache/assets/D47/CA0/sprockets%2Fc7f7fb56a0b25867823f15b1e9aa4c96 +0 -0
  1214. data/test/dummy/tmp/cache/assets/D47/E90/sprockets%2F56ca7ae11e05a87e73dd9771c6539bc5 +0 -0
  1215. data/test/dummy/tmp/cache/assets/D48/1D0/sprockets%2Fbff4201c0944eaf31a2f6a0110cbd224 +0 -0
  1216. data/test/dummy/tmp/cache/assets/D48/250/sprockets%2F84991347702fd5edbb2ebb5515963ece +0 -0
  1217. data/test/dummy/tmp/cache/assets/D48/2F0/sprockets%2F6b79e4839df89b4abb51c2c6105d15e8 +0 -0
  1218. data/test/dummy/tmp/cache/assets/D48/410/sprockets%2F98b6e6d67873bc1138e7b06d18c0ace6 +0 -0
  1219. data/test/dummy/tmp/cache/assets/D48/580/sprockets%2F2a44a4e66eb9887cc5a85df102e90b77 +0 -0
  1220. data/test/dummy/tmp/cache/assets/D48/960/sprockets%2F90e2c11ff8fd31e591b9fd39932631bf +0 -0
  1221. data/test/dummy/tmp/cache/assets/D48/A60/sprockets%2Fa468fa273dd2ebf98c1e33c7c3985315 +0 -0
  1222. data/test/dummy/tmp/cache/assets/D48/E50/sprockets%2F4c71469bc6ed82c37fdb5e44139bb583 +0 -0
  1223. data/test/dummy/tmp/cache/assets/D49/2A0/sprockets%2F0d535287efb0b48e346f7776b5fb0be7 +0 -0
  1224. data/test/dummy/tmp/cache/assets/D49/730/sprockets%2F64dd3900972dee6569422fddf9c31b1f +0 -0
  1225. data/test/dummy/tmp/cache/assets/D49/930/sprockets%2Ff36df49d02768e07adb86105b47b5f9b +0 -0
  1226. data/test/dummy/tmp/cache/assets/D49/9B0/sprockets%2F706c326f169fa7938afca4eb0ae35949 +0 -0
  1227. data/test/dummy/tmp/cache/assets/D49/D60/sprockets%2F14760b8f0d27c9a774ec738f07bddd28 +0 -0
  1228. data/test/dummy/tmp/cache/assets/D4A/110/sprockets%2Fb3b93f448fe8a24482ad2e7d866403fe +0 -0
  1229. data/test/dummy/tmp/cache/assets/D4A/DE0/sprockets%2F45bff385904356cf5b4852a8ef07e1fb +0 -0
  1230. data/test/dummy/tmp/cache/assets/D4B/0B0/sprockets%2F7f5ee075ad6c8176e15c2af56484ff05 +0 -0
  1231. data/test/dummy/tmp/cache/assets/D4B/A50/sprockets%2F1b4c7c441c6f368422b8752df5ebef98 +0 -0
  1232. data/test/dummy/tmp/cache/assets/D4B/C20/sprockets%2Fc28f3c4d6cd98dbb784830d7c6214d65 +0 -0
  1233. data/test/dummy/tmp/cache/assets/D4B/D30/sprockets%2F156bde6845eeb43deac29648d78513a7 +0 -0
  1234. data/test/dummy/tmp/cache/assets/D4B/F70/sprockets%2Ff58e20f6e88702165bb9ca9f1e2d814f +0 -0
  1235. data/test/dummy/tmp/cache/assets/D4C/070/sprockets%2Fb75abba76993feef82f2247d57a69032 +0 -0
  1236. data/test/dummy/tmp/cache/assets/D4C/100/sprockets%2Fda16c9678195acdfa445b1689a429b9c +0 -0
  1237. data/test/dummy/tmp/cache/assets/D4C/1B0/sprockets%2F0fa6c31906dfde3647671b66cedd8396 +0 -0
  1238. data/test/dummy/tmp/cache/assets/D4C/520/sprockets%2Fb8550712b4897eedde1991cf2f65e14c +0 -0
  1239. data/test/dummy/tmp/cache/assets/D4C/BD0/sprockets%2F4ac9d1aa903d4731edf18fe2b9589829 +0 -0
  1240. data/test/dummy/tmp/cache/assets/D4C/C40/sprockets%2F2db0945ed98c864aed344686ae6e83a1 +0 -0
  1241. data/test/dummy/tmp/cache/assets/D4E/010/sprockets%2F5c07f4ba3ea01a2e9b1ccc71e2006028 +0 -0
  1242. data/test/dummy/tmp/cache/assets/D4E/2E0/sprockets%2F8a0214ec4c689155dabf788bb2f7877d +0 -0
  1243. data/test/dummy/tmp/cache/assets/D4E/3C0/sprockets%2F8b9a09f7df4b2a3f486cacd187521878 +0 -0
  1244. data/test/dummy/tmp/cache/assets/D4E/4D0/sprockets%2F709e6ba42c7c9e3d94474b3cc9a67f26 +0 -0
  1245. data/test/dummy/tmp/cache/assets/D4E/5A0/sprockets%2Ffb32d449b4bc8d5193d5daf6838f1667 +0 -0
  1246. data/test/dummy/tmp/cache/assets/D4E/640/sprockets%2Fdaab3d2130266b5b7a2f1d04b8c4322e +0 -0
  1247. data/test/dummy/tmp/cache/assets/D4E/6C0/sprockets%2Fedd9cf282af0f00637e5273c8c3888b9 +0 -0
  1248. data/test/dummy/tmp/cache/assets/D4E/D00/sprockets%2F1a6846f0a837ae2524e2f9ec89e6ef43 +0 -0
  1249. data/test/dummy/tmp/cache/assets/D4E/EF0/sprockets%2F1df54511127103a072bed5b21cafead6 +0 -0
  1250. data/test/dummy/tmp/cache/assets/D50/190/sprockets%2F0a2b9abfa0a059b017055840beb85a2d +0 -0
  1251. data/test/dummy/tmp/cache/assets/D50/4B0/sprockets%2F0b1488c1064ae6cabab7a30c2b292e06 +0 -0
  1252. data/test/dummy/tmp/cache/assets/D50/810/sprockets%2Fee536e389f63f834aece59d21801d36f +0 -0
  1253. data/test/dummy/tmp/cache/assets/D50/C20/sprockets%2Ff1a5a7507fede68fe95f09d37274137c +0 -0
  1254. data/test/dummy/tmp/cache/assets/D50/D40/sprockets%2Fbe666f1ffdb0f91d930899161a069fe5 +0 -0
  1255. data/test/dummy/tmp/cache/assets/D50/E10/sprockets%2F28698bc0c536fe5e97a2935e3bb929bb +0 -0
  1256. data/test/dummy/tmp/cache/assets/D50/ED0/sprockets%2F5332ba66dc2dfa796617ee96ce9d9900 +0 -0
  1257. data/test/dummy/tmp/cache/assets/D51/430/sprockets%2F7bf6ecc28263fac9f9fb429136695a53 +0 -0
  1258. data/test/dummy/tmp/cache/assets/D51/970/sprockets%2F7909fe0d4e13b4899c9fe4811d9b2fa3 +0 -0
  1259. data/test/dummy/tmp/cache/assets/D51/9A0/sprockets%2Fff730a46d71c5a873e97fd15889c21de +0 -0
  1260. data/test/dummy/tmp/cache/assets/D51/BE0/sprockets%2F8fb21c278a9b7f85c865975e84aa5da0 +0 -0
  1261. data/test/dummy/tmp/cache/assets/D52/1E0/sprockets%2Ff944622d87bfe6f049ed4d538e823ad4 +0 -0
  1262. data/test/dummy/tmp/cache/assets/D52/9D0/sprockets%2Fbb6de37d8349d9caa9b54427997e10b9 +0 -0
  1263. data/test/dummy/tmp/cache/assets/D52/EB0/sprockets%2F845afe487827fd254911feb27fa9ff21 +0 -0
  1264. data/test/dummy/tmp/cache/assets/D53/0C0/sprockets%2F1525e3864167f2cdbdf7e815f67f19df +0 -0
  1265. data/test/dummy/tmp/cache/assets/D53/520/sprockets%2F0425319886a4f5c8945aa7ffd69fb6ae +0 -0
  1266. data/test/dummy/tmp/cache/assets/D53/DE0/sprockets%2F7736b51cb3bf8679b8bdc8ab9d184954 +0 -0
  1267. data/test/dummy/tmp/cache/assets/D53/DF0/sprockets%2F4944df81f8eac8c68fc5a448135d91d5 +0 -0
  1268. data/test/dummy/tmp/cache/assets/D53/E50/sprockets%2Fb969596338bb3970b4d09a9bf1dd4ff6 +0 -0
  1269. data/test/dummy/tmp/cache/assets/D54/0D0/sprockets%2F448752db3a53dd453db1b01de121ebd2 +0 -0
  1270. data/test/dummy/tmp/cache/assets/D54/210/sprockets%2F685458463f9ac9566ebff2e93bbc920b +0 -0
  1271. data/test/dummy/tmp/cache/assets/D54/D40/sprockets%2Fae94d636e834686618d7edea66bfd405 +0 -0
  1272. data/test/dummy/tmp/cache/assets/D55/920/sprockets%2Fb62b7535d8b569ca6b2538bfb97b89d8 +0 -0
  1273. data/test/dummy/tmp/cache/assets/D56/140/sprockets%2F20a89c927f3ff593ebf3349f31f39e9a +0 -0
  1274. data/test/dummy/tmp/cache/assets/D56/1F0/sprockets%2F291fcb7a26ff3aac6bc1404e0a247242 +0 -0
  1275. data/test/dummy/tmp/cache/assets/D56/5A0/sprockets%2F24eaabe70886b65518cde5e8d953849f +0 -0
  1276. data/test/dummy/tmp/cache/assets/D56/A80/sprockets%2F65079690df677a1eb0eb8ecfb35798f4 +0 -0
  1277. data/test/dummy/tmp/cache/assets/D56/BA0/sprockets%2Fed013a2db663133e834b255e3aff20da +0 -0
  1278. data/test/dummy/tmp/cache/assets/D56/EF0/sprockets%2F9841b7e3e5c96195e8aadd8f107c64f8 +0 -0
  1279. data/test/dummy/tmp/cache/assets/D57/B80/sprockets%2F11141aae7a24db122b6ff73d3c6a5c48 +0 -0
  1280. data/test/dummy/tmp/cache/assets/D57/CE0/sprockets%2F140df960c8b7db13118010bb750cfcce +0 -0
  1281. data/test/dummy/tmp/cache/assets/D57/DF0/sprockets%2F8d06b94587d49e037e77f8afcb6802cf +0 -0
  1282. data/test/dummy/tmp/cache/assets/D58/2D0/sprockets%2F61d0cc15903cb43c85ad762dcc0a326c +0 -0
  1283. data/test/dummy/tmp/cache/assets/D58/BC0/sprockets%2F1918f7df37c8a71ceeef81f95859131d +0 -0
  1284. data/test/dummy/tmp/cache/assets/D58/CD0/sprockets%2F866919a6d25cec7a729a3ee6299f1c6f +0 -0
  1285. data/test/dummy/tmp/cache/assets/D59/070/sprockets%2F822cd47e69d40ba87f95181fdd698ed5 +0 -0
  1286. data/test/dummy/tmp/cache/assets/D5A/2B0/sprockets%2Fd347f40bde5bbe0062904e3a6e51f01c +0 -0
  1287. data/test/dummy/tmp/cache/assets/D5A/D80/sprockets%2F28dc9152e2ead49ae414a5b82d04a1a2 +0 -0
  1288. data/test/dummy/tmp/cache/assets/D5A/EA0/sprockets%2Fd771ace226fc8215a3572e0aa35bb0d6 +0 -0
  1289. data/test/dummy/tmp/cache/assets/D5C/450/sprockets%2F4b2fa6cdb3e243b19c0280e23a2986ca +0 -0
  1290. data/test/dummy/tmp/cache/assets/D5C/660/sprockets%2F5baf6a64b3151ae6bf40155e90db6e03 +0 -0
  1291. data/test/dummy/tmp/cache/assets/D5D/020/sprockets%2Fa769a9199ea93b9a1273699ee12fe8ee +0 -0
  1292. data/test/dummy/tmp/cache/assets/D5D/060/sprockets%2F8a821525b5ad23bf362fcd21a62d5a7c +0 -0
  1293. data/test/dummy/tmp/cache/assets/D5D/120/sprockets%2F1d71e8cf1b3ca05ca8165a84a90bb615 +0 -0
  1294. data/test/dummy/tmp/cache/assets/D5D/150/sprockets%2F62cdbc0997bf7f886d971d628dfb6059 +0 -0
  1295. data/test/dummy/tmp/cache/assets/D5E/280/sprockets%2F7476a3fd6b9edff480a39d6e66f58708 +0 -0
  1296. data/test/dummy/tmp/cache/assets/D5E/F90/sprockets%2F93645769a318ef58afdfdfe326891c6f +0 -0
  1297. data/test/dummy/tmp/cache/assets/D5F/7F0/sprockets%2Fabbcc55042a82b42c900c09d59de4c29 +0 -0
  1298. data/test/dummy/tmp/cache/assets/D5F/A30/sprockets%2F1b6a076e9dfac220107d3ec6b4a3b766 +0 -0
  1299. data/test/dummy/tmp/cache/assets/D5F/C40/sprockets%2Fb898ec7d8f3bc1559821f8514e6d9cd9 +0 -0
  1300. data/test/dummy/tmp/cache/assets/D5F/CE0/sprockets%2F3024d4daeed68300ec4fa9a97a4023e2 +0 -0
  1301. data/test/dummy/tmp/cache/assets/D60/020/sprockets%2Fbfae71323b4823d863b570f22ef20bcd +0 -0
  1302. data/test/dummy/tmp/cache/assets/D60/2A0/sprockets%2Fcd5c12269b6c414bf722c6c2dc0e18c4 +0 -0
  1303. data/test/dummy/tmp/cache/assets/D60/350/sprockets%2F1cfbb7a35f165be5ae2b2436e283412f +0 -0
  1304. data/test/dummy/tmp/cache/assets/D60/870/sprockets%2F0421b7f12e44d88ae2bf59a690ac2cb1 +0 -0
  1305. data/test/dummy/tmp/cache/assets/D60/9B0/sprockets%2F6e2304829a1ca51aff83cffb92a034a4 +0 -0
  1306. data/test/dummy/tmp/cache/assets/D60/B40/sprockets%2F11e3b14ae2df1da7b72690c158dc45d5 +0 -0
  1307. data/test/dummy/tmp/cache/assets/D60/D20/sprockets%2F0cfb8ba2744ab0976700c8bd72b2ec07 +0 -0
  1308. data/test/dummy/tmp/cache/assets/D61/180/sprockets%2F8d15744bb332d6b8b1ffef2ce0315c04 +0 -0
  1309. data/test/dummy/tmp/cache/assets/D61/C30/sprockets%2Fd440a1693cc34770fe3b1dc1ea56c66a +0 -0
  1310. data/test/dummy/tmp/cache/assets/D62/140/sprockets%2F7e5a724c4c00951a0da7ec767ce19aa1 +0 -0
  1311. data/test/dummy/tmp/cache/assets/D62/2E0/sprockets%2F51a06ddef9bd05b405fd605d37be3154 +0 -0
  1312. data/test/dummy/tmp/cache/assets/D62/360/sprockets%2F364ce454ad460a2f35a2a6d005cef6d9 +0 -0
  1313. data/test/dummy/tmp/cache/assets/D62/800/sprockets%2F71c1dbac74249cb8a1016f837d20ecd6 +0 -0
  1314. data/test/dummy/tmp/cache/assets/D62/DC0/sprockets%2Fdc85fe987fbe94ab12319de36595c989 +0 -0
  1315. data/test/dummy/tmp/cache/assets/D63/220/sprockets%2F01cf90c140b4202bfaf943c7fc9195ce +0 -0
  1316. data/test/dummy/tmp/cache/assets/D63/5F0/sprockets%2F22dfbdd7a227061033a9c7274eb4bf5f +0 -0
  1317. data/test/dummy/tmp/cache/assets/D63/860/sprockets%2Fbbb94522b6db1a4712fb253688cb1cf6 +0 -0
  1318. data/test/dummy/tmp/cache/assets/D63/B00/sprockets%2F2672399dfcdd2b6b61536cab3d800bc1 +0 -0
  1319. data/test/dummy/tmp/cache/assets/D63/B10/sprockets%2Fe2f21a7c531fd7cb11df1c49ce188700 +0 -0
  1320. data/test/dummy/tmp/cache/assets/D63/D60/sprockets%2Ff791df22a3d7e2f4ef01ad0742f370c1 +0 -0
  1321. data/test/dummy/tmp/cache/assets/D63/DC0/sprockets%2Fc298c2b66150c7f11d95cecf450bb14a +0 -0
  1322. data/test/dummy/tmp/cache/assets/D64/610/sprockets%2F1a8a491fb107450dd0eded47ee531c65 +0 -0
  1323. data/test/dummy/tmp/cache/assets/D64/670/sprockets%2F7dc8c0ad36d436eb56a0824a46e0eb08 +0 -0
  1324. data/test/dummy/tmp/cache/assets/D64/A40/sprockets%2Fe8352ebfe3812d5c5d0b023a6e5bc942 +0 -0
  1325. data/test/dummy/tmp/cache/assets/D64/B50/sprockets%2F7ac06eacb363b85744337c0ea88e2b0c +0 -0
  1326. data/test/dummy/tmp/cache/assets/D64/C90/sprockets%2F3cea20626bd7dac360f17597f0fc3d32 +0 -0
  1327. data/test/dummy/tmp/cache/assets/D65/110/sprockets%2F588eff440ed1b50144c701fddae3a581 +0 -0
  1328. data/test/dummy/tmp/cache/assets/D65/410/sprockets%2F71d5d01cc214fda7b974ef486a5a4b22 +0 -0
  1329. data/test/dummy/tmp/cache/assets/D65/990/sprockets%2Fa2965ca374a00aaceb747e60b654e2f8 +0 -0
  1330. data/test/dummy/tmp/cache/assets/D65/B00/sprockets%2Fc4b6f0f4ca6e391e2f2460c751cf4e21 +0 -0
  1331. data/test/dummy/tmp/cache/assets/D65/E30/sprockets%2F80131612ad6df6bada3d955f52d20ef8 +0 -0
  1332. data/test/dummy/tmp/cache/assets/D65/E40/sprockets%2F01eb4bea8b88a1f523ca292ec7355d44 +0 -0
  1333. data/test/dummy/tmp/cache/assets/D66/210/sprockets%2F1d508e76f533ec10d257bc7dcc8bc313 +0 -0
  1334. data/test/dummy/tmp/cache/assets/D66/6C0/sprockets%2F1b63a7f0e3fb2a7f3124f198d0ff462b +0 -0
  1335. data/test/dummy/tmp/cache/assets/D67/360/sprockets%2Fb360e4387be6ff22ec1281b1fed3b751 +0 -0
  1336. data/test/dummy/tmp/cache/assets/D67/760/sprockets%2F10fa2be053931aee797b2ff1296ac9b2 +0 -0
  1337. data/test/dummy/tmp/cache/assets/D67/8E0/sprockets%2Ffd0eaaf36da9805e6c4ec303534162f5 +0 -0
  1338. data/test/dummy/tmp/cache/assets/D67/920/sprockets%2Fb2da5357724d4735be0eb1a0d99ffe30 +0 -0
  1339. data/test/dummy/tmp/cache/assets/D67/A60/sprockets%2Faa00971b7f5d4b45eb77d656a284a5aa +0 -0
  1340. data/test/dummy/tmp/cache/assets/D67/B70/sprockets%2F93b435826e79fa4e5f6eaa001a7a11bf +0 -0
  1341. data/test/dummy/tmp/cache/assets/D68/0C0/sprockets%2F6c628ddf1ba5c680e04ad54a476f163b +0 -0
  1342. data/test/dummy/tmp/cache/assets/D68/210/sprockets%2Fdc284967860db06c2cb2e1da78bab156 +0 -0
  1343. data/test/dummy/tmp/cache/assets/D68/D60/sprockets%2F098cf98a00a3af19813b1d219f2aa9ed +0 -0
  1344. data/test/dummy/tmp/cache/assets/D69/1C0/sprockets%2Fa69eaac33161deb83611c5ce740ff772 +0 -0
  1345. data/test/dummy/tmp/cache/assets/D69/490/sprockets%2Fec6b9dc7d26370cb16e31c8f051e3e07 +0 -0
  1346. data/test/dummy/tmp/cache/assets/D69/910/sprockets%2F529fbdbb6c6b91114101cceac992638f +0 -0
  1347. data/test/dummy/tmp/cache/assets/D69/C10/sprockets%2Ff6e71ec4a507e10c41cc544f83ce375b +0 -0
  1348. data/test/dummy/tmp/cache/assets/D69/C80/sprockets%2F4ad3f74fe4008882cf2af03dbe2c5157 +0 -0
  1349. data/test/dummy/tmp/cache/assets/D69/DE0/sprockets%2F92cac6f053a26f5833510cc49a8b5ebe +0 -0
  1350. data/test/dummy/tmp/cache/assets/D69/E30/sprockets%2F05bb03be9b376bd73f6e0793fc6a5c30 +0 -0
  1351. data/test/dummy/tmp/cache/assets/D69/E70/sprockets%2Fda83e024ef0e845f27207dcc644b42ed +0 -0
  1352. data/test/dummy/tmp/cache/assets/D69/E80/sprockets%2Fb054b16b71e995aa3c4ec5d6af53a853 +0 -0
  1353. data/test/dummy/tmp/cache/assets/D69/F10/sprockets%2Ff34035624ea8bef910a3f3afdc9f0526 +0 -0
  1354. data/test/dummy/tmp/cache/assets/D6A/0C0/sprockets%2Fce3c49f0751b4d66dde421cdf934a143 +0 -0
  1355. data/test/dummy/tmp/cache/assets/D6A/2E0/sprockets%2Fc3a3a8e66c9b58b52b1db3ad754c9423 +0 -0
  1356. data/test/dummy/tmp/cache/assets/D6A/7A0/sprockets%2Fb9763eb93985c7ed8774a8276efe68af +0 -0
  1357. data/test/dummy/tmp/cache/assets/D6B/1D0/sprockets%2F3a74a98461df56d62f7dad00b1e7b35c +0 -0
  1358. data/test/dummy/tmp/cache/assets/D6B/200/sprockets%2F5d6139fdef36c3f5380b2a7c2c4fc332 +0 -0
  1359. data/test/dummy/tmp/cache/assets/D6B/850/sprockets%2F7e11ecd2d099e4109db4101f9a2ecd97 +0 -0
  1360. data/test/dummy/tmp/cache/assets/D6B/BA0/sprockets%2F8293eb343aead8dda54496532fb24fa1 +0 -0
  1361. data/test/dummy/tmp/cache/assets/D6C/290/sprockets%2F93d376366f86bcf201c0bc03ffb19df2 +0 -0
  1362. data/test/dummy/tmp/cache/assets/D6C/410/sprockets%2F5e657daa9dd7594a0ea21120584fd7cb +0 -0
  1363. data/test/dummy/tmp/cache/assets/D6C/AD0/sprockets%2Fdabce05f6e4419832e20d6b7420fe9a7 +0 -0
  1364. data/test/dummy/tmp/cache/assets/D6D/080/sprockets%2F3cc7b7355591babda1661e6c5e9f8c20 +0 -0
  1365. data/test/dummy/tmp/cache/assets/D6D/0F0/sprockets%2Fd708026e8f50e44298c6aefb5ce31a0e +0 -0
  1366. data/test/dummy/tmp/cache/assets/D6D/300/sprockets%2F3d773a568581711fe14bdb4dbbb4dc49 +0 -0
  1367. data/test/dummy/tmp/cache/assets/D6D/570/sprockets%2Fa5fcc303c8544736ee76ef1a3b0c7b93 +0 -0
  1368. data/test/dummy/tmp/cache/assets/D6D/640/sprockets%2F3fbad42b446e631f6a9d574e2946aaf0 +0 -0
  1369. data/test/dummy/tmp/cache/assets/D6D/7A0/sprockets%2Fff4be901f55528b85b2b1fc73ebc4352 +0 -0
  1370. data/test/dummy/tmp/cache/assets/D6D/CF0/sprockets%2Fbbad825b6b477d1967533ee21c454ade +0 -0
  1371. data/test/dummy/tmp/cache/assets/D6D/DF0/sprockets%2F395395c75fd86ea2c57e15c3ffaba000 +0 -0
  1372. data/test/dummy/tmp/cache/assets/D6D/E80/sprockets%2F9ef00ee94e3b0eed7c4e45b342085d51 +0 -0
  1373. data/test/dummy/tmp/cache/assets/D6D/FF0/sprockets%2F4265ef4aff8212bda7dd9ba6b1653284 +0 -0
  1374. data/test/dummy/tmp/cache/assets/D6E/230/sprockets%2F057c37a11c8bee66c054e4fe181f3df6 +0 -0
  1375. data/test/dummy/tmp/cache/assets/D6E/3A0/sprockets%2F8b8a072633608ff65adcdf071b3aec76 +0 -0
  1376. data/test/dummy/tmp/cache/assets/D6E/570/sprockets%2F83429d8fdebcb1c467055e4515aa4b8c +0 -0
  1377. data/test/dummy/tmp/cache/assets/D6E/830/sprockets%2F4c3705df442d9dcf753b3c4b359c3c4c +0 -0
  1378. data/test/dummy/tmp/cache/assets/D6E/940/sprockets%2Fb19f43bd8383eeb5e26a4d2b79f1240e +0 -0
  1379. data/test/dummy/tmp/cache/assets/D6E/9F0/sprockets%2F15f61ad82d9ca6cce6a0e42b7249662f +0 -0
  1380. data/test/dummy/tmp/cache/assets/D6E/B00/sprockets%2Fb3e0044ac96eca090d459eea85cd8680 +0 -0
  1381. data/test/dummy/tmp/cache/assets/D6E/EE0/sprockets%2Fd74ff02ca9ebc91612c336ea92bb8096 +0 -0
  1382. data/test/dummy/tmp/cache/assets/D6E/EE0/sprockets%2Fe381a6c6c4ce14ce721f9ed50491db91 +0 -0
  1383. data/test/dummy/tmp/cache/assets/D6F/080/sprockets%2Faa47fdc53e5256226a127c75d8b9ad8b +0 -0
  1384. data/test/dummy/tmp/cache/assets/D6F/350/sprockets%2Fb7e20405a742f5f2b57fbbdbe844e179 +0 -0
  1385. data/test/dummy/tmp/cache/assets/D6F/AB0/sprockets%2Fb9d2a198d05cec1f1f9e110318cdf929 +0 -0
  1386. data/test/dummy/tmp/cache/assets/D70/150/sprockets%2Ff132877e030f4c6de05e83ebc4e65ba8 +0 -0
  1387. data/test/dummy/tmp/cache/assets/D70/B90/sprockets%2F691f0ce139f58f0c0c4a346be78a5c7b +0 -0
  1388. data/test/dummy/tmp/cache/assets/D70/BB0/sprockets%2F8a4ded28a32451b53f5cdd24758dd49a +0 -0
  1389. data/test/dummy/tmp/cache/assets/D70/C50/sprockets%2F6f8e7965bc7a900a21de2b2ed212fa99 +0 -0
  1390. data/test/dummy/tmp/cache/assets/D70/D10/sprockets%2Fc86c50cd9c7036f1da61c695b2e5c5c5 +0 -0
  1391. data/test/dummy/tmp/cache/assets/D70/D20/sprockets%2Fee58c6385d12ad1d59fae4c15604e6c4 +0 -0
  1392. data/test/dummy/tmp/cache/assets/D70/F10/sprockets%2Fa842cc70f54f2d74026c40978f7cecba +0 -0
  1393. data/test/dummy/tmp/cache/assets/D71/880/sprockets%2F93d1b5a9e73373de5c2183af65af6c5a +0 -0
  1394. data/test/dummy/tmp/cache/assets/D71/B90/sprockets%2F2ac87363cced8bcdb82f7a68a3942180 +0 -0
  1395. data/test/dummy/tmp/cache/assets/D71/CA0/sprockets%2F441e444a0921896e5ca39df6bba85daf +0 -0
  1396. data/test/dummy/tmp/cache/assets/D71/D20/sprockets%2F44fa6852eb45bdd4eeb672581afd4173 +0 -0
  1397. data/test/dummy/tmp/cache/assets/D71/D90/sprockets%2Fc1be07b5ef6dcb248f27302983e3da78 +0 -0
  1398. data/test/dummy/tmp/cache/assets/D71/EC0/sprockets%2Facdc138964872d68f28fcc8a19011abd +0 -0
  1399. data/test/dummy/tmp/cache/assets/D72/BF0/sprockets%2F9c42957dbb26c564074c2cdeca8a537e +0 -0
  1400. data/test/dummy/tmp/cache/assets/D72/C00/sprockets%2Fbcb0957c48f5623c9cd792f05cb0f40f +0 -0
  1401. data/test/dummy/tmp/cache/assets/D72/EF0/sprockets%2Fdf9869aee534851f6ed0fe330c00a38b +0 -0
  1402. data/test/dummy/tmp/cache/assets/D72/F50/sprockets%2F2c7eb7f81480d2ab9d809d049551cdcd +0 -0
  1403. data/test/dummy/tmp/cache/assets/D73/3F0/sprockets%2F09b4a9c1131740eba5d85fcf9c86b97a +0 -0
  1404. data/test/dummy/tmp/cache/assets/D73/500/sprockets%2F6bad7e877c436a3771db01b2a5fe6e59 +0 -0
  1405. data/test/dummy/tmp/cache/assets/D73/6E0/sprockets%2F1f4defb0e469096950900f0ad9c3fde4 +0 -0
  1406. data/test/dummy/tmp/cache/assets/D73/E20/sprockets%2F0376b58bf7bb3811f0e3a657acfba998 +0 -0
  1407. data/test/dummy/tmp/cache/assets/D74/DD0/sprockets%2Fc48e8b854fb60fa9959ceaca2700372b +0 -0
  1408. data/test/dummy/tmp/cache/assets/D75/6B0/sprockets%2Fec34bca59e6bb0e4ab0ef45953657992 +0 -0
  1409. data/test/dummy/tmp/cache/assets/D75/9E0/sprockets%2F9f9fc7d65b86108de260fe6a4145dac0 +0 -0
  1410. data/test/dummy/tmp/cache/assets/D75/B10/sprockets%2Fc260cb3f8f1a73334f57dd597e607bde +0 -0
  1411. data/test/dummy/tmp/cache/assets/D76/030/sprockets%2F7e8689ec6a9f3754a4aa660e303cbf4a +0 -0
  1412. data/test/dummy/tmp/cache/assets/D76/6D0/sprockets%2Fb26b1af7ea60d9acee387283707b5d88 +0 -0
  1413. data/test/dummy/tmp/cache/assets/D76/730/sprockets%2F50d9b58bb4b354677b4bd666ea5d74af +0 -0
  1414. data/test/dummy/tmp/cache/assets/D76/780/sprockets%2F409d92c3dab990d5815f39abdd2a9d65 +0 -0
  1415. data/test/dummy/tmp/cache/assets/D76/C80/sprockets%2F952307811ad5e9e8b540cf5e9cf08cea +0 -0
  1416. data/test/dummy/tmp/cache/assets/D76/CA0/sprockets%2F797920cdabaf2f8431968a34c2cbae79 +0 -0
  1417. data/test/dummy/tmp/cache/assets/D77/450/sprockets%2F736531ff578221daef7a2954eeccd8b3 +0 -0
  1418. data/test/dummy/tmp/cache/assets/D77/7E0/sprockets%2F4c9f2e2409700f1a1df69b32cff97dc9 +0 -0
  1419. data/test/dummy/tmp/cache/assets/D77/D30/sprockets%2Fabfa0603f55587e8c325e7d76c61dbe8 +0 -0
  1420. data/test/dummy/tmp/cache/assets/D77/FF0/sprockets%2F126c2e2ca6f5e8477c9525f46cdba7d5 +0 -0
  1421. data/test/dummy/tmp/cache/assets/D78/3F0/sprockets%2Fec9426b87dd0ce712959ad243d5eae38 +0 -0
  1422. data/test/dummy/tmp/cache/assets/D78/910/sprockets%2Fe87c3fc1c7f5b632bd6bc1785c56762c +0 -0
  1423. data/test/dummy/tmp/cache/assets/D78/D60/sprockets%2Feb6b4ca6b29b6f82ea665a74e67d8621 +0 -0
  1424. data/test/dummy/tmp/cache/assets/D78/DE0/sprockets%2F77704150a5a59b97997ebeeaa8d2aed2 +0 -0
  1425. data/test/dummy/tmp/cache/assets/D78/F50/sprockets%2F8cf8a8daeffdd217346b122e60b75759 +0 -0
  1426. data/test/dummy/tmp/cache/assets/D79/2F0/sprockets%2F4b9fd617fe0d6c7e5eb934a139507e3d +0 -0
  1427. data/test/dummy/tmp/cache/assets/D79/4D0/sprockets%2Fd9478c98121c5a4bfccf42c262d587fc +0 -0
  1428. data/test/dummy/tmp/cache/assets/D79/6B0/sprockets%2F3e47463ed984d55383d5ad268ca2addf +0 -0
  1429. data/test/dummy/tmp/cache/assets/D79/E80/sprockets%2F7d329345d1b9f914c87fc5e07ea9ab4b +0 -0
  1430. data/test/dummy/tmp/cache/assets/D7A/5C0/sprockets%2F6e2b202ee971a68c1e78eddf5658e53a +0 -0
  1431. data/test/dummy/tmp/cache/assets/D7A/D90/sprockets%2F5e731a54c86bfbaa18ba9e489178cf64 +0 -0
  1432. data/test/dummy/tmp/cache/assets/D7A/DC0/sprockets%2F9ecf82daa3876e1b15d3e3d89bc57813 +0 -0
  1433. data/test/dummy/tmp/cache/assets/D7A/FB0/sprockets%2F9e8fb3308fa9954235fee90380a1cded +0 -0
  1434. data/test/dummy/tmp/cache/assets/D7A/FC0/sprockets%2F3499c1cfa7502cc18809c9a562f4fdef +0 -0
  1435. data/test/dummy/tmp/cache/assets/D7B/070/sprockets%2F4468eeb1e7c877e0606fb6eb905bee16 +0 -0
  1436. data/test/dummy/tmp/cache/assets/D7B/620/sprockets%2F14de8cc7400d883c7df99aff9611fe02 +0 -0
  1437. data/test/dummy/tmp/cache/assets/D7B/B80/sprockets%2Ffe86b74dfdb9aa20f54329927f8f143a +0 -0
  1438. data/test/dummy/tmp/cache/assets/D7C/160/sprockets%2F6847e66cdafb094701f479a515ede5dd +0 -0
  1439. data/test/dummy/tmp/cache/assets/D7C/5C0/sprockets%2F8642e4dd80f0d9dd3ae49d9b37c4e706 +0 -0
  1440. data/test/dummy/tmp/cache/assets/D7C/620/sprockets%2Fa30b274099bbe2af59458e9f9e4d36fa +0 -0
  1441. data/test/dummy/tmp/cache/assets/D7C/750/sprockets%2F1f76d236fdf42a817bd84da719fde069 +0 -0
  1442. data/test/dummy/tmp/cache/assets/D7C/DF0/sprockets%2F916ee180cc9c6793b61f4f38abf45d6b +0 -0
  1443. data/test/dummy/tmp/cache/assets/D7C/F20/sprockets%2Fe675600f24e07aaf7b78cd7496b91fec +0 -0
  1444. data/test/dummy/tmp/cache/assets/D7E/1F0/sprockets%2Fb4b34372e8c99c986c7e8d710ef24cbb +0 -0
  1445. data/test/dummy/tmp/cache/assets/D7E/2A0/sprockets%2F1ce479f9423e748690a75abbabf8af84 +0 -0
  1446. data/test/dummy/tmp/cache/assets/D7E/480/sprockets%2F3e9652479d8cb3fc7227f03de632eeee +0 -0
  1447. data/test/dummy/tmp/cache/assets/D7E/920/sprockets%2Fbfbfce52970999ba5bc79cc70218916c +0 -0
  1448. data/test/dummy/tmp/cache/assets/D7E/CB0/sprockets%2Ffae2ff13071d0b5063e3bf4d00d2db04 +0 -0
  1449. data/test/dummy/tmp/cache/assets/D7E/FE0/sprockets%2Fcac370012fc5144c83bcf80d37b0ada0 +0 -0
  1450. data/test/dummy/tmp/cache/assets/D7F/1C0/sprockets%2F658bd54189f72edf43e1ba9cec37817c +0 -0
  1451. data/test/dummy/tmp/cache/assets/D7F/A60/sprockets%2F5c683951503f673cceffa6ba76f38b8d +0 -0
  1452. data/test/dummy/tmp/cache/assets/D80/020/sprockets%2Fe3517236fac013b096bd42c0acbcba91 +0 -0
  1453. data/test/dummy/tmp/cache/assets/D80/3B0/sprockets%2Fd574f0ceb59e292506dc7dc2f99d6b91 +0 -0
  1454. data/test/dummy/tmp/cache/assets/D80/490/sprockets%2F99f1cc7f18865312d1943fb46fffcc4c +0 -0
  1455. data/test/dummy/tmp/cache/assets/D80/770/sprockets%2F3e4ca52a2c3b1a5ac850ae1f180b4a94 +0 -0
  1456. data/test/dummy/tmp/cache/assets/D80/7A0/sprockets%2F4c2538f2ec0fcaa779ee881689ae3f35 +0 -0
  1457. data/test/dummy/tmp/cache/assets/D81/120/sprockets%2F75c7f18e61fa042b776ce2e5c3ff786f +0 -0
  1458. data/test/dummy/tmp/cache/assets/D81/680/sprockets%2Fbaa3df21aa283f51ad4662cd37226bb0 +0 -0
  1459. data/test/dummy/tmp/cache/assets/D81/B70/sprockets%2F44d160a7cd56a4d4b2e0d23a9c61aab1 +0 -0
  1460. data/test/dummy/tmp/cache/assets/D82/DC0/sprockets%2Fc274a32adcc9701740770ba90eb0abcb +0 -0
  1461. data/test/dummy/tmp/cache/assets/D83/210/sprockets%2Fa34a70ab6d47544d852ba0a40bd17dcb +0 -0
  1462. data/test/dummy/tmp/cache/assets/D83/F00/sprockets%2F32d5e28784379bb8cb47d9a3f8d27efa +0 -0
  1463. data/test/dummy/tmp/cache/assets/D84/0A0/sprockets%2F07fc0bfe2237a171b813aa147f3ced1a +0 -0
  1464. data/test/dummy/tmp/cache/assets/D84/1D0/sprockets%2F7c38669b45df4ddd2877c8da036b9c5e +0 -0
  1465. data/test/dummy/tmp/cache/assets/D85/050/sprockets%2Fa9b35663e7dc78eacde8d84ae3599163 +0 -0
  1466. data/test/dummy/tmp/cache/assets/D85/5A0/sprockets%2Fc2cbee1b5160e0e8b022933feb36ea30 +0 -0
  1467. data/test/dummy/tmp/cache/assets/D85/F20/sprockets%2F0a8cd63ad106a035ab2520df77a67add +0 -0
  1468. data/test/dummy/tmp/cache/assets/D86/7D0/sprockets%2Fe011a4ff534e607dead6d32fb2b0e141 +0 -0
  1469. data/test/dummy/tmp/cache/assets/D87/6D0/sprockets%2F51df69aad9a6f892254deb9d4c1992f8 +0 -0
  1470. data/test/dummy/tmp/cache/assets/D88/1B0/sprockets%2Fb5bb04fc812b607ce046a4b702be4c4f +0 -0
  1471. data/test/dummy/tmp/cache/assets/D88/3A0/sprockets%2F0b5fb77a9bfae45c35513bd100f2bc42 +0 -0
  1472. data/test/dummy/tmp/cache/assets/D88/700/sprockets%2F1f841bec6ffbe3858ce97e8191cf1739 +0 -0
  1473. data/test/dummy/tmp/cache/assets/D88/7E0/sprockets%2Fe9fedb2c5be893a15939dc65f684196b +0 -0
  1474. data/test/dummy/tmp/cache/assets/D8A/2C0/sprockets%2F6ec8da0142f240ce8a7e0b46aea363c1 +0 -0
  1475. data/test/dummy/tmp/cache/assets/D8A/370/sprockets%2Fb4600d72a29aba7a39c2ec58aa04f18b +0 -0
  1476. data/test/dummy/tmp/cache/assets/D8A/B90/sprockets%2F7506f75d60f93f9e8405ffb9cf85ddb2 +0 -0
  1477. data/test/dummy/tmp/cache/assets/D8A/BF0/sprockets%2F1967ce66d464496a6fab44ff8be55ef6 +0 -0
  1478. data/test/dummy/tmp/cache/assets/D8B/1B0/sprockets%2F199c350fee84b99097d56d624fded9db +0 -0
  1479. data/test/dummy/tmp/cache/assets/D8B/9B0/sprockets%2Ff74a2c4bb31c0925db6d4b0c5c13b75f +0 -0
  1480. data/test/dummy/tmp/cache/assets/D8C/760/sprockets%2Faa95031d02a72c4fea9fa62d5e05a2c8 +0 -0
  1481. data/test/dummy/tmp/cache/assets/D8C/9C0/sprockets%2F2e7c2cd86215800a37c4d4b1bf0bea5f +0 -0
  1482. data/test/dummy/tmp/cache/assets/D8C/D70/sprockets%2Fbdc87db6b545c8e89517be39d5b987d4 +0 -0
  1483. data/test/dummy/tmp/cache/assets/D8D/920/sprockets%2F40fcb20a15f6e3b5a26f9c1caa7e4229 +0 -0
  1484. data/test/dummy/tmp/cache/assets/D8D/B00/sprockets%2Fccae2730d232ca6d8f084c6c83a2dc50 +0 -0
  1485. data/test/dummy/tmp/cache/assets/D8D/C50/sprockets%2Fa0229d30e2113dbf6d3cd51c5e82ee6c +0 -0
  1486. data/test/dummy/tmp/cache/assets/D8E/3A0/sprockets%2Fd6744ef797ced49053db5c689e6b6f5c +0 -0
  1487. data/test/dummy/tmp/cache/assets/D8E/3E0/sprockets%2Faad382035de6adc39561143db7ba61de +0 -0
  1488. data/test/dummy/tmp/cache/assets/D8E/620/sprockets%2F3a32d43aefc5fa8f30af127b575250fa +0 -0
  1489. data/test/dummy/tmp/cache/assets/D8E/7B0/sprockets%2Fbc144de190faef75764a7badce006221 +0 -0
  1490. data/test/dummy/tmp/cache/assets/D8E/910/sprockets%2Fbbf8e4c05ca721c1cd18c17902256ade +0 -0
  1491. data/test/dummy/tmp/cache/assets/D8E/BF0/sprockets%2F48285c5acfe821822bac11d2fa01eed5 +0 -0
  1492. data/test/dummy/tmp/cache/assets/D8F/0A0/sprockets%2F77bfe7621130f0aedcdd12463eb019ce +0 -0
  1493. data/test/dummy/tmp/cache/assets/D8F/0C0/sprockets%2F35f9cb9a59df8869946829bcaa5ed1f4 +0 -0
  1494. data/test/dummy/tmp/cache/assets/D8F/4A0/sprockets%2Fec8facf81aea15d619953688978be79c +0 -0
  1495. data/test/dummy/tmp/cache/assets/D8F/560/sprockets%2Fc5c9ab0df2af9ce334428171ea41e13c +0 -0
  1496. data/test/dummy/tmp/cache/assets/D8F/570/sprockets%2F5cc898d5ed594786c7bc9a16f4d80d8d +0 -0
  1497. data/test/dummy/tmp/cache/assets/D8F/8A0/sprockets%2F5dfeb1f78f62586e3d97cb9e77758da0 +0 -0
  1498. data/test/dummy/tmp/cache/assets/D8F/C40/sprockets%2Fa76260381aff4aa0c8beea0404e95de2 +0 -0
  1499. data/test/dummy/tmp/cache/assets/D8F/FD0/sprockets%2F9a0c31b639daef509bbd370b4c9c33a2 +0 -0
  1500. data/test/dummy/tmp/cache/assets/D90/250/sprockets%2Fb3c1e05a514497c9a4f21afd92bdb16c +0 -0
  1501. data/test/dummy/tmp/cache/assets/D90/2D0/sprockets%2Fac8aa858f328c72e90dff5de97c59939 +0 -0
  1502. data/test/dummy/tmp/cache/assets/D91/6D0/sprockets%2Fba1b4327fa6a3b7b0c109974be38fca6 +0 -0
  1503. data/test/dummy/tmp/cache/assets/D91/E40/sprockets%2F6de404dc6bf82a712c0aa27fa7e1c780 +0 -0
  1504. data/test/dummy/tmp/cache/assets/D92/4A0/sprockets%2F3debefba0ccc221519757a1b9d1626a9 +0 -0
  1505. data/test/dummy/tmp/cache/assets/D92/940/sprockets%2Fa0318ca38842bddfaa28d2e05e429b9a +0 -0
  1506. data/test/dummy/tmp/cache/assets/D93/0F0/sprockets%2Fbae826e41e4d9c8365bc23eb610dea40 +0 -0
  1507. data/test/dummy/tmp/cache/assets/D93/2D0/sprockets%2F5dbb88793dba1bd62e601518a3a0ef5b +0 -0
  1508. data/test/dummy/tmp/cache/assets/D93/3B0/sprockets%2Fd0fb3bdcf317425a433a125c986b3dff +0 -0
  1509. data/test/dummy/tmp/cache/assets/D93/6F0/sprockets%2F77a6fdd2f442ad10ba0965ba1d3825fe +0 -0
  1510. data/test/dummy/tmp/cache/assets/D94/1A0/sprockets%2Fb4748c092e8a4c127bcfacb06cdc2735 +0 -0
  1511. data/test/dummy/tmp/cache/assets/D94/340/sprockets%2F2b4c67bcb0eeb242f0fe549f160b93a6 +0 -0
  1512. data/test/dummy/tmp/cache/assets/D94/D60/sprockets%2F5a0610c5e0dccce88e9a265b338ad0e6 +0 -0
  1513. data/test/dummy/tmp/cache/assets/D95/430/sprockets%2Fcf054ac65aa2c4b72d661fc32c898aa5 +0 -0
  1514. data/test/dummy/tmp/cache/assets/D95/7D0/sprockets%2F4183fb1fe706b4da17aac32b9529f3dc +0 -0
  1515. data/test/dummy/tmp/cache/assets/D95/A60/sprockets%2Fcade84652b25a95128cba5721b7bdb5e +0 -0
  1516. data/test/dummy/tmp/cache/assets/D95/D80/sprockets%2Fa6f6a003a0dcffb962626bc8f0c9472a +0 -0
  1517. data/test/dummy/tmp/cache/assets/D95/F00/sprockets%2F52867ee787fbdbff77f7488757dcb4d0 +0 -0
  1518. data/test/dummy/tmp/cache/assets/D96/7F0/sprockets%2F94770fcba2138db68f5731401cfadfaa +0 -0
  1519. data/test/dummy/tmp/cache/assets/D96/860/sprockets%2F4cf2bbf4cc9a137c11a688e3be3304d9 +0 -0
  1520. data/test/dummy/tmp/cache/assets/D96/C10/sprockets%2F620f6865aeb0de3c5cf8b305b13c7cb7 +0 -0
  1521. data/test/dummy/tmp/cache/assets/D96/CD0/sprockets%2Fccd138f1e601b65cd9036acff33656bb +0 -0
  1522. data/test/dummy/tmp/cache/assets/D97/2B0/sprockets%2F16a899a4b20af5f53cdd2870e1b0aed8 +0 -0
  1523. data/test/dummy/tmp/cache/assets/D97/4C0/sprockets%2F4d4aea86610bc9652c70455a6beafc4d +0 -0
  1524. data/test/dummy/tmp/cache/assets/D97/680/sprockets%2Fbcae9b5fae1163de31141bd7b94c7448 +0 -0
  1525. data/test/dummy/tmp/cache/assets/D98/1C0/sprockets%2F913efc21f3e14eb091215dbcd8ce828c +0 -0
  1526. data/test/dummy/tmp/cache/assets/D98/C70/sprockets%2Fcc07aad0b8893f828d852702aefcb2a3 +0 -0
  1527. data/test/dummy/tmp/cache/assets/D99/1B0/sprockets%2Fa9a048c3ff2aa66b848b6f26fc3ad115 +0 -0
  1528. data/test/dummy/tmp/cache/assets/D99/330/sprockets%2Ff01679ca9c88dd0a3eb6922b0b8f3bc0 +0 -0
  1529. data/test/dummy/tmp/cache/assets/D99/350/sprockets%2Fcb131a36809adce854add7d63e24d4a9 +0 -0
  1530. data/test/dummy/tmp/cache/assets/D99/C00/sprockets%2F0a5bfe4d93be7cca095d39aa4282d823 +0 -0
  1531. data/test/dummy/tmp/cache/assets/D99/CD0/sprockets%2Ffe0c5f4b8b52baa0f91870da12599a6d +0 -0
  1532. data/test/dummy/tmp/cache/assets/D99/DA0/sprockets%2F9b0c29e7e04a68212d8b5a18cea09ccf +0 -0
  1533. data/test/dummy/tmp/cache/assets/D9A/3A0/sprockets%2F8ff29ad200821eda99b44dc1f6d4bb07 +0 -0
  1534. data/test/dummy/tmp/cache/assets/D9A/A60/sprockets%2Fe9a83c04000c16f637df1fcc42fc75fe +0 -0
  1535. data/test/dummy/tmp/cache/assets/D9A/B20/sprockets%2Fcabbfbb982365500b12a89e74dfcb646 +0 -0
  1536. data/test/dummy/tmp/cache/assets/D9A/C60/sprockets%2Fed48e38b0d8bb6771b5dab8ca01b5394 +0 -0
  1537. data/test/dummy/tmp/cache/assets/D9A/CD0/sprockets%2F34197f2ea0ef70be8dbf5d06ebb23383 +0 -0
  1538. data/test/dummy/tmp/cache/assets/D9A/EB0/sprockets%2Ff1c3e9de535db0bc37661cdb8a6531d6 +0 -0
  1539. data/test/dummy/tmp/cache/assets/D9B/320/sprockets%2F8eab74b32567819bb7b0a1dc86ca44de +0 -0
  1540. data/test/dummy/tmp/cache/assets/D9B/6B0/sprockets%2Ffd3ec162a92d864e65f1b7ea48a4fa10 +0 -0
  1541. data/test/dummy/tmp/cache/assets/D9B/A20/sprockets%2Ffba9bbd836c523d5d213b78271eecd26 +0 -0
  1542. data/test/dummy/tmp/cache/assets/D9C/EA0/sprockets%2F48030f8791336eebb5b82feae03cdaf5 +0 -0
  1543. data/test/dummy/tmp/cache/assets/D9C/F00/sprockets%2Fc8555aabcf9d0b4294a04a771cb8d6d7 +0 -0
  1544. data/test/dummy/tmp/cache/assets/D9D/170/sprockets%2F37f702f1f3ad35b9022fc87fdce7de02 +0 -0
  1545. data/test/dummy/tmp/cache/assets/D9D/270/sprockets%2Fd46b30b7f25ca462cf19febb667c74e0 +0 -0
  1546. data/test/dummy/tmp/cache/assets/D9D/430/sprockets%2F41f9ffe403aca5202a7cbd6ad59954b9 +0 -0
  1547. data/test/dummy/tmp/cache/assets/D9D/5F0/sprockets%2Fbed736ea3de46fcc882a220801b6d9e4 +0 -0
  1548. data/test/dummy/tmp/cache/assets/D9E/1D0/sprockets%2F560a59af8d73b324fe2eca817c8a1fd3 +0 -0
  1549. data/test/dummy/tmp/cache/assets/D9E/C90/sprockets%2F9cd75b38f1c1f85bbdac2576ca9106b5 +0 -0
  1550. data/test/dummy/tmp/cache/assets/D9F/200/sprockets%2F22deb3ee0d99f7b2b283df5382e1ae81 +0 -0
  1551. data/test/dummy/tmp/cache/assets/D9F/3D0/sprockets%2Fc85d1920bbf4d6f3b27723fcd2fb7c55 +0 -0
  1552. data/test/dummy/tmp/cache/assets/D9F/6B0/sprockets%2F99e382158c248d70b4aebaeeab09d2e5 +0 -0
  1553. data/test/dummy/tmp/cache/assets/D9F/6F0/sprockets%2Fff261c15e6b97bf57e372f0de1ad571a +0 -0
  1554. data/test/dummy/tmp/cache/assets/D9F/7F0/sprockets%2Fd8fd738fc116ab5c8da0e4922cfb8180 +0 -0
  1555. data/test/dummy/tmp/cache/assets/D9F/FA0/sprockets%2Fe80956d9b1da8e7b1d82c2fa3b822ba8 +0 -0
  1556. data/test/dummy/tmp/cache/assets/DA0/1B0/sprockets%2F71e2cd8803aac9fb0bb4c47593cf17e8 +0 -0
  1557. data/test/dummy/tmp/cache/assets/DA0/600/sprockets%2F60bc139d8389408cd32adf4b0c5ffec7 +0 -0
  1558. data/test/dummy/tmp/cache/assets/DA0/9E0/sprockets%2F3d630a0f15dbca7ec3147399f7cc8fe4 +0 -0
  1559. data/test/dummy/tmp/cache/assets/DA1/530/sprockets%2F88a8bb9debb752ba06f07909db83e02d +0 -0
  1560. data/test/dummy/tmp/cache/assets/DA1/5D0/sprockets%2F5b78aef3109b5cc056d7457aa6c7f6ad +0 -0
  1561. data/test/dummy/tmp/cache/assets/DA1/670/sprockets%2Fabaa4bc9bf51726806c4673ed4b939dd +0 -0
  1562. data/test/dummy/tmp/cache/assets/DA1/710/sprockets%2Fcc28e7b96a94b2a571877b147fdecaa0 +0 -0
  1563. data/test/dummy/tmp/cache/assets/DA1/BF0/sprockets%2F17ae9d33d63c8600604fbec6d6eae96b +0 -0
  1564. data/test/dummy/tmp/cache/assets/DA1/F70/sprockets%2F3c4fc2ac1fcbca813776da7660f86f19 +0 -0
  1565. data/test/dummy/tmp/cache/assets/DA2/3D0/sprockets%2Fcf6daa7def3281188f60370190f6bfec +0 -0
  1566. data/test/dummy/tmp/cache/assets/DA2/9A0/sprockets%2F4bd1c9899ece1257adec0c553fc087b2 +0 -0
  1567. data/test/dummy/tmp/cache/assets/DA3/270/sprockets%2F44364fac7f6bd98fd42fc4252a0b68fa +0 -0
  1568. data/test/dummy/tmp/cache/assets/DA3/740/sprockets%2Fb0bbb3b4ab86b899a7578bdb35c66b93 +0 -0
  1569. data/test/dummy/tmp/cache/assets/DA3/980/sprockets%2Ff6b3f1c981ff90a9b7fa18b6c9061aa5 +0 -0
  1570. data/test/dummy/tmp/cache/assets/DA3/9F0/sprockets%2F5122955dfe6694bdc6b69cbea09d2cd1 +0 -0
  1571. data/test/dummy/tmp/cache/assets/DA3/DD0/sprockets%2Fe3beaef44fde6b7914027ace8284e254 +0 -0
  1572. data/test/dummy/tmp/cache/assets/DA4/2E0/sprockets%2F5a95962d5fe7bd801f6fdc2cb8608a0b +0 -0
  1573. data/test/dummy/tmp/cache/assets/DA4/450/sprockets%2F6f2bd50f9f1551ed8e00fd8b84f37c2c +0 -0
  1574. data/test/dummy/tmp/cache/assets/DA4/500/sprockets%2F91f01cc671b5bf8beab57bf9a07877a6 +0 -0
  1575. data/test/dummy/tmp/cache/assets/DA4/690/sprockets%2Fcf5ce84a4b7e3ac86923fa04f0f95b45 +0 -0
  1576. data/test/dummy/tmp/cache/assets/DA4/6B0/sprockets%2F76963040dbedfa3ae66bb7b68e290e5e +0 -0
  1577. data/test/dummy/tmp/cache/assets/DA4/A50/sprockets%2F5ccc3cb812b94b7b60841969a9ecbe7b +0 -0
  1578. data/test/dummy/tmp/cache/assets/DA4/B00/sprockets%2F34dacf66a509b781f91ffadf318f72d0 +0 -0
  1579. data/test/dummy/tmp/cache/assets/DA5/0E0/sprockets%2Fe61590dc98f1e532ea20e296c5fce7bd +0 -0
  1580. data/test/dummy/tmp/cache/assets/DA5/230/sprockets%2F2f7bd17dfa7af33d7decb98d54600817 +0 -0
  1581. data/test/dummy/tmp/cache/assets/DA5/600/sprockets%2Ff1ec238bda818f0f26645adeed808e46 +0 -0
  1582. data/test/dummy/tmp/cache/assets/DA5/830/sprockets%2Fefce0b2d75e80d1d17b6db8598841ed2 +0 -0
  1583. data/test/dummy/tmp/cache/assets/DA5/920/sprockets%2F17fef15ed3d8c1147570663a93efedea +0 -0
  1584. data/test/dummy/tmp/cache/assets/DA5/AC0/sprockets%2Fa86f78f952d2c15bcd9304cce3169dda +0 -0
  1585. data/test/dummy/tmp/cache/assets/DA5/DE0/sprockets%2F1db1a28dc497e292c67e517bbbf9cc66 +0 -0
  1586. data/test/dummy/tmp/cache/assets/DA6/420/sprockets%2F27f13ec97d9f72f8f4c0dba16ac66a09 +0 -0
  1587. data/test/dummy/tmp/cache/assets/DA6/CD0/sprockets%2Fc70b7f4eecae952495d975f1d931bca1 +0 -0
  1588. data/test/dummy/tmp/cache/assets/DA7/010/sprockets%2F26bd9368e57b2fcfeeb0e7b334a8c717 +0 -0
  1589. data/test/dummy/tmp/cache/assets/DA8/070/sprockets%2F296661df51c2ff0feab92f6e2e4915ed +0 -0
  1590. data/test/dummy/tmp/cache/assets/DA9/140/sprockets%2F5bb8a68c0d5973f04871bd6f9d15edea +0 -0
  1591. data/test/dummy/tmp/cache/assets/DA9/3F0/sprockets%2Fa1397cdaec7c429992cd36f0ea7865cb +0 -0
  1592. data/test/dummy/tmp/cache/assets/DA9/780/sprockets%2F673abfc38f421c994b19c6784bcfaaf5 +0 -0
  1593. data/test/dummy/tmp/cache/assets/DA9/C20/sprockets%2Ff74b8a618cb8cfe2f5b92964b5f622ab +0 -0
  1594. data/test/dummy/tmp/cache/assets/DAA/010/sprockets%2Fa9e3589f157d67a2109a09ce9cbbedc7 +0 -0
  1595. data/test/dummy/tmp/cache/assets/DAA/420/sprockets%2F6779ef7b8e5c2c362cfd5d5fa472e1b1 +0 -0
  1596. data/test/dummy/tmp/cache/assets/DAA/430/sprockets%2Fa7e693e8bff8091ac1765aeee32f607c +0 -0
  1597. data/test/dummy/tmp/cache/assets/DAB/300/sprockets%2F5ef1bc4a2f2ad76ca42d031263ad10da +0 -0
  1598. data/test/dummy/tmp/cache/assets/DAB/920/sprockets%2F047a9da6b427dd9d7093799fad63aceb +0 -0
  1599. data/test/dummy/tmp/cache/assets/DAB/B00/sprockets%2F5286678a74e7bcc66e0d3c7c7d2db5fb +0 -0
  1600. data/test/dummy/tmp/cache/assets/DAB/C10/sprockets%2F7b9f07636a7384e6fe0c4dcf0ef2b8e4 +0 -0
  1601. data/test/dummy/tmp/cache/assets/DAB/E70/sprockets%2F6ae05914a60e6c756a6df3be72f88edf +0 -0
  1602. data/test/dummy/tmp/cache/assets/DAB/F50/sprockets%2F18c6d0d546ef662f2388efc86b4eac4c +0 -0
  1603. data/test/dummy/tmp/cache/assets/DAD/4A0/sprockets%2Fd5eeb3e15f9d38b73edd7f0174c36e49 +0 -0
  1604. data/test/dummy/tmp/cache/assets/DAD/5C0/sprockets%2F96f23affbee06df4d7380ee39a0d7882 +0 -0
  1605. data/test/dummy/tmp/cache/assets/DAE/480/sprockets%2F6354abfeafe4a885fb3276f93e93d19a +0 -0
  1606. data/test/dummy/tmp/cache/assets/DAE/590/sprockets%2F19c1f0d007af044ead90b191cba50dad +0 -0
  1607. data/test/dummy/tmp/cache/assets/DAE/6F0/sprockets%2F8089f2cadd8367c9581a2caf7b3a7e7f +0 -0
  1608. data/test/dummy/tmp/cache/assets/DAE/780/sprockets%2F4ee60f5a62e8e91e9478c79de4eab1a3 +0 -0
  1609. data/test/dummy/tmp/cache/assets/DAF/F00/sprockets%2Fa2be30c90a2711cc8c2aa26bbaa09b97 +0 -0
  1610. data/test/dummy/tmp/cache/assets/DB0/B20/sprockets%2F95b678a12265fde16b9ee09bc67aeff6 +0 -0
  1611. data/test/dummy/tmp/cache/assets/DB0/BF0/sprockets%2F52e4cdf37aa489ff6c138dedf036588d +0 -0
  1612. data/test/dummy/tmp/cache/assets/DB1/5A0/sprockets%2Faf7ed26f93196cf64e5b4a2e4c1ef679 +0 -0
  1613. data/test/dummy/tmp/cache/assets/DB1/6D0/sprockets%2Fd7990d5c07f95d0ee1cb9d5e6e5b818c +0 -0
  1614. data/test/dummy/tmp/cache/assets/DB1/C80/sprockets%2Fa2d1a10a3cc780fd30127b2be96ddfa2 +0 -0
  1615. data/test/dummy/tmp/cache/assets/DB2/1F0/sprockets%2Fca6346c5717c1efd6fae57773f94ee8a +0 -0
  1616. data/test/dummy/tmp/cache/assets/DB2/480/sprockets%2Fa249ccdcac57daf829713de88e3629f8 +0 -0
  1617. data/test/dummy/tmp/cache/assets/DB2/850/sprockets%2F9d6e12a0e28cc9ded4e859613cf75f6e +0 -0
  1618. data/test/dummy/tmp/cache/assets/DB2/9D0/sprockets%2F37bbd81e0c7ddf7c7668e674925eaca9 +0 -0
  1619. data/test/dummy/tmp/cache/assets/DB3/D90/sprockets%2Fbe688e19f9d8787de8ec0006acde4a09 +0 -0
  1620. data/test/dummy/tmp/cache/assets/DB4/900/sprockets%2F43e97d8f55fde7b0e62e76e0f4736ade +0 -0
  1621. data/test/dummy/tmp/cache/assets/DB5/B90/sprockets%2Fc8101a824bdab56d3eb5ae001ce5d85a +0 -0
  1622. data/test/dummy/tmp/cache/assets/DB5/E20/sprockets%2Ff5fb95e43209af088c7dd96e2893acfd +0 -0
  1623. data/test/dummy/tmp/cache/assets/DB5/F10/sprockets%2F63d5e828a89f86e9fde306f0a91b5edc +0 -0
  1624. data/test/dummy/tmp/cache/assets/DB5/FA0/sprockets%2Fe59881d2c83e9f94c821bc4ea5e7d4fd +0 -0
  1625. data/test/dummy/tmp/cache/assets/DB6/3C0/sprockets%2F41a8bd3493aeb1b8181ad4dea603ba1f +0 -0
  1626. data/test/dummy/tmp/cache/assets/DB6/6D0/sprockets%2F0cf69fe4ee20fa8ff7e73686298d71ab +0 -0
  1627. data/test/dummy/tmp/cache/assets/DB6/710/sprockets%2Ff53e9d96ae4808ad0f9e09ab4ef78f80 +0 -0
  1628. data/test/dummy/tmp/cache/assets/DB6/8F0/sprockets%2Fb242c82a350bc6f50358da8ac0ebca6b +0 -0
  1629. data/test/dummy/tmp/cache/assets/DB7/0A0/sprockets%2F53d8d17b9898dfb37acce79bfc41655e +0 -0
  1630. data/test/dummy/tmp/cache/assets/DB7/580/sprockets%2F87bd872b8fbe7ff4435ef9ba1c976b17 +0 -0
  1631. data/test/dummy/tmp/cache/assets/DB7/670/sprockets%2F14afe7f2ff7c6a35f6f5dd27e95593f4 +0 -0
  1632. data/test/dummy/tmp/cache/assets/DB8/680/sprockets%2F3f30bdb482b12f9312d512dbbdefa3c6 +0 -0
  1633. data/test/dummy/tmp/cache/assets/DB8/780/sprockets%2F293e460dfaf0bb2cb2e3b744e04d22eb +0 -0
  1634. data/test/dummy/tmp/cache/assets/DB8/A60/sprockets%2F90947efd6658c7ea3ea6a9a9be1f695b +0 -0
  1635. data/test/dummy/tmp/cache/assets/DB9/620/sprockets%2F6f7ce966193908fe7a87bde7fe1f1c1d +0 -0
  1636. data/test/dummy/tmp/cache/assets/DB9/FC0/sprockets%2F33685a23d3dcb463b10ebada56fbde05 +0 -0
  1637. data/test/dummy/tmp/cache/assets/DBA/7F0/sprockets%2F4f7fd7b68b8bc29c67fa996e37eaf512 +0 -0
  1638. data/test/dummy/tmp/cache/assets/DBB/620/sprockets%2F57cc1cefcb1e1050ac7b66e7aba68141 +0 -0
  1639. data/test/dummy/tmp/cache/assets/DBB/7D0/sprockets%2Fdd2e01f5a1c3dd20e2b5bd758a24e47c +0 -0
  1640. data/test/dummy/tmp/cache/assets/DBC/DF0/sprockets%2Fd1ff56754c1bf2a8d4082abe2f00adb4 +0 -0
  1641. data/test/dummy/tmp/cache/assets/DBC/EF0/sprockets%2F01cb6721c46251afa9fc1bbea72ffa64 +0 -0
  1642. data/test/dummy/tmp/cache/assets/DBD/080/sprockets%2F039ace5986a3cbf4cca0b0a753bc71a6 +0 -0
  1643. data/test/dummy/tmp/cache/assets/DBE/100/sprockets%2F52dc0ae06aba8ebe4e3d68273fa4223d +0 -0
  1644. data/test/dummy/tmp/cache/assets/DBE/430/sprockets%2Fe45190f40a462e86ae1ee01f3bbcad8a +0 -0
  1645. data/test/dummy/tmp/cache/assets/DC0/CB0/sprockets%2Fdd26802f0ecb845eecd6f013ac3be046 +0 -0
  1646. data/test/dummy/tmp/cache/assets/DC1/690/sprockets%2F2e1b1b2e39e5d5f6e3b1a0ceb1e8494a +0 -0
  1647. data/test/dummy/tmp/cache/assets/DC1/730/sprockets%2F8223daa042ae1bc6dc5d7d0c8d3994bc +0 -0
  1648. data/test/dummy/tmp/cache/assets/DC1/790/sprockets%2Fa3dedcf234a05755b75f34ba9230eebc +0 -0
  1649. data/test/dummy/tmp/cache/assets/DC1/C20/sprockets%2Fb60b7b3aeb56bd55b67183b6f151ecca +0 -0
  1650. data/test/dummy/tmp/cache/assets/DC3/240/sprockets%2Fabcd9c44d21b934ddfc8c3a50e2720e6 +0 -0
  1651. data/test/dummy/tmp/cache/assets/DC3/7E0/sprockets%2Fe45adb8409222cdd8d5b8a3ad9bb23c3 +0 -0
  1652. data/test/dummy/tmp/cache/assets/DC3/C90/sprockets%2Ffcfacdb2c844629dc5fa6c5b221521f2 +0 -0
  1653. data/test/dummy/tmp/cache/assets/DC4/600/sprockets%2Fa0794a1ac15dbb57b803dbdce2069ff7 +0 -0
  1654. data/test/dummy/tmp/cache/assets/DC4/8D0/sprockets%2Feca7e66a696f39f90e4bd9ef794449ce +0 -0
  1655. data/test/dummy/tmp/cache/assets/DC5/500/sprockets%2F25ac94fa819bdb1fad28f4420fd4b90a +0 -0
  1656. data/test/dummy/tmp/cache/assets/DC5/5F0/sprockets%2F9d4cc0ae7ac214bb22c7cf455d06b9c9 +0 -0
  1657. data/test/dummy/tmp/cache/assets/DC5/660/sprockets%2F637431e1c8fffeaafc23f021bd49fa06 +0 -0
  1658. data/test/dummy/tmp/cache/assets/DC5/A10/sprockets%2Fd881389b05ed0406582ceffa1bbcbcb3 +0 -0
  1659. data/test/dummy/tmp/cache/assets/DC6/2C0/sprockets%2Fcf90f72308e31b4d3da7881bb4eadf2a +0 -0
  1660. data/test/dummy/tmp/cache/assets/DC6/7C0/sprockets%2Fb408df7a822c70a0924e0cdf6c8fe2ca +0 -0
  1661. data/test/dummy/tmp/cache/assets/DC6/E10/sprockets%2Fe6e39c030d68abc49573c0f0aa6cb7fa +0 -0
  1662. data/test/dummy/tmp/cache/assets/DC7/3E0/sprockets%2F49acd055a0eb8f438d6744cf0b7ca0bf +0 -0
  1663. data/test/dummy/tmp/cache/assets/DC7/690/sprockets%2Fec0ca84ce609d186fbdd278b5412cc2b +0 -0
  1664. data/test/dummy/tmp/cache/assets/DC7/DB0/sprockets%2Fbe9e97364bfc2bf9e88d96a683fa95c9 +0 -0
  1665. data/test/dummy/tmp/cache/assets/DC8/2F0/sprockets%2F15c5ad9491aa5ef9fe4aef6333fa12c0 +0 -0
  1666. data/test/dummy/tmp/cache/assets/DC9/260/sprockets%2F6f2cc5570eaa6b0ddaccb4782a96a684 +0 -0
  1667. data/test/dummy/tmp/cache/assets/DC9/7A0/sprockets%2F4d0478e03772fb22dcedcd528eba9dc0 +0 -0
  1668. data/test/dummy/tmp/cache/assets/DC9/7D0/sprockets%2F0a990ca7fd23339b974fcb0d5ecbe51b +0 -0
  1669. data/test/dummy/tmp/cache/assets/DCA/010/sprockets%2Ffe4cffd465e65dfa0741c610c5b62e0e +0 -0
  1670. data/test/dummy/tmp/cache/assets/DCA/020/sprockets%2Fcb51f5b40a4416eedf63486ccd0f1d8f +0 -0
  1671. data/test/dummy/tmp/cache/assets/DCA/480/sprockets%2Fce2f69455c89a3117ecebb42c0e2fa2f +0 -0
  1672. data/test/dummy/tmp/cache/assets/DCB/290/sprockets%2F6d23665c4ac5dab13d57ed99ab48cdb1 +0 -0
  1673. data/test/dummy/tmp/cache/assets/DCB/330/sprockets%2F22d6adfe7b8aa0f460fad284a7fb7374 +0 -0
  1674. data/test/dummy/tmp/cache/assets/DCB/A90/sprockets%2Fd005b3e7e4adbe5785d5b2ac2d9279cb +0 -0
  1675. data/test/dummy/tmp/cache/assets/DCB/D80/sprockets%2Febb778f78eae8e09af0f4002a23d5d2b +0 -0
  1676. data/test/dummy/tmp/cache/assets/DCC/F40/sprockets%2Fdc3342c548fc7d3c4f4e27732b5acfea +0 -0
  1677. data/test/dummy/tmp/cache/assets/DCD/370/sprockets%2F60693ba76fe331fd6b3d8ec90df31aae +0 -0
  1678. data/test/dummy/tmp/cache/assets/DCD/390/sprockets%2Fdcd461b67aec99b76eea270a9ad2c046 +0 -0
  1679. data/test/dummy/tmp/cache/assets/DCD/730/sprockets%2Fe577d2f2df0ce1516b2bdfa9fe0909e0 +0 -0
  1680. data/test/dummy/tmp/cache/assets/DCD/740/sprockets%2Fc80244c564e19eada1cdddf5f6d0d962 +0 -0
  1681. data/test/dummy/tmp/cache/assets/DCD/8D0/sprockets%2Fbf36f09be83b4d0986ad23ea4d1f32df +0 -0
  1682. data/test/dummy/tmp/cache/assets/DCD/CC0/sprockets%2Fe03ede3c44cb227a99f3cd71e5b4c47d +0 -0
  1683. data/test/dummy/tmp/cache/assets/DCE/170/sprockets%2F2576bc54ebe0a91592bbdbf3f5c8bb57 +0 -0
  1684. data/test/dummy/tmp/cache/assets/DCE/1C0/sprockets%2F58cc5eb1cb2a47c8067c940caecf449d +0 -0
  1685. data/test/dummy/tmp/cache/assets/DCE/820/sprockets%2F940e9d2a49d11f78bcc06fda4bfda248 +0 -0
  1686. data/test/dummy/tmp/cache/assets/DCE/8C0/sprockets%2Fc158975fbd6211be45d30dee9a8cca4d +0 -0
  1687. data/test/dummy/tmp/cache/assets/DCE/BA0/sprockets%2F57c5ecddc82aa706b1e64691a8a5bcc9 +0 -0
  1688. data/test/dummy/tmp/cache/assets/DCF/900/sprockets%2Fb4dc2a3c5d5822e5cc13ee7098e9ec2e +0 -0
  1689. data/test/dummy/tmp/cache/assets/DCF/C10/sprockets%2Fa4bb64e1e51df7485f5adebce9f02931 +0 -0
  1690. data/test/dummy/tmp/cache/assets/DCF/C70/sprockets%2F1be6a1fdd8c5b86062d572c781feded0 +0 -0
  1691. data/test/dummy/tmp/cache/assets/DCF/E20/sprockets%2Fd24ee80741a60bd4db8f59b784e3ccda +0 -0
  1692. data/test/dummy/tmp/cache/assets/DD0/220/sprockets%2Fb658b3e8db3e47d0da67a3becde17375 +0 -0
  1693. data/test/dummy/tmp/cache/assets/DD1/140/sprockets%2Fc8a6d9aab9a9cfc737e46f20a91f41c2 +0 -0
  1694. data/test/dummy/tmp/cache/assets/DD1/150/sprockets%2F7ebeb5cbe309be7f60c047b5ed9c7604 +0 -0
  1695. data/test/dummy/tmp/cache/assets/DD1/3D0/sprockets%2F572c7b6bfb93e3fa7c505ff241c4dc6e +0 -0
  1696. data/test/dummy/tmp/cache/assets/DD1/4A0/sprockets%2Fd1fd81d46b69d255ebc7ab7f3f96a03a +0 -0
  1697. data/test/dummy/tmp/cache/assets/DD2/D80/sprockets%2F0f57dc9efdb7713ba71f3a11fd77a9f2 +0 -0
  1698. data/test/dummy/tmp/cache/assets/DD2/D90/sprockets%2Facc08ab37871b8576bfcb992aedaf228 +0 -0
  1699. data/test/dummy/tmp/cache/assets/DD3/420/sprockets%2F18eb52a440eeffad6245d895ebc2df83 +0 -0
  1700. data/test/dummy/tmp/cache/assets/DD3/6A0/sprockets%2F7bee04f1c6d8b4a20768ba6829ebfe2f +0 -0
  1701. data/test/dummy/tmp/cache/assets/DD3/870/sprockets%2Fe6d24315ae5f3ed72de4fadcff905707 +0 -0
  1702. data/test/dummy/tmp/cache/assets/DD4/5B0/sprockets%2F7cb342f4400ffd5dedf8a2928297eadc +0 -0
  1703. data/test/dummy/tmp/cache/assets/DD4/870/sprockets%2F59bbd1ff0cfe843a84b13fe45b38c76d +0 -0
  1704. data/test/dummy/tmp/cache/assets/DD4/9C0/sprockets%2F1c59629d3587ddfba16a5cfd49bbd6b2 +0 -0
  1705. data/test/dummy/tmp/cache/assets/DD5/3E0/sprockets%2F7190b9a5ea395d5b4c49fb66abedf26c +0 -0
  1706. data/test/dummy/tmp/cache/assets/DD5/7E0/sprockets%2Feb00bf776a7c5c7197fd31b9ff96aa0e +0 -0
  1707. data/test/dummy/tmp/cache/assets/DD5/CA0/sprockets%2Fdb08cc2eaa8dff06c01ab1c79f777798 +0 -0
  1708. data/test/dummy/tmp/cache/assets/DD5/D40/sprockets%2F8a656fbe5efc00f64f2451fff1c21fe9 +0 -0
  1709. data/test/dummy/tmp/cache/assets/DD6/240/sprockets%2Fd493a33ef4e37bda3f0f58778cfabc81 +0 -0
  1710. data/test/dummy/tmp/cache/assets/DD6/3E0/sprockets%2F886b6fcf1fe02327f797bdf023ae2ece +0 -0
  1711. data/test/dummy/tmp/cache/assets/DD6/7B0/sprockets%2F200d82ceede3f5f4d95f484da882ccc4 +0 -0
  1712. data/test/dummy/tmp/cache/assets/DD6/B70/sprockets%2F0e7a0e3c9a36b1fcf3179e347e9f7fad +0 -0
  1713. data/test/dummy/tmp/cache/assets/DD7/5C0/sprockets%2F3ffcd3a6bf1ff82c11e3996b461ef7d4 +0 -0
  1714. data/test/dummy/tmp/cache/assets/DD7/600/sprockets%2Fcc47edff1a4a983589bb45bce09533ed +0 -0
  1715. data/test/dummy/tmp/cache/assets/DD7/EB0/sprockets%2Fdea8eca4417d57fbd76f8a261591ced4 +0 -0
  1716. data/test/dummy/tmp/cache/assets/DD8/5C0/sprockets%2F9dd7bcb46a4b58ee446353a9cdaf93f2 +0 -0
  1717. data/test/dummy/tmp/cache/assets/DD9/180/sprockets%2F388c94f98c59eddc13b4d7aac6b4ed12 +0 -0
  1718. data/test/dummy/tmp/cache/assets/DD9/530/sprockets%2Fe9cbd5b6d7b21568cfb4f7990c7b50eb +0 -0
  1719. data/test/dummy/tmp/cache/assets/DD9/AA0/sprockets%2Ff96cdb075b4fc5b6eabb92832f6ad758 +0 -0
  1720. data/test/dummy/tmp/cache/assets/DD9/F90/sprockets%2Ff09bdb745c8fa4987aa1ffcd6370c94b +0 -0
  1721. data/test/dummy/tmp/cache/assets/DDA/DD0/sprockets%2Fa38de1f37e66b69841acb54dafa767fd +0 -0
  1722. data/test/dummy/tmp/cache/assets/DDB/140/sprockets%2F7815fdf1a6a74db4fca71ff6537ced67 +0 -0
  1723. data/test/dummy/tmp/cache/assets/DDB/7A0/sprockets%2Fad8a674f4c715c6f8e5c429a4a7fd3cf +0 -0
  1724. data/test/dummy/tmp/cache/assets/DDB/FB0/sprockets%2F7f49dcacda9a63b62664c3f2c99b5d5e +0 -0
  1725. data/test/dummy/tmp/cache/assets/DDC/AD0/sprockets%2Fec9bbacc8283e9bbee2f115395b19f89 +0 -0
  1726. data/test/dummy/tmp/cache/assets/DDC/B10/sprockets%2Fe5b56878aa4fd0ace646923aefbf5e67 +0 -0
  1727. data/test/dummy/tmp/cache/assets/DDD/E10/sprockets%2Fd7292f5eb3a7b1f583efbf05aef567d9 +0 -0
  1728. data/test/dummy/tmp/cache/assets/DDE/450/sprockets%2Fdc1aabe992a97f95a43ce5d8364ff9d1 +0 -0
  1729. data/test/dummy/tmp/cache/assets/DDE/C00/sprockets%2Ffb5947d8ea5a7d6c08c71b3c9d7a88cb +0 -0
  1730. data/test/dummy/tmp/cache/assets/DDE/EE0/sprockets%2Ffd9c004bfe79ad598e56e06c8b2b2d8f +0 -0
  1731. data/test/dummy/tmp/cache/assets/DDF/030/sprockets%2F5c11fc96929a039f8e3dcc914e9ddfdb +0 -0
  1732. data/test/dummy/tmp/cache/assets/DDF/070/sprockets%2Ffe4d825f88eadf5580f2db2f45c3df28 +0 -0
  1733. data/test/dummy/tmp/cache/assets/DDF/3F0/sprockets%2F06db623ed4f5ff5f487dbcade39f9516 +0 -0
  1734. data/test/dummy/tmp/cache/assets/DDF/410/sprockets%2F1826fbc85f5b9e68db10ad8f75f60edf +0 -0
  1735. data/test/dummy/tmp/cache/assets/DDF/730/sprockets%2F762933e9883e8f8d40d4cbeafcb53eea +0 -0
  1736. data/test/dummy/tmp/cache/assets/DE0/640/sprockets%2Fc98e6e5b9c79facfc4bbce3564076f23 +0 -0
  1737. data/test/dummy/tmp/cache/assets/DE0/F70/sprockets%2Fb3112af1224a5b8be1b1eadaa49fd9c1 +0 -0
  1738. data/test/dummy/tmp/cache/assets/DE0/FB0/sprockets%2F369e344b6dbe8c3c22f896cba9cfc66f +0 -0
  1739. data/test/dummy/tmp/cache/assets/DE1/040/sprockets%2F198a17bea76fa82f54caaf8f9479ace6 +0 -0
  1740. data/test/dummy/tmp/cache/assets/DE1/350/sprockets%2F03aaaffb965e1c7de8eed8436c6c9974 +0 -0
  1741. data/test/dummy/tmp/cache/assets/DE1/470/sprockets%2Fa462020f67b203bacddafe3f1aa28a5f +0 -0
  1742. data/test/dummy/tmp/cache/assets/DE2/050/sprockets%2F90aa2105b560eedf62bcfd2ae1bbc704 +0 -0
  1743. data/test/dummy/tmp/cache/assets/DE3/D50/sprockets%2Fc7dc146ca6eeb2c39ca01ebae12b2137 +0 -0
  1744. data/test/dummy/tmp/cache/assets/DE4/110/sprockets%2F237945ffd1fb5dcdbfbe8976f08a564f +0 -0
  1745. data/test/dummy/tmp/cache/assets/DE6/AF0/sprockets%2F4f9a6eef855dc05a7bad0e9f9e369f09 +0 -0
  1746. data/test/dummy/tmp/cache/assets/DE7/3B0/sprockets%2F55fc91edc7ee6e5f818993cbddb6b707 +0 -0
  1747. data/test/dummy/tmp/cache/assets/DE7/550/sprockets%2Ffff04b0980f1fbe9ece54cd8ca779867 +0 -0
  1748. data/test/dummy/tmp/cache/assets/DE7/E00/sprockets%2Fd6f7ce392ee17fadc94867d87cfb614c +0 -0
  1749. data/test/dummy/tmp/cache/assets/DE8/600/sprockets%2F0ae37b3d2eaa3dd72acae269621d33ce +0 -0
  1750. data/test/dummy/tmp/cache/assets/DE8/980/sprockets%2Fea9daa72d1acd0886cc064d0ea6c4a30 +0 -0
  1751. data/test/dummy/tmp/cache/assets/DE9/7D0/sprockets%2F67b885f5e1f1f9f8f79e5fcbaec901b4 +0 -0
  1752. data/test/dummy/tmp/cache/assets/DEB/FF0/sprockets%2F5564febae75230b1a7cde854caacac30 +0 -0
  1753. data/test/dummy/tmp/cache/assets/DEC/3E0/sprockets%2Fce67e335653a9bf4d7ab6f88efd97f2f +0 -0
  1754. data/test/dummy/tmp/cache/assets/DEE/D90/sprockets%2Fdd6e2c58d110f54bed0d5addff1d1450 +0 -0
  1755. data/test/dummy/tmp/cache/assets/DEF/3D0/sprockets%2Fb0a4bee6c0f8f29c56b401e0b9c1eeb3 +0 -0
  1756. data/test/dummy/tmp/cache/assets/DEF/9D0/sprockets%2Faeefda7b5cf4db4b272db1e1462a1187 +0 -0
  1757. data/test/dummy/tmp/cache/assets/DEF/D90/sprockets%2Faa14d177b0baa085be7c5d95c11ffd5d +0 -0
  1758. data/test/dummy/tmp/cache/assets/DEF/FD0/sprockets%2F7bc9eed2e2f88956c62fdbafd67c5895 +0 -0
  1759. data/test/dummy/tmp/cache/assets/DF0/2C0/sprockets%2Fe0dcb8b8cbe803c3bc30d8026bd7e1b8 +0 -0
  1760. data/test/dummy/tmp/cache/assets/DF0/CB0/sprockets%2F2b2884f2950bbb31aec8a3ef1e16cbdd +0 -0
  1761. data/test/dummy/tmp/cache/assets/DF4/610/sprockets%2Fc7e36bac8572aeba8c6a1edd601822bf +0 -0
  1762. data/test/dummy/tmp/cache/assets/DF5/0C0/sprockets%2Faf8105cfdb7ceae04b099c4a2f654ce1 +0 -0
  1763. data/test/dummy/tmp/cache/assets/DF5/900/sprockets%2F5a0f8dc23f4df0c2c8d7c20ed444de3d +0 -0
  1764. data/test/dummy/tmp/cache/assets/DF6/350/sprockets%2F3ae6e69b8a4b3ba62af4e31faa8eb382 +0 -0
  1765. data/test/dummy/tmp/cache/assets/DF6/FB0/sprockets%2Fe7e2f2f538ab80ed2c14ead2ed6ad632 +0 -0
  1766. data/test/dummy/tmp/cache/assets/DF7/110/sprockets%2F0654cdd8dfa5adb61e2029fefe5f50c0 +0 -0
  1767. data/test/dummy/tmp/cache/assets/DF7/1A0/sprockets%2Fe06f798264ab1f1bdb33ecd1d7dcc1e5 +0 -0
  1768. data/test/dummy/tmp/cache/assets/DF7/7B0/sprockets%2F1acc6cb5b0fefc7a4c759d0435f048dc +0 -0
  1769. data/test/dummy/tmp/cache/assets/DF8/0E0/sprockets%2F4ecc72bcaac9b13fd4dc0271f83f396c +0 -0
  1770. data/test/dummy/tmp/cache/assets/DF8/570/sprockets%2Fd956ef1a15caba08edb2fc63c569f20d +0 -0
  1771. data/test/dummy/tmp/cache/assets/DFA/3A0/sprockets%2Fd7bf8feb92a426ccb6ca490ad190e6c2 +0 -0
  1772. data/test/dummy/tmp/cache/assets/DFB/030/sprockets%2F5d0ebb03017d6de57cd82defc92d5fc3 +0 -0
  1773. data/test/dummy/tmp/cache/assets/DFB/E90/sprockets%2Ff7bd5fbb19ef32fc5a396d8012fac3f0 +0 -0
  1774. data/test/dummy/tmp/cache/assets/DFB/EA0/sprockets%2Fdef5d6e8216d65afcb1823fe1fc2fd10 +0 -0
  1775. data/test/dummy/tmp/cache/assets/DFC/140/sprockets%2F12db5c0eacf95d8aedc97278adc82b22 +0 -0
  1776. data/test/dummy/tmp/cache/assets/DFC/9D0/sprockets%2F38fd8e0a2fde3b853f2a24571cd2dfdd +0 -0
  1777. data/test/dummy/tmp/cache/assets/DFD/040/sprockets%2Fc8b4b89a581fb9cd5799ab2aa2db00fc +0 -0
  1778. data/test/dummy/tmp/cache/assets/DFD/340/sprockets%2Fdfdc89a3cdea6f028b1e6625ba1ec557 +0 -0
  1779. data/test/dummy/tmp/cache/assets/DFE/3C0/sprockets%2Fe7c824dbbee345aa5a66a56ebe82a29e +0 -0
  1780. data/test/dummy/tmp/cache/assets/DFE/BA0/sprockets%2Fbc18f4ba621d7c1d6dab692652fb8fdf +0 -0
  1781. data/test/dummy/tmp/cache/assets/DFF/560/sprockets%2F5c1cedb5538de9d0c4dc9fdb62554fa1 +0 -0
  1782. data/test/dummy/tmp/cache/assets/DFF/F10/sprockets%2Fc1f5acff5273a8ba68915bffd2f07e0d +0 -0
  1783. data/test/dummy/tmp/cache/assets/E00/000/sprockets%2Faadaab3c3a4494929aed53991fe7fb2f +0 -0
  1784. data/test/dummy/tmp/cache/assets/E00/1D0/sprockets%2Faaca2cc7dd29a5fb785d9187a0dfe706 +0 -0
  1785. data/test/dummy/tmp/cache/assets/E00/BE0/sprockets%2F05c3fae9e2d94d6d0d45dfac4b3f9a46 +0 -0
  1786. data/test/dummy/tmp/cache/assets/E01/C90/sprockets%2Ffcf9a89d63f392fcd214aa16eb8aac27 +0 -0
  1787. data/test/dummy/tmp/cache/assets/E02/B20/sprockets%2Fc6e33acc669bf1cd37f5ae28f72c17eb +0 -0
  1788. data/test/dummy/tmp/cache/assets/E02/DA0/sprockets%2F9829dec75de6c2a52fdc20d428d2edae +0 -0
  1789. data/test/dummy/tmp/cache/assets/E02/FD0/sprockets%2F3b854b1f189aea494b8d7cbb8bba57bf +0 -0
  1790. data/test/dummy/tmp/cache/assets/E03/900/sprockets%2Fd8cc877bd898dbaa54a1ea40a35fc49d +0 -0
  1791. data/test/dummy/tmp/cache/assets/E03/DB0/sprockets%2F6d1d927a248d67dd1eddcdf22d6b36fd +0 -0
  1792. data/test/dummy/tmp/cache/assets/E04/860/sprockets%2F972757dbdbdfabfeac8ecb8a15520793 +0 -0
  1793. data/test/dummy/tmp/cache/assets/E04/B30/sprockets%2Fd493a86eaf7cd77cec78d1ce82a2c01e +0 -0
  1794. data/test/dummy/tmp/cache/assets/E05/7E0/sprockets%2Ff00268bbf4a2ef79fba886c7fe07aae5 +0 -0
  1795. data/test/dummy/tmp/cache/assets/E05/A70/sprockets%2F7a4daf48a8b7fba4f7bd770048b37fbf +0 -0
  1796. data/test/dummy/tmp/cache/assets/E05/C60/sprockets%2F45fe2fbedb88e452a2572f5d17f4cddc +0 -0
  1797. data/test/dummy/tmp/cache/assets/E05/D20/sprockets%2Fe543fd82a88d76b7de2a1f8d3b3ea1fe +0 -0
  1798. data/test/dummy/tmp/cache/assets/E07/5B0/sprockets%2F75fdbfc0584a9cb9dda6428a66dec4b5 +0 -0
  1799. data/test/dummy/tmp/cache/assets/E07/FD0/sprockets%2F2b98add7bf753973c33fe3b83bdb7abf +0 -0
  1800. data/test/dummy/tmp/cache/assets/E09/3A0/sprockets%2Fce169ea5acdadfe4c839572b724c6ec9 +0 -0
  1801. data/test/dummy/tmp/cache/assets/E09/530/sprockets%2Fe1dc36486b787a7a4ea5f1d7c6cce8af +0 -0
  1802. data/test/dummy/tmp/cache/assets/E09/BB0/sprockets%2F8b4cac87efe1e44abe5ee0e53cc89862 +0 -0
  1803. data/test/dummy/tmp/cache/assets/E09/C70/sprockets%2Faa99ad6cc6a503dacfd5969462dfe1e9 +0 -0
  1804. data/test/dummy/tmp/cache/assets/E09/EE0/sprockets%2F3a991c15e3b2bb3a1a61f1cad0babc5d +0 -0
  1805. data/test/dummy/tmp/cache/assets/E0A/220/sprockets%2Feb18cd8c9ffabeb80289b3377c0f5be7 +0 -0
  1806. data/test/dummy/tmp/cache/assets/E0B/9C0/sprockets%2F056c4cfcff64c6e7d884bfc5df9a6a30 +0 -0
  1807. data/test/dummy/tmp/cache/assets/E0C/810/sprockets%2Fe74897a12cedd8efea5a559354bd5bfc +0 -0
  1808. data/test/dummy/tmp/cache/assets/E0D/E80/sprockets%2F09e10feca84feaecf9e6fc98bb524673 +0 -0
  1809. data/test/dummy/tmp/cache/assets/E0F/B40/sprockets%2Ff5dfabed7f563e53d4735ef9c4b7a0e9 +0 -0
  1810. data/test/dummy/tmp/cache/assets/E11/400/sprockets%2Ff6a9c23ee9f2ed728efa077ea66dfb55 +0 -0
  1811. data/test/dummy/tmp/cache/assets/E11/4E0/sprockets%2F86e145a39f85cceeaffdff91ebb61449 +0 -0
  1812. data/test/dummy/tmp/cache/assets/E11/C70/sprockets%2Fe5ad970d57c66489f9eebacb8e3a5ae5 +0 -0
  1813. data/test/dummy/tmp/cache/assets/E11/DA0/sprockets%2Fe190d6d51f5a7a4d99cb6fcee9aef818 +0 -0
  1814. data/test/dummy/tmp/cache/assets/E13/B10/sprockets%2Fafbb0a11dcbf1c86ee74a1f22f2c173a +0 -0
  1815. data/test/dummy/tmp/cache/assets/E13/BC0/sprockets%2Fd5a0b1a1d1b7e4d61cccda14178afc4e +0 -0
  1816. data/test/dummy/tmp/cache/assets/E14/550/sprockets%2Ff9c8ed5531fed6e3f39ac687e3dfa92a +0 -0
  1817. data/test/dummy/tmp/cache/assets/E14/D30/sprockets%2F0bca399bfd75c35a4fbd11a0c0a80ead +0 -0
  1818. data/test/dummy/tmp/cache/assets/E17/050/sprockets%2F2384cbaada09cccab78e3d31a57d1dc1 +0 -0
  1819. data/test/dummy/tmp/cache/assets/E18/C50/sprockets%2Feda3e89b32d809eedd64f8c9d9f25b9b +0 -0
  1820. data/test/dummy/tmp/cache/assets/E19/260/sprockets%2F2ee68c61809cbf9fc9cee9c3c677fcd2 +0 -0
  1821. data/test/dummy/tmp/cache/assets/E19/C20/sprockets%2F184e9dbf5dec7eeb23895ca96ec1ef79 +0 -0
  1822. data/test/dummy/tmp/cache/assets/E1E/780/sprockets%2Fb5bab679a7f381c4da5a30cc0dac73fc +0 -0
  1823. data/test/dummy/tmp/cache/assets/E1E/DE0/sprockets%2F84b3baefc2c0a8c2c9c0a92eacc3557b +0 -0
  1824. data/test/dummy/tmp/cache/assets/E1F/5E0/sprockets%2Fedacf71afed14b1da329d30fcaf84091 +0 -0
  1825. data/test/dummy/tmp/cache/assets/E20/290/sprockets%2F7b6ebbec5fd3e30a80daa70d28e0a7d5 +0 -0
  1826. data/test/dummy/tmp/cache/assets/E20/4D0/sprockets%2Ffe257ca0acf9ab234c0f034d9bfbc27e +0 -0
  1827. data/test/dummy/tmp/cache/assets/E20/CA0/sprockets%2Faea8014e4b1beb3df35fa1391d8dba9e +0 -0
  1828. data/test/dummy/tmp/cache/assets/E21/330/sprockets%2F816aead61cd3e240f2bbe1e78da1fdb7 +0 -0
  1829. data/test/dummy/tmp/cache/assets/E23/E70/sprockets%2Fce13ae5e7f8e00fc6ea913d6b64bbaa3 +0 -0
  1830. data/test/dummy/tmp/cache/assets/E27/510/sprockets%2F7b32d64d4a96acfff7ce0d8b1a114bee +0 -0
  1831. data/test/dummy/tmp/cache/assets/E27/B40/sprockets%2F706c5fadd13ccdf6602b80ebb56bccf9 +0 -0
  1832. data/test/dummy/tmp/cache/assets/E28/850/sprockets%2F2e159e9fa66f1b4a184c6cecdab2c5ad +0 -0
  1833. data/test/dummy/tmp/cache/assets/E28/900/sprockets%2F796d603dbdc9efaab52c14ca51ebcc68 +0 -0
  1834. data/test/dummy/tmp/cache/assets/E2A/8C0/sprockets%2F89ff6c07d31f18fbac3accf30be90f2c +0 -0
  1835. data/test/dummy/tmp/cache/assets/E2C/EA0/sprockets%2Fcb15d5ff97502cc7dfe8a2e06ab16efb +0 -0
  1836. data/test/dummy/tmp/cache/assets/E2C/EC0/sprockets%2F59dbddba5b9232ec7cd4cf1d4470dfa8 +0 -0
  1837. data/test/dummy/tmp/cache/assets/E2D/630/sprockets%2F95b2fe9ec24a6321c9aebcc3b7c53dfe +0 -0
  1838. data/test/dummy/tmp/cache/assets/E2E/240/sprockets%2F7c5f9d08e0f93caa0049bcee85aedd4a +0 -0
  1839. data/test/dummy/tmp/cache/assets/E2E/350/sprockets%2F3cfe1f5fa9fc1bb53eba0fdc9527d087 +0 -0
  1840. data/test/dummy/tmp/cache/assets/E2F/930/sprockets%2F22b1cbacd98f51adeaab5bd8765e4f97 +0 -0
  1841. data/test/dummy/tmp/cache/assets/E30/4D0/sprockets%2Fe9fae8bbab01dfe66e3c0c74f4694ea3 +0 -0
  1842. data/test/dummy/tmp/cache/assets/E30/C50/sprockets%2Fdaad6c4c7b1429f8de49d81fac6ad18b +0 -0
  1843. data/test/dummy/tmp/cache/assets/E31/BE0/sprockets%2Fbde2e391b5b3b93eee3cef0ec298c27e +0 -0
  1844. data/test/dummy/tmp/cache/assets/E32/770/sprockets%2F2dddbf886809ec0aead3a14cd95d77db +0 -0
  1845. data/test/dummy/tmp/cache/assets/E32/970/sprockets%2F89fd1565e9aef5c1227eabc3aaeca8c8 +0 -0
  1846. data/test/dummy/tmp/cache/assets/E32/FD0/sprockets%2Fce7d29b07b2f0d14ef1add992dfafa89 +0 -0
  1847. data/test/dummy/tmp/cache/assets/E33/140/sprockets%2Fd8fca3eef9bad452dec9b18b4d624e71 +0 -0
  1848. data/test/dummy/tmp/cache/assets/E34/C60/sprockets%2F9f0fe8dcfea52f4316c107fc6c54eece +0 -0
  1849. data/test/dummy/tmp/cache/assets/E36/180/sprockets%2Fedceaafc5a9667eea75b1b930dd8385d +0 -0
  1850. data/test/dummy/tmp/cache/assets/E36/230/sprockets%2F56aec75c7f17ef3509d4cadcf2e6fc3d +0 -0
  1851. data/test/dummy/tmp/cache/assets/E37/6B0/sprockets%2Fce49aa1fbe8185b07e78cf9b9eee22ab +0 -0
  1852. data/test/dummy/tmp/cache/assets/E3B/D00/sprockets%2Fd449bd8f327cb66deda93ffa0f2e39ed +0 -0
  1853. data/test/dummy/tmp/cache/assets/E3B/DD0/sprockets%2F8cb9fef1ee4f6bcbb80758f5c675db1a +0 -0
  1854. data/test/dummy/tmp/cache/assets/E3C/680/sprockets%2Fd057ba99f8cc7b032da8ed9e8c0dff7c +0 -0
  1855. data/test/dummy/tmp/cache/assets/E3E/270/sprockets%2F426e7ee1f8aeb990a55fdf8d6eefbd04 +0 -0
  1856. data/test/dummy/tmp/cache/assets/E43/920/sprockets%2F5cad0e4ea31f4ce054cbccc73aec3d31 +0 -0
  1857. data/test/dummy/tmp/cache/assets/E45/7D0/sprockets%2Fb0cc11f8e54af3bf47bfb15dd0a1cd4a +0 -0
  1858. data/test/dummy/tmp/cache/assets/E47/EE0/sprockets%2F6fba75aa89fee58fffebc349da5e4278 +0 -0
  1859. data/test/dummy/tmp/cache/assets/E48/A40/sprockets%2F5a809fe2fba8e68f5fb8fafcd38ee277 +0 -0
  1860. data/test/dummy/tmp/cache/assets/E49/7D0/sprockets%2Fbca7754fb22abbbefa0eaf6c51bd7414 +0 -0
  1861. data/test/dummy/tmp/cache/assets/E4A/830/sprockets%2Fc5cdc268433cdda05f09b4f0b1acdddc +0 -0
  1862. data/test/dummy/tmp/cache/assets/E4C/BF0/sprockets%2F6d8da16fe61e7d88ff73e7f6cec6ccf5 +0 -0
  1863. data/test/dummy/tmp/cache/assets/E4E/F40/sprockets%2F73440bdc546d14ab9b83aab4acfbedde +0 -0
  1864. data/test/dummy/tmp/cache/assets/E52/F40/sprockets%2Fcaeb0323eed181ea6fd45cf71cadd8e2 +0 -0
  1865. data/test/dummy/tmp/cache/assets/E53/340/sprockets%2Fbad75d3d5f8eba9ceada05fa125a642f +0 -0
  1866. data/test/dummy/tmp/cache/assets/E53/E90/sprockets%2Fef5f981a710fafa0eff01fbc0b4ed91b +0 -0
  1867. data/test/dummy/tmp/cache/assets/E54/0F0/sprockets%2Fddbe86c2b19c9b2c5d0bca8e248a1fcb +0 -0
  1868. data/test/dummy/tmp/cache/assets/E55/340/sprockets%2Faaeaef87c1531a051fcdb8def54f4c1f +0 -0
  1869. data/test/dummy/tmp/cache/assets/E55/410/sprockets%2Fe82a167aefed53aba0ffe873cb2f6b1a +0 -0
  1870. data/test/dummy/tmp/cache/assets/E5D/C20/sprockets%2F6ecad38e80ae9b4b5c56f05de5abfd5a +0 -0
  1871. data/test/dummy/tmp/cache/assets/E5E/CA0/sprockets%2Fdf31d095f37e9abda2e4ddb3e0e6fcb9 +0 -0
  1872. data/test/dummy/tmp/cache/assets/E65/760/sprockets%2F57acbaa97ded591947d4d8d0aeedae7a +0 -0
  1873. data/test/dummy/tmp/cache/assets/E6F/E60/sprockets%2Ff9ecdee73e5cbf1fa4fd9c528c657fb1 +0 -0
  1874. data/test/dummy/tmp/cache/assets/E78/760/sprockets%2Fdf3b599b4eba745e968ccaf8f8ca7fce +0 -0
  1875. data/test/dummy/tmp/cache/assets/E83/3A0/sprockets%2Ffdb5f7dc3aba4ce1edb8fd4bd1b42923 +0 -0
  1876. data/test/dummy/tmp/cache/assets/E86/B50/sprockets%2Fdfcadeb204bffbee3c90ab6d43e0f838 +0 -0
  1877. data/test/dummy/tmp/cache/assets/E87/890/sprockets%2Fe44c7a1cdfb3ced088e6ba57cfd06aae +0 -0
  1878. data/test/dummy/tmp/cache/assets/E89/BE0/sprockets%2F9bfc41fee1adbc5e0ab3e58eafb550f9 +0 -0
  1879. data/test/dummy/tmp/cache/assets/E8D/460/sprockets%2Fec62e7d4edfe3b7fb190bcb21fe9bec3 +0 -0
  1880. data/test/dummy/tmp/cache/assets/E91/0F0/sprockets%2Fbdefbcade037f88fe879acfe0a51a7c1 +0 -0
  1881. data/test/dummy/tmp/cache/assets/E91/670/sprockets%2F9eeb12f5fdf4aead299ab3568bfa5afa +0 -0
  1882. data/test/dummy/tmp/cache/assets/E91/870/sprockets%2Fbe8fc4fafc9aaa3e2fac873d7a18a6e6 +0 -0
  1883. data/test/dummy/tmp/cache/assets/E93/2E0/sprockets%2Fba1eb3cc84f5e1fd789bf5f61a8ecdbc +0 -0
  1884. data/test/dummy/tmp/cache/assets/EA4/CD0/sprockets%2F7d06cdaa883a75feeeedbd6f2e89dff6 +0 -0
  1885. data/test/dummy/tmp/cache/assets/EB1/730/sprockets%2Fbb7a9aa4c8afd1e1c0de56bd0d8fbdd4 +0 -0
  1886. data/test/dummy/tmp/cache/assets/ECD/BA0/sprockets%2Ff7a898dcfdfabd5c346afffdfe70fb06 +0 -0
  1887. data/test/dummy/tmp/pids/server.pid +1 -0
  1888. metadata +357 -174
  1889. data/app/assets/javascripts/Shaders/Builtin/Constants.glsl +0 -329
  1890. data/app/assets/javascripts/Shaders/Builtin/Constants.js +0 -31
  1891. data/app/assets/javascripts/Shaders/Builtin/Structs.glsl +0 -99
  1892. data/app/assets/javascripts/Shaders/Builtin/Structs.js +0 -43
  1893. data/test/dummy/tmp/cache/assets/C23/060/sprockets%2F0844038b70e644bef4539389305680a3 +0 -0
  1894. data/test/dummy/tmp/cache/assets/C38/870/sprockets%2F3c244a5393086f3b95954f4675f29458 +0 -0
  1895. data/test/dummy/tmp/cache/assets/C49/6B0/sprockets%2Ff15d3a84028c48073d820c51575157a4 +0 -0
  1896. data/test/dummy/tmp/cache/assets/C51/170/sprockets%2F7121148c53e447e867b886592e11ad00 +0 -0
  1897. data/test/dummy/tmp/cache/assets/C70/900/sprockets%2F8dc34820f1167ed79c121111a0696c03 +0 -0
  1898. data/test/dummy/tmp/cache/assets/C74/B70/sprockets%2F015299bf906470bc43109b56111ae75d +0 -0
  1899. data/test/dummy/tmp/cache/assets/C75/F50/sprockets%2F52991c5c131fb0049279124ef17047ba +0 -0
  1900. data/test/dummy/tmp/cache/assets/C77/EC0/sprockets%2F2610f1526309b9c234d7228c2ad5c288 +0 -0
  1901. data/test/dummy/tmp/cache/assets/C7F/860/sprockets%2F7646acf5464f211440d12d09847e7c43 +0 -0
  1902. data/test/dummy/tmp/cache/assets/C88/960/sprockets%2F50655bc2c86c7c3007756af818375e64 +0 -0
  1903. data/test/dummy/tmp/cache/assets/C8A/680/sprockets%2F401d94c3b6643cb7764590d5765197ea +0 -0
  1904. data/test/dummy/tmp/cache/assets/C8E/D50/sprockets%2F687d2438d13763a733287fc4a2e5f746 +0 -0
  1905. data/test/dummy/tmp/cache/assets/C92/5E0/sprockets%2F6638d8088cb498bf531942a54706ad85 +0 -0
  1906. data/test/dummy/tmp/cache/assets/CAC/220/sprockets%2Fe9d921c5251a11d0a6296974975dbb20 +0 -0
  1907. data/test/dummy/tmp/cache/assets/CAD/7A0/sprockets%2F75cb431051fa14102dc49569f4f970b9 +0 -0
  1908. data/test/dummy/tmp/cache/assets/CB5/4C0/sprockets%2F446522846ac4ed6619268b3e00fd497a +0 -0
  1909. data/test/dummy/tmp/cache/assets/CBB/E80/sprockets%2F43b17645e39f018bc195bc9828f4b357 +0 -0
  1910. data/test/dummy/tmp/cache/assets/CC3/FC0/sprockets%2F81a77b882bfb032312303fa0ce7a5301 +0 -0
  1911. data/test/dummy/tmp/cache/assets/CC7/370/sprockets%2F9603f587d0629697951e09f1d4fdaf25 +0 -0
  1912. data/test/dummy/tmp/cache/assets/CD4/D20/sprockets%2F02e2c15292e6082a4626f13a4aa839ff +0 -0
  1913. data/test/dummy/tmp/cache/assets/CDB/4D0/sprockets%2Ffb9182b4d13b796b245db8153324f4d2 +0 -0
  1914. data/test/dummy/tmp/cache/assets/CEB/520/sprockets%2Fe99130a4204fac5e0b886885339af7c8 +0 -0
  1915. data/test/dummy/tmp/cache/assets/CF8/1A0/sprockets%2Fd1f0dd68a400062aa3834ef5c4234c34 +0 -0
  1916. data/test/dummy/tmp/cache/assets/CFD/160/sprockets%2Fc63d29c7bc89b27fc00430230ba1d383 +0 -0
  1917. data/test/dummy/tmp/cache/assets/D03/EF0/sprockets%2F4799db40f9cc57f50689f6da487464f5 +0 -0
  1918. data/test/dummy/tmp/cache/assets/D04/530/sprockets%2Fc14ce481964a025c2501a5c907c65fce +0 -0
  1919. data/test/dummy/tmp/cache/assets/D0E/0C0/sprockets%2F6b0a72865c5aac78b431a2438e2e984d +0 -0
  1920. data/test/dummy/tmp/cache/assets/D0F/7E0/sprockets%2F45f0d1bae6783a949cd01767d4c7e212 +0 -0
  1921. data/test/dummy/tmp/cache/assets/D11/AB0/sprockets%2F0c18384a2fe843b70adca574f8f12893 +0 -0
  1922. data/test/dummy/tmp/cache/assets/D12/CA0/sprockets%2Fc7d7f04f0325fc994a73d6a41cc60863 +0 -0
  1923. data/test/dummy/tmp/cache/assets/D15/A20/sprockets%2F46b5881e463b09c7f61736e5ec2aeb16 +0 -0
  1924. data/test/dummy/tmp/cache/assets/D16/2A0/sprockets%2F3739709cf73c9a32b521b45677cd4bde +0 -0
  1925. data/test/dummy/tmp/cache/assets/D19/E90/sprockets%2F16cd7e58935dd8d1d376f10be6b50368 +0 -0
  1926. data/test/dummy/tmp/cache/assets/D1A/0C0/sprockets%2Fa606399c0ce2e298b58fec46777024ad +0 -0
  1927. data/test/dummy/tmp/cache/assets/D26/470/sprockets%2F1e9b32c11057bc537b0021de4f1f1fc6 +0 -0
  1928. data/test/dummy/tmp/cache/assets/D2A/6F0/sprockets%2Fd6e43c7223231cda4b71e82ba285bd40 +0 -0
  1929. data/test/dummy/tmp/cache/assets/D2B/210/sprockets%2F67aaa6c903e6b15c74de39af0002a451 +0 -0
  1930. data/test/dummy/tmp/cache/assets/D2B/CF0/sprockets%2F70b2adc5e73b271342371aaad257b76d +0 -0
  1931. data/test/dummy/tmp/cache/assets/D32/6E0/sprockets%2Fb4f78f31b9aab6dbd2911b07076d4601 +0 -0
  1932. data/test/dummy/tmp/cache/assets/D37/070/sprockets%2F59e3be9a13634f3b3d0cab4ad0889063 +0 -0
  1933. data/test/dummy/tmp/cache/assets/D3A/690/sprockets%2Fb5058a82d02b84df6210af598cfa644c +0 -0
  1934. data/test/dummy/tmp/cache/assets/D3C/BB0/sprockets%2Ff498d519cb8ac1895bb3aa90117d424a +0 -0
  1935. data/test/dummy/tmp/cache/assets/D3C/E40/sprockets%2Fba57600a2dd2f6da96613de37f27930f +0 -0
  1936. data/test/dummy/tmp/cache/assets/D3D/4E0/sprockets%2F7d37b8c27a3f3b1a02c4fe17643de865 +0 -0
  1937. data/test/dummy/tmp/cache/assets/D3F/590/sprockets%2F13a259ba93c919fa5a47ba9cf10569f1 +0 -0
  1938. data/test/dummy/tmp/cache/assets/D41/220/sprockets%2Fafb511e47c76bf448b6f7072c8d3118c +0 -0
  1939. data/test/dummy/tmp/cache/assets/D42/970/sprockets%2Fe27c8084b9cf2eaa063f585e92064c5a +0 -0
  1940. data/test/dummy/tmp/cache/assets/D43/F70/sprockets%2F2c844357dd8de7db147f80c3539b0ee0 +0 -0
  1941. data/test/dummy/tmp/cache/assets/D46/600/sprockets%2F1c942ecb30874a3f9e9fea418725ab75 +0 -0
  1942. data/test/dummy/tmp/cache/assets/D46/8E0/sprockets%2F1a4f07bd2741629bdd572848dccf773e +0 -0
  1943. data/test/dummy/tmp/cache/assets/D4C/490/sprockets%2F7e207e1654e5343a964fd6cf3fefb447 +0 -0
  1944. data/test/dummy/tmp/cache/assets/D4F/410/sprockets%2F1377bb2e86073ae3a688e5a6c499a9df +0 -0
  1945. data/test/dummy/tmp/cache/assets/D53/440/sprockets%2F2def445147b9f5d6363f6f6d497d2f0e +0 -0
  1946. data/test/dummy/tmp/cache/assets/D53/530/sprockets%2F59ee24852d9e4f5fbc71c76d036ec773 +0 -0
  1947. data/test/dummy/tmp/cache/assets/D5A/070/sprockets%2Fe7159b621a21a7a0ebd81a32912e8faa +0 -0
  1948. data/test/dummy/tmp/cache/assets/D5C/E00/sprockets%2F92930d4e993eb8bd3498b699dccf9a33 +0 -0
  1949. data/test/dummy/tmp/cache/assets/D5E/3D0/sprockets%2F5f786d832b4e0ba05f6abc3ea314901a +0 -0
  1950. data/test/dummy/tmp/cache/assets/D63/DE0/sprockets%2F73c9e04acfc930681ab170b3e4bfc453 +0 -0
  1951. data/test/dummy/tmp/cache/assets/D67/C10/sprockets%2Ffb4b4451c110f07957c2ecacf854c5d4 +0 -0
  1952. data/test/dummy/tmp/cache/assets/D68/000/sprockets%2F39c01fa5c01830f3558eb1c97c4dfb6b +0 -0
  1953. data/test/dummy/tmp/cache/assets/D6D/690/sprockets%2Fd288d7215df092fdc70b3b8216dce2f3 +0 -0
  1954. data/test/dummy/tmp/cache/assets/D7C/B90/sprockets%2Fc89b5af12387ee80ca80e3f2ac776c79 +0 -0
  1955. data/test/dummy/tmp/cache/assets/D8C/490/sprockets%2Fb40a350e70f7ac1103ab86edd777ac3e +0 -0
  1956. data/test/dummy/tmp/cache/assets/D94/4E0/sprockets%2F6afd6060a158a6f0f21a61e9d2fc4a7e +0 -0
  1957. data/test/dummy/tmp/cache/assets/D98/280/sprockets%2F1b8bca892cab85afe98307a2b0b394e2 +0 -0
  1958. data/test/dummy/tmp/cache/assets/D99/B10/sprockets%2F4aa8fece5b18d820a44dc266a89d50e0 +0 -0
  1959. data/test/dummy/tmp/cache/assets/D9F/800/sprockets%2F5c722d8150c68e6eacad70fb64e5e1f5 +0 -0
  1960. data/test/dummy/tmp/cache/assets/DA5/4D0/sprockets%2Fb4a2d96a1bf347b4dbce5779a8c4f636 +0 -0
  1961. data/test/dummy/tmp/cache/assets/DA6/FC0/sprockets%2F900ed66847c0ec1eff94ad75fc26f11e +0 -0
  1962. data/test/dummy/tmp/cache/assets/DA7/F70/sprockets%2F33b3ac7d96fc921e7e2e8f437c8bb54a +0 -0
  1963. data/test/dummy/tmp/cache/assets/DAD/810/sprockets%2Fcfb7db145b0d0a3010f5d0cd7a08fb15 +0 -0
  1964. data/test/dummy/tmp/cache/assets/DAE/A40/sprockets%2F7fefa2cd6e72f17c926159c9b7c3a95a +0 -0
  1965. data/test/dummy/tmp/cache/assets/DB6/480/sprockets%2F7bf790f2e674bbff9288ee9de441f20e +0 -0
  1966. data/test/dummy/tmp/cache/assets/DBE/210/sprockets%2Fa12ca5480c3e2b9cf44ab4ef32e813ec +0 -0
  1967. data/test/dummy/tmp/cache/assets/DC0/760/sprockets%2Fb7e4cf2efcf48d0dcc420131fd30d454 +0 -0
  1968. data/test/dummy/tmp/cache/assets/DCC/300/sprockets%2F4e5d2af447ea6e7082a0a6c353fcfee5 +0 -0
  1969. data/test/dummy/tmp/cache/assets/DCF/4A0/sprockets%2F3efd01a56bae3ae99fd13085f75b9e0d +0 -0
  1970. data/test/dummy/tmp/cache/assets/DD2/380/sprockets%2F7972dab64d4a2a8007c3ecfd887ace4e +0 -0
  1971. data/test/dummy/tmp/cache/assets/E02/B00/sprockets%2F723ccdfbeacf6c4176de34f371c91af9 +0 -0
  1972. data/test/dummy/tmp/cache/assets/E13/F50/sprockets%2Fb9d939b7dbbbfd9f79b5cb4ad7c82815 +0 -0
  1973. data/test/dummy/tmp/cache/assets/E14/0B0/sprockets%2F8bffda6f68fc139ee329bc86f6b7d2f1 +0 -0
  1974. data/test/dummy/tmp/cache/assets/E27/540/sprockets%2F3507970b2c1ccbf7b6bc37d61efadfeb +0 -0
  1975. data/test/dummy/tmp/cache/assets/E2A/030/sprockets%2Fc8ab33fc707f5fb9b8befd27b142b3cb +0 -0
  1976. data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2Ff740ae8eecbaedadc3c664c62b83e925 +0 -0
@@ -198,6 +198,7 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
198
198
  this._textureFilterAnisotropic = textureFilterAnisotropic;
199
199
  this._maximumTextureFilterAnisotropy = textureFilterAnisotropic ? gl.getParameter(textureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 1.0;
200
200
  this._vertexArrayObject = gl.getExtension('OES_vertex_array_object');
201
+ this._fragDepth = gl.getExtension('EXT_frag_depth');
201
202
 
202
203
  var cc = gl.getParameter(gl.COLOR_CLEAR_VALUE);
203
204
  this._clearColor = new Color(cc[0], cc[1], cc[2], cc[3]);
@@ -217,6 +218,7 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
217
218
  this._currentFramebuffer = undefined;
218
219
  this._currentSp = undefined;
219
220
  this._currentRenderState = rs;
221
+ this._maxFrameTextureUnitIndex = 0;
220
222
 
221
223
  this._pickObjects = {};
222
224
  this._nextPickColor = new Uint32Array(1);
@@ -752,6 +754,22 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
752
754
  return !!this._vertexArrayObject;
753
755
  };
754
756
 
757
+ /**
758
+ * Returns <code>true</code> if the EXT_frag_depth extension is supported. This
759
+ * extension provides access to the <code>gl_FragDepthEXT<code> built-in output variable
760
+ * from GLSL fragment shaders. A shader using these functions still needs to explicitly enable the
761
+ * extension with <code>#extension GL_EXT_frag_depth : enable</code>.
762
+ *
763
+ * @memberof Context
764
+ *
765
+ * @returns {Boolean} <code>true</code> if EXT_frag_depth is supported; otherwise, <code>false</code>.
766
+ *
767
+ * @see <a href='http://www.khronos.org/registry/webgl/extensions/EXT_frag_depth/'>EXT_frag_depth</a>
768
+ */
769
+ Context.prototype.getFragmentDepth = function() {
770
+ return !!this._fragDepth;
771
+ };
772
+
755
773
  /**
756
774
  * DOC_TBA
757
775
  *
@@ -905,6 +923,32 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
905
923
  return this._defaultCubeMap;
906
924
  };
907
925
 
926
+ /**
927
+ * Returns the drawingBufferWidth of the underlying GL context.
928
+ *
929
+ * @memberof Context
930
+ *
931
+ * @returns {Number} The value in the drawingBufferWidth property of the underlying GL context.
932
+ *
933
+ * @see <a href='https://www.khronos.org/registry/webgl/specs/1.0/#DOM-WebGLRenderingContext-drawingBufferWidth'>drawingBufferWidth</a>
934
+ */
935
+ Context.prototype.getDrawingBufferHeight = function() {
936
+ return this._gl.drawingBufferHeight;
937
+ };
938
+
939
+ /**
940
+ * Returns the drawingBufferHeight of the underlying GL context.
941
+ *
942
+ * @memberof Context
943
+ *
944
+ * @returns {Number} The value in the drawingBufferHeight property of the underlying GL context.
945
+ *
946
+ * @see <a href='https://www.khronos.org/registry/webgl/specs/1.0/#DOM-WebGLRenderingContext-drawingBufferHeight'>drawingBufferHeight</a>
947
+ */
948
+ Context.prototype.getDrawingBufferWidth = function() {
949
+ return this._gl.drawingBufferWidth;
950
+ };
951
+
908
952
  /**
909
953
  * Creates a shader program given the GLSL source for a vertex and fragment shader.
910
954
  * <br /><br />
@@ -1346,11 +1390,13 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
1346
1390
  * var t = context.createTexture2DFromFramebuffer();
1347
1391
  */
1348
1392
  Context.prototype.createTexture2DFromFramebuffer = function(pixelFormat, framebufferXOffset, framebufferYOffset, width, height) {
1393
+ var gl = this._gl;
1394
+
1349
1395
  pixelFormat = defaultValue(pixelFormat, PixelFormat.RGB);
1350
1396
  framebufferXOffset = defaultValue(framebufferXOffset, 0);
1351
1397
  framebufferYOffset = defaultValue(framebufferYOffset, 0);
1352
- width = defaultValue(width, this._canvas.clientWidth);
1353
- height = defaultValue(height, this._canvas.clientHeight);
1398
+ width = defaultValue(width, gl.drawingBufferWidth);
1399
+ height = defaultValue(height, gl.drawingBufferHeight);
1354
1400
 
1355
1401
  if (!PixelFormat.validate(pixelFormat)) {
1356
1402
  throw new DeveloperError('Invalid pixelFormat.');
@@ -1368,15 +1414,14 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
1368
1414
  throw new DeveloperError('framebufferYOffset must be greater than or equal to zero.');
1369
1415
  }
1370
1416
 
1371
- if (framebufferXOffset + width > this._canvas.clientWidth) {
1372
- throw new DeveloperError('framebufferXOffset + width must be less than or equal to getCanvas().clientWidth');
1417
+ if (framebufferXOffset + width > gl.drawingBufferWidth) {
1418
+ throw new DeveloperError('framebufferXOffset + width must be less than or equal to drawingBufferWidth');
1373
1419
  }
1374
1420
 
1375
- if (framebufferYOffset + height > this._canvas.clientHeight) {
1376
- throw new DeveloperError('framebufferYOffset + height must be less than or equal to getCanvas().clientHeight.');
1421
+ if (framebufferYOffset + height > gl.drawingBufferHeight) {
1422
+ throw new DeveloperError('framebufferYOffset + height must be less than or equal to drawingBufferHeight.');
1377
1423
  }
1378
1424
 
1379
- var gl = this._gl;
1380
1425
  var textureTarget = gl.TEXTURE_2D;
1381
1426
  var texture = gl.createTexture();
1382
1427
 
@@ -1618,12 +1663,13 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
1618
1663
  * @see Context#createFramebuffer
1619
1664
  */
1620
1665
  Context.prototype.createRenderbuffer = function(description) {
1666
+ var gl = this._gl;
1667
+
1621
1668
  description = defaultValue(description, defaultValue.EMPTY_OBJECT);
1622
1669
  var format = defaultValue(description.format, RenderbufferFormat.RGBA4);
1623
- var width = defined(description.width) ? description.width : this._canvas.clientWidth;
1624
- var height = defined(description.height) ? description.height : this._canvas.clientHeight;
1670
+ var width = defined(description.width) ? description.width : gl.drawingBufferWidth;
1671
+ var height = defined(description.height) ? description.height : gl.drawingBufferHeight;
1625
1672
 
1626
- var gl = this._gl;
1627
1673
  if (!RenderbufferFormat.validate(format)) {
1628
1674
  throw new DeveloperError('Invalid format.');
1629
1675
  }
@@ -1812,8 +1858,8 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
1812
1858
  */
1813
1859
  Context.prototype.createSampler = function(sampler) {
1814
1860
  var s = {
1815
- wrapS : sampler.wrapS || TextureWrap.CLAMP,
1816
- wrapT : sampler.wrapT || TextureWrap.CLAMP,
1861
+ wrapS : sampler.wrapS || TextureWrap.CLAMP_TO_EDGE,
1862
+ wrapT : sampler.wrapT || TextureWrap.CLAMP_TO_EDGE,
1817
1863
  minificationFilter : sampler.minificationFilter || TextureMinificationFilter.LINEAR,
1818
1864
  magnificationFilter : sampler.magnificationFilter || TextureMagnificationFilter.LINEAR,
1819
1865
  maximumAnisotropy : (defined(sampler.maximumAnisotropy)) ? sampler.maximumAnisotropy : 1.0
@@ -2034,6 +2080,7 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
2034
2080
 
2035
2081
  this._currentFramebuffer = framebuffer;
2036
2082
  this._currentSp = sp;
2083
+ this._maxFrameTextureUnitIndex = Math.max(this._maxFrameTextureUnitIndex, sp.maximumTextureUnitIndex);
2037
2084
  };
2038
2085
 
2039
2086
  /**
@@ -2105,10 +2152,26 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
2105
2152
  this._currentFramebuffer._unBind();
2106
2153
  this._currentFramebuffer = undefined;
2107
2154
  }
2108
- this._currentSp._unBind();
2109
2155
  this._currentSp = undefined;
2110
2156
  };
2111
2157
 
2158
+ /**
2159
+ * @private
2160
+ */
2161
+ Context.prototype.endFrame = function() {
2162
+ var gl = this._gl;
2163
+ gl.useProgram(null);
2164
+
2165
+ var length = this._maxFrameTextureUnitIndex;
2166
+ this._maxFrameTextureUnitIndex = 0;
2167
+
2168
+ for (var i = 0; i < length; ++i) {
2169
+ gl.activeTexture(gl.TEXTURE0 + i);
2170
+ gl.bindTexture(gl.TEXTURE_2D, null);
2171
+ gl.bindTexture(gl.TEXTURE_CUBE_MAP, null);
2172
+ }
2173
+ };
2174
+
2112
2175
  /**
2113
2176
  * DOC_TBA
2114
2177
  *
@@ -2118,11 +2181,13 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
2118
2181
  * @exception {DeveloperError} readState.height must be greater than zero.
2119
2182
  */
2120
2183
  Context.prototype.readPixels = function(readState) {
2184
+ var gl = this._gl;
2185
+
2121
2186
  readState = readState || {};
2122
2187
  var x = Math.max(readState.x || 0, 0);
2123
2188
  var y = Math.max(readState.y || 0, 0);
2124
- var width = readState.width || this._canvas.clientWidth;
2125
- var height = readState.height || this._canvas.clientHeight;
2189
+ var width = readState.width || gl.drawingBufferWidth;
2190
+ var height = readState.height || gl.drawingBufferHeight;
2126
2191
  var framebuffer = readState.framebuffer || null;
2127
2192
 
2128
2193
  if (width <= 0) {
@@ -2140,7 +2205,6 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
2140
2205
  this._validateFramebuffer(framebuffer);
2141
2206
  }
2142
2207
 
2143
- var gl = this._gl;
2144
2208
  gl.readPixels(x, y, width, height, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
2145
2209
 
2146
2210
  if (framebuffer) {
@@ -2489,7 +2553,9 @@ define(['Core/defaultValue', 'Core/defined', 'Core/DeveloperError', 'Core/destro
2489
2553
  * @see Context#getObjectByPickColor
2490
2554
  *
2491
2555
  * @example
2492
- * this._pickId = context.createPickId(this);
2556
+ * this._pickId = context.createPickId({
2557
+ * primitive : this
2558
+ * });
2493
2559
  */
2494
2560
  Context.prototype.createPickId = function(object) {
2495
2561
  if (!defined(object)) {
@@ -180,8 +180,8 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/destroyObject', 'Core/Math'
180
180
  }
181
181
 
182
182
  sampler = {
183
- wrapS : TextureWrap.CLAMP,
184
- wrapT : TextureWrap.CLAMP,
183
+ wrapS : TextureWrap.CLAMP_TO_EDGE,
184
+ wrapT : TextureWrap.CLAMP_TO_EDGE,
185
185
  minificationFilter : minFilter,
186
186
  magnificationFilter : magFilter,
187
187
  maximumAnisotropy : 1.0
@@ -30,8 +30,8 @@ define(['Core/defaultValue', 'Core/defined', 'Core/destroyObject', 'Core/Color',
30
30
 
31
31
  PickFramebuffer.prototype.begin = function(screenSpaceRectangle) {
32
32
  var context = this._context;
33
- var width = context.getCanvas().clientWidth;
34
- var height = context.getCanvas().clientHeight;
33
+ var width = context.getDrawingBufferWidth();
34
+ var height = context.getDrawingBufferHeight();
35
35
 
36
36
  BoundingRectangle.clone(screenSpaceRectangle, this._passState.scissorTest.rectangle);
37
37
 
@@ -110,8 +110,8 @@ define(['Core/Color', 'Core/defaultValue', 'Core/defined', 'Core/DeveloperError'
110
110
  };
111
111
  this.dither = defaultValue(rs.dither, true);
112
112
  this.viewport = (defined(viewport)) ? new BoundingRectangle(viewport.x, viewport.y,
113
- (!defined(viewport.width)) ? context.getCanvas().clientWidth : viewport.width,
114
- (!defined(viewport.height)) ? context.getCanvas().clientHeight : viewport.height) : undefined;
113
+ (!defined(viewport.width)) ? context.getDrawingBufferWidth() : viewport.width,
114
+ (!defined(viewport.height)) ? context.getDrawingBufferHeight() : viewport.height) : undefined;
115
115
 
116
116
  // Validate
117
117
 
@@ -393,10 +393,9 @@ define(['Core/Color', 'Core/defaultValue', 'Core/defined', 'Core/DeveloperError'
393
393
  var viewport = renderState.viewport;
394
394
 
395
395
  if (!defined(viewport)) {
396
- var canvas = passState.context.getCanvas();
397
396
  viewport = scratchViewport;
398
- viewport.width = canvas.clientWidth;
399
- viewport.height = canvas.clientHeight;
397
+ viewport.width = passState.context.getDrawingBufferWidth();
398
+ viewport.height = passState.context.getDrawingBufferHeight();
400
399
  }
401
400
 
402
401
  passState.context.getUniformState().setViewport(viewport);
@@ -1,5 +1,5 @@
1
1
  /*global define*/
2
- define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/RuntimeError', 'Core/destroyObject', 'Core/Matrix2', 'Core/Matrix3', 'Core/Matrix4', 'Renderer/UniformDatatype', 'Shaders/Builtin/Structs', 'Shaders/Builtin/Constants', 'Shaders/Builtin/Functions/RGBToXYZ', 'Shaders/Builtin/Functions/XYZToRGB', 'Shaders/Builtin/Functions/antialias', 'Shaders/Builtin/Functions/cellular', 'Shaders/Builtin/Functions/columbusViewMorph', 'Shaders/Builtin/Functions/computePosition', 'Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates', 'Shaders/Builtin/Functions/ellipsoidContainsPoint', 'Shaders/Builtin/Functions/ellipsoidNew', 'Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates', 'Shaders/Builtin/Functions/equalsEpsilon', 'Shaders/Builtin/Functions/eyeOffset', 'Shaders/Builtin/Functions/eyeToWindowCoordinates', 'Shaders/Builtin/Functions/geodeticSurfaceNormal', 'Shaders/Builtin/Functions/getDefaultMaterial', 'Shaders/Builtin/Functions/getWaterNoise', 'Shaders/Builtin/Functions/getWgs84EllipsoidEC', 'Shaders/Builtin/Functions/hue', 'Shaders/Builtin/Functions/isEmpty', 'Shaders/Builtin/Functions/isFull', 'Shaders/Builtin/Functions/latitudeToWebMercatorFraction', 'Shaders/Builtin/Functions/luminance', 'Shaders/Builtin/Functions/modelToWindowCoordinates', 'Shaders/Builtin/Functions/multiplyWithColorBalance', 'Shaders/Builtin/Functions/phong', 'Shaders/Builtin/Functions/pointAlongRay', 'Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval', 'Shaders/Builtin/Functions/saturation', 'Shaders/Builtin/Functions/snoise', 'Shaders/Builtin/Functions/tangentToEyeSpaceMatrix', 'Shaders/Builtin/Functions/translateRelativeToEye', 'Shaders/Builtin/Functions/transpose', 'Shaders/Builtin/Functions/windowToEyeCoordinates'], function(
2
+ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/RuntimeError', 'Core/destroyObject', 'Core/Matrix2', 'Core/Matrix3', 'Core/Matrix4', 'Renderer/AutomaticUniforms', 'Renderer/UniformDatatype', 'Shaders/Builtin/CzmBuiltins'], function(
3
3
  defined,
4
4
  DeveloperError,
5
5
  FeatureDetection,
@@ -8,1742 +8,12 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
8
8
  Matrix2,
9
9
  Matrix3,
10
10
  Matrix4,
11
+ AutomaticUniforms,
11
12
  UniformDatatype,
12
- ShadersBuiltinStructs,
13
- ShadersBuiltinConstants,
14
- czm_RGBToXYZ,
15
- czm_XYZToRGB,
16
- czm_antialias,
17
- czm_cellular,
18
- czm_columbusViewMorph,
19
- czm_computePosition,
20
- czm_eastNorthUpToEyeCoordinates,
21
- czm_ellipsoidContainsPoint,
22
- czm_ellipsoidNew,
23
- czm_ellipsoidWgs84TextureCoordinates,
24
- czm_equalsEpsilon,
25
- czm_eyeOffset,
26
- czm_eyeToWindowCoordinates,
27
- czm_geodeticSurfaceNormal,
28
- czm_getDefaultMaterial,
29
- czm_getWaterNoise,
30
- czm_getWgs84EllipsoidEC,
31
- czm_hue,
32
- czm_isEmpty,
33
- czm_isFull,
34
- czm_latitudeToWebMercatorFraction,
35
- czm_luminance,
36
- czm_modelToWindowCoordinates,
37
- czm_multiplyWithColorBalance,
38
- czm_phong,
39
- czm_pointAlongRay,
40
- czm_rayEllipsoidIntersectionInterval,
41
- czm_saturation,
42
- czm_snoise,
43
- czm_tangentToEyeSpaceMatrix,
44
- czm_translateRelativeToEye,
45
- czm_transpose,
46
- czm_windowToEyeCoordinates) {
13
+ CzmBuiltins) {
47
14
  "use strict";
48
15
  /*global console*/
49
16
 
50
- var allAutomaticUniforms = {
51
- /**
52
- * An automatic GLSL uniform containing the viewport's <code>x</code>, <code>y</code>, <code>width</code>,
53
- * and <code>height</code> properties in an <code>vec4</code>'s <code>x</code>, <code>y</code>, <code>z</code>,
54
- * and <code>w</code> components, respectively.
55
- * <br /><br />
56
- * Like all automatic uniforms, <code>czm_viewport</code> does not need to be explicitly declared.
57
- * However, it can be explicitly declared when a shader is also used by other applications such
58
- * as a third-party authoring tool.
59
- *
60
- * @alias czm_viewport
61
- * @glslUniform
62
- *
63
- * @see Context#getViewport
64
- *
65
- * @example
66
- * // GLSL declaration
67
- * uniform vec4 czm_viewport;
68
- *
69
- * // Scale the window coordinate components to [0, 1] by dividing
70
- * // by the viewport's width and height.
71
- * vec2 v = gl_FragCoord.xy / czm_viewport.zw;
72
- */
73
- czm_viewport : {
74
- getSize : function() {
75
- return 1;
76
- },
77
-
78
- getDatatype : function() {
79
- return UniformDatatype.FLOAT_VECTOR4;
80
- },
81
-
82
- getValue : function(uniformState) {
83
- var v = uniformState.getViewport();
84
- return {
85
- x : v.x,
86
- y : v.y,
87
- z : v.width,
88
- w : v.height
89
- };
90
- }
91
- },
92
-
93
- /**
94
- * An automatic GLSL uniform representing a 4x4 orthographic projection matrix that
95
- * transforms window coordinates to clip coordinates. Clip coordinates is the
96
- * coordinate system for a vertex shader's <code>gl_Position</code> output.
97
- * <br /><br />
98
- * This transform is useful when a vertex shader inputs or manipulates window coordinates
99
- * as done by {@link BillboardCollection}.
100
- * <br /><br />
101
- * Do not confuse {@link czm_viewportTransformation} with <code>czm_viewportOrthographic</code>.
102
- * The former transforms from normalized device coordinates to window coordinates; the later transforms
103
- * from window coordinates to clip coordinates, and is often used to assign to <code>gl_Position</code>.
104
- * <br /><br />
105
- * Like all automatic uniforms, <code>czm_viewportOrthographic</code> does not need to be explicitly declared.
106
- * However, it can be explicitly declared when a shader is also used by other applications such
107
- * as a third-party authoring tool.
108
- *
109
- * @alias czm_viewportOrthographic
110
- * @glslUniform
111
- *
112
- * @see UniformState#getViewportOrthographic
113
- * @see czm_viewport
114
- * @see czm_viewportTransformation
115
- * @see BillboardCollection
116
- *
117
- * @example
118
- * // GLSL declaration
119
- * uniform mat4 czm_viewportOrthographic;
120
- *
121
- * // Example
122
- * gl_Position = czm_viewportOrthographic * vec4(windowPosition, 0.0, 1.0);
123
- */
124
- czm_viewportOrthographic : {
125
- getSize : function() {
126
- return 1;
127
- },
128
-
129
- getDatatype : function() {
130
- return UniformDatatype.FLOAT_MATRIX4;
131
- },
132
-
133
- getValue : function(uniformState) {
134
- return uniformState.getViewportOrthographic();
135
- }
136
- },
137
-
138
- /**
139
- * An automatic GLSL uniform representing a 4x4 transformation matrix that
140
- * transforms normalized device coordinates to window coordinates. The context's
141
- * full viewport is used, and the depth range is assumed to be <code>near = 0</code>
142
- * and <code>far = 1</code>.
143
- * <br /><br />
144
- * This transform is useful when there is a need to manipulate window coordinates
145
- * in a vertex shader as done by {@link BillboardCollection}. In many cases,
146
- * this matrix will not be used directly; instead, {@link czm_modelToWindowCoordinates}
147
- * will be used to transform directly from model to window coordinates.
148
- * <br /><br />
149
- * Do not confuse <code>czm_viewportTransformation</code> with {@link czm_viewportOrthographic}.
150
- * The former transforms from normalized device coordinates to window coordinates; the later transforms
151
- * from window coordinates to clip coordinates, and is often used to assign to <code>gl_Position</code>.
152
- * <br /><br />
153
- * Like all automatic uniforms, <code>czm_viewportTransformation</code> does not need to be explicitly declared.
154
- * However, it can be explicitly declared when a shader is also used by other applications such
155
- * as a third-party authoring tool.
156
- *
157
- * @alias czm_viewportTransformation
158
- * @glslUniform
159
- *
160
- * @see UniformState#getViewportTransformation
161
- * @see czm_viewport
162
- * @see czm_viewportOrthographic
163
- * @see czm_modelToWindowCoordinates
164
- * @see BillboardCollection
165
- *
166
- * @example
167
- * // GLSL declaration
168
- * uniform mat4 czm_viewportTransformation;
169
- *
170
- * // Use czm_viewportTransformation as part of the
171
- * // transform from model to window coordinates.
172
- * vec4 q = czm_modelViewProjection * positionMC; // model to clip coordinates
173
- * q.xyz /= q.w; // clip to normalized device coordinates (ndc)
174
- * q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // ndc to window coordinates
175
- */
176
- czm_viewportTransformation : {
177
- getSize : function() {
178
- return 1;
179
- },
180
-
181
- getDatatype : function() {
182
- return UniformDatatype.FLOAT_MATRIX4;
183
- },
184
-
185
- getValue : function(uniformState) {
186
- return uniformState.getViewportTransformation();
187
- }
188
- },
189
-
190
- /**
191
- * An automatic GLSL uniform representing a 4x4 model transformation matrix that
192
- * transforms model coordinates to world coordinates.
193
- * <br /><br />
194
- * Like all automatic uniforms, <code>czm_model</code> does not need to be explicitly declared.
195
- * However, it can be explicitly declared when a shader is also used by other applications such
196
- * as a third-party authoring tool.
197
- *
198
- * @alias czm_model
199
- * @glslUniform
200
- *
201
- * @see UniformState#getModel
202
- * @see czm_inverseModel
203
- * @see czm_modelView
204
- * @see czm_modelViewProjection
205
- *
206
- * @example
207
- * // GLSL declaration
208
- * uniform mat4 czm_model;
209
- *
210
- * // Example
211
- * vec4 worldPosition = czm_model * modelPosition;
212
- */
213
- czm_model : {
214
- getSize : function() {
215
- return 1;
216
- },
217
-
218
- getDatatype : function() {
219
- return UniformDatatype.FLOAT_MATRIX4;
220
- },
221
-
222
- getValue : function(uniformState) {
223
- return uniformState.getModel();
224
- }
225
- },
226
-
227
- /**
228
- * An automatic GLSL uniform representing a 4x4 model transformation matrix that
229
- * transforms world coordinates to model coordinates.
230
- * <br /><br />
231
- * Like all automatic uniforms, <code>czm_inverseModel</code> does not need to be explicitly declared.
232
- * However, it can be explicitly declared when a shader is also used by other applications such
233
- * as a third-party authoring tool.
234
- *
235
- * @alias czm_inverseModel
236
- * @glslUniform
237
- *
238
- * @see UniformState#getInverseModel
239
- * @see czm_model
240
- * @see czm_inverseModelView
241
- *
242
- * @example
243
- * // GLSL declaration
244
- * uniform mat4 czm_inverseModel;
245
- *
246
- * // Example
247
- * vec4 modelPosition = czm_inverseModel * worldPosition;
248
- */
249
- czm_inverseModel : {
250
- getSize : function() {
251
- return 1;
252
- },
253
-
254
- getDatatype : function() {
255
- return UniformDatatype.FLOAT_MATRIX4;
256
- },
257
-
258
- getValue : function(uniformState) {
259
- return uniformState.getInverseModel();
260
- }
261
- },
262
-
263
- /**
264
- * An automatic GLSL uniform representing a 4x4 view transformation matrix that
265
- * transforms world coordinates to eye coordinates.
266
- * <br /><br />
267
- * Like all automatic uniforms, <code>czm_view</code> does not need to be explicitly declared.
268
- * However, it can be explicitly declared when a shader is also used by other applications such
269
- * as a third-party authoring tool.
270
- *
271
- * @alias czm_view
272
- * @glslUniform
273
- *
274
- * @see UniformState#getView
275
- * @see czm_viewRotation
276
- * @see czm_modelView
277
- * @see czm_viewProjection
278
- * @see czm_modelViewProjection
279
- * @see czm_inverseView
280
- *
281
- * @example
282
- * // GLSL declaration
283
- * uniform mat4 czm_view;
284
- *
285
- * // Example
286
- * vec4 eyePosition = czm_view * worldPosition;
287
- */
288
- czm_view : {
289
- getSize : function() {
290
- return 1;
291
- },
292
-
293
- getDatatype : function() {
294
- return UniformDatatype.FLOAT_MATRIX4;
295
- },
296
-
297
- getValue : function(uniformState) {
298
- return uniformState.getView();
299
- }
300
- },
301
-
302
- /**
303
- * An automatic GLSL uniform representing a 4x4 view transformation matrix that
304
- * transforms 3D world coordinates to eye coordinates. In 3D mode, this is identical to
305
- * {@link czm_view}, but in 2D and Columbus View it represents the view matrix
306
- * as if the camera were at an equivalent location in 3D mode. This is useful for lighting
307
- * 2D and Columbus View in the same way that 3D is lit.
308
- * <br /><br />
309
- * Like all automatic uniforms, <code>czm_view3D</code> does not need to be explicitly declared.
310
- * However, it can be explicitly declared when a shader is also used by other applications such
311
- * as a third-party authoring tool.
312
- *
313
- * @alias czm_view3D
314
- * @glslUniform
315
- *
316
- * @see UniformState#getView3D
317
- * @see czm_view
318
- *
319
- * @example
320
- * // GLSL declaration
321
- * uniform mat4 czm_view3D;
322
- *
323
- * // Example
324
- * vec4 eyePosition3D = czm_view3D * worldPosition3D;
325
- */
326
- czm_view3D : {
327
- getSize : function() {
328
- return 1;
329
- },
330
-
331
- getDatatype : function() {
332
- return UniformDatatype.FLOAT_MATRIX4;
333
- },
334
-
335
- getValue : function(uniformState) {
336
- return uniformState.getView3D();
337
- }
338
- },
339
-
340
- /**
341
- * An automatic GLSL uniform representing a 3x3 view rotation matrix that
342
- * transforms vectors in world coordinates to eye coordinates.
343
- * <br /><br />
344
- * Like all automatic uniforms, <code>czm_viewRotation</code> does not need to be explicitly declared.
345
- * However, it can be explicitly declared when a shader is also used by other applications such
346
- * as a third-party authoring tool.
347
- *
348
- * @alias czm_viewRotation
349
- * @glslUniform
350
- *
351
- * @see UniformState#getViewRotation
352
- * @see czm_view
353
- * @see czm_inverseView
354
- * @see czm_inverseViewRotation
355
- *
356
- * @example
357
- * // GLSL declaration
358
- * uniform mat3 czm_viewRotation;
359
- *
360
- * // Example
361
- * vec3 eyeVector = czm_viewRotation * worldVector;
362
- */
363
- czm_viewRotation : {
364
- getSize : function() {
365
- return 1;
366
- },
367
-
368
- getDatatype : function() {
369
- return UniformDatatype.FLOAT_MATRIX3;
370
- },
371
-
372
- getValue : function(uniformState) {
373
- return uniformState.getViewRotation();
374
- }
375
- },
376
-
377
- /**
378
- * An automatic GLSL uniform representing a 3x3 view rotation matrix that
379
- * transforms vectors in 3D world coordinates to eye coordinates. In 3D mode, this is identical to
380
- * {@link czm_viewRotation}, but in 2D and Columbus View it represents the view matrix
381
- * as if the camera were at an equivalent location in 3D mode. This is useful for lighting
382
- * 2D and Columbus View in the same way that 3D is lit.
383
- * <br /><br />
384
- * Like all automatic uniforms, <code>czm_viewRotation3D</code> does not need to be explicitly declared.
385
- * However, it can be explicitly declared when a shader is also used by other applications such
386
- * as a third-party authoring tool.
387
- *
388
- * @alias czm_viewRotation3D
389
- * @glslUniform
390
- *
391
- * @see UniformState#getViewRotation3D
392
- * @see czm_viewRotation
393
- *
394
- * @example
395
- * // GLSL declaration
396
- * uniform mat3 czm_viewRotation3D;
397
- *
398
- * // Example
399
- * vec3 eyeVector = czm_viewRotation3D * worldVector;
400
- */
401
- czm_viewRotation3D : {
402
- getSize : function() {
403
- return 1;
404
- },
405
-
406
- getDatatype : function() {
407
- return UniformDatatype.FLOAT_MATRIX3;
408
- },
409
-
410
- getValue : function(uniformState) {
411
- return uniformState.getViewRotation3D();
412
- }
413
- },
414
-
415
- /**
416
- * An automatic GLSL uniform representing a 4x4 transformation matrix that
417
- * transforms from eye coordinates to world coordinates.
418
- * <br /><br />
419
- * Like all automatic uniforms, <code>czm_inverseView</code> does not need to be explicitly declared.
420
- * However, it can be explicitly declared when a shader is also used by other applications such
421
- * as a third-party authoring tool.
422
- *
423
- * @alias czm_inverseView
424
- * @glslUniform
425
- *
426
- * @see UniformState#getInverseView
427
- * @see czm_view
428
- * @see czm_inverseNormal
429
- *
430
- * @example
431
- * // GLSL declaration
432
- * uniform mat4 czm_inverseView;
433
- *
434
- * // Example
435
- * vec4 worldPosition = czm_inverseView * eyePosition;
436
- */
437
- czm_inverseView : {
438
- getSize : function() {
439
- return 1;
440
- },
441
-
442
- getDatatype : function() {
443
- return UniformDatatype.FLOAT_MATRIX4;
444
- },
445
-
446
- getValue : function(uniformState) {
447
- return uniformState.getInverseView();
448
- }
449
- },
450
-
451
- /**
452
- * An automatic GLSL uniform representing a 4x4 transformation matrix that
453
- * transforms from 3D eye coordinates to world coordinates. In 3D mode, this is identical to
454
- * {@link czm_inverseView}, but in 2D and Columbus View it represents the inverse view matrix
455
- * as if the camera were at an equivalent location in 3D mode. This is useful for lighting
456
- * 2D and Columbus View in the same way that 3D is lit.
457
- * <br /><br />
458
- * Like all automatic uniforms, <code>czm_inverseView3D</code> does not need to be explicitly declared.
459
- * However, it can be explicitly declared when a shader is also used by other applications such
460
- * as a third-party authoring tool.
461
- *
462
- * @alias czm_inverseView3D
463
- * @glslUniform
464
- *
465
- * @see UniformState#getInverseView3D
466
- * @see czm_inverseView
467
- *
468
- * @example
469
- * // GLSL declaration
470
- * uniform mat4 czm_inverseView3D;
471
- *
472
- * // Example
473
- * vec4 worldPosition = czm_inverseView3D * eyePosition;
474
- */
475
- czm_inverseView3D : {
476
- getSize : function() {
477
- return 1;
478
- },
479
-
480
- getDatatype : function() {
481
- return UniformDatatype.FLOAT_MATRIX4;
482
- },
483
-
484
- getValue : function(uniformState) {
485
- return uniformState.getInverseView3D();
486
- }
487
- },
488
-
489
- /**
490
- * An automatic GLSL uniform representing a 3x3 rotation matrix that
491
- * transforms vectors from eye coordinates to world coordinates.
492
- * <br /><br />
493
- * Like all automatic uniforms, <code>czm_inverseViewRotation</code> does not need to be explicitly declared.
494
- * However, it can be explicitly declared when a shader is also used by other applications such
495
- * as a third-party authoring tool.
496
- *
497
- * @alias czm_inverseViewRotation
498
- * @glslUniform
499
- *
500
- * @see UniformState#getInverseView
501
- * @see czm_view
502
- * @see czm_viewRotation
503
- * @see czm_inverseViewRotation
504
- *
505
- * @example
506
- * // GLSL declaration
507
- * uniform mat3 czm_inverseViewRotation;
508
- *
509
- * // Example
510
- * vec4 worldVector = czm_inverseViewRotation * eyeVector;
511
- */
512
- czm_inverseViewRotation : {
513
- getSize : function() {
514
- return 1;
515
- },
516
-
517
- getDatatype : function() {
518
- return UniformDatatype.FLOAT_MATRIX3;
519
- },
520
-
521
- getValue : function(uniformState) {
522
- return uniformState.getInverseViewRotation();
523
- }
524
- },
525
-
526
- /**
527
- * An automatic GLSL uniform representing a 3x3 rotation matrix that
528
- * transforms vectors from 3D eye coordinates to world coordinates. In 3D mode, this is identical to
529
- * {@link czm_inverseViewRotation}, but in 2D and Columbus View it represents the inverse view matrix
530
- * as if the camera were at an equivalent location in 3D mode. This is useful for lighting
531
- * 2D and Columbus View in the same way that 3D is lit.
532
- * <br /><br />
533
- * Like all automatic uniforms, <code>czm_inverseViewRotation3D</code> does not need to be explicitly declared.
534
- * However, it can be explicitly declared when a shader is also used by other applications such
535
- * as a third-party authoring tool.
536
- *
537
- * @alias czm_inverseViewRotation3D
538
- * @glslUniform
539
- *
540
- * @see UniformState#getInverseView3D
541
- * @see czm_inverseViewRotation
542
- *
543
- * @example
544
- * // GLSL declaration
545
- * uniform mat3 czm_inverseViewRotation3D;
546
- *
547
- * // Example
548
- * vec4 worldVector = czm_inverseViewRotation3D * eyeVector;
549
- */
550
- czm_inverseViewRotation3D : {
551
- getSize : function() {
552
- return 1;
553
- },
554
-
555
- getDatatype : function() {
556
- return UniformDatatype.FLOAT_MATRIX3;
557
- },
558
-
559
- getValue : function(uniformState) {
560
- return uniformState.getInverseViewRotation3D();
561
- }
562
- },
563
-
564
- /**
565
- * An automatic GLSL uniform representing a 4x4 projection transformation matrix that
566
- * transforms eye coordinates to clip coordinates. Clip coordinates is the
567
- * coordinate system for a vertex shader's <code>gl_Position</code> output.
568
- * <br /><br />
569
- * Like all automatic uniforms, <code>czm_projection</code> does not need to be explicitly declared.
570
- * However, it can be explicitly declared when a shader is also used by other applications such
571
- * as a third-party authoring tool.
572
- *
573
- * @alias czm_projection
574
- * @glslUniform
575
- *
576
- * @see UniformState#getProjection
577
- * @see czm_viewProjection
578
- * @see czm_modelViewProjection
579
- * @see czm_infiniteProjection
580
- *
581
- * @example
582
- * // GLSL declaration
583
- * uniform mat4 czm_projection;
584
- *
585
- * // Example
586
- * gl_Position = czm_projection * eyePosition;
587
- */
588
- czm_projection : {
589
- getSize : function() {
590
- return 1;
591
- },
592
-
593
- getDatatype : function() {
594
- return UniformDatatype.FLOAT_MATRIX4;
595
- },
596
-
597
- getValue : function(uniformState) {
598
- return uniformState.getProjection();
599
- }
600
- },
601
-
602
- /**
603
- * An automatic GLSL uniform representing a 4x4 inverse projection transformation matrix that
604
- * transforms from clip coordinates to eye coordinates. Clip coordinates is the
605
- * coordinate system for a vertex shader's <code>gl_Position</code> output.
606
- * <br /><br />
607
- * Like all automatic uniforms, <code>czm_inverseProjection</code> does not need to be explicitly declared.
608
- * However, it can be explicitly declared when a shader is also used by other applications such
609
- * as a third-party authoring tool.
610
- *
611
- * @alias czm_inverseProjection
612
- * @glslUniform
613
- *
614
- * @see UniformState#getInverseProjection
615
- * @see czm_projection
616
- *
617
- * @example
618
- * // GLSL declaration
619
- * uniform mat4 czm_inverseProjection;
620
- *
621
- * // Example
622
- * vec4 eyePosition = czm_inverseProjection * clipPosition;
623
- */
624
- czm_inverseProjection : {
625
- getSize : function() {
626
- return 1;
627
- },
628
-
629
- getDatatype : function() {
630
- return UniformDatatype.FLOAT_MATRIX4;
631
- },
632
-
633
- getValue : function(uniformState) {
634
- return uniformState.getInverseProjection();
635
- }
636
- },
637
-
638
- /**
639
- * An automatic GLSL uniform representing a 4x4 projection transformation matrix with the far plane at infinity,
640
- * that transforms eye coordinates to clip coordinates. Clip coordinates is the
641
- * coordinate system for a vertex shader's <code>gl_Position</code> output. An infinite far plane is used
642
- * in algorithms like shadow volumes and GPU ray casting with proxy geometry to ensure that triangles
643
- * are not clipped by the far plane.
644
- * <br /><br />
645
- * Like all automatic uniforms, <code>czm_infiniteProjection</code> does not need to be explicitly declared.
646
- * However, it can be explicitly declared when a shader is also used by other applications such
647
- * as a third-party authoring tool.
648
- *
649
- * @alias czm_infiniteProjection
650
- * @glslUniform
651
- *
652
- * @see UniformState#getInfiniteProjection
653
- * @see czm_projection
654
- * @see czm_modelViewInfiniteProjection
655
- *
656
- * @example
657
- * // GLSL declaration
658
- * uniform mat4 czm_infiniteProjection;
659
- *
660
- * // Example
661
- * gl_Position = czm_infiniteProjection * eyePosition;
662
- */
663
- czm_infiniteProjection : {
664
- getSize : function() {
665
- return 1;
666
- },
667
-
668
- getDatatype : function() {
669
- return UniformDatatype.FLOAT_MATRIX4;
670
- },
671
-
672
- getValue : function(uniformState) {
673
- return uniformState.getInfiniteProjection();
674
- }
675
- },
676
-
677
- /**
678
- * An automatic GLSL uniform representing a 4x4 model-view transformation matrix that
679
- * transforms model coordinates to eye coordinates.
680
- * <br /><br />
681
- * Positions should be transformed to eye coordinates using <code>czm_modelView</code> and
682
- * normals should be transformed using {@link czm_normal}.
683
- * <br /><br />
684
- * Like all automatic uniforms, <code>czm_modelView</code> does not need to be explicitly declared.
685
- * However, it can be explicitly declared when a shader is also used by other applications such
686
- * as a third-party authoring tool.
687
- *
688
- * @alias czm_modelView
689
- * @glslUniform
690
- *
691
- * @see UniformState#getModelView
692
- * @see czm_model
693
- * @see czm_view
694
- * @see czm_modelViewProjection
695
- * @see czm_normal
696
- *
697
- * @example
698
- * // GLSL declaration
699
- * uniform mat4 czm_modelView;
700
- *
701
- * // Example
702
- * vec4 eyePosition = czm_modelView * modelPosition;
703
- *
704
- * // The above is equivalent to, but more efficient than:
705
- * vec4 eyePosition = czm_view * czm_model * modelPosition;
706
- */
707
- czm_modelView : {
708
- getSize : function() {
709
- return 1;
710
- },
711
-
712
- getDatatype : function() {
713
- return UniformDatatype.FLOAT_MATRIX4;
714
- },
715
-
716
- getValue : function(uniformState) {
717
- return uniformState.getModelView();
718
- }
719
- },
720
-
721
- /**
722
- * An automatic GLSL uniform representing a 4x4 model-view transformation matrix that
723
- * transforms 3D model coordinates to eye coordinates. In 3D mode, this is identical to
724
- * {@link czm_modelView}, but in 2D and Columbus View it represents the model-view matrix
725
- * as if the camera were at an equivalent location in 3D mode. This is useful for lighting
726
- * 2D and Columbus View in the same way that 3D is lit.
727
- * <br /><br />
728
- * Positions should be transformed to eye coordinates using <code>czm_modelView3D</code> and
729
- * normals should be transformed using {@link czm_normal3D}.
730
- * <br /><br />
731
- * Like all automatic uniforms, <code>czm_modelView3D</code> does not need to be explicitly declared.
732
- * However, it can be explicitly declared when a shader is also used by other applications such
733
- * as a third-party authoring tool.
734
- *
735
- * @alias czm_modelView3D
736
- * @glslUniform
737
- *
738
- * @see UniformState#getModelView3D
739
- * @see czm_modelView
740
- *
741
- * @example
742
- * // GLSL declaration
743
- * uniform mat4 czm_modelView3D;
744
- *
745
- * // Example
746
- * vec4 eyePosition = czm_modelView3D * modelPosition;
747
- *
748
- * // The above is equivalent to, but more efficient than:
749
- * vec4 eyePosition = czm_view3D * czm_model * modelPosition;
750
- */
751
- czm_modelView3D : {
752
- getSize : function() {
753
- return 1;
754
- },
755
-
756
- getDatatype : function() {
757
- return UniformDatatype.FLOAT_MATRIX4;
758
- },
759
-
760
- getValue : function(uniformState) {
761
- return uniformState.getModelView3D();
762
- }
763
- },
764
-
765
- /**
766
- * An automatic GLSL uniform representing a 4x4 model-view transformation matrix that
767
- * transforms model coordinates, relative to the eye, to eye coordinates. This is used
768
- * in conjunction with {@link czm_translateRelativeToEye}.
769
- * <br /><br />
770
- * Like all automatic uniforms, <code>czm_modelViewRelativeToEye</code> does not need to be explicitly declared.
771
- * However, it can be explicitly declared when a shader is also used by other applications such
772
- * as a third-party authoring tool.
773
- *
774
- * @alias czm_modelViewRelativeToEye
775
- * @glslUniform
776
- *
777
- * @example
778
- * // GLSL declaration
779
- * uniform mat4 czm_modelViewRelativeToEye;
780
- *
781
- * // Example
782
- * attribute vec3 positionHigh;
783
- * attribute vec3 positionLow;
784
- *
785
- * void main()
786
- * {
787
- * vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
788
- * gl_Position = czm_projection * (czm_modelViewRelativeToEye * p);
789
- * }
790
- *
791
- * @see czm_modelViewProjectionRelativeToEye
792
- * @see czm_translateRelativeToEye
793
- * @see EncodedCartesian3
794
- */
795
- czm_modelViewRelativeToEye : {
796
- getSize : function() {
797
- return 1;
798
- },
799
-
800
- getDatatype : function() {
801
- return UniformDatatype.FLOAT_MATRIX4;
802
- },
803
-
804
- getValue : function(uniformState) {
805
- return uniformState.getModelViewRelativeToEye();
806
- }
807
- },
808
-
809
- /**
810
- * An automatic GLSL uniform representing a 4x4 transformation matrix that
811
- * transforms from eye coordinates to model coordinates.
812
- * <br /><br />
813
- * Like all automatic uniforms, <code>czm_inverseModelView</code> does not need to be explicitly declared.
814
- * However, it can be explicitly declared when a shader is also used by other applications such
815
- * as a third-party authoring tool.
816
- *
817
- * @alias czm_inverseModelView
818
- * @glslUniform
819
- *
820
- * @see UniformState#getInverseModelView
821
- * @see czm_modelView
822
- *
823
- * @example
824
- * // GLSL declaration
825
- * uniform mat4 czm_inverseModelView;
826
- *
827
- * // Example
828
- * vec4 modelPosition = czm_inverseModelView * eyePosition;
829
- */
830
- czm_inverseModelView : {
831
- getSize : function() {
832
- return 1;
833
- },
834
-
835
- getDatatype : function() {
836
- return UniformDatatype.FLOAT_MATRIX4;
837
- },
838
-
839
- getValue : function(uniformState) {
840
- return uniformState.getInverseModelView();
841
- }
842
- },
843
-
844
- /**
845
- * An automatic GLSL uniform representing a 4x4 transformation matrix that
846
- * transforms from eye coordinates to 3D model coordinates. In 3D mode, this is identical to
847
- * {@link czm_inverseModelView}, but in 2D and Columbus View it represents the inverse model-view matrix
848
- * as if the camera were at an equivalent location in 3D mode. This is useful for lighting
849
- * 2D and Columbus View in the same way that 3D is lit.
850
- * <br /><br />
851
- * Like all automatic uniforms, <code>czm_inverseModelView3D</code> does not need to be explicitly declared.
852
- * However, it can be explicitly declared when a shader is also used by other applications such
853
- * as a third-party authoring tool.
854
- *
855
- * @alias czm_inverseModelView3D
856
- * @glslUniform
857
- *
858
- * @see UniformState#getInverseModelView
859
- * @see czm_inverseModelView
860
- * @see czm_modelView3D
861
- *
862
- * @example
863
- * // GLSL declaration
864
- * uniform mat4 czm_inverseModelView3D;
865
- *
866
- * // Example
867
- * vec4 modelPosition = czm_inverseModelView3D * eyePosition;
868
- */
869
- czm_inverseModelView3D : {
870
- getSize : function() {
871
- return 1;
872
- },
873
-
874
- getDatatype : function() {
875
- return UniformDatatype.FLOAT_MATRIX4;
876
- },
877
-
878
- getValue : function(uniformState) {
879
- return uniformState.getInverseModelView3D();
880
- }
881
- },
882
-
883
- /**
884
- * An automatic GLSL uniform representing a 4x4 view-projection transformation matrix that
885
- * transforms world coordinates to clip coordinates. Clip coordinates is the
886
- * coordinate system for a vertex shader's <code>gl_Position</code> output.
887
- * <br /><br />
888
- * Like all automatic uniforms, <code>czm_viewProjection</code> does not need to be explicitly declared.
889
- * However, it can be explicitly declared when a shader is also used by other applications such
890
- * as a third-party authoring tool.
891
- *
892
- * @alias czm_viewProjection
893
- * @glslUniform
894
- *
895
- * @see UniformState#getViewProjection
896
- * @see czm_view
897
- * @see czm_projection
898
- * @see czm_modelViewProjection
899
- *
900
- * @example
901
- * // GLSL declaration
902
- * uniform mat4 czm_viewProjection;
903
- *
904
- * // Example
905
- * vec4 gl_Position = czm_viewProjection * czm_model * modelPosition;
906
- *
907
- * // The above is equivalent to, but more efficient than:
908
- * gl_Position = czm_projection * czm_view * czm_model * modelPosition;
909
- */
910
- czm_viewProjection : {
911
- getSize : function() {
912
- return 1;
913
- },
914
-
915
- getDatatype : function() {
916
- return UniformDatatype.FLOAT_MATRIX4;
917
- },
918
-
919
- getValue : function(uniformState) {
920
- return uniformState.getViewProjection();
921
- }
922
- },
923
-
924
- /**
925
- * An automatic GLSL uniform representing a 4x4 model-view-projection transformation matrix that
926
- * transforms model coordinates to clip coordinates. Clip coordinates is the
927
- * coordinate system for a vertex shader's <code>gl_Position</code> output.
928
- * <br /><br />
929
- * Like all automatic uniforms, <code>czm_modelViewProjection</code> does not need to be explicitly declared.
930
- * However, it can be explicitly declared when a shader is also used by other applications such
931
- * as a third-party authoring tool.
932
- *
933
- * @alias czm_modelViewProjection
934
- * @glslUniform
935
- *
936
- * @see UniformState#getModelViewProjection
937
- * @see czm_model
938
- * @see czm_view
939
- * @see czm_projection
940
- * @see czm_modelView
941
- * @see czm_viewProjection
942
- * @see czm_modelViewInfiniteProjection
943
- *
944
- * @example
945
- * // GLSL declaration
946
- * uniform mat4 czm_modelViewProjection;
947
- *
948
- * // Example
949
- * vec4 gl_Position = czm_modelViewProjection * modelPosition;
950
- *
951
- * // The above is equivalent to, but more efficient than:
952
- * gl_Position = czm_projection * czm_view * czm_model * modelPosition;
953
- */
954
- czm_modelViewProjection : {
955
- getSize : function() {
956
- return 1;
957
- },
958
-
959
- getDatatype : function() {
960
- return UniformDatatype.FLOAT_MATRIX4;
961
- },
962
-
963
- getValue : function(uniformState) {
964
- return uniformState.getModelViewProjection();
965
- }
966
- },
967
-
968
- /**
969
- * An automatic GLSL uniform representing a 4x4 model-view-projection transformation matrix that
970
- * transforms model coordinates, relative to the eye, to clip coordinates. Clip coordinates is the
971
- * coordinate system for a vertex shader's <code>gl_Position</code> output. This is used in
972
- * conjunction with {@link czm_translateRelativeToEye}.
973
- * <br /><br />
974
- * Like all automatic uniforms, <code>czm_modelViewProjectionRelativeToEye</code> does not need to be explicitly declared.
975
- * However, it can be explicitly declared when a shader is also used by other applications such
976
- * as a third-party authoring tool.
977
- *
978
- * @alias czm_modelViewProjectionRelativeToEye
979
- * @glslUniform
980
- *
981
- * @example
982
- * // GLSL declaration
983
- * uniform mat4 czm_modelViewProjectionRelativeToEye;
984
- *
985
- * // Example
986
- * attribute vec3 positionHigh;
987
- * attribute vec3 positionLow;
988
- *
989
- * void main()
990
- * {
991
- * vec4 p = czm_translateRelativeToEye(positionHigh, positionLow);
992
- * gl_Position = czm_modelViewProjectionRelativeToEye * p;
993
- * }
994
- *
995
- * @see czm_modelViewRelativeToEye
996
- * @see czm_translateRelativeToEye
997
- * @see EncodedCartesian3
998
- */
999
- czm_modelViewProjectionRelativeToEye : {
1000
- getSize : function() {
1001
- return 1;
1002
- },
1003
-
1004
- getDatatype : function() {
1005
- return UniformDatatype.FLOAT_MATRIX4;
1006
- },
1007
-
1008
- getValue : function(uniformState) {
1009
- return uniformState.getModelViewProjectionRelativeToEye();
1010
- }
1011
- },
1012
-
1013
- /**
1014
- * An automatic GLSL uniform representing a 4x4 model-view-projection transformation matrix that
1015
- * transforms model coordinates to clip coordinates. Clip coordinates is the
1016
- * coordinate system for a vertex shader's <code>gl_Position</code> output. The projection matrix places
1017
- * the far plane at infinity. This is useful in algorithms like shadow volumes and GPU ray casting with
1018
- * proxy geometry to ensure that triangles are not clipped by the far plane.
1019
- * <br /><br />
1020
- * Like all automatic uniforms, <code>czm_modelViewInfiniteProjection</code> does not need to be explicitly declared.
1021
- * However, it can be explicitly declared when a shader is also used by other applications such
1022
- * as a third-party authoring tool.
1023
- *
1024
- * @alias czm_modelViewInfiniteProjection
1025
- * @glslUniform
1026
- *
1027
- * @see UniformState#getModelViewInfiniteProjection
1028
- * @see czm_model
1029
- * @see czm_view
1030
- * @see czm_infiniteProjection
1031
- * @see czm_modelViewProjection
1032
- *
1033
- * @example
1034
- * // GLSL declaration
1035
- * uniform mat4 czm_modelViewInfiniteProjection;
1036
- *
1037
- * // Example
1038
- * vec4 gl_Position = czm_modelViewInfiniteProjection * modelPosition;
1039
- *
1040
- * // The above is equivalent to, but more efficient than:
1041
- * gl_Position = czm_infiniteProjection * czm_view * czm_model * modelPosition;
1042
- */
1043
- czm_modelViewInfiniteProjection : {
1044
- getSize : function() {
1045
- return 1;
1046
- },
1047
-
1048
- getDatatype : function() {
1049
- return UniformDatatype.FLOAT_MATRIX4;
1050
- },
1051
-
1052
- getValue : function(uniformState) {
1053
- return uniformState.getModelViewInfiniteProjection();
1054
- }
1055
- },
1056
-
1057
- /**
1058
- * An automatic GLSL uniform representing a 3x3 normal transformation matrix that
1059
- * transforms normal vectors in model coordinates to eye coordinates.
1060
- * <br /><br />
1061
- * Positions should be transformed to eye coordinates using {@link czm_modelView} and
1062
- * normals should be transformed using <code>czm_normal</code>.
1063
- * <br /><br />
1064
- * Like all automatic uniforms, <code>czm_normal</code> does not need to be explicitly declared.
1065
- * However, it can be explicitly declared when a shader is also used by other applications such
1066
- * as a third-party authoring tool.
1067
- *
1068
- * @alias czm_normal
1069
- * @glslUniform
1070
- *
1071
- * @see UniformState#getNormal
1072
- * @see czm_inverseNormal
1073
- * @see czm_modelView
1074
- *
1075
- * @example
1076
- * // GLSL declaration
1077
- * uniform mat3 czm_normal;
1078
- *
1079
- * // Example
1080
- * vec3 eyeNormal = czm_normal * normal;
1081
- */
1082
- czm_normal : {
1083
- getSize : function() {
1084
- return 1;
1085
- },
1086
-
1087
- getDatatype : function() {
1088
- return UniformDatatype.FLOAT_MATRIX3;
1089
- },
1090
-
1091
- getValue : function(uniformState) {
1092
- return uniformState.getNormal();
1093
- }
1094
- },
1095
-
1096
- /**
1097
- * An automatic GLSL uniform representing a 3x3 normal transformation matrix that
1098
- * transforms normal vectors in 3D model coordinates to eye coordinates.
1099
- * In 3D mode, this is identical to
1100
- * {@link czm_normal}, but in 2D and Columbus View it represents the normal transformation
1101
- * matrix as if the camera were at an equivalent location in 3D mode. This is useful for lighting
1102
- * 2D and Columbus View in the same way that 3D is lit.
1103
- * <br /><br />
1104
- * Positions should be transformed to eye coordinates using {@link czm_modelView3D} and
1105
- * normals should be transformed using <code>czm_normal3D</code>.
1106
- * <br /><br />
1107
- * Like all automatic uniforms, <code>czm_normal3D</code> does not need to be explicitly declared.
1108
- * However, it can be explicitly declared when a shader is also used by other applications such
1109
- * as a third-party authoring tool.
1110
- *
1111
- * @alias czm_normal3D
1112
- * @glslUniform
1113
- *
1114
- * @see UniformState#getNormal3D
1115
- * @see czm_normal
1116
- *
1117
- * @example
1118
- * // GLSL declaration
1119
- * uniform mat3 czm_normal3D;
1120
- *
1121
- * // Example
1122
- * vec3 eyeNormal = czm_normal3D * normal;
1123
- */
1124
- czm_normal3D : {
1125
- getSize : function() {
1126
- return 1;
1127
- },
1128
-
1129
- getDatatype : function() {
1130
- return UniformDatatype.FLOAT_MATRIX3;
1131
- },
1132
-
1133
- getValue : function(uniformState) {
1134
- return uniformState.getNormal3D();
1135
- }
1136
- },
1137
-
1138
- /**
1139
- * An automatic GLSL uniform representing a 3x3 normal transformation matrix that
1140
- * transforms normal vectors in eye coordinates to model coordinates. This is
1141
- * the opposite of the transform provided by {@link czm_normal}.
1142
- * <br /><br />
1143
- * Like all automatic uniforms, <code>czm_inverseNormal</code> does not need to be explicitly declared.
1144
- * However, it can be explicitly declared when a shader is also used by other applications such
1145
- * as a third-party authoring tool.
1146
- *
1147
- * @alias czm_inverseNormal
1148
- * @glslUniform
1149
- *
1150
- * @see UniformState#getInverseNormal
1151
- * @see czm_normal
1152
- * @see czm_modelView
1153
- * @see czm_inverseView
1154
- *
1155
- * @example
1156
- * // GLSL declaration
1157
- * uniform mat3 czm_inverseNormal;
1158
- *
1159
- * // Example
1160
- * vec3 normalMC = czm_inverseNormal * normalEC;
1161
- */
1162
- czm_inverseNormal : {
1163
- getSize : function() {
1164
- return 1;
1165
- },
1166
-
1167
- getDatatype : function() {
1168
- return UniformDatatype.FLOAT_MATRIX3;
1169
- },
1170
-
1171
- getValue : function(uniformState) {
1172
- return uniformState.getInverseNormal();
1173
- }
1174
- },
1175
-
1176
- /**
1177
- * An automatic GLSL uniform representing a 3x3 normal transformation matrix that
1178
- * transforms normal vectors in eye coordinates to 3D model coordinates. This is
1179
- * the opposite of the transform provided by {@link czm_normal}.
1180
- * In 3D mode, this is identical to
1181
- * {@link czm_inverseNormal}, but in 2D and Columbus View it represents the inverse normal transformation
1182
- * matrix as if the camera were at an equivalent location in 3D mode. This is useful for lighting
1183
- * 2D and Columbus View in the same way that 3D is lit.
1184
- * <br /><br />
1185
- * Like all automatic uniforms, <code>czm_inverseNormal3D</code> does not need to be explicitly declared.
1186
- * However, it can be explicitly declared when a shader is also used by other applications such
1187
- * as a third-party authoring tool.
1188
- *
1189
- * @alias czm_inverseNormal3D
1190
- * @glslUniform
1191
- *
1192
- * @see UniformState#getInverseNormal3D
1193
- * @see czm_inverseNormal
1194
- *
1195
- * @example
1196
- * // GLSL declaration
1197
- * uniform mat3 czm_inverseNormal3D;
1198
- *
1199
- * // Example
1200
- * vec3 normalMC = czm_inverseNormal3D * normalEC;
1201
- */
1202
- czm_inverseNormal3D : {
1203
- getSize : function() {
1204
- return 1;
1205
- },
1206
-
1207
- getDatatype : function() {
1208
- return UniformDatatype.FLOAT_MATRIX3;
1209
- },
1210
-
1211
- getValue : function(uniformState) {
1212
- return uniformState.getInverseNormal3D();
1213
- }
1214
- },
1215
-
1216
- /**
1217
- * An automatic GLSL uniform containing the near distance (<code>x</code>) and the far distance (<code>y</code>)
1218
- * of the frustum defined by the camera. This is the largest possible frustum, not an individual
1219
- * frustum used for multi-frustum rendering.
1220
- * <br /><br />
1221
- * Like all automatic uniforms, <code>czm_entireFrustum</code> does not need to be explicitly declared.
1222
- * However, it can be explicitly declared when a shader is also used by other applications such
1223
- * as a third-party authoring tool.
1224
- *
1225
- * @alias czm_entireFrustum
1226
- * @glslUniform
1227
- *
1228
- * @see UniformState#getEntireFrustum
1229
- * @see czm_currentFrustum
1230
- *
1231
- * @example
1232
- * // GLSL declaration
1233
- * uniform vec2 czm_entireFrustum;
1234
- *
1235
- * // Example
1236
- * float frustumLength = czm_entireFrustum.y - czm_entireFrustum.x;
1237
- */
1238
- czm_entireFrustum : {
1239
- getSize : function() {
1240
- return 1;
1241
- },
1242
-
1243
- getDatatype : function() {
1244
- return UniformDatatype.FLOAT_VECTOR2;
1245
- },
1246
-
1247
- getValue : function(uniformState) {
1248
- return uniformState.getEntireFrustum();
1249
- }
1250
- },
1251
-
1252
- /**
1253
- * An automatic GLSL uniform containing height (<code>x</code>) and height squared (<code>y</code>)
1254
- * of the eye (camera) in the 2D scene in meters.
1255
- * <br /><br />
1256
- * Like all automatic uniforms, <code>czm_eyeHeight2D</code> does not need to be explicitly declared.
1257
- * However, it can be explicitly declared when a shader is also used by other applications such
1258
- * as a third-party authoring tool.
1259
- *
1260
- * @alias czm_eyeHeight2D
1261
- * @glslUniform
1262
- *
1263
- * @see UniformState#getEyeHeight2D
1264
- */
1265
- czm_eyeHeight2D : {
1266
- getSize : function() {
1267
- return 1;
1268
- },
1269
-
1270
- getDatatype : function() {
1271
- return UniformDatatype.FLOAT_VECTOR2;
1272
- },
1273
-
1274
- getValue : function(uniformState) {
1275
- return uniformState.getEyeHeight2D();
1276
- }
1277
- },
1278
-
1279
- /**
1280
- * An automatic GLSL uniform containing the near distance (<code>x</code>) and the far distance (<code>y</code>)
1281
- * of the frustum defined by the camera. This is the individual
1282
- * frustum used for multi-frustum rendering.
1283
- * <br /><br />
1284
- * Like all automatic uniforms, <code>czm_currentFrustum</code> does not need to be explicitly declared.
1285
- * However, it can be explicitly declared when a shader is also used by other applications such
1286
- * as a third-party authoring tool.
1287
- *
1288
- * @alias czm_currentFrustum
1289
- * @glslUniform
1290
- *
1291
- * @see UniformState#getCurrentFrustum
1292
- * @see czm_entireFrustum
1293
- *
1294
- * @example
1295
- * // GLSL declaration
1296
- * uniform vec2 czm_currentFrustum;
1297
- *
1298
- * // Example
1299
- * float frustumLength = czm_currentFrustum.y - czm_currentFrustum.x;
1300
- */
1301
- czm_currentFrustum : {
1302
- getSize : function() {
1303
- return 1;
1304
- },
1305
-
1306
- getDatatype : function() {
1307
- return UniformDatatype.FLOAT_VECTOR2;
1308
- },
1309
-
1310
- getValue : function(uniformState) {
1311
- return uniformState.getCurrentFrustum();
1312
- }
1313
- },
1314
-
1315
- /**
1316
- * An automatic GLSL uniform representing the size of a pixel in meters at a distance of one meter
1317
- * from the camera. The pixel size is linearly proportional to the distance from the camera.
1318
- * <br /><br />
1319
- * Like all automatic uniforms, <code>czm_pixelSizeInMeters</code> does not need to be explicitly declared.
1320
- * However, it can be explicitly declared when a shader is also used by other applications such
1321
- * as a third-party authoring tool.
1322
- *
1323
- * @alias czm_pixelSizeInMeters
1324
- * @glslUniform
1325
- *
1326
- * @example
1327
- * // GLSL declaration
1328
- * uniform float czm_pixelSizeInMeters;
1329
- *
1330
- * // Example: the pixel size at a position in eye coordinates
1331
- * float pixelSize = czm_pixelSizeInMeters * positionEC.z;
1332
- */
1333
- czm_pixelSizeInMeters : {
1334
- getSize : function() {
1335
- return 1;
1336
- },
1337
-
1338
- getDatatype : function() {
1339
- return UniformDatatype.FLOAT;
1340
- },
1341
-
1342
- getValue : function(uniformState) {
1343
- return uniformState.getPixelSize();
1344
- }
1345
- },
1346
-
1347
- /**
1348
- * An automatic GLSL uniform representing the sun position in world coordinates.
1349
- * <br /><br />
1350
- * Like all automatic uniforms, <code>czm_sunPositionWC</code> does not need to be explicitly declared.
1351
- * However, it can be explicitly declared when a shader is also used by other applications such
1352
- * as a third-party authoring tool.
1353
- *
1354
- * @alias czm_sunPositionWC
1355
- * @glslUniform
1356
- *
1357
- * @see UniformState#getSunPositionWC
1358
- * @see czm_sunPositionColumbusView
1359
- * @see czm_sunDirectionWC
1360
- *
1361
- * @example
1362
- * // GLSL declaration
1363
- * uniform vec3 czm_sunPositionWC;
1364
- */
1365
- czm_sunPositionWC : {
1366
- getSize : function() {
1367
- return 1;
1368
- },
1369
-
1370
- getDatatype : function() {
1371
- return UniformDatatype.FLOAT_VECTOR3;
1372
- },
1373
-
1374
- getValue : function(uniformState) {
1375
- return uniformState.getSunPositionWC();
1376
- }
1377
- },
1378
-
1379
- /**
1380
- * An automatic GLSL uniform representing the sun position in Columbus view world coordinates.
1381
- * <br /><br />
1382
- * Like all automatic uniforms, <code>czm_sunPositionColumbusView</code> does not need to be explicitly declared.
1383
- * However, it can be explicitly declared when a shader is also used by other applications such
1384
- * as a third-party authoring tool.
1385
- *
1386
- * @alias czm_sunPositionColumbusView
1387
- * @glslUniform
1388
- *
1389
- * @see UniformState#getSunPositionColumbusView
1390
- * @see czm_sunPositionWC
1391
- *
1392
- * @example
1393
- * // GLSL declaration
1394
- * uniform vec3 czm_sunPositionColumbusView;
1395
- */
1396
- czm_sunPositionColumbusView : {
1397
- getSize : function() {
1398
- return 1;
1399
- },
1400
-
1401
- getDatatype : function() {
1402
- return UniformDatatype.FLOAT_VECTOR3;
1403
- },
1404
-
1405
- getValue : function(uniformState) {
1406
- return uniformState.getSunPositionColumbusView();
1407
- }
1408
- },
1409
-
1410
- /**
1411
- * An automatic GLSL uniform representing the normalized direction to the sun in eye coordinates.
1412
- * This is commonly used for directional lighting computations.
1413
- * <br /><br />
1414
- * Like all automatic uniforms, <code>czm_sunDirectionEC</code> does not need to be explicitly declared.
1415
- * However, it can be explicitly declared when a shader is also used by other applications such
1416
- * as a third-party authoring tool.
1417
- *
1418
- * @alias czm_sunDirectionEC
1419
- * @glslUniform
1420
- *
1421
- * @see UniformState#getSunDirectionEC
1422
- * @see czm_moonDirectionEC
1423
- * @see czm_sunDirectionWC
1424
- *
1425
- * @example
1426
- * // GLSL declaration
1427
- * uniform vec3 czm_sunDirectionEC;
1428
- *
1429
- * // Example
1430
- * float diffuse = max(dot(czm_sunDirectionEC, normalEC), 0.0);
1431
- */
1432
- czm_sunDirectionEC : {
1433
- getSize : function() {
1434
- return 1;
1435
- },
1436
-
1437
- getDatatype : function() {
1438
- return UniformDatatype.FLOAT_VECTOR3;
1439
- },
1440
-
1441
- getValue : function(uniformState) {
1442
- return uniformState.getSunDirectionEC();
1443
- }
1444
- },
1445
-
1446
- /**
1447
- * An automatic GLSL uniform representing the normalized direction to the sun in world coordinates.
1448
- * This is commonly used for directional lighting computations.
1449
- * <br /><br />
1450
- * Like all automatic uniforms, <code>czm_sunDirectionWC</code> does not need to be explicitly declared.
1451
- * However, it can be explicitly declared when a shader is also used by other applications such
1452
- * as a third-party authoring tool.
1453
- *
1454
- * @alias czm_sunDirectionWC
1455
- * @glslUniform
1456
- *
1457
- * @see UniformState#getSunDirectionWC
1458
- * @see czm_sunPositionWC
1459
- * @see czm_sunDirectionEC
1460
- *
1461
- * @example
1462
- * // GLSL declaration
1463
- * uniform vec3 czm_sunDirectionWC;
1464
- */
1465
- czm_sunDirectionWC : {
1466
- getSize : function() {
1467
- return 1;
1468
- },
1469
-
1470
- getDatatype : function() {
1471
- return UniformDatatype.FLOAT_VECTOR3;
1472
- },
1473
-
1474
- getValue : function(uniformState) {
1475
- return uniformState.getSunDirectionWC();
1476
- }
1477
- },
1478
-
1479
- /**
1480
- * An automatic GLSL uniform representing the normalized direction to the moon in eye coordinates.
1481
- * This is commonly used for directional lighting computations.
1482
- * <br /><br />
1483
- * Like all automatic uniforms, <code>czm_moonDirectionEC</code> does not need to be explicitly declared.
1484
- * However, it can be explicitly declared when a shader is also used by other applications such
1485
- * as a third-party authoring tool.
1486
- *
1487
- * @alias czm_moonDirectionEC
1488
- * @glslUniform
1489
- *
1490
- * @see UniformState#getMoonDirectionEC
1491
- * @see czm_sunDirectionEC
1492
- *
1493
- * @example
1494
- * // GLSL declaration
1495
- * uniform vec3 czm_moonDirectionEC;
1496
- *
1497
- * // Example
1498
- * float diffuse = max(dot(czm_moonDirectionEC, normalEC), 0.0);
1499
- */
1500
- czm_moonDirectionEC : {
1501
- getSize : function() {
1502
- return 1;
1503
- },
1504
-
1505
- getDatatype : function() {
1506
- return UniformDatatype.FLOAT_VECTOR3;
1507
- },
1508
-
1509
- getValue : function(uniformState) {
1510
- return uniformState.getMoonDirectionEC();
1511
- }
1512
- },
1513
-
1514
- /**
1515
- * An automatic GLSL uniform representing the high bits of the camera position in model
1516
- * coordinates. This is used for GPU RTE to eliminate jittering artifacts when rendering
1517
- * as described in <a href="http://blogs.agi.com/insight3d/index.php/2008/09/03/precisions-precisions/">Precisions, Precisions</a>.
1518
- * <br /><br />
1519
- * Like all automatic uniforms, <code>czm_encodedCameraPositionMCHigh</code> does not need to be explicitly declared.
1520
- * However, it can be explicitly declared when a shader is also used by other applications such
1521
- * as a third-party authoring tool.
1522
- *
1523
- * @alias czm_encodedCameraPositionMCHigh
1524
- * @glslUniform
1525
- *
1526
- * @see czm_encodedCameraPositionMCLow
1527
- * @see czm_modelViewRelativeToEye
1528
- * @see czm_modelViewProjectionRelativeToEye
1529
- *
1530
- * @example
1531
- * // GLSL declaration
1532
- * uniform vec3 czm_encodedCameraPositionMCHigh;
1533
- */
1534
- czm_encodedCameraPositionMCHigh : {
1535
- getSize : function() {
1536
- return 1;
1537
- },
1538
-
1539
- getDatatype : function() {
1540
- return UniformDatatype.FLOAT_VECTOR3;
1541
- },
1542
-
1543
- getValue : function(uniformState) {
1544
- return uniformState.getEncodedCameraPositionMCHigh();
1545
- }
1546
- },
1547
-
1548
- /**
1549
- * An automatic GLSL uniform representing the low bits of the camera position in model
1550
- * coordinates. This is used for GPU RTE to eliminate jittering artifacts when rendering
1551
- * as described in <a href="http://blogs.agi.com/insight3d/index.php/2008/09/03/precisions-precisions/">Precisions, Precisions</a>.
1552
- * <br /><br />
1553
- * Like all automatic uniforms, <code>czm_encodedCameraPositionMCHigh</code> does not need to be explicitly declared.
1554
- * However, it can be explicitly declared when a shader is also used by other applications such
1555
- * as a third-party authoring tool.
1556
- *
1557
- * @alias czm_encodedCameraPositionMCLow
1558
- * @glslUniform
1559
- *
1560
- * @see czm_encodedCameraPositionMCHigh
1561
- * @see czm_modelViewRelativeToEye
1562
- * @see czm_modelViewProjectionRelativeToEye
1563
- *
1564
- * @example
1565
- * // GLSL declaration
1566
- * uniform vec3 czm_encodedCameraPositionMCLow;
1567
- */
1568
- czm_encodedCameraPositionMCLow : {
1569
- getSize : function() {
1570
- return 1;
1571
- },
1572
-
1573
- getDatatype : function() {
1574
- return UniformDatatype.FLOAT_VECTOR3;
1575
- },
1576
-
1577
- getValue : function(uniformState) {
1578
- return uniformState.getEncodedCameraPositionMCLow();
1579
- }
1580
- },
1581
-
1582
- /**
1583
- * An automatic GLSL uniform representing the position of the viewer (camera) in world coordinates.
1584
- * <br /><br />
1585
- * Like all automatic uniforms, <code>czm_sunDirectionWC</code> does not need to be explicitly declared.
1586
- * However, it can be explicitly declared when a shader is also used by other applications such
1587
- * as a third-party authoring tool.
1588
- *
1589
- * @alias czm_viewerPositionWC
1590
- * @glslUniform
1591
- *
1592
- * @example
1593
- * // GLSL declaration
1594
- * uniform vec3 czm_viewerPositionWC;
1595
- */
1596
- czm_viewerPositionWC : {
1597
- getSize : function() {
1598
- return 1;
1599
- },
1600
-
1601
- getDatatype : function() {
1602
- return UniformDatatype.FLOAT_VECTOR3;
1603
- },
1604
-
1605
- getValue : function(uniformState) {
1606
- return uniformState.getInverseView().getTranslation();
1607
- }
1608
- },
1609
-
1610
- /**
1611
- * An automatic GLSL uniform representing the frame number. This uniform is automatically incremented
1612
- * every frame.
1613
- * <br /><br />
1614
- * Like all automatic uniforms, <code>czm_frameNumber</code> does not need to be explicitly declared.
1615
- * However, it can be explicitly declared when a shader is also used by other applications such
1616
- * as a third-party authoring tool.
1617
- *
1618
- * @alias czm_frameNumber
1619
- * @glslUniform
1620
- *
1621
- * @example
1622
- * // GLSL declaration
1623
- * uniform float czm_frameNumber;
1624
- */
1625
- czm_frameNumber : {
1626
- getSize : function() {
1627
- return 1;
1628
- },
1629
-
1630
- getDatatype : function() {
1631
- return UniformDatatype.FLOAT;
1632
- },
1633
-
1634
- getValue : function(uniformState) {
1635
- return uniformState.getFrameState().frameNumber;
1636
- }
1637
- },
1638
-
1639
- /**
1640
- * An automatic GLSL uniform representing the current morph transition time between
1641
- * 2D/Columbus View and 3D, with 0.0 being 2D or Columbus View and 1.0 being 3D.
1642
- * <br /><br />
1643
- * Like all automatic uniforms, <code>czm_morphTime</code> does not need to be explicitly declared.
1644
- * However, it can be explicitly declared when a shader is also used by other applications such
1645
- * as a third-party authoring tool.
1646
- *
1647
- * @alias czm_morphTime
1648
- * @glslUniform
1649
- *
1650
- * @example
1651
- * // GLSL declaration
1652
- * uniform float czm_morphTime;
1653
- *
1654
- * // Example
1655
- * vec4 p = czm_columbusViewMorph(position2D, position3D, czm_morphTime);
1656
- */
1657
- czm_morphTime : {
1658
- getSize : function() {
1659
- return 1;
1660
- },
1661
-
1662
- getDatatype : function() {
1663
- return UniformDatatype.FLOAT;
1664
- },
1665
-
1666
- getValue : function(uniformState) {
1667
- return uniformState.getFrameState().morphTime;
1668
- }
1669
- },
1670
-
1671
- /**
1672
- * An automatic GLSL uniform representing the current {@link SceneMode} enumeration, expressed
1673
- * as a float.
1674
- * <br /><br />
1675
- * Like all automatic uniforms, <code>czm_sceneMode</code> does not need to be explicitly declared.
1676
- * However, it can be explicitly declared when a shader is also used by other applications such
1677
- * as a third-party authoring tool.
1678
- *
1679
- * @alias czm_sceneMode
1680
- * @glslUniform
1681
- *
1682
- * @see czm_sceneMode2D
1683
- * @see czm_sceneModeColumbusView
1684
- * @see czm_sceneMode3D
1685
- * @see czm_sceneModeMorphing
1686
- *
1687
- * @example
1688
- * // GLSL declaration
1689
- * uniform float czm_sceneMode;
1690
- *
1691
- * // Example
1692
- * if (czm_sceneMode == czm_sceneMode2D)
1693
- * {
1694
- * eyeHeightSq = czm_eyeHeight2D.y;
1695
- * }
1696
- */
1697
- czm_sceneMode : {
1698
- getSize : function() {
1699
- return 1;
1700
- },
1701
-
1702
- getDatatype : function() {
1703
- return UniformDatatype.FLOAT;
1704
- },
1705
-
1706
- getValue : function(uniformState) {
1707
- return uniformState.getFrameState().mode.value;
1708
- }
1709
- },
1710
-
1711
- /**
1712
- * An automatic GLSL uniform representing a 3x3 rotation matrix that transforms
1713
- * from True Equator Mean Equinox (TEME) axes to the pseudo-fixed axes at the current scene time.
1714
- * <br /><br />
1715
- * Like all automatic uniforms, <code>czm_temeToPseudoFixed</code> does not need to be explicitly declared.
1716
- * However, it can be explicitly declared when a shader is also used by other applications such
1717
- * as a third-party authoring tool.
1718
- *
1719
- * @alias czm_temeToPseudoFixed
1720
- * @glslUniform
1721
- *
1722
- * @see UniformState#getTemeToPseudoFixedMatrix
1723
- * @see Transforms.computeTemeToPseudoFixedMatrix
1724
- *
1725
- * @example
1726
- * // GLSL declaration
1727
- * uniform mat3 czm_temeToPseudoFixed;
1728
- *
1729
- * // Example
1730
- * vec3 pseudoFixed = czm_temeToPseudoFixed * teme;
1731
- */
1732
- czm_temeToPseudoFixed : {
1733
- getSize : function() {
1734
- return 1;
1735
- },
1736
-
1737
- getDatatype : function() {
1738
- return UniformDatatype.FLOAT_MATRIX3;
1739
- },
1740
-
1741
- getValue : function(uniformState) {
1742
- return uniformState.getTemeToPseudoFixedMatrix();
1743
- }
1744
- }
1745
- };
1746
-
1747
17
  function getUniformDatatype(gl, activeUniformType) {
1748
18
  switch (activeUniformType) {
1749
19
  case gl.FLOAT:
@@ -1828,6 +98,20 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
1828
98
  scratchUniformMatrix4 = new Float32Array(16);
1829
99
  }
1830
100
 
101
+ function getAutomaticUniformDeclaration(uniforms, uniform) {
102
+ var automaticUniform = uniforms[uniform];
103
+ var declaration = 'uniform ' + automaticUniform.getDatatype().getGLSL() + ' ' + uniform;
104
+
105
+ var size = automaticUniform.getSize();
106
+ if (size === 1) {
107
+ declaration += ';';
108
+ } else {
109
+ declaration += '[' + size.toString() + '];';
110
+ }
111
+
112
+ return declaration;
113
+ }
114
+
1831
115
  /**
1832
116
  * A shader program's uniform, including the uniform's value. This is most commonly used to change
1833
117
  * the value of a uniform, but can also be used retrieve a uniform's name and datatype,
@@ -2043,6 +327,11 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2043
327
  return _location;
2044
328
  };
2045
329
 
330
+ /**
331
+ * @private
332
+ */
333
+ this.textureUnitIndex = undefined;
334
+
2046
335
  this._set = (function() {
2047
336
  switch (activeUniform.type) {
2048
337
  case _gl.FLOAT:
@@ -2073,8 +362,10 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2073
362
  };
2074
363
  case _gl.SAMPLER_2D:
2075
364
  case _gl.SAMPLER_CUBE:
2076
- // See _setSampler()
2077
- return undefined;
365
+ return function() {
366
+ _gl.activeTexture(_gl.TEXTURE0 + this.textureUnitIndex);
367
+ _gl.bindTexture(this.value._getTarget(), this.value._getTexture());
368
+ };
2078
369
  case _gl.INT:
2079
370
  case _gl.BOOL:
2080
371
  return function() {
@@ -2117,17 +408,8 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2117
408
 
2118
409
  if ((activeUniform.type === _gl.SAMPLER_2D) || (activeUniform.type === _gl.SAMPLER_CUBE)) {
2119
410
  this._setSampler = function(textureUnitIndex) {
2120
- _gl.activeTexture(_gl.TEXTURE0 + textureUnitIndex);
2121
- _gl.bindTexture(this.value._getTarget(), this.value._getTexture());
411
+ this.textureUnitIndex = textureUnitIndex;
2122
412
  _gl.uniform1i(_location, textureUnitIndex);
2123
-
2124
- return textureUnitIndex + 1;
2125
- };
2126
-
2127
- this._clearSampler = function(textureUnitIndex) {
2128
- _gl.activeTexture(_gl.TEXTURE0 + textureUnitIndex);
2129
- _gl.bindTexture(this.value._getTarget(), null);
2130
-
2131
413
  return textureUnitIndex + 1;
2132
414
  };
2133
415
  }
@@ -2160,6 +442,11 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2160
442
  return _locations;
2161
443
  };
2162
444
 
445
+ /**
446
+ * @private
447
+ */
448
+ this.textureUnitIndex = undefined;
449
+
2163
450
  this._set = (function() {
2164
451
  switch (activeUniform.type) {
2165
452
  case _gl.FLOAT:
@@ -2198,8 +485,14 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2198
485
  };
2199
486
  case _gl.SAMPLER_2D:
2200
487
  case _gl.SAMPLER_CUBE:
2201
- // See _setSampler()
2202
- return undefined;
488
+ return function() {
489
+ for ( var i = 0; i < _locations.length; ++i) {
490
+ var value = this.value[i];
491
+ var index = this.textureUnitIndex + i;
492
+ _gl.activeTexture(_gl.TEXTURE0 + index);
493
+ _gl.bindTexture(value._getTarget(), value._getTexture());
494
+ }
495
+ };
2203
496
  case _gl.INT:
2204
497
  case _gl.BOOL:
2205
498
  return function() {
@@ -2256,27 +549,31 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2256
549
 
2257
550
  if ((activeUniform.type === _gl.SAMPLER_2D) || (activeUniform.type === _gl.SAMPLER_CUBE)) {
2258
551
  this._setSampler = function(textureUnitIndex) {
552
+ this.textureUnitIndex = textureUnitIndex;
553
+
2259
554
  for ( var i = 0; i < _locations.length; ++i) {
2260
- var value = this.value[i];
2261
555
  var index = textureUnitIndex + i;
2262
- _gl.activeTexture(_gl.TEXTURE0 + index);
2263
- _gl.bindTexture(value._getTarget(), value._getTexture());
2264
556
  _gl.uniform1i(_locations[i], index);
2265
557
  }
2266
558
 
2267
559
  return textureUnitIndex + _locations.length;
2268
560
  };
561
+ }
562
+ };
2269
563
 
2270
- this._clearSampler = function(textureUnitIndex) {
2271
- for ( var i = 0; i < _locations.length; ++i) {
2272
- _gl.activeTexture(_gl.TEXTURE0 + textureUnitIndex + i);
2273
- _gl.bindTexture(this.value[i]._getTarget(), null);
2274
- }
564
+ function setSamplerUniforms(gl, program, samplerUniforms) {
565
+ gl.useProgram(program);
2275
566
 
2276
- return textureUnitIndex + _locations.length;
2277
- };
567
+ var textureUnitIndex = 0;
568
+ var length = samplerUniforms.length;
569
+ for (var i = 0; i < length; ++i) {
570
+ textureUnitIndex = samplerUniforms[i]._setSampler(textureUnitIndex);
2278
571
  }
2279
- };
572
+
573
+ gl.useProgram(null);
574
+
575
+ return textureUnitIndex;
576
+ }
2280
577
 
2281
578
  /**
2282
579
  * DOC_TBA
@@ -2284,25 +581,30 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2284
581
  * @alias ShaderProgram
2285
582
  * @internalConstructor
2286
583
  *
584
+ * @exception {DeveloperError} A circular dependency was found in the Cesium built-in functions/structs/constants.
585
+ *
2287
586
  * @see Context#createShaderProgram
2288
- * @see Context#getShaderCache
2289
587
  */
2290
588
  var ShaderProgram = function(gl, logShaderCompilation, vertexShaderSource, fragmentShaderSource, attributeLocations) {
2291
589
  var program = createAndLinkProgram(gl, logShaderCompilation, vertexShaderSource, fragmentShaderSource, attributeLocations);
2292
590
  var numberOfVertexAttributes = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
2293
591
  var uniforms = findUniforms(gl, program);
2294
- var partitionedUniforms = partitionUniforms(uniforms.allUniforms);
592
+ var partitionedUniforms = partitionUniforms(uniforms.uniformsByName);
2295
593
 
2296
594
  this._gl = gl;
2297
595
  this._program = program;
2298
596
  this._numberOfVertexAttributes = numberOfVertexAttributes;
2299
597
  this._vertexAttributes = findVertexAttributes(gl, program, numberOfVertexAttributes);
2300
- this._allUniforms = uniforms.allUniforms;
598
+ this._uniformsByName = uniforms.uniformsByName;
2301
599
  this._uniforms = uniforms.uniforms;
2302
- this._samplerUniforms = uniforms.samplerUniforms;
2303
600
  this._automaticUniforms = partitionedUniforms.automaticUniforms;
2304
601
  this._manualUniforms = partitionedUniforms.manualUniforms;
2305
602
 
603
+ /**
604
+ * @private
605
+ */
606
+ this.maximumTextureUnitIndex = setSamplerUniforms(gl, program, uniforms.samplerUniforms);
607
+
2306
608
  /**
2307
609
  * GLSL source for the shader program's vertex shader. This is the version of
2308
610
  * the source provided when the shader program was created, not the final
@@ -2326,6 +628,24 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2326
628
  this.fragmentShaderSource = fragmentShaderSource;
2327
629
  };
2328
630
 
631
+ /**
632
+ * For ShaderProgram testing
633
+ * @private
634
+ */
635
+ ShaderProgram._czmBuiltinsAndUniforms = {};
636
+
637
+ // combine automatic uniforms and Cesium built-ins
638
+ for ( var builtin in CzmBuiltins) {
639
+ if (CzmBuiltins.hasOwnProperty(builtin)) {
640
+ ShaderProgram._czmBuiltinsAndUniforms[builtin] = CzmBuiltins[builtin];
641
+ }
642
+ }
643
+ for ( var uniform in AutomaticUniforms) {
644
+ if (AutomaticUniforms.hasOwnProperty(uniform)) {
645
+ ShaderProgram._czmBuiltinsAndUniforms[uniform] = getAutomaticUniformDeclaration(AutomaticUniforms, uniform);
646
+ }
647
+ }
648
+
2329
649
  function extractShaderVersion(source) {
2330
650
  // This will fail if the first #version is actually in a comment.
2331
651
  var index = source.indexOf('#version');
@@ -2357,116 +677,159 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2357
677
  };
2358
678
  }
2359
679
 
2360
- var builtInFunctions = {
2361
- czm_RGBToXYZ : czm_RGBToXYZ,
2362
- czm_XYZToRGB : czm_XYZToRGB,
2363
- czm_antialias : czm_antialias,
2364
- czm_cellular : czm_cellular,
2365
- czm_columbusViewMorph : czm_columbusViewMorph,
2366
- czm_computePosition : czm_computePosition,
2367
- czm_eastNorthUpToEyeCoordinates : czm_eastNorthUpToEyeCoordinates,
2368
- czm_ellipsoidContainsPoint : czm_ellipsoidContainsPoint,
2369
- czm_ellipsoidNew : czm_ellipsoidNew,
2370
- czm_ellipsoidWgs84TextureCoordinates : czm_ellipsoidWgs84TextureCoordinates,
2371
- czm_equalsEpsilon : czm_equalsEpsilon,
2372
- czm_eyeOffset : czm_eyeOffset,
2373
- czm_eyeToWindowCoordinates : czm_eyeToWindowCoordinates,
2374
- czm_geodeticSurfaceNormal : czm_geodeticSurfaceNormal,
2375
- czm_getDefaultMaterial : czm_getDefaultMaterial,
2376
- czm_getWaterNoise : czm_getWaterNoise,
2377
- czm_getWgs84EllipsoidEC : czm_getWgs84EllipsoidEC,
2378
- czm_hue : czm_hue,
2379
- czm_isEmpty : czm_isEmpty,
2380
- czm_isFull : czm_isFull,
2381
- czm_latitudeToWebMercatorFraction : czm_latitudeToWebMercatorFraction,
2382
- czm_luminance : czm_luminance,
2383
- czm_modelToWindowCoordinates : czm_modelToWindowCoordinates,
2384
- czm_multiplyWithColorBalance : czm_multiplyWithColorBalance,
2385
- czm_phong : czm_phong,
2386
- czm_pointAlongRay : czm_pointAlongRay,
2387
- czm_rayEllipsoidIntersectionInterval : czm_rayEllipsoidIntersectionInterval,
2388
- czm_saturation : czm_saturation,
2389
- czm_snoise : czm_snoise,
2390
- czm_tangentToEyeSpaceMatrix : czm_tangentToEyeSpaceMatrix,
2391
- czm_translateRelativeToEye : czm_translateRelativeToEye,
2392
- czm_transpose : czm_transpose,
2393
- czm_windowToEyeCoordinates : czm_windowToEyeCoordinates
2394
- };
680
+ function getDependencyNode(name, glslSource, nodes) {
681
+ var dependencyNode;
682
+
683
+ // check if already loaded
684
+ for ( var i = 0; i < nodes.length; ++i) {
685
+ if (nodes[i].name === name) {
686
+ dependencyNode = nodes[i];
687
+ }
688
+ }
689
+
690
+ if (!defined(dependencyNode)) {
691
+ // strip doc comments so we don't accidentally try to determine a dependency for something found
692
+ // in a comment
693
+ var commentBlocks = glslSource.match(/\/\*\*[\s\S]*?\*\//gm);
694
+ if (defined(commentBlocks) && commentBlocks !== null) {
695
+ for (i = 0; i < commentBlocks.length; ++i) {
696
+ var commentBlock = commentBlocks[i];
697
+
698
+ // preserve the number of lines in the comment block so the line numbers will be correct when debugging shaders
699
+ var numberOfLines = commentBlock.match(/\n/gm).length;
700
+ var modifiedComment = '';
701
+ for ( var lineNumber = 0; lineNumber < numberOfLines; ++lineNumber) {
702
+ if (lineNumber === 0) {
703
+ modifiedComment += '// Comment replaced to prevent problems when determining dependencies on built-in functions\n';
704
+ } else {
705
+ modifiedComment += '//\n';
706
+ }
707
+ }
2395
708
 
2396
- function getBuiltinFunctions(source) {
2397
- // This expects well-behaved shaders, e.g., the built-in functions are not commented out or redeclared.
2398
- var definitions = '';
2399
- var functions = builtInFunctions;
2400
- for (var f in functions) {
2401
- if (functions.hasOwnProperty(f)) {
2402
- if (source.indexOf(f) !== -1) {
2403
- definitions += functions[f] + ' \n';
709
+ glslSource = glslSource.replace(commentBlock, modifiedComment);
2404
710
  }
2405
711
  }
712
+
713
+ // create new node
714
+ dependencyNode = {
715
+ name : name,
716
+ glslSource : glslSource,
717
+ dependsOn : [],
718
+ requiredBy : [],
719
+ evaluated : false
720
+ };
721
+ nodes.push(dependencyNode);
2406
722
  }
2407
723
 
2408
- return definitions;
724
+ return dependencyNode;
2409
725
  }
2410
726
 
2411
- function getFragmentShaderPrecision() {
2412
- return '#ifdef GL_FRAGMENT_PRECISION_HIGH \n' +
2413
- ' precision highp float; \n' +
2414
- '#else \n' +
2415
- ' precision mediump float; \n' +
2416
- '#endif \n\n';
727
+ function generateDependencies(currentNode, dependencyNodes) {
728
+ if (currentNode.evaluated) {
729
+ return;
730
+ }
731
+
732
+ currentNode.evaluated = true;
733
+
734
+ // identify all dependencies that are referenced from this glsl source code
735
+ var czmMatches = currentNode.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);
736
+ if (defined(czmMatches) && czmMatches !== null) {
737
+ // remove duplicates
738
+ czmMatches = czmMatches.filter(function(elem, pos) {
739
+ return czmMatches.indexOf(elem) === pos;
740
+ });
741
+
742
+ czmMatches.forEach(function(element, index, array) {
743
+ if (element !== currentNode.name && ShaderProgram._czmBuiltinsAndUniforms.hasOwnProperty(element)) {
744
+ var referencedNode = getDependencyNode(element, ShaderProgram._czmBuiltinsAndUniforms[element], dependencyNodes);
745
+ currentNode.dependsOn.push(referencedNode);
746
+ referencedNode.requiredBy.push(currentNode);
747
+
748
+ // recursive call to find any dependencies of the new node
749
+ generateDependencies(referencedNode, dependencyNodes);
750
+ }
751
+ });
752
+ }
2417
753
  }
2418
754
 
2419
- function getAutomaticUniformDeclaration(uniforms, uniform) {
2420
- var automaticUniform = uniforms[uniform];
2421
- var declaration = 'uniform ' + automaticUniform.getDatatype().getGLSL() + ' ' + uniform;
755
+ function sortDependencies(dependencyNodes) {
756
+ var nodesWithoutIncomingEdges = [];
757
+ var allNodes = [];
2422
758
 
2423
- var size = automaticUniform.getSize();
2424
- if (size === 1) {
2425
- declaration += ';';
2426
- } else {
2427
- declaration += '[' + size.toString() + '];';
759
+ while (dependencyNodes.length > 0) {
760
+ var node = dependencyNodes.pop();
761
+ allNodes.push(node);
762
+
763
+ if (node.requiredBy.length === 0) {
764
+ nodesWithoutIncomingEdges.push(node);
765
+ }
2428
766
  }
2429
767
 
2430
- return declaration;
2431
- }
768
+ while (nodesWithoutIncomingEdges.length > 0) {
769
+ var currentNode = nodesWithoutIncomingEdges.shift();
2432
770
 
2433
- function getAutomaticUniforms(source) {
2434
- // This expects well-behaved shaders, e.g., the automatic uniform is not commented out or redeclared.
2435
- var declarations = '';
2436
- var uniforms = allAutomaticUniforms;
2437
- for (var uniform in uniforms) {
2438
- if (uniforms.hasOwnProperty(uniform)) {
2439
- if (source.indexOf(uniform) !== -1) {
2440
- declarations += getAutomaticUniformDeclaration(uniforms, uniform) + ' \n';
771
+ dependencyNodes.push(currentNode);
772
+
773
+ for ( var i = 0; i < currentNode.dependsOn.length; ++i) {
774
+ // remove the edge from the graph
775
+ var referencedNode = currentNode.dependsOn[i];
776
+ var index = referencedNode.requiredBy.indexOf(currentNode);
777
+ referencedNode.requiredBy.splice(index, 1);
778
+
779
+ // if referenced node has no more incoming edges, add to list
780
+ if (referencedNode.requiredBy.length === 0) {
781
+ nodesWithoutIncomingEdges.push(referencedNode);
2441
782
  }
2442
783
  }
2443
784
  }
2444
785
 
2445
- return declarations;
786
+ // if there are any nodes left with incoming edges, then there was a circular dependency somewhere in the graph
787
+ var badNodes = [];
788
+ for ( var j = 0; j < allNodes.length; ++j) {
789
+ if (allNodes[j].requiredBy.length !== 0) {
790
+ badNodes.push(allNodes[j]);
791
+ }
792
+ }
793
+ if (badNodes.length !== 0) {
794
+ var message = 'A circular dependency was found in the following built-in functions/structs/constants: \n';
795
+ for (j = 0; j < badNodes.length; ++j) {
796
+ message = message + badNodes[j].name + '\n';
797
+ }
798
+ throw new DeveloperError(message);
799
+ }
800
+ }
801
+
802
+ function getBuiltinsAndAutomaticUniforms(shaderSource) {
803
+ // generate a dependency graph for builtin functions
804
+ var dependencyNodes = [];
805
+ var root = getDependencyNode('main', shaderSource, dependencyNodes);
806
+ generateDependencies(root, dependencyNodes, ShaderProgram._czmBuiltinsAndUniforms);
807
+ sortDependencies(dependencyNodes);
808
+
809
+ // Concatenate the source code for the function dependencies.
810
+ // Iterate in reverse so that dependent items are declared before they are used.
811
+ var builtinsSource = '';
812
+ for ( var i = dependencyNodes.length - 1; i >= 0; --i) {
813
+ builtinsSource = builtinsSource + dependencyNodes[i].glslSource + '\n';
814
+ }
815
+
816
+ return builtinsSource.replace(root.glslSource, '');
817
+ }
818
+
819
+ function getFragmentShaderPrecision() {
820
+ return '#ifdef GL_FRAGMENT_PRECISION_HIGH \n' +
821
+ ' precision highp float; \n' +
822
+ '#else \n' +
823
+ ' precision mediump float; \n' +
824
+ '#endif \n\n';
2446
825
  }
2447
826
 
2448
827
  function createAndLinkProgram(gl, logShaderCompilation, vertexShaderSource, fragmentShaderSource, attributeLocations) {
2449
828
  var vsSourceVersioned = extractShaderVersion(vertexShaderSource);
2450
829
  var fsSourceVersioned = extractShaderVersion(fragmentShaderSource);
2451
830
 
2452
- var vsAndBuiltinFunctions = getBuiltinFunctions(vsSourceVersioned.source) +
2453
- '\n#line 0\n' +
2454
- vsSourceVersioned.source;
2455
- var vsSource = vsSourceVersioned.version +
2456
- ShadersBuiltinConstants +
2457
- ShadersBuiltinStructs +
2458
- getAutomaticUniforms(vsAndBuiltinFunctions) +
2459
- vsAndBuiltinFunctions;
2460
-
2461
- var fsAndBuiltinFunctions = getBuiltinFunctions(fsSourceVersioned.source) +
2462
- '\n#line 0\n' +
2463
- fsSourceVersioned.source;
2464
- var fsSource = fsSourceVersioned.version +
2465
- getFragmentShaderPrecision() +
2466
- ShadersBuiltinConstants +
2467
- ShadersBuiltinStructs +
2468
- getAutomaticUniforms(fsAndBuiltinFunctions) +
2469
- fsAndBuiltinFunctions;
831
+ var vsSource = vsSourceVersioned.version + getBuiltinsAndAutomaticUniforms(vsSourceVersioned.source) + '\n#line 0\n' + vsSourceVersioned.source;
832
+ var fsSource = fsSourceVersioned.version + getFragmentShaderPrecision() + getBuiltinsAndAutomaticUniforms(fsSourceVersioned.source) + '\n#line 0\n' + fsSourceVersioned.source;
2470
833
 
2471
834
  var vertexShader = gl.createShader(gl.VERTEX_SHADER);
2472
835
  gl.shaderSource(vertexShader, vsSource);
@@ -2547,7 +910,7 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2547
910
  }
2548
911
 
2549
912
  function findUniforms(gl, program) {
2550
- var allUniforms = {};
913
+ var uniformsByName = {};
2551
914
  var uniforms = [];
2552
915
  var samplerUniforms = [];
2553
916
 
@@ -2556,8 +919,7 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2556
919
  for ( var i = 0; i < numberOfUniforms; ++i) {
2557
920
  var activeUniform = gl.getActiveUniform(program, i);
2558
921
  var suffix = '[0]';
2559
- var uniformName = activeUniform.name.indexOf(suffix, activeUniform.name.length - suffix.length) !== -1 ?
2560
- activeUniform.name.slice(0, activeUniform.name.length - 3) : activeUniform.name;
922
+ var uniformName = activeUniform.name.indexOf(suffix, activeUniform.name.length - suffix.length) !== -1 ? activeUniform.name.slice(0, activeUniform.name.length - 3) : activeUniform.name;
2561
923
 
2562
924
  // Ignore GLSL built-in uniforms returned in Firefox.
2563
925
  if (uniformName.indexOf('gl_') !== 0) {
@@ -2567,12 +929,11 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2567
929
  var uniformValue = gl.getUniform(program, location);
2568
930
  var uniform = new Uniform(gl, activeUniform, uniformName, location, uniformValue);
2569
931
 
2570
- allUniforms[uniformName] = uniform;
932
+ uniformsByName[uniformName] = uniform;
933
+ uniforms.push(uniform);
2571
934
 
2572
935
  if (uniform._setSampler) {
2573
936
  samplerUniforms.push(uniform);
2574
- } else {
2575
- uniforms.push(uniform);
2576
937
  }
2577
938
  } else {
2578
939
  // Uniform array
@@ -2587,7 +948,7 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2587
948
  var indexOfBracket = uniformName.indexOf('[');
2588
949
  if (indexOfBracket >= 0) {
2589
950
  // We're assuming the array elements show up in numerical order - it seems to be true.
2590
- uniformArray = allUniforms[uniformName.slice(0, indexOfBracket)];
951
+ uniformArray = uniformsByName[uniformName.slice(0, indexOfBracket)];
2591
952
 
2592
953
  // Nexus 4 with Android 4.3 needs this check, because it reports a uniform
2593
954
  // with the strange name webgl_3467e0265d05c3c1[1] in our central body surface shader.
@@ -2616,12 +977,11 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2616
977
  }
2617
978
  uniformArray = new UniformArray(gl, activeUniform, uniformName, locations, value);
2618
979
 
2619
- allUniforms[uniformName] = uniformArray;
980
+ uniformsByName[uniformName] = uniformArray;
981
+ uniforms.push(uniformArray);
2620
982
 
2621
983
  if (uniformArray._setSampler) {
2622
984
  samplerUniforms.push(uniformArray);
2623
- } else {
2624
- uniforms.push(uniformArray);
2625
985
  }
2626
986
  }
2627
987
  }
@@ -2629,7 +989,7 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2629
989
  }
2630
990
 
2631
991
  return {
2632
- allUniforms : allUniforms,
992
+ uniformsByName : uniformsByName,
2633
993
  uniforms : uniforms,
2634
994
  samplerUniforms : samplerUniforms
2635
995
  };
@@ -2639,9 +999,9 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2639
999
  var automaticUniforms = [];
2640
1000
  var manualUniforms = {};
2641
1001
 
2642
- for (var uniform in uniforms) {
1002
+ for ( var uniform in uniforms) {
2643
1003
  if (uniforms.hasOwnProperty(uniform)) {
2644
- var automaticUniform = allAutomaticUniforms[uniform];
1004
+ var automaticUniform = AutomaticUniforms[uniform];
2645
1005
  if (automaticUniform) {
2646
1006
  automaticUniforms.push({
2647
1007
  uniform : uniforms[uniform],
@@ -2692,7 +1052,7 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2692
1052
  * @see ShaderProgram#getManualUniforms
2693
1053
  */
2694
1054
  ShaderProgram.prototype.getAllUniforms = function() {
2695
- return this._allUniforms;
1055
+ return this._uniformsByName;
2696
1056
  };
2697
1057
 
2698
1058
  /**
@@ -2711,17 +1071,6 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2711
1071
  this._gl.useProgram(this._program);
2712
1072
  };
2713
1073
 
2714
- ShaderProgram.prototype._unBind = function() {
2715
- this._gl.useProgram(null);
2716
-
2717
- var samplerUniforms = this._samplerUniforms;
2718
- var textureUnitIndex = 0;
2719
- var len = samplerUniforms.length;
2720
- for ( var i = 0; i < len; ++i) {
2721
- textureUnitIndex = samplerUniforms[i]._clearSampler(textureUnitIndex);
2722
- }
2723
- };
2724
-
2725
1074
  ShaderProgram.prototype._setUniforms = function(uniformMap, uniformState, validate) {
2726
1075
  // TODO: Performance
2727
1076
 
@@ -2729,12 +1078,11 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2729
1078
  var i;
2730
1079
 
2731
1080
  var uniforms = this._uniforms;
2732
- var samplerUniforms = this._samplerUniforms;
2733
1081
  var manualUniforms = this._manualUniforms;
2734
1082
  var automaticUniforms = this._automaticUniforms;
2735
1083
 
2736
1084
  if (uniformMap) {
2737
- for (var uniform in manualUniforms) {
1085
+ for ( var uniform in manualUniforms) {
2738
1086
  if (manualUniforms.hasOwnProperty(uniform)) {
2739
1087
  manualUniforms[uniform].value = uniformMap[uniform]();
2740
1088
  }
@@ -2753,12 +1101,6 @@ define(['Core/defined', 'Core/DeveloperError', 'Core/FeatureDetection', 'Core/Ru
2753
1101
  uniforms[i]._set();
2754
1102
  }
2755
1103
 
2756
- var textureUnitIndex = 0;
2757
- len = samplerUniforms.length;
2758
- for (i = 0; i < len; ++i) {
2759
- textureUnitIndex = samplerUniforms[i]._setSampler(textureUnitIndex);
2760
- }
2761
-
2762
1104
  if (validate) {
2763
1105
  var gl = this._gl;
2764
1106
  var program = this._program;