cesium 1.18.0 → 1.23.0

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 (2692) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/Cesium/Assets/Textures/NaturalEarthII/tilemapresource.xml +2 -3
  3. data/app/assets/javascripts/Cesium/Assets/approximateTerrainHeights.json +1 -0
  4. data/app/assets/javascripts/Cesium/Cesium.js +26 -7
  5. data/app/assets/javascripts/Cesium/Core/ArcGisImageServerTerrainProvider.js +2 -2
  6. data/app/assets/javascripts/Cesium/Core/AssociativeArray.js +1 -1
  7. data/app/assets/javascripts/Cesium/Core/AttributeCompression.js +1 -1
  8. data/app/assets/javascripts/Cesium/Core/AxisAlignedBoundingBox.js +1 -1
  9. data/app/assets/javascripts/Cesium/Core/BingMapsApi.js +19 -3
  10. data/app/assets/javascripts/Cesium/Core/BoundingRectangle.js +60 -1
  11. data/app/assets/javascripts/Cesium/Core/BoundingSphere.js +1 -1
  12. data/app/assets/javascripts/Cesium/Core/BoxGeometry.js +7 -38
  13. data/app/assets/javascripts/Cesium/Core/BoxOutlineGeometry.js +6 -2
  14. data/app/assets/javascripts/Cesium/Core/Cartesian2.js +56 -1
  15. data/app/assets/javascripts/Cesium/Core/Cartesian3.js +125 -39
  16. data/app/assets/javascripts/Cesium/Core/Cartesian4.js +56 -1
  17. data/app/assets/javascripts/Cesium/Core/Cartographic.js +1 -1
  18. data/app/assets/javascripts/Cesium/Core/CatmullRomSpline.js +1 -1
  19. data/app/assets/javascripts/Cesium/Core/CesiumTerrainProvider.js +3 -3
  20. data/app/assets/javascripts/Cesium/Core/CircleGeometry.js +15 -5
  21. data/app/assets/javascripts/Cesium/Core/CircleOutlineGeometry.js +2 -5
  22. data/app/assets/javascripts/Cesium/Core/Clock.js +177 -73
  23. data/app/assets/javascripts/Cesium/Core/ClockRange.js +1 -1
  24. data/app/assets/javascripts/Cesium/Core/ClockStep.js +1 -1
  25. data/app/assets/javascripts/Cesium/Core/Color.js +238 -20
  26. data/app/assets/javascripts/Cesium/Core/ColorGeometryInstanceAttribute.js +1 -1
  27. data/app/assets/javascripts/Cesium/Core/ComponentDatatype.js +1 -1
  28. data/app/assets/javascripts/Cesium/Core/CornerType.js +1 -1
  29. data/app/assets/javascripts/Cesium/Core/CorridorGeometry.js +154 -11
  30. data/app/assets/javascripts/Cesium/Core/CorridorGeometryLibrary.js +1 -26
  31. data/app/assets/javascripts/Cesium/Core/CorridorOutlineGeometry.js +13 -10
  32. data/app/assets/javascripts/Cesium/Core/Credit.js +1 -1
  33. data/app/assets/javascripts/Cesium/Core/CubicRealPolynomial.js +1 -1
  34. data/app/assets/javascripts/Cesium/Core/CylinderGeometry.js +15 -14
  35. data/app/assets/javascripts/Cesium/Core/CylinderGeometryLibrary.js +1 -1
  36. data/app/assets/javascripts/Cesium/Core/CylinderOutlineGeometry.js +15 -14
  37. data/app/assets/javascripts/Cesium/Core/DefaultProxy.js +1 -1
  38. data/app/assets/javascripts/Cesium/Core/DeveloperError.js +7 -1
  39. data/app/assets/javascripts/Cesium/Core/EarthOrientationParameters.js +1 -1
  40. data/app/assets/javascripts/Cesium/Core/EarthOrientationParametersSample.js +1 -1
  41. data/app/assets/javascripts/Cesium/Core/EasingFunction.js +1 -1
  42. data/app/assets/javascripts/Cesium/Core/EllipseGeometry.js +75 -12
  43. data/app/assets/javascripts/Cesium/Core/EllipseGeometryLibrary.js +1 -1
  44. data/app/assets/javascripts/Cesium/Core/EllipseOutlineGeometry.js +11 -13
  45. data/app/assets/javascripts/Cesium/Core/Ellipsoid.js +1 -1
  46. data/app/assets/javascripts/Cesium/Core/EllipsoidGeodesic.js +1 -1
  47. data/app/assets/javascripts/Cesium/Core/EllipsoidGeometry.js +30 -7
  48. data/app/assets/javascripts/Cesium/Core/EllipsoidOutlineGeometry.js +8 -3
  49. data/app/assets/javascripts/Cesium/Core/EllipsoidTangentPlane.js +1 -1
  50. data/app/assets/javascripts/Cesium/Core/EllipsoidTerrainProvider.js +1 -1
  51. data/app/assets/javascripts/Cesium/Core/EllipsoidalOccluder.js +1 -43
  52. data/app/assets/javascripts/Cesium/Core/EncodedCartesian3.js +1 -1
  53. data/app/assets/javascripts/Cesium/Core/Event.js +1 -1
  54. data/app/assets/javascripts/Cesium/Core/EventHelper.js +1 -1
  55. data/app/assets/javascripts/Cesium/Core/ExtrapolationType.js +1 -1
  56. data/app/assets/javascripts/Cesium/Core/FeatureDetection.js +1 -1
  57. data/app/assets/javascripts/Cesium/Core/Fullscreen.js +9 -9
  58. data/app/assets/javascripts/Cesium/Core/GeographicProjection.js +1 -1
  59. data/app/assets/javascripts/Cesium/Core/GeographicTilingScheme.js +1 -1
  60. data/app/assets/javascripts/Cesium/Core/Geometry.js +1 -1
  61. data/app/assets/javascripts/Cesium/Core/GeometryAttribute.js +1 -1
  62. data/app/assets/javascripts/Cesium/Core/GeometryAttributes.js +1 -1
  63. data/app/assets/javascripts/Cesium/Core/GeometryInstance.js +1 -1
  64. data/app/assets/javascripts/Cesium/Core/GeometryInstanceAttribute.js +1 -1
  65. data/app/assets/javascripts/Cesium/Core/GeometryPipeline.js +94 -32
  66. data/app/assets/javascripts/Cesium/Core/GeometryType.js +1 -1
  67. data/app/assets/javascripts/Cesium/Core/GregorianDate.js +1 -1
  68. data/app/assets/javascripts/Cesium/Core/HeadingPitchRange.js +1 -1
  69. data/app/assets/javascripts/Cesium/Core/HeightmapTerrainData.js +19 -15
  70. data/app/assets/javascripts/Cesium/Core/HeightmapTessellator.js +2 -2
  71. data/app/assets/javascripts/Cesium/Core/HermitePolynomialApproximation.js +1 -1
  72. data/app/assets/javascripts/Cesium/Core/HermiteSpline.js +1 -1
  73. data/app/assets/javascripts/Cesium/Core/Iau2000Orientation.js +1 -1
  74. data/app/assets/javascripts/Cesium/Core/Iau2006XysData.js +1 -1
  75. data/app/assets/javascripts/Cesium/Core/Iau2006XysSample.js +1 -1
  76. data/app/assets/javascripts/Cesium/Core/IauOrientationAxes.js +1 -1
  77. data/app/assets/javascripts/Cesium/Core/IauOrientationParameters.js +1 -1
  78. data/app/assets/javascripts/Cesium/Core/IndexDatatype.js +1 -1
  79. data/app/assets/javascripts/Cesium/Core/InterpolationAlgorithm.js +1 -1
  80. data/app/assets/javascripts/Cesium/Core/Intersect.js +1 -1
  81. data/app/assets/javascripts/Cesium/Core/IntersectionTests.js +19 -6
  82. data/app/assets/javascripts/Cesium/Core/Intersections2D.js +1 -1
  83. data/app/assets/javascripts/Cesium/Core/Interval.js +1 -1
  84. data/app/assets/javascripts/Cesium/Core/Iso8601.js +1 -1
  85. data/app/assets/javascripts/Cesium/Core/JulianDate.js +3 -3
  86. data/app/assets/javascripts/Cesium/Core/KeyboardEventModifier.js +1 -1
  87. data/app/assets/javascripts/Cesium/Core/LagrangePolynomialApproximation.js +1 -1
  88. data/app/assets/javascripts/Cesium/Core/LeapSecond.js +1 -1
  89. data/app/assets/javascripts/Cesium/Core/LinearApproximation.js +1 -1
  90. data/app/assets/javascripts/Cesium/Core/LinearSpline.js +1 -1
  91. data/app/assets/javascripts/Cesium/Core/MapProjection.js +1 -1
  92. data/app/assets/javascripts/Cesium/Core/MapboxApi.js +1 -1
  93. data/app/assets/javascripts/Cesium/Core/Math.js +1 -1
  94. data/app/assets/javascripts/Cesium/Core/Matrix2.js +17 -1
  95. data/app/assets/javascripts/Cesium/Core/Matrix3.js +17 -1
  96. data/app/assets/javascripts/Cesium/Core/Matrix4.js +103 -40
  97. data/app/assets/javascripts/Cesium/Core/NearFarScalar.js +1 -1
  98. data/app/assets/javascripts/Cesium/Core/Occluder.js +1 -1
  99. data/app/assets/javascripts/Cesium/Core/OrientedBoundingBox.js +33 -17
  100. data/app/assets/javascripts/Cesium/Core/Packable.js +1 -1
  101. data/app/assets/javascripts/Cesium/Core/PackableForInterpolation.js +1 -1
  102. data/app/assets/javascripts/Cesium/Core/PinBuilder.js +1 -1
  103. data/app/assets/javascripts/Cesium/Core/PixelFormat.js +1 -1
  104. data/app/assets/javascripts/Cesium/Core/Plane.js +1 -1
  105. data/app/assets/javascripts/Cesium/Core/PointGeometry.js +1 -1
  106. data/app/assets/javascripts/Cesium/Core/PolygonGeometry.js +291 -114
  107. data/app/assets/javascripts/Cesium/Core/PolygonGeometryLibrary.js +67 -26
  108. data/app/assets/javascripts/Cesium/Core/PolygonHierarchy.js +1 -1
  109. data/app/assets/javascripts/Cesium/Core/PolygonOutlineGeometry.js +30 -23
  110. data/app/assets/javascripts/Cesium/Core/PolygonPipeline.js +15 -759
  111. data/app/assets/javascripts/Cesium/Core/PolylineGeometry.js +6 -4
  112. data/app/assets/javascripts/Cesium/Core/PolylinePipeline.js +2 -59
  113. data/app/assets/javascripts/Cesium/Core/PolylineVolumeGeometry.js +4 -4
  114. data/app/assets/javascripts/Cesium/Core/PolylineVolumeGeometryLibrary.js +1 -1
  115. data/app/assets/javascripts/Cesium/Core/PolylineVolumeOutlineGeometry.js +4 -4
  116. data/app/assets/javascripts/Cesium/Core/PrimitiveType.js +1 -1
  117. data/app/assets/javascripts/Cesium/Core/QuadraticRealPolynomial.js +1 -1
  118. data/app/assets/javascripts/Cesium/Core/QuantizedMeshTerrainData.js +8 -4
  119. data/app/assets/javascripts/Cesium/Core/QuarticRealPolynomial.js +1 -1
  120. data/app/assets/javascripts/Cesium/Core/Quaternion.js +1 -1
  121. data/app/assets/javascripts/Cesium/Core/QuaternionSpline.js +1 -1
  122. data/app/assets/javascripts/Cesium/Core/Queue.js +1 -1
  123. data/app/assets/javascripts/Cesium/Core/Ray.js +1 -1
  124. data/app/assets/javascripts/Cesium/Core/Rectangle.js +58 -1
  125. data/app/assets/javascripts/Cesium/Core/RectangleGeometry.js +68 -10
  126. data/app/assets/javascripts/Cesium/Core/RectangleGeometryLibrary.js +1 -1
  127. data/app/assets/javascripts/Cesium/Core/RectangleOutlineGeometry.js +10 -7
  128. data/app/assets/javascripts/Cesium/Core/ReferenceFrame.js +1 -1
  129. data/app/assets/javascripts/Cesium/Core/RequestErrorEvent.js +1 -1
  130. data/app/assets/javascripts/Cesium/Core/RuntimeError.js +8 -1
  131. data/app/assets/javascripts/Cesium/Core/ScreenSpaceEventHandler.js +32 -11
  132. data/app/assets/javascripts/Cesium/Core/ScreenSpaceEventType.js +1 -1
  133. data/app/assets/javascripts/Cesium/Core/ShowGeometryInstanceAttribute.js +1 -2
  134. data/app/assets/javascripts/Cesium/Core/Simon1994PlanetaryPositions.js +1 -1
  135. data/app/assets/javascripts/Cesium/Core/SimplePolylineGeometry.js +1 -1
  136. data/app/assets/javascripts/Cesium/Core/SphereGeometry.js +1 -1
  137. data/app/assets/javascripts/Cesium/Core/SphereOutlineGeometry.js +1 -1
  138. data/app/assets/javascripts/Cesium/Core/Spherical.js +1 -1
  139. data/app/assets/javascripts/Cesium/Core/Spline.js +1 -1
  140. data/app/assets/javascripts/Cesium/Core/TaskProcessor.js +1 -1
  141. data/app/assets/javascripts/Cesium/Core/TerrainData.js +3 -1
  142. data/app/assets/javascripts/Cesium/Core/TerrainEncoding.js +1 -1
  143. data/app/assets/javascripts/Cesium/Core/TerrainMesh.js +8 -2
  144. data/app/assets/javascripts/Cesium/Core/TerrainProvider.js +1 -1
  145. data/app/assets/javascripts/Cesium/Core/TerrainQuantization.js +1 -1
  146. data/app/assets/javascripts/Cesium/Core/TileProviderError.js +1 -1
  147. data/app/assets/javascripts/Cesium/Core/TilingScheme.js +1 -1
  148. data/app/assets/javascripts/Cesium/Core/TimeConstants.js +1 -1
  149. data/app/assets/javascripts/Cesium/Core/TimeInterval.js +3 -3
  150. data/app/assets/javascripts/Cesium/Core/TimeIntervalCollection.js +3 -3
  151. data/app/assets/javascripts/Cesium/Core/TimeStandard.js +1 -1
  152. data/app/assets/javascripts/Cesium/Core/Tipsify.js +1 -1
  153. data/app/assets/javascripts/Cesium/Core/Transforms.js +141 -1
  154. data/app/assets/javascripts/Cesium/Core/TranslationRotationScale.js +2 -2
  155. data/app/assets/javascripts/Cesium/Core/TridiagonalSystemSolver.js +1 -1
  156. data/app/assets/javascripts/Cesium/Core/VRTheWorldTerrainProvider.js +2 -2
  157. data/app/assets/javascripts/Cesium/Core/VertexFormat.js +1 -1
  158. data/app/assets/javascripts/Cesium/Core/VideoSynchronizer.js +1 -1
  159. data/app/assets/javascripts/Cesium/Core/Visibility.js +1 -1
  160. data/app/assets/javascripts/Cesium/Core/WallGeometry.js +5 -7
  161. data/app/assets/javascripts/Cesium/Core/WallGeometryLibrary.js +20 -9
  162. data/app/assets/javascripts/Cesium/Core/WallOutlineGeometry.js +3 -6
  163. data/app/assets/javascripts/Cesium/Core/WebMercatorProjection.js +1 -1
  164. data/app/assets/javascripts/Cesium/Core/WebMercatorTilingScheme.js +1 -1
  165. data/app/assets/javascripts/Cesium/Core/WindingOrder.js +1 -1
  166. data/app/assets/javascripts/Cesium/Core/appendForwardSlash.js +1 -1
  167. data/app/assets/javascripts/Cesium/Core/arrayRemoveDuplicates.js +101 -0
  168. data/app/assets/javascripts/Cesium/Core/barycentricCoordinates.js +1 -1
  169. data/app/assets/javascripts/Cesium/Core/binarySearch.js +1 -1
  170. data/app/assets/javascripts/Cesium/Core/buildModuleUrl.js +4 -2
  171. data/app/assets/javascripts/Cesium/Core/cancelAnimationFrame.js +2 -2
  172. data/app/assets/javascripts/Cesium/Core/clone.js +1 -1
  173. data/app/assets/javascripts/Cesium/Core/combine.js +1 -1
  174. data/app/assets/javascripts/Cesium/Core/createGuid.js +1 -1
  175. data/app/assets/javascripts/Cesium/Core/defaultValue.js +1 -1
  176. data/app/assets/javascripts/Cesium/Core/defineProperties.js +1 -1
  177. data/app/assets/javascripts/Cesium/Core/defined.js +2 -2
  178. data/app/assets/javascripts/Cesium/Core/deprecationWarning.js +7 -10
  179. data/app/assets/javascripts/Cesium/Core/destroyObject.js +1 -1
  180. data/app/assets/javascripts/Cesium/Core/formatError.js +1 -1
  181. data/app/assets/javascripts/Cesium/Core/freezeObject.js +1 -1
  182. data/app/assets/javascripts/Cesium/Core/getAbsoluteUri.js +1 -1
  183. data/app/assets/javascripts/Cesium/Core/getBaseUri.js +6 -6
  184. data/app/assets/javascripts/Cesium/Core/getExtensionFromUri.js +1 -1
  185. data/app/assets/javascripts/Cesium/Core/getFilenameFromUri.js +1 -1
  186. data/app/assets/javascripts/Cesium/Core/getImagePixels.js +1 -1
  187. data/app/assets/javascripts/Cesium/Core/getMagic.js +1 -1
  188. data/app/assets/javascripts/Cesium/Core/getStringFromTypedArray.js +1 -1
  189. data/app/assets/javascripts/Cesium/Core/getTimestamp.js +1 -1
  190. data/app/assets/javascripts/Cesium/Core/isArray.js +1 -1
  191. data/app/assets/javascripts/Cesium/Core/isCrossOriginUrl.js +1 -1
  192. data/app/assets/javascripts/Cesium/Core/isLeapYear.js +1 -1
  193. data/app/assets/javascripts/Cesium/Core/joinUrls.js +9 -11
  194. data/app/assets/javascripts/Cesium/Core/loadArrayBuffer.js +1 -1
  195. data/app/assets/javascripts/Cesium/Core/loadBlob.js +1 -1
  196. data/app/assets/javascripts/Cesium/Core/loadImage.js +1 -1
  197. data/app/assets/javascripts/Cesium/Core/loadImageFromTypedArray.js +1 -1
  198. data/app/assets/javascripts/Cesium/Core/loadImageViaBlob.js +1 -1
  199. data/app/assets/javascripts/Cesium/Core/loadJson.js +1 -1
  200. data/app/assets/javascripts/Cesium/Core/loadJsonp.js +1 -1
  201. data/app/assets/javascripts/Cesium/Core/loadText.js +1 -1
  202. data/app/assets/javascripts/Cesium/Core/loadWithXhr.js +1 -1
  203. data/app/assets/javascripts/Cesium/Core/loadXML.js +1 -1
  204. data/app/assets/javascripts/Cesium/Core/mergeSort.js +1 -1
  205. data/app/assets/javascripts/Cesium/Core/objectToQuery.js +1 -1
  206. data/app/assets/javascripts/Cesium/Core/oneTimeWarning.js +52 -0
  207. data/app/assets/javascripts/Cesium/Core/parseResponseHeaders.js +1 -1
  208. data/app/assets/javascripts/Cesium/Core/pointInsideTriangle.js +1 -1
  209. data/app/assets/javascripts/Cesium/Core/queryToObject.js +1 -1
  210. data/app/assets/javascripts/Cesium/Core/requestAnimationFrame.js +2 -2
  211. data/app/assets/javascripts/Cesium/Core/sampleTerrain.js +2 -2
  212. data/app/assets/javascripts/Cesium/Core/scaleToGeodeticSurface.js +1 -1
  213. data/app/assets/javascripts/Cesium/Core/subdivideArray.js +1 -1
  214. data/app/assets/javascripts/Cesium/Core/throttleRequestByServer.js +1 -1
  215. data/app/assets/javascripts/Cesium/Core/wrapFunction.js +1 -1
  216. data/app/assets/javascripts/Cesium/Core/writeTextToCanvas.js +1 -1
  217. data/app/assets/javascripts/Cesium/DataSources/BillboardGraphics.js +17 -3
  218. data/app/assets/javascripts/Cesium/DataSources/BillboardVisualizer.js +20 -4
  219. data/app/assets/javascripts/Cesium/DataSources/BoundingSphereState.js +1 -1
  220. data/app/assets/javascripts/Cesium/DataSources/BoxGeometryUpdater.js +1 -1
  221. data/app/assets/javascripts/Cesium/DataSources/BoxGraphics.js +1 -1
  222. data/app/assets/javascripts/Cesium/DataSources/CallbackProperty.js +1 -1
  223. data/app/assets/javascripts/Cesium/DataSources/CheckerboardMaterialProperty.js +1 -1
  224. data/app/assets/javascripts/Cesium/DataSources/ColorMaterialProperty.js +1 -1
  225. data/app/assets/javascripts/Cesium/DataSources/CompositeEntityCollection.js +15 -2
  226. data/app/assets/javascripts/Cesium/DataSources/CompositeMaterialProperty.js +1 -1
  227. data/app/assets/javascripts/Cesium/DataSources/CompositePositionProperty.js +1 -1
  228. data/app/assets/javascripts/Cesium/DataSources/CompositeProperty.js +1 -1
  229. data/app/assets/javascripts/Cesium/DataSources/ConstantPositionProperty.js +1 -1
  230. data/app/assets/javascripts/Cesium/DataSources/ConstantProperty.js +1 -1
  231. data/app/assets/javascripts/Cesium/DataSources/CorridorGeometryUpdater.js +85 -27
  232. data/app/assets/javascripts/Cesium/DataSources/CorridorGraphics.js +1 -1
  233. data/app/assets/javascripts/Cesium/DataSources/CustomDataSource.js +14 -1
  234. data/app/assets/javascripts/Cesium/DataSources/CylinderGeometryUpdater.js +1 -1
  235. data/app/assets/javascripts/Cesium/DataSources/CylinderGraphics.js +3 -6
  236. data/app/assets/javascripts/Cesium/DataSources/CzmlDataSource.js +461 -229
  237. data/app/assets/javascripts/Cesium/DataSources/DataSource.js +9 -1
  238. data/app/assets/javascripts/Cesium/DataSources/DataSourceClock.js +17 -13
  239. data/app/assets/javascripts/Cesium/DataSources/DataSourceCollection.js +1 -1
  240. data/app/assets/javascripts/Cesium/DataSources/DataSourceDisplay.js +18 -2
  241. data/app/assets/javascripts/Cesium/DataSources/DynamicGeometryUpdater.js +1 -1
  242. data/app/assets/javascripts/Cesium/DataSources/EllipseGeometryUpdater.js +86 -27
  243. data/app/assets/javascripts/Cesium/DataSources/EllipseGraphics.js +1 -1
  244. data/app/assets/javascripts/Cesium/DataSources/EllipsoidGeometryUpdater.js +1 -1
  245. data/app/assets/javascripts/Cesium/DataSources/EllipsoidGraphics.js +1 -1
  246. data/app/assets/javascripts/Cesium/DataSources/Entity.js +2 -2
  247. data/app/assets/javascripts/Cesium/DataSources/EntityCollection.js +72 -5
  248. data/app/assets/javascripts/Cesium/DataSources/EntityView.js +13 -17
  249. data/app/assets/javascripts/Cesium/DataSources/GeoJsonDataSource.js +95 -47
  250. data/app/assets/javascripts/Cesium/DataSources/GeometryUpdater.js +1 -1
  251. data/app/assets/javascripts/Cesium/DataSources/GeometryVisualizer.js +25 -14
  252. data/app/assets/javascripts/Cesium/DataSources/GridMaterialProperty.js +1 -1
  253. data/app/assets/javascripts/Cesium/DataSources/ImageMaterialProperty.js +31 -13
  254. data/app/assets/javascripts/Cesium/DataSources/KmlDataSource.js +999 -177
  255. data/app/assets/javascripts/Cesium/DataSources/LabelGraphics.js +14 -1
  256. data/app/assets/javascripts/Cesium/DataSources/LabelVisualizer.js +14 -5
  257. data/app/assets/javascripts/Cesium/DataSources/MaterialProperty.js +1 -1
  258. data/app/assets/javascripts/Cesium/DataSources/ModelGraphics.js +41 -2
  259. data/app/assets/javascripts/Cesium/DataSources/ModelVisualizer.js +19 -3
  260. data/app/assets/javascripts/Cesium/DataSources/NodeTransformationProperty.js +1 -1
  261. data/app/assets/javascripts/Cesium/DataSources/PathGraphics.js +2 -2
  262. data/app/assets/javascripts/Cesium/DataSources/PathVisualizer.js +5 -2
  263. data/app/assets/javascripts/Cesium/DataSources/PointGraphics.js +14 -2
  264. data/app/assets/javascripts/Cesium/DataSources/PointVisualizer.js +170 -24
  265. data/app/assets/javascripts/Cesium/DataSources/PolygonGeometryUpdater.js +113 -34
  266. data/app/assets/javascripts/Cesium/DataSources/PolygonGraphics.js +27 -3
  267. data/app/assets/javascripts/Cesium/DataSources/PolylineArrowMaterialProperty.js +1 -1
  268. data/app/assets/javascripts/Cesium/DataSources/PolylineGeometryUpdater.js +1 -1
  269. data/app/assets/javascripts/Cesium/DataSources/PolylineGlowMaterialProperty.js +1 -1
  270. data/app/assets/javascripts/Cesium/DataSources/PolylineGraphics.js +1 -1
  271. data/app/assets/javascripts/Cesium/DataSources/PolylineOutlineMaterialProperty.js +1 -1
  272. data/app/assets/javascripts/Cesium/DataSources/PolylineVolumeGeometryUpdater.js +1 -1
  273. data/app/assets/javascripts/Cesium/DataSources/PolylineVolumeGraphics.js +1 -1
  274. data/app/assets/javascripts/Cesium/DataSources/PositionProperty.js +1 -1
  275. data/app/assets/javascripts/Cesium/DataSources/PositionPropertyArray.js +1 -1
  276. data/app/assets/javascripts/Cesium/DataSources/Property.js +1 -1
  277. data/app/assets/javascripts/Cesium/DataSources/PropertyArray.js +1 -1
  278. data/app/assets/javascripts/Cesium/DataSources/PropertyBag.js +1 -1
  279. data/app/assets/javascripts/Cesium/DataSources/RectangleGeometryUpdater.js +86 -25
  280. data/app/assets/javascripts/Cesium/DataSources/RectangleGraphics.js +1 -1
  281. data/app/assets/javascripts/Cesium/DataSources/ReferenceProperty.js +1 -1
  282. data/app/assets/javascripts/Cesium/DataSources/Rotation.js +1 -1
  283. data/app/assets/javascripts/Cesium/DataSources/SampledPositionProperty.js +1 -1
  284. data/app/assets/javascripts/Cesium/DataSources/SampledProperty.js +1 -1
  285. data/app/assets/javascripts/Cesium/DataSources/ScaledPositionProperty.js +1 -1
  286. data/app/assets/javascripts/Cesium/DataSources/StaticGeometryColorBatch.js +3 -1
  287. data/app/assets/javascripts/Cesium/DataSources/StaticGeometryPerMaterialBatch.js +1 -1
  288. data/app/assets/javascripts/Cesium/DataSources/StaticGroundGeometryColorBatch.js +336 -0
  289. data/app/assets/javascripts/Cesium/DataSources/StaticOutlineGeometryBatch.js +1 -1
  290. data/app/assets/javascripts/Cesium/DataSources/StripeMaterialProperty.js +1 -1
  291. data/app/assets/javascripts/Cesium/DataSources/StripeOrientation.js +1 -1
  292. data/app/assets/javascripts/Cesium/DataSources/TimeIntervalCollectionPositionProperty.js +1 -1
  293. data/app/assets/javascripts/Cesium/DataSources/TimeIntervalCollectionProperty.js +1 -1
  294. data/app/assets/javascripts/Cesium/DataSources/VelocityOrientationProperty.js +19 -61
  295. data/app/assets/javascripts/Cesium/DataSources/VelocityVectorProperty.js +187 -0
  296. data/app/assets/javascripts/Cesium/DataSources/Visualizer.js +1 -1
  297. data/app/assets/javascripts/Cesium/DataSources/WallGeometryUpdater.js +1 -1
  298. data/app/assets/javascripts/Cesium/DataSources/WallGraphics.js +1 -1
  299. data/app/assets/javascripts/Cesium/DataSources/createMaterialPropertyDescriptor.js +1 -1
  300. data/app/assets/javascripts/Cesium/DataSources/createPropertyDescriptor.js +1 -1
  301. data/app/assets/javascripts/Cesium/DataSources/createRawPropertyDescriptor.js +1 -1
  302. data/app/assets/javascripts/Cesium/DataSources/dynamicGeometryGetBoundingSphere.js +10 -3
  303. data/app/assets/javascripts/Cesium/Renderer/AutomaticUniforms.js +25 -1
  304. data/app/assets/javascripts/Cesium/Renderer/Buffer.js +1 -1
  305. data/app/assets/javascripts/Cesium/Renderer/BufferUsage.js +1 -1
  306. data/app/assets/javascripts/Cesium/Renderer/ClearCommand.js +1 -1
  307. data/app/assets/javascripts/Cesium/Renderer/ComputeCommand.js +1 -1
  308. data/app/assets/javascripts/Cesium/Renderer/ComputeEngine.js +1 -1
  309. data/app/assets/javascripts/Cesium/Renderer/Context.js +16 -18
  310. data/app/assets/javascripts/Cesium/Renderer/ContextLimits.js +1 -1
  311. data/app/assets/javascripts/Cesium/Renderer/CubeMap.js +2 -2
  312. data/app/assets/javascripts/Cesium/Renderer/CubeMapFace.js +1 -1
  313. data/app/assets/javascripts/Cesium/Renderer/DrawCommand.js +312 -30
  314. data/app/assets/javascripts/Cesium/Renderer/Framebuffer.js +2 -2
  315. data/app/assets/javascripts/Cesium/Renderer/MipmapHint.js +1 -1
  316. data/app/assets/javascripts/Cesium/Renderer/PassState.js +1 -1
  317. data/app/assets/javascripts/Cesium/Renderer/PickFramebuffer.js +1 -1
  318. data/app/assets/javascripts/Cesium/Renderer/PixelDatatype.js +1 -1
  319. data/app/assets/javascripts/Cesium/Renderer/RenderState.js +2 -2
  320. data/app/assets/javascripts/Cesium/Renderer/Renderbuffer.js +1 -1
  321. data/app/assets/javascripts/Cesium/Renderer/RenderbufferFormat.js +1 -1
  322. data/app/assets/javascripts/Cesium/Renderer/Sampler.js +1 -1
  323. data/app/assets/javascripts/Cesium/Renderer/ShaderCache.js +1 -1
  324. data/app/assets/javascripts/Cesium/Renderer/ShaderProgram.js +3 -4
  325. data/app/assets/javascripts/Cesium/Renderer/ShaderSource.js +32 -1
  326. data/app/assets/javascripts/Cesium/Renderer/Texture.js +1 -1
  327. data/app/assets/javascripts/Cesium/Renderer/TextureMagnificationFilter.js +1 -1
  328. data/app/assets/javascripts/Cesium/Renderer/TextureMinificationFilter.js +1 -1
  329. data/app/assets/javascripts/Cesium/Renderer/TextureWrap.js +1 -1
  330. data/app/assets/javascripts/Cesium/Renderer/UniformState.js +36 -11
  331. data/app/assets/javascripts/Cesium/Renderer/VertexArray.js +1 -1
  332. data/app/assets/javascripts/Cesium/Renderer/VertexArrayFacade.js +1 -1
  333. data/app/assets/javascripts/Cesium/Renderer/WebGLConstants.js +1 -1
  334. data/app/assets/javascripts/Cesium/Renderer/createUniform.js +1 -1
  335. data/app/assets/javascripts/Cesium/Renderer/createUniformArray.js +1 -1
  336. data/app/assets/javascripts/Cesium/Renderer/loadCubeMap.js +1 -1
  337. data/app/assets/javascripts/Cesium/Scene/Appearance.js +1 -1
  338. data/app/assets/javascripts/Cesium/Scene/ArcGisMapServerImageryProvider.js +5 -4
  339. data/app/assets/javascripts/Cesium/Scene/Billboard.js +25 -37
  340. data/app/assets/javascripts/Cesium/Scene/BillboardCollection.js +49 -25
  341. data/app/assets/javascripts/Cesium/Scene/BingMapsImageryProvider.js +11 -4
  342. data/app/assets/javascripts/Cesium/Scene/BingMapsStyle.js +1 -1
  343. data/app/assets/javascripts/Cesium/Scene/BlendEquation.js +1 -1
  344. data/app/assets/javascripts/Cesium/Scene/BlendFunction.js +1 -1
  345. data/app/assets/javascripts/Cesium/Scene/BlendingState.js +2 -2
  346. data/app/assets/javascripts/Cesium/Scene/Camera.js +397 -187
  347. data/app/assets/javascripts/Cesium/Scene/CameraEventAggregator.js +2 -2
  348. data/app/assets/javascripts/Cesium/Scene/CameraEventType.js +2 -2
  349. data/app/assets/javascripts/Cesium/Scene/CameraFlightPath.js +4 -5
  350. data/app/assets/javascripts/Cesium/Scene/CreditDisplay.js +1 -1
  351. data/app/assets/javascripts/Cesium/Scene/CullFace.js +1 -1
  352. data/app/assets/javascripts/Cesium/Scene/CullingVolume.js +75 -2
  353. data/app/assets/javascripts/Cesium/Scene/DebugAppearance.js +2 -2
  354. data/app/assets/javascripts/Cesium/Scene/DebugModelMatrixPrimitive.js +1 -1
  355. data/app/assets/javascripts/Cesium/Scene/DepthFunction.js +1 -1
  356. data/app/assets/javascripts/Cesium/Scene/DepthPlane.js +1 -1
  357. data/app/assets/javascripts/Cesium/Scene/DeviceOrientationCameraController.js +14 -5
  358. data/app/assets/javascripts/Cesium/Scene/DiscardMissingTileImagePolicy.js +1 -1
  359. data/app/assets/javascripts/Cesium/Scene/EllipsoidPrimitive.js +1 -1
  360. data/app/assets/javascripts/Cesium/Scene/EllipsoidSurfaceAppearance.js +1 -1
  361. data/app/assets/javascripts/Cesium/Scene/FXAA.js +1 -1
  362. data/app/assets/javascripts/Cesium/Scene/Fog.js +1 -1
  363. data/app/assets/javascripts/Cesium/Scene/FrameRateMonitor.js +9 -9
  364. data/app/assets/javascripts/Cesium/Scene/FrameState.js +39 -1
  365. data/app/assets/javascripts/Cesium/Scene/FrustumCommands.js +1 -1
  366. data/app/assets/javascripts/Cesium/Scene/GetFeatureInfoFormat.js +2 -4
  367. data/app/assets/javascripts/Cesium/Scene/Globe.js +89 -17
  368. data/app/assets/javascripts/Cesium/Scene/GlobeDepth.js +4 -6
  369. data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceShaderSet.js +17 -9
  370. data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceTile.js +24 -6
  371. data/app/assets/javascripts/Cesium/Scene/GlobeSurfaceTileProvider.js +171 -118
  372. data/app/assets/javascripts/Cesium/Scene/GoogleEarthImageryProvider.js +2 -2
  373. data/app/assets/javascripts/Cesium/Scene/GridImageryProvider.js +1 -1
  374. data/app/assets/javascripts/Cesium/Scene/GroundPrimitive.js +335 -91
  375. data/app/assets/javascripts/Cesium/Scene/HeightReference.js +1 -1
  376. data/app/assets/javascripts/Cesium/Scene/HorizontalOrigin.js +1 -1
  377. data/app/assets/javascripts/Cesium/Scene/Imagery.js +1 -1
  378. data/app/assets/javascripts/Cesium/Scene/ImageryLayer.js +32 -5
  379. data/app/assets/javascripts/Cesium/Scene/ImageryLayerCollection.js +27 -1
  380. data/app/assets/javascripts/Cesium/Scene/ImageryLayerFeatureInfo.js +1 -1
  381. data/app/assets/javascripts/Cesium/Scene/ImageryProvider.js +1 -1
  382. data/app/assets/javascripts/Cesium/Scene/ImageryState.js +1 -1
  383. data/app/assets/javascripts/Cesium/Scene/Label.js +26 -11
  384. data/app/assets/javascripts/Cesium/Scene/LabelCollection.js +11 -7
  385. data/app/assets/javascripts/Cesium/Scene/LabelStyle.js +2 -2
  386. data/app/assets/javascripts/Cesium/Scene/MapMode2D.js +32 -0
  387. data/app/assets/javascripts/Cesium/Scene/MapboxImageryProvider.js +4 -4
  388. data/app/assets/javascripts/Cesium/Scene/Material.js +6 -6
  389. data/app/assets/javascripts/Cesium/Scene/MaterialAppearance.js +1 -1
  390. data/app/assets/javascripts/Cesium/Scene/Model.js +675 -160
  391. data/app/assets/javascripts/Cesium/Scene/ModelAnimation.js +1 -1
  392. data/app/assets/javascripts/Cesium/Scene/ModelAnimationCache.js +1 -1
  393. data/app/assets/javascripts/Cesium/Scene/ModelAnimationCollection.js +8 -6
  394. data/app/assets/javascripts/Cesium/Scene/ModelAnimationLoop.js +2 -2
  395. data/app/assets/javascripts/Cesium/Scene/ModelAnimationState.js +2 -2
  396. data/app/assets/javascripts/Cesium/Scene/ModelMaterial.js +1 -1
  397. data/app/assets/javascripts/Cesium/Scene/ModelMesh.js +1 -1
  398. data/app/assets/javascripts/Cesium/Scene/ModelNode.js +2 -2
  399. data/app/assets/javascripts/Cesium/Scene/Moon.js +1 -1
  400. data/app/assets/javascripts/Cesium/Scene/NeverTileDiscardPolicy.js +1 -1
  401. data/app/assets/javascripts/Cesium/Scene/OIT.js +66 -33
  402. data/app/assets/javascripts/Cesium/Scene/OrthographicFrustum.js +2 -2
  403. data/app/assets/javascripts/Cesium/Scene/Pass.js +12 -8
  404. data/app/assets/javascripts/Cesium/Scene/PerInstanceColorAppearance.js +1 -1
  405. data/app/assets/javascripts/Cesium/Scene/PerformanceDisplay.js +1 -1
  406. data/app/assets/javascripts/Cesium/Scene/PerspectiveFrustum.js +3 -3
  407. data/app/assets/javascripts/Cesium/Scene/PerspectiveOffCenterFrustum.js +4 -4
  408. data/app/assets/javascripts/Cesium/Scene/PickDepth.js +1 -1
  409. data/app/assets/javascripts/Cesium/Scene/PointAppearance.js +1 -1
  410. data/app/assets/javascripts/Cesium/Scene/PointPrimitive.js +5 -13
  411. data/app/assets/javascripts/Cesium/Scene/PointPrimitiveCollection.js +8 -8
  412. data/app/assets/javascripts/Cesium/Scene/Polyline.js +5 -3
  413. data/app/assets/javascripts/Cesium/Scene/PolylineCollection.js +51 -23
  414. data/app/assets/javascripts/Cesium/Scene/PolylineColorAppearance.js +1 -1
  415. data/app/assets/javascripts/Cesium/Scene/PolylineMaterialAppearance.js +1 -1
  416. data/app/assets/javascripts/Cesium/Scene/Primitive.js +75 -46
  417. data/app/assets/javascripts/Cesium/Scene/PrimitiveCollection.js +1 -1
  418. data/app/assets/javascripts/Cesium/Scene/PrimitivePipeline.js +3 -3
  419. data/app/assets/javascripts/Cesium/Scene/PrimitiveState.js +2 -2
  420. data/app/assets/javascripts/Cesium/Scene/QuadtreeOccluders.js +1 -1
  421. data/app/assets/javascripts/Cesium/Scene/QuadtreePrimitive.js +80 -41
  422. data/app/assets/javascripts/Cesium/Scene/QuadtreeTile.js +5 -11
  423. data/app/assets/javascripts/Cesium/Scene/QuadtreeTileLoadState.js +1 -1
  424. data/app/assets/javascripts/Cesium/Scene/QuadtreeTileProvider.js +1 -1
  425. data/app/assets/javascripts/Cesium/Scene/Scene.js +529 -92
  426. data/app/assets/javascripts/Cesium/Scene/SceneMode.js +1 -1
  427. data/app/assets/javascripts/Cesium/Scene/SceneTransforms.js +129 -49
  428. data/app/assets/javascripts/Cesium/Scene/SceneTransitioner.js +476 -337
  429. data/app/assets/javascripts/Cesium/Scene/ScreenSpaceCameraController.js +127 -30
  430. data/app/assets/javascripts/Cesium/Scene/ShadowMap.js +1640 -0
  431. data/app/assets/javascripts/Cesium/Scene/ShadowMapShader.js +341 -0
  432. data/app/assets/javascripts/Cesium/Scene/SingleTileImageryProvider.js +1 -1
  433. data/app/assets/javascripts/Cesium/Scene/SkyAtmosphere.js +101 -33
  434. data/app/assets/javascripts/Cesium/Scene/SkyBox.js +1 -1
  435. data/app/assets/javascripts/Cesium/Scene/StencilFunction.js +1 -1
  436. data/app/assets/javascripts/Cesium/Scene/StencilOperation.js +1 -1
  437. data/app/assets/javascripts/Cesium/Scene/Sun.js +8 -3
  438. data/app/assets/javascripts/Cesium/Scene/SunPostProcess.js +6 -2
  439. data/app/assets/javascripts/Cesium/Scene/TerrainState.js +2 -2
  440. data/app/assets/javascripts/Cesium/Scene/TextureAtlas.js +21 -43
  441. data/app/assets/javascripts/Cesium/Scene/TileBoundingBox.js +2 -2
  442. data/app/assets/javascripts/Cesium/Scene/TileCoordinatesImageryProvider.js +1 -1
  443. data/app/assets/javascripts/Cesium/Scene/TileDiscardPolicy.js +1 -1
  444. data/app/assets/javascripts/Cesium/Scene/TileImagery.js +1 -1
  445. data/app/assets/javascripts/Cesium/Scene/TileReplacementQueue.js +1 -1
  446. data/app/assets/javascripts/Cesium/Scene/TileState.js +1 -1
  447. data/app/assets/javascripts/Cesium/Scene/TileTerrain.js +8 -15
  448. data/app/assets/javascripts/Cesium/Scene/TweenCollection.js +1 -1
  449. data/app/assets/javascripts/Cesium/Scene/UrlTemplateImageryProvider.js +9 -9
  450. data/app/assets/javascripts/Cesium/Scene/VerticalOrigin.js +2 -2
  451. data/app/assets/javascripts/Cesium/Scene/ViewportQuad.js +2 -2
  452. data/app/assets/javascripts/Cesium/Scene/WebMapServiceImageryProvider.js +2 -2
  453. data/app/assets/javascripts/Cesium/Scene/WebMapTileServiceImageryProvider.js +1 -1
  454. data/app/assets/javascripts/Cesium/Scene/createOpenStreetMapImageryProvider.js +6 -5
  455. data/app/assets/javascripts/Cesium/Scene/createTangentSpaceDebugPrimitive.js +1 -1
  456. data/app/assets/javascripts/Cesium/Scene/createTileMapServiceImageryProvider.js +23 -26
  457. data/app/assets/javascripts/Cesium/Scene/getModelAccessor.js +1 -1
  458. data/app/assets/javascripts/Cesium/Scene/modelMaterialsCommon.js +1 -1
  459. data/app/assets/javascripts/Cesium/Shaders/AdjustTranslucentFS.js +14 -11
  460. data/app/assets/javascripts/Cesium/Shaders/Appearances/AllMaterialAppearanceFS.js +18 -14
  461. data/app/assets/javascripts/Cesium/Shaders/Appearances/AllMaterialAppearanceVS.js +13 -9
  462. data/app/assets/javascripts/Cesium/Shaders/Appearances/BasicMaterialAppearanceFS.js +15 -11
  463. data/app/assets/javascripts/Cesium/Shaders/Appearances/BasicMaterialAppearanceVS.js +10 -6
  464. data/app/assets/javascripts/Cesium/Shaders/Appearances/EllipsoidSurfaceAppearanceFS.js +24 -15
  465. data/app/assets/javascripts/Cesium/Shaders/Appearances/EllipsoidSurfaceAppearanceVS.js +11 -7
  466. data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceColorAppearanceFS.js +15 -11
  467. data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceColorAppearanceVS.js +11 -7
  468. data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceFlatColorAppearanceFS.js +3 -2
  469. data/app/assets/javascripts/Cesium/Shaders/Appearances/PerInstanceFlatColorAppearanceVS.js +9 -5
  470. data/app/assets/javascripts/Cesium/Shaders/Appearances/PointAppearanceFS.js +4 -2
  471. data/app/assets/javascripts/Cesium/Shaders/Appearances/PointAppearanceVS.js +8 -5
  472. data/app/assets/javascripts/Cesium/Shaders/Appearances/PolylineColorAppearanceVS.js +16 -11
  473. data/app/assets/javascripts/Cesium/Shaders/Appearances/PolylineMaterialAppearanceVS.js +17 -12
  474. data/app/assets/javascripts/Cesium/Shaders/Appearances/TexturedMaterialAppearanceFS.js +16 -12
  475. data/app/assets/javascripts/Cesium/Shaders/Appearances/TexturedMaterialAppearanceVS.js +11 -7
  476. data/app/assets/javascripts/Cesium/Shaders/BillboardCollectionFS.js +16 -12
  477. data/app/assets/javascripts/Cesium/Shaders/BillboardCollectionVS.glsl +9 -14
  478. data/app/assets/javascripts/Cesium/Shaders/BillboardCollectionVS.js +197 -142
  479. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/degreesPerRadian.js +17 -3
  480. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/depthRange.js +15 -3
  481. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon1.js +8 -3
  482. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon2.js +8 -3
  483. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon3.js +8 -3
  484. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon4.js +8 -3
  485. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon5.js +8 -3
  486. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon6.js +8 -3
  487. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/epsilon7.js +8 -3
  488. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/infinity.js +8 -3
  489. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/oneOverPi.js +17 -3
  490. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/oneOverTwoPi.js +17 -3
  491. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passCompute.glsl +9 -0
  492. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passCompute.js +14 -0
  493. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passEnvironment.glsl +9 -0
  494. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passEnvironment.js +14 -0
  495. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGlobe.glsl +9 -0
  496. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGlobe.js +14 -0
  497. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGround.glsl +9 -0
  498. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passGround.js +14 -0
  499. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOpaque.glsl +9 -0
  500. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOpaque.js +14 -0
  501. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOverlay.glsl +9 -0
  502. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passOverlay.js +14 -0
  503. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passTranslucent.glsl +9 -0
  504. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/passTranslucent.js +14 -0
  505. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/pi.js +17 -3
  506. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverFour.js +17 -3
  507. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverSix.js +17 -3
  508. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverThree.js +17 -3
  509. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/piOverTwo.js +17 -3
  510. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/radiansPerDegree.js +17 -3
  511. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneMode2D.js +12 -3
  512. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneMode3D.js +12 -3
  513. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneModeColumbusView.js +12 -3
  514. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/sceneModeMorphing.js +12 -3
  515. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/solarRadius.js +14 -3
  516. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/threePiOver2.js +17 -3
  517. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/twoPi.js +17 -3
  518. data/app/assets/javascripts/Cesium/Shaders/Builtin/Constants/webMercatorMaxLatitude.js +17 -3
  519. data/app/assets/javascripts/Cesium/Shaders/Builtin/CzmBuiltins.js +43 -1
  520. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/RGBToXYZ.js +29 -11
  521. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/XYZToRGB.js +29 -10
  522. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/alphaWeight.js +24 -19
  523. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/antialias.js +35 -10
  524. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeColor.glsl +8 -0
  525. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeColor.js +13 -0
  526. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeDistance.glsl +7 -0
  527. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeDistance.js +12 -0
  528. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeMatrix.glsl +10 -0
  529. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeMatrix.js +15 -0
  530. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeWeights.glsl +10 -0
  531. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cascadeWeights.js +15 -0
  532. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/columbusViewMorph.js +11 -4
  533. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/computePosition.js +23 -2
  534. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/cosineAndSine.js +208 -162
  535. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/decompressTextureCoordinates.js +17 -8
  536. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/eastNorthUpToEyeCoordinates.js +32 -9
  537. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/ellipsoidContainsPoint.js +11 -4
  538. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/ellipsoidNew.js +13 -6
  539. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/ellipsoidWgs84TextureCoordinates.js +9 -3
  540. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/equalsEpsilon.js +30 -6
  541. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/eyeOffset.js +19 -7
  542. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/eyeToWindowCoordinates.js +31 -6
  543. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/fog.js +18 -5
  544. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/geodeticSurfaceNormal.js +15 -3
  545. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getDefaultMaterial.js +26 -10
  546. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getLambertDiffuse.js +22 -5
  547. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getSpecular.js +26 -7
  548. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getWaterNoise.js +36 -25
  549. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/getWgs84EllipsoidEC.js +20 -7
  550. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/hue.js +29 -13
  551. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/isEmpty.js +18 -3
  552. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/isFull.js +18 -3
  553. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/latitudeToWebMercatorFraction.js +20 -5
  554. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/luminance.js +19 -4
  555. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/metersPerPixel.js +40 -27
  556. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/modelToWindowCoordinates.js +36 -6
  557. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/multiplyWithColorBalance.js +17 -8
  558. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/nearFarScalar.js +25 -9
  559. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/octDecode.js +65 -31
  560. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/packDepth.js +17 -6
  561. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/phong.js +53 -23
  562. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/pointAlongRay.js +18 -3
  563. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/rayEllipsoidIntersectionInterval.js +82 -71
  564. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/saturation.js +21 -5
  565. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowDepthCompare.glsl +24 -0
  566. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowDepthCompare.js +29 -0
  567. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowVisibility.glsl +66 -0
  568. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/shadowVisibility.js +72 -0
  569. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/signNotZero.js +20 -8
  570. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/tangentToEyeSpaceMatrix.js +24 -8
  571. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/translateRelativeToEye.js +39 -5
  572. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/translucentPhong.js +29 -17
  573. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/transpose.js +38 -14
  574. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/unpackDepth.js +17 -5
  575. data/app/assets/javascripts/Cesium/Shaders/Builtin/Functions/windowToEyeCoordinates.js +34 -9
  576. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/depthRangeStruct.js +9 -6
  577. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/ellipsoid.js +12 -8
  578. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/material.js +22 -10
  579. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/materialInput.js +22 -10
  580. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/ray.js +11 -6
  581. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/raySegment.js +24 -4
  582. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/shadowParameters.glsl +15 -0
  583. data/app/assets/javascripts/Cesium/Shaders/Builtin/Structs/shadowParameters.js +20 -0
  584. data/app/assets/javascripts/Cesium/Shaders/CompositeOITFS.js +18 -8
  585. data/app/assets/javascripts/Cesium/Shaders/DepthPlaneFS.js +18 -15
  586. data/app/assets/javascripts/Cesium/Shaders/DepthPlaneVS.js +6 -5
  587. data/app/assets/javascripts/Cesium/Shaders/EllipsoidFS.js +87 -56
  588. data/app/assets/javascripts/Cesium/Shaders/EllipsoidVS.js +22 -6
  589. data/app/assets/javascripts/Cesium/Shaders/GlobeFS.glsl +2 -2
  590. data/app/assets/javascripts/Cesium/Shaders/GlobeFS.js +184 -101
  591. data/app/assets/javascripts/Cesium/Shaders/GlobeVS.glsl +8 -7
  592. data/app/assets/javascripts/Cesium/Shaders/GlobeVS.js +86 -56
  593. data/app/assets/javascripts/Cesium/Shaders/GroundAtmosphere.js +107 -44
  594. data/app/assets/javascripts/Cesium/Shaders/Materials/BumpMapMaterial.js +25 -18
  595. data/app/assets/javascripts/Cesium/Shaders/Materials/CheckerboardMaterial.js +23 -14
  596. data/app/assets/javascripts/Cesium/Shaders/Materials/DotMaterial.js +12 -7
  597. data/app/assets/javascripts/Cesium/Shaders/Materials/FadeMaterial.js +25 -19
  598. data/app/assets/javascripts/Cesium/Shaders/Materials/GridMaterial.js +45 -30
  599. data/app/assets/javascripts/Cesium/Shaders/Materials/NormalMapMaterial.js +15 -12
  600. data/app/assets/javascripts/Cesium/Shaders/Materials/PolylineArrowMaterial.js +52 -40
  601. data/app/assets/javascripts/Cesium/Shaders/Materials/PolylineGlowMaterial.js +12 -7
  602. data/app/assets/javascripts/Cesium/Shaders/Materials/PolylineOutlineMaterial.js +22 -14
  603. data/app/assets/javascripts/Cesium/Shaders/Materials/RimLightingMaterial.js +13 -8
  604. data/app/assets/javascripts/Cesium/Shaders/Materials/StripeMaterial.js +16 -10
  605. data/app/assets/javascripts/Cesium/Shaders/Materials/Water.js +47 -21
  606. data/app/assets/javascripts/Cesium/Shaders/PointPrimitiveCollectionFS.js +20 -15
  607. data/app/assets/javascripts/Cesium/Shaders/PointPrimitiveCollectionVS.js +128 -82
  608. data/app/assets/javascripts/Cesium/Shaders/PolylineCommon.glsl +2 -2
  609. data/app/assets/javascripts/Cesium/Shaders/PolylineCommon.js +87 -68
  610. data/app/assets/javascripts/Cesium/Shaders/PolylineFS.js +11 -9
  611. data/app/assets/javascripts/Cesium/Shaders/PolylineVS.js +45 -40
  612. data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/AdditiveBlend.js +10 -6
  613. data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/BrightPass.js +20 -11
  614. data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/FXAA.js +223 -136
  615. data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/GaussianBlur1D.js +29 -17
  616. data/app/assets/javascripts/Cesium/Shaders/PostProcessFilters/PassThrough.js +5 -3
  617. data/app/assets/javascripts/Cesium/Shaders/ReprojectWebMercatorFS.js +4 -2
  618. data/app/assets/javascripts/Cesium/Shaders/ReprojectWebMercatorVS.js +6 -3
  619. data/app/assets/javascripts/Cesium/Shaders/ShadowVolumeFS.js +9 -6
  620. data/app/assets/javascripts/Cesium/Shaders/ShadowVolumeVS.js +12 -7
  621. data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereFS.glsl +47 -7
  622. data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereFS.js +90 -10
  623. data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereVS.glsl +52 -51
  624. data/app/assets/javascripts/Cesium/Shaders/SkyAtmosphereVS.js +115 -61
  625. data/app/assets/javascripts/Cesium/Shaders/SkyBoxFS.js +5 -3
  626. data/app/assets/javascripts/Cesium/Shaders/SkyBoxVS.js +6 -4
  627. data/app/assets/javascripts/Cesium/Shaders/SunFS.js +4 -2
  628. data/app/assets/javascripts/Cesium/Shaders/SunTextureFS.js +45 -21
  629. data/app/assets/javascripts/Cesium/Shaders/SunVS.js +24 -17
  630. data/app/assets/javascripts/Cesium/Shaders/ViewportQuadFS.js +15 -11
  631. data/app/assets/javascripts/Cesium/Shaders/ViewportQuadVS.js +7 -6
  632. data/app/assets/javascripts/Cesium/ThirdParty/NoSleep.js +2 -2
  633. data/app/assets/javascripts/Cesium/ThirdParty/earcut-2.1.1.js +649 -0
  634. data/app/assets/javascripts/Cesium/ThirdParty/knockout-3.4.0.js +123 -0
  635. data/app/assets/javascripts/Cesium/ThirdParty/knockout.js +2 -2
  636. data/app/assets/javascripts/Cesium/Widgets/Animation/Animation.js +1 -1
  637. data/app/assets/javascripts/Cesium/Widgets/Animation/AnimationViewModel.js +4 -24
  638. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.js +5 -5
  639. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/BaseLayerPickerViewModel.js +1 -1
  640. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/ProviderViewModel.js +1 -1
  641. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultImageryProviderViewModels.js +14 -14
  642. data/app/assets/javascripts/Cesium/Widgets/BaseLayerPicker/createDefaultTerrainProviderViewModels.js +2 -2
  643. data/app/assets/javascripts/Cesium/Widgets/CesiumInspector/CesiumInspector.js +1 -1
  644. data/app/assets/javascripts/Cesium/Widgets/CesiumInspector/CesiumInspectorViewModel.js +1 -1
  645. data/app/assets/javascripts/Cesium/Widgets/CesiumWidget/CesiumWidget.js +10 -4
  646. data/app/assets/javascripts/Cesium/Widgets/ClockViewModel.js +76 -133
  647. data/app/assets/javascripts/Cesium/Widgets/Command.js +1 -1
  648. data/app/assets/javascripts/Cesium/Widgets/FullscreenButton/FullscreenButton.js +1 -1
  649. data/app/assets/javascripts/Cesium/Widgets/FullscreenButton/FullscreenButtonViewModel.js +1 -1
  650. data/app/assets/javascripts/Cesium/Widgets/Geocoder/Geocoder.js +2 -2
  651. data/app/assets/javascripts/Cesium/Widgets/Geocoder/GeocoderViewModel.js +9 -5
  652. data/app/assets/javascripts/Cesium/Widgets/HomeButton/HomeButton.js +1 -1
  653. data/app/assets/javascripts/Cesium/Widgets/HomeButton/HomeButtonViewModel.js +2 -47
  654. data/app/assets/javascripts/Cesium/Widgets/InfoBox/InfoBox.js +1 -1
  655. data/app/assets/javascripts/Cesium/Widgets/InfoBox/InfoBoxViewModel.js +1 -1
  656. data/app/assets/javascripts/Cesium/Widgets/NavigationHelpButton/NavigationHelpButton.js +1 -1
  657. data/app/assets/javascripts/Cesium/Widgets/NavigationHelpButton/NavigationHelpButtonViewModel.js +1 -1
  658. data/app/assets/javascripts/Cesium/Widgets/PerformanceWatchdog/PerformanceWatchdog.js +1 -1
  659. data/app/assets/javascripts/Cesium/Widgets/PerformanceWatchdog/PerformanceWatchdogViewModel.js +1 -1
  660. data/app/assets/javascripts/Cesium/Widgets/SceneModePicker/SceneModePicker.js +1 -1
  661. data/app/assets/javascripts/Cesium/Widgets/SceneModePicker/SceneModePickerViewModel.js +1 -1
  662. data/app/assets/javascripts/Cesium/Widgets/SelectionIndicator/SelectionIndicator.js +1 -1
  663. data/app/assets/javascripts/Cesium/Widgets/SelectionIndicator/SelectionIndicatorViewModel.js +1 -1
  664. data/app/assets/javascripts/Cesium/Widgets/SvgPathBindingHandler.js +1 -1
  665. data/app/assets/javascripts/Cesium/Widgets/Timeline/Timeline.js +1 -1
  666. data/app/assets/javascripts/Cesium/Widgets/Timeline/TimelineHighlightRange.js +1 -1
  667. data/app/assets/javascripts/Cesium/Widgets/Timeline/TimelineTrack.js +1 -1
  668. data/app/assets/javascripts/Cesium/Widgets/ToggleButtonViewModel.js +1 -1
  669. data/app/assets/javascripts/Cesium/Widgets/VRButton/VRButton.js +2 -3
  670. data/app/assets/javascripts/Cesium/Widgets/VRButton/VRButtonViewModel.js +1 -1
  671. data/app/assets/javascripts/Cesium/Widgets/Viewer/Viewer.js +130 -38
  672. data/app/assets/javascripts/Cesium/Widgets/Viewer/viewerCesiumInspectorMixin.js +1 -1
  673. data/app/assets/javascripts/Cesium/Widgets/Viewer/viewerDragDropMixin.js +27 -5
  674. data/app/assets/javascripts/Cesium/Widgets/Viewer/viewerPerformanceWatchdogMixin.js +1 -1
  675. data/app/assets/javascripts/Cesium/Widgets/createCommand.js +1 -1
  676. data/app/assets/javascripts/Cesium/Widgets/getElement.js +1 -1
  677. data/app/assets/javascripts/Cesium/Widgets/subscribeAndEvaluate.js +1 -1
  678. data/app/assets/javascripts/Cesium/Workers/cesiumWorkerBootstrapper.js +1 -23
  679. data/app/assets/javascripts/Cesium/Workers/combineGeometry.js +801 -190
  680. data/app/assets/javascripts/Cesium/Workers/createBoxGeometry.js +404 -155
  681. data/app/assets/javascripts/Cesium/Workers/createBoxOutlineGeometry.js +402 -118
  682. data/app/assets/javascripts/Cesium/Workers/createCircleGeometry.js +5844 -318
  683. data/app/assets/javascripts/Cesium/Workers/createCircleOutlineGeometry.js +411 -137
  684. data/app/assets/javascripts/Cesium/Workers/createCorridorGeometry.js +2273 -277
  685. data/app/assets/javascripts/Cesium/Workers/createCorridorOutlineGeometry.js +2131 -275
  686. data/app/assets/javascripts/Cesium/Workers/createCylinderGeometry.js +466 -134
  687. data/app/assets/javascripts/Cesium/Workers/createCylinderOutlineGeometry.js +465 -133
  688. data/app/assets/javascripts/Cesium/Workers/createEllipseGeometry.js +5829 -313
  689. data/app/assets/javascripts/Cesium/Workers/createEllipseOutlineGeometry.js +409 -132
  690. data/app/assets/javascripts/Cesium/Workers/createEllipsoidGeometry.js +480 -126
  691. data/app/assets/javascripts/Cesium/Workers/createEllipsoidOutlineGeometry.js +405 -120
  692. data/app/assets/javascripts/Cesium/Workers/createGeometry.js +801 -190
  693. data/app/assets/javascripts/Cesium/Workers/createPointGeometry.js +397 -117
  694. data/app/assets/javascripts/Cesium/Workers/createPolygonGeometry.js +2020 -1892
  695. data/app/assets/javascripts/Cesium/Workers/createPolygonOutlineGeometry.js +1748 -1845
  696. data/app/assets/javascripts/Cesium/Workers/createPolylineGeometry.js +755 -211
  697. data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeGeometry.js +7848 -7187
  698. data/app/assets/javascripts/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +9211 -8612
  699. data/app/assets/javascripts/Cesium/Workers/createRectangleGeometry.js +1758 -1929
  700. data/app/assets/javascripts/Cesium/Workers/createRectangleOutlineGeometry.js +1657 -1945
  701. data/app/assets/javascripts/Cesium/Workers/createSimplePolylineGeometry.js +649 -207
  702. data/app/assets/javascripts/Cesium/Workers/createSphereGeometry.js +481 -127
  703. data/app/assets/javascripts/Cesium/Workers/createSphereOutlineGeometry.js +406 -121
  704. data/app/assets/javascripts/Cesium/Workers/createTaskProcessorWorker.js +1 -1
  705. data/app/assets/javascripts/Cesium/Workers/createVerticesFromHeightmap.js +778 -213
  706. data/app/assets/javascripts/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +783 -531
  707. data/app/assets/javascripts/Cesium/Workers/createWallGeometry.js +2323 -1870
  708. data/app/assets/javascripts/Cesium/Workers/createWallOutlineGeometry.js +2320 -1868
  709. data/app/assets/javascripts/Cesium/Workers/transferTypedArrayTest.js +1 -1
  710. data/app/assets/javascripts/Cesium/Workers/upsampleQuantizedTerrainMesh.js +780 -214
  711. data/app/assets/javascripts/Cesium/main.js +1 -1
  712. data/lib/cesium/engine.rb +0 -2
  713. data/lib/cesium/version.rb +1 -1
  714. data/test/dummy/log/development.log +7 -0
  715. data/test/dummy/tmp/cache/assets/B70/EA0/sprockets%2F415763926244628691463c356154a895 +0 -0
  716. data/test/dummy/tmp/cache/assets/BA3/7C0/sprockets%2F9199311873d9097949e7e43421215154 +0 -0
  717. data/test/dummy/tmp/cache/assets/BB8/EE0/sprockets%2F22646b151508362346e2037627746ed0 +0 -0
  718. data/test/dummy/tmp/cache/assets/BD4/E30/sprockets%2F63f08889074483c4176494c5763b2291 +0 -0
  719. data/test/dummy/tmp/cache/assets/BD8/B40/sprockets%2F164720065103c7505436426a256c0e0f +0 -0
  720. data/test/dummy/tmp/cache/assets/BE6/130/sprockets%2Fa803162154793f1463540d2c30093d69 +0 -0
  721. data/test/dummy/tmp/cache/assets/C00/920/sprockets%2F4168a71e5976c541d561972b17848434 +0 -0
  722. data/test/dummy/tmp/cache/assets/C08/870/sprockets%2F36f6990a925f3931d77806412c968733 +0 -0
  723. data/test/dummy/tmp/cache/assets/C09/580/sprockets%2F249187d5a491008c57209948c865893e +0 -0
  724. data/test/dummy/tmp/cache/assets/C11/130/sprockets%2F1b030e38f01f4166e1164512847193d4 +0 -0
  725. data/test/dummy/tmp/cache/assets/C16/010/sprockets%2F44d3496a9801634301be407503c78c05 +0 -0
  726. data/test/dummy/tmp/cache/assets/C16/BE0/sprockets%2F730c481502395cc21463bcc305986308 +0 -0
  727. data/test/dummy/tmp/cache/assets/C1D/0F0/sprockets%2Fd185114097044d84160c2b2c197a8776 +0 -0
  728. data/test/dummy/tmp/cache/assets/C1D/8C0/sprockets%2F5e27813463747ac2a868260fb4224370 +0 -0
  729. data/test/dummy/tmp/cache/assets/C21/280/sprockets%2F501c5298f4631437a27a6b514783e851 +0 -0
  730. data/test/dummy/tmp/cache/assets/C23/D40/sprockets%2F6a100052cb79899083d4e93c16294192 +0 -0
  731. data/test/dummy/tmp/cache/assets/C28/C50/sprockets%2Fa0547c4859498c809088a437023bd254 +0 -0
  732. data/test/dummy/tmp/cache/assets/C2B/E00/sprockets%2Fc04978048739428a79d6348576ab030a +0 -0
  733. data/test/dummy/tmp/cache/assets/C2D/2B0/sprockets%2F8fb4c07a40972c58848150577f808351 +0 -0
  734. data/test/dummy/tmp/cache/assets/C2E/360/sprockets%2F318d19847257c8325ae5d1768373109f +0 -0
  735. data/test/dummy/tmp/cache/assets/C30/6A0/sprockets%2F86639346b855d519444548bde64d2080 +0 -0
  736. data/test/dummy/tmp/cache/assets/C31/430/sprockets%2F757866099770079f1160438af16a47dc +0 -0
  737. data/test/dummy/tmp/cache/assets/C31/890/sprockets%2F82ba164b323d36f31099766199596f73 +0 -0
  738. data/test/dummy/tmp/cache/assets/C38/390/sprockets%2F1a55d53525172efa026d840b35506014 +0 -0
  739. data/test/dummy/tmp/cache/assets/C3B/500/sprockets%2F8a8546745e8f5486045f7797c1619b11 +0 -0
  740. data/test/dummy/tmp/cache/assets/C3C/000/sprockets%2F849cf39629892037a0d865817086d8c3 +0 -0
  741. data/test/dummy/tmp/cache/assets/C3E/980/sprockets%2F00fce10d03861d2101743695f0716c66 +0 -0
  742. data/test/dummy/tmp/cache/assets/C41/190/sprockets%2F93fc2cf200a5a781542882095101d056 +0 -0
  743. data/test/dummy/tmp/cache/assets/C43/910/sprockets%2Fa5310b505465cfc5091562a24c787505 +0 -0
  744. data/test/dummy/tmp/cache/assets/C44/EF0/sprockets%2F240e8542975a86810b0a22a9b1a67146 +0 -0
  745. data/test/dummy/tmp/cache/assets/C45/280/sprockets%2F17431114665e693186d90f05f4c0c30a +0 -0
  746. data/test/dummy/tmp/cache/assets/C48/170/sprockets%2F433accb9424237a1971b90769d040725 +0 -0
  747. data/test/dummy/tmp/cache/assets/C48/A40/sprockets%2F8019259f130684d1a510dbc34203f887 +0 -0
  748. data/test/dummy/tmp/cache/assets/C49/100/sprockets%2F2803de2f7f2329384d141864d40005e5 +0 -0
  749. data/test/dummy/tmp/cache/assets/C4A/720/sprockets%2F7b3e799b999140224211f208a43640ac +0 -0
  750. data/test/dummy/tmp/cache/assets/C4A/930/sprockets%2Fd88401412b1d606300ec88f32478098a +0 -0
  751. data/test/dummy/tmp/cache/assets/C4A/B10/sprockets%2F6a04d003d41e0b3667c93653d6406948 +0 -0
  752. data/test/dummy/tmp/cache/assets/C4A/CD0/sprockets%2F56c4436d8128b0781f3e27192f22a206 +0 -0
  753. data/test/dummy/tmp/cache/assets/C4A/FE0/sprockets%2F9d13c5426cd241c98670a8c203452455 +0 -0
  754. data/test/dummy/tmp/cache/assets/C4C/690/sprockets%2F68055490815dd241d825a63e5207de50 +0 -0
  755. data/test/dummy/tmp/cache/assets/C4C/840/sprockets%2F4a4840159653544c8405091bf3c8b7b2 +0 -0
  756. data/test/dummy/tmp/cache/assets/C4C/870/sprockets%2F87d9111687142ac781f1436630eb4b16 +0 -0
  757. data/test/dummy/tmp/cache/assets/C4C/970/sprockets%2F6d3aaf87a41246f4c815449565022901 +0 -0
  758. data/test/dummy/tmp/cache/assets/C4D/7F0/sprockets%2F7a1a613e8e51e07f56097180649134b2 +0 -0
  759. data/test/dummy/tmp/cache/assets/C4E/0E0/sprockets%2F45db287304280bac49d406998e341171 +0 -0
  760. data/test/dummy/tmp/cache/assets/C4E/2C0/sprockets%2F201e128c44919bc76a327a949149d711 +0 -0
  761. data/test/dummy/tmp/cache/assets/C4E/E90/sprockets%2F94236344d8f073e0855073e296b1c1c2 +0 -0
  762. data/test/dummy/tmp/cache/assets/C4F/690/sprockets%2F771870445807107490b63bfd6e0b543d +0 -0
  763. data/test/dummy/tmp/cache/assets/C53/290/sprockets%2Fccc1d66149733e921216e73563904e09 +0 -0
  764. data/test/dummy/tmp/cache/assets/C53/EC0/sprockets%2F50d8a6419663d2122f30958ca747557a +0 -0
  765. data/test/dummy/tmp/cache/assets/C53/F70/sprockets%2F2593d93f154598557e0b3c52110f4a93 +0 -0
  766. data/test/dummy/tmp/cache/assets/C54/680/sprockets%2F31c6133a4541f42b507e5689b076759f +0 -0
  767. data/test/dummy/tmp/cache/assets/C54/DB0/sprockets%2F2719348e2d22ac92794d138751f702f2 +0 -0
  768. data/test/dummy/tmp/cache/assets/C55/190/sprockets%2F4954963bb7014c50075c9955e92117ad +0 -0
  769. data/test/dummy/tmp/cache/assets/C55/260/sprockets%2F327e55ae4e55071a665577d8204068a7 +0 -0
  770. data/test/dummy/tmp/cache/assets/C56/F70/sprockets%2Fb7936623915940a2406637b4cf39a6a8 +0 -0
  771. data/test/dummy/tmp/cache/assets/C57/090/sprockets%2F1da581873ec878f18603d04d08628271 +0 -0
  772. data/test/dummy/tmp/cache/assets/C57/690/sprockets%2F8ec676600b031750853c8417840dd96f +0 -0
  773. data/test/dummy/tmp/cache/assets/C58/E80/sprockets%2F5a04e8d5c583fd764108461d70570658 +0 -0
  774. data/test/dummy/tmp/cache/assets/C5A/A30/sprockets%2F72626d58007d569ee313823e7c081c59 +0 -0
  775. data/test/dummy/tmp/cache/assets/C5C/600/sprockets%2F6ec94c904254580e8691821109d6ad57 +0 -0
  776. data/test/dummy/tmp/cache/assets/C5D/920/sprockets%2F02a0a3531eb2547a50108216af76052e +0 -0
  777. data/test/dummy/tmp/cache/assets/C5D/D20/sprockets%2F0a72b69dd9748ee93063018a88534418 +0 -0
  778. data/test/dummy/tmp/cache/assets/C5F/0D0/sprockets%2F55884638b487591e0c6a547e164d41e3 +0 -0
  779. data/test/dummy/tmp/cache/assets/C5F/8E0/sprockets%2F05629754bf709956d70b6145a8a538e5 +0 -0
  780. data/test/dummy/tmp/cache/assets/C60/9A0/sprockets%2F8e864573639a6852d1dac09861431a88 +0 -0
  781. data/test/dummy/tmp/cache/assets/C61/690/sprockets%2Fef30d34398c6492a49253844e5705f84 +0 -0
  782. data/test/dummy/tmp/cache/assets/C62/AE0/sprockets%2F73190d40c15416381cfb235a40290a0d +0 -0
  783. data/test/dummy/tmp/cache/assets/C64/8F0/sprockets%2Fd004e9ae71630e404522735a44c52a11 +0 -0
  784. data/test/dummy/tmp/cache/assets/C67/000/sprockets%2F459162b63f85d762351846ff602c978e +0 -0
  785. data/test/dummy/tmp/cache/assets/C67/440/sprockets%2F7b39936ea20f266108d772fa98474956 +0 -0
  786. data/test/dummy/tmp/cache/assets/C69/C10/sprockets%2F0d7a126eccc4329435124e522220378a +0 -0
  787. data/test/dummy/tmp/cache/assets/C6A/290/sprockets%2F080307eac72147555366d0e64d1023ab +0 -0
  788. data/test/dummy/tmp/cache/assets/C6A/A20/sprockets%2F700c900bd7b522d041681823904ae2e4 +0 -0
  789. data/test/dummy/tmp/cache/assets/C6B/180/sprockets%2Fc06c1202213e2846058431e3e707a2ff +0 -0
  790. data/test/dummy/tmp/cache/assets/C6C/810/sprockets%2F2718853497b7c397d445ef31f934d458 +0 -0
  791. data/test/dummy/tmp/cache/assets/C6D/BE0/sprockets%2F64a2905185a109011db1f405b65e267d +0 -0
  792. data/test/dummy/tmp/cache/assets/C6E/7D0/sprockets%2F86970687f69e155a83e951cec4596043 +0 -0
  793. data/test/dummy/tmp/cache/assets/C6F/200/sprockets%2F077d53f7ba6e3516496c867968b27774 +0 -0
  794. data/test/dummy/tmp/cache/assets/C6F/3B0/sprockets%2F072048ba3124b22756e3f534e390f16a +0 -0
  795. data/test/dummy/tmp/cache/assets/C6F/DF0/sprockets%2F19b991b49958f790691b43cc876c9441 +0 -0
  796. data/test/dummy/tmp/cache/assets/C70/1B0/sprockets%2F4811e0613a227e101b26d64ffe154683 +0 -0
  797. data/test/dummy/tmp/cache/assets/C70/1F0/sprockets%2F22a273052fb00b84bce2849f13982530 +0 -0
  798. data/test/dummy/tmp/cache/assets/C70/580/sprockets%2Fe894a965928c1287872a0fd297b99353 +0 -0
  799. data/test/dummy/tmp/cache/assets/C70/850/sprockets%2F7be0213040c3acb682e573608e441970 +0 -0
  800. data/test/dummy/tmp/cache/assets/C70/920/sprockets%2F962b044631a652d42417c109eb24ec81 +0 -0
  801. data/test/dummy/tmp/cache/assets/C72/120/sprockets%2F0e1a725795d10e13e4164c31e88351d1 +0 -0
  802. data/test/dummy/tmp/cache/assets/C72/AC0/sprockets%2F44b7435a96cd144c4b5250e01855a821 +0 -0
  803. data/test/dummy/tmp/cache/assets/C73/5C0/sprockets%2F2080c93263c030d48dc94ea39305327c +0 -0
  804. data/test/dummy/tmp/cache/assets/C73/DA0/sprockets%2F7181b49b99a79c76839798190aa6059f +0 -0
  805. data/test/dummy/tmp/cache/assets/C75/FB0/sprockets%2F93279bdd44712b4008b4d29051904f0c +0 -0
  806. data/test/dummy/tmp/cache/assets/C76/7D0/sprockets%2F4d655f939b8b1a2462ea13042b367711 +0 -0
  807. data/test/dummy/tmp/cache/assets/C77/780/sprockets%2F8638238293665a14e6ce2dca0a402363 +0 -0
  808. data/test/dummy/tmp/cache/assets/C7A/080/sprockets%2Fb7920ad71b46043c642816643ce1a795 +0 -0
  809. data/test/dummy/tmp/cache/assets/C7A/410/sprockets%2F55d7ac1c22d7347551e2a65251d17288 +0 -0
  810. data/test/dummy/tmp/cache/assets/C7C/060/sprockets%2F32694b33b7720372b42698cc49dab360 +0 -0
  811. data/test/dummy/tmp/cache/assets/C7C/820/sprockets%2F75345871dc6b88eb502f1ec014518621 +0 -0
  812. data/test/dummy/tmp/cache/assets/C7C/C90/sprockets%2F92c082511a234b21cf6c479b6f507576 +0 -0
  813. data/test/dummy/tmp/cache/assets/C7D/2C0/sprockets%2F510dcf322fa428af8292d31657315757 +0 -0
  814. data/test/dummy/tmp/cache/assets/C7D/600/sprockets%2F24302027765679153e1c3da944e4af4f +0 -0
  815. data/test/dummy/tmp/cache/assets/C7D/950/sprockets%2F6c0363b13959ad48161b25b1c835657e +0 -0
  816. data/test/dummy/tmp/cache/assets/C7E/020/sprockets%2Fb4872fbe9811293022084aa304d9864e +0 -0
  817. data/test/dummy/tmp/cache/assets/C7E/C90/sprockets%2F1f75e76943967aa1351a564142fa052f +0 -0
  818. data/test/dummy/tmp/cache/assets/C7F/C80/sprockets%2F172018043d58cd572b8e4914de134a79 +0 -0
  819. data/test/dummy/tmp/cache/assets/C7F/DE0/sprockets%2F20684b3051676c77e9b2fa423363ee71 +0 -0
  820. data/test/dummy/tmp/cache/assets/C80/0C0/sprockets%2F3400b37f7b6f95f54bf7768165200b32 +0 -0
  821. data/test/dummy/tmp/cache/assets/C80/140/sprockets%2F171f748250c3977590f1318aa18dd4d2 +0 -0
  822. data/test/dummy/tmp/cache/assets/C80/6D0/sprockets%2F307ca271082e5c14996c36267a288df0 +0 -0
  823. data/test/dummy/tmp/cache/assets/C80/710/sprockets%2F41b1692a0f1a77581854ee4b7709913a +0 -0
  824. data/test/dummy/tmp/cache/assets/C80/CD0/sprockets%2F0032971af77940c1af9e2f460177809a +0 -0
  825. data/test/dummy/tmp/cache/assets/C81/1D0/sprockets%2F2a5c1b8466476169a6e9127cd511e183 +0 -0
  826. data/test/dummy/tmp/cache/assets/C82/D20/sprockets%2F16a1605945c145b495cb85886de4603a +0 -0
  827. data/test/dummy/tmp/cache/assets/C83/180/sprockets%2F49eb5e9d119c601182d7359d1663420f +0 -0
  828. data/test/dummy/tmp/cache/assets/C83/380/sprockets%2F5e3f360822828773e961b800b9d0f1b5 +0 -0
  829. data/test/dummy/tmp/cache/assets/C83/520/sprockets%2F04723d8215f9557d6d801cf6b713824b +0 -0
  830. data/test/dummy/tmp/cache/assets/C83/7D0/sprockets%2F8a78d82e23b532c404b638c51b772855 +0 -0
  831. data/test/dummy/tmp/cache/assets/C83/A10/sprockets%2F888080c85be8f70236b191a37c1954a1 +0 -0
  832. data/test/dummy/tmp/cache/assets/C83/C20/sprockets%2F9399873eb3e83ae6409c409311aa0337 +0 -0
  833. data/test/dummy/tmp/cache/assets/C83/CF0/sprockets%2Fbf48616ee2905ea86820e1435287d601 +0 -0
  834. data/test/dummy/tmp/cache/assets/C84/090/sprockets%2F8b3262ab072d0c591f8919887aa69150 +0 -0
  835. data/test/dummy/tmp/cache/assets/C84/1B0/sprockets%2Ff5833fd0038d74016a792bf285d31819 +0 -0
  836. data/test/dummy/tmp/cache/assets/C84/510/sprockets%2F230e7994085286b76d2ed057d4b453d0 +0 -0
  837. data/test/dummy/tmp/cache/assets/C84/9D0/sprockets%2F95037f9678608da3a107e507baf73432 +0 -0
  838. data/test/dummy/tmp/cache/assets/C84/9F0/sprockets%2F93ea52b0048348f92586340f39ad471d +0 -0
  839. data/test/dummy/tmp/cache/assets/C86/1A0/sprockets%2F46d3f6f265fce039f207282c09068182 +0 -0
  840. data/test/dummy/tmp/cache/assets/C86/390/sprockets%2Fbf94371a30ea291d595677637e50e136 +0 -0
  841. data/test/dummy/tmp/cache/assets/C86/F40/sprockets%2Fa74f2353732b85185fdb46302b91796e +0 -0
  842. data/test/dummy/tmp/cache/assets/C86/FD0/sprockets%2F95be23334957f803517b6b4d2f18e704 +0 -0
  843. data/test/dummy/tmp/cache/assets/C87/130/sprockets%2F70284d571d967d3e17b3151d58e3d419 +0 -0
  844. data/test/dummy/tmp/cache/assets/C87/860/sprockets%2F06a90e1784696233013dd6ee75e4549b +0 -0
  845. data/test/dummy/tmp/cache/assets/C87/990/sprockets%2Fe99c6569107adae32564262cf9313175 +0 -0
  846. data/test/dummy/tmp/cache/assets/C87/9E0/sprockets%2F6830a5d84c87260428ec40874d25d2f6 +0 -0
  847. data/test/dummy/tmp/cache/assets/C88/480/sprockets%2Fa10a30c47b2a89644c3971c78845479f +0 -0
  848. data/test/dummy/tmp/cache/assets/C88/F80/sprockets%2F40018b3244b595e623d6183e8e7d89f1 +0 -0
  849. data/test/dummy/tmp/cache/assets/C89/C70/sprockets%2F8dfab10881842fb5e999140013f60769 +0 -0
  850. data/test/dummy/tmp/cache/assets/C8A/970/sprockets%2F9ac0c50557820ea3209b5e8f87182994 +0 -0
  851. data/test/dummy/tmp/cache/assets/C8B/280/sprockets%2F531c75712039f5913a77f3f8a37c429f +0 -0
  852. data/test/dummy/tmp/cache/assets/C8B/2B0/sprockets%2F757dfb06ec7a511563928862c5e94611 +0 -0
  853. data/test/dummy/tmp/cache/assets/C8C/2C0/sprockets%2F440b422a30853a03a2fd5902b62a62d2 +0 -0
  854. data/test/dummy/tmp/cache/assets/C8E/560/sprockets%2Fd689186c39da83044435b63c38ff6316 +0 -0
  855. data/test/dummy/tmp/cache/assets/C8E/B50/sprockets%2F1dd74756236ef168e5378ab072486f43 +0 -0
  856. data/test/dummy/tmp/cache/assets/C8F/000/sprockets%2F01a04205ee116fbb2683034aa55c8720 +0 -0
  857. data/test/dummy/tmp/cache/assets/C8F/2D0/sprockets%2F04cb2049579f1d33989f85c4333fe058 +0 -0
  858. data/test/dummy/tmp/cache/assets/C8F/3D0/sprockets%2F9a11673b79cf574111cca89f08768617 +0 -0
  859. data/test/dummy/tmp/cache/assets/C8F/780/sprockets%2Fe8d1b692466401f8a06c4697ff368280 +0 -0
  860. data/test/dummy/tmp/cache/assets/C90/3E0/sprockets%2Fed300792c820da1a4a180f3620e15530 +0 -0
  861. data/test/dummy/tmp/cache/assets/C90/640/sprockets%2Fa6375818960a576f5f7322f600487dcf +0 -0
  862. data/test/dummy/tmp/cache/assets/C90/F70/sprockets%2F58e63190d56e5b6e83e6487a84e35141 +0 -0
  863. data/test/dummy/tmp/cache/assets/C91/0D0/sprockets%2F5bd71287903ba95d2fb5743719549e92 +0 -0
  864. data/test/dummy/tmp/cache/assets/C91/8A0/sprockets%2Fe02395f83f6f5201913e1b888f46f645 +0 -0
  865. data/test/dummy/tmp/cache/assets/C91/9F0/sprockets%2F6c7a863808922147872566c40f7bcbd9 +0 -0
  866. data/test/dummy/tmp/cache/assets/C92/590/sprockets%2Fc853abc9c15987065c59c7395f328414 +0 -0
  867. data/test/dummy/tmp/cache/assets/C92/9A0/sprockets%2F6c85f9c609287aa6552391f576f0f405 +0 -0
  868. data/test/dummy/tmp/cache/assets/C92/C30/sprockets%2F2377b6f8d46f2a90820935754366f5ce +0 -0
  869. data/test/dummy/tmp/cache/assets/C92/DE0/sprockets%2F4e99f3610096e97c1287705d942ffb41 +0 -0
  870. data/test/dummy/tmp/cache/assets/C94/D10/sprockets%2F903d696bc385f21c973d97789a31e504 +0 -0
  871. data/test/dummy/tmp/cache/assets/C94/EC0/sprockets%2F1b6eff75c92917925b99948d113705d1 +0 -0
  872. data/test/dummy/tmp/cache/assets/C94/F40/sprockets%2F9a37284984ca20b598cc83b76d792166 +0 -0
  873. data/test/dummy/tmp/cache/assets/C95/B00/sprockets%2F4c52f13c15086198d5664ea4f775499f +0 -0
  874. data/test/dummy/tmp/cache/assets/C95/C40/sprockets%2F5215355bd83595661d71909bd8d896be +0 -0
  875. data/test/dummy/tmp/cache/assets/C95/E80/sprockets%2F188cbb0b17651c27b776977a9965e618 +0 -0
  876. data/test/dummy/tmp/cache/assets/C95/F70/sprockets%2F7d9b253e09f897f582400c3796c573b4 +0 -0
  877. data/test/dummy/tmp/cache/assets/C96/130/sprockets%2F65282946954409cc01f088f5c79ac68d +0 -0
  878. data/test/dummy/tmp/cache/assets/C96/1F0/sprockets%2Fc53ab6d278f5853970ef30296977572b +0 -0
  879. data/test/dummy/tmp/cache/assets/C96/290/sprockets%2Fa3d8033501e001f443c63c158a3a539d +0 -0
  880. data/test/dummy/tmp/cache/assets/C96/4C0/sprockets%2F289f946909e090b275a6b4e618a636d9 +0 -0
  881. data/test/dummy/tmp/cache/assets/C98/010/sprockets%2F3298073c8f769e62c70743ba5e93e945 +0 -0
  882. data/test/dummy/tmp/cache/assets/C98/D10/sprockets%2F26c19ec2f71a6305b43a823df0301254 +0 -0
  883. data/test/dummy/tmp/cache/assets/C99/370/sprockets%2F31a8306eb0a214485560f618913aec0a +0 -0
  884. data/test/dummy/tmp/cache/assets/C99/F10/sprockets%2F42347073fbba17e3be3883820c1000a8 +0 -0
  885. data/test/dummy/tmp/cache/assets/C9A/D60/sprockets%2F1c018c69d4f01ec016141ee18702b931 +0 -0
  886. data/test/dummy/tmp/cache/assets/C9B/380/sprockets%2F4e74f5a9e474b193de760499b1924795 +0 -0
  887. data/test/dummy/tmp/cache/assets/C9B/3A0/sprockets%2Fc094497ae817a3b6ea351032b105e620 +0 -0
  888. data/test/dummy/tmp/cache/assets/C9B/DF0/sprockets%2Ff7f415b64653f36815f3768c916666ec +0 -0
  889. data/test/dummy/tmp/cache/assets/C9C/120/sprockets%2F839161c85f65ed8f68d928b6e4041188 +0 -0
  890. data/test/dummy/tmp/cache/assets/C9C/D40/sprockets%2F72242032d5981411677a1ba91a2dafb6 +0 -0
  891. data/test/dummy/tmp/cache/assets/C9D/160/sprockets%2Fe44f317cb4c4d30720950d9028ee0121 +0 -0
  892. data/test/dummy/tmp/cache/assets/C9D/630/sprockets%2Fc6e27b659f5002ae303131e6d14b5371 +0 -0
  893. data/test/dummy/tmp/cache/assets/C9D/800/sprockets%2F35555164855b7b54f987dcf843cf8608 +0 -0
  894. data/test/dummy/tmp/cache/assets/C9E/160/sprockets%2F77816cc31480820ade5356034adeb311 +0 -0
  895. data/test/dummy/tmp/cache/assets/C9E/810/sprockets%2F7b91bc41a55d3247e3d1602637ab4037 +0 -0
  896. data/test/dummy/tmp/cache/assets/C9F/3A0/sprockets%2F2469356cd21d5a5902b06584ea0b20d5 +0 -0
  897. data/test/dummy/tmp/cache/assets/CA0/050/sprockets%2Fd4520f127c13e5a8423f01f67c5a4326 +0 -0
  898. data/test/dummy/tmp/cache/assets/CA0/600/sprockets%2F1554ed77fd047e539e9f682d35088991 +0 -0
  899. data/test/dummy/tmp/cache/assets/CA0/F30/sprockets%2F982647a591ddc998757090e366d275ed +0 -0
  900. data/test/dummy/tmp/cache/assets/CA1/7D0/sprockets%2F50a78c30747ead33523476cb40a059c2 +0 -0
  901. data/test/dummy/tmp/cache/assets/CA1/9B0/sprockets%2F45053226eab1846002ea7c538960dec2 +0 -0
  902. data/test/dummy/tmp/cache/assets/CA2/AB0/sprockets%2F407fea2123617145a476051d92e05efc +0 -0
  903. data/test/dummy/tmp/cache/assets/CA2/BC0/sprockets%2F336f5a0e85027c07c4460b10d548a7d4 +0 -0
  904. data/test/dummy/tmp/cache/assets/CA2/BD0/sprockets%2F49a81581024283ecaadb62346b47f006 +0 -0
  905. data/test/dummy/tmp/cache/assets/CA5/400/sprockets%2F2b82a7e99c0e05652445e06c1d17d051 +0 -0
  906. data/test/dummy/tmp/cache/assets/CA5/830/sprockets%2F410b486189cd22c6aa26437262e4fb16 +0 -0
  907. data/test/dummy/tmp/cache/assets/CA5/CE0/sprockets%2F849135fbf223644334ec2581842bb0ac +0 -0
  908. data/test/dummy/tmp/cache/assets/CA5/E50/sprockets%2F3e4d2074451614cfb807084ca42447dd +0 -0
  909. data/test/dummy/tmp/cache/assets/CA6/050/sprockets%2F0870154ae63a5f7c83121ef17d0846b2 +0 -0
  910. data/test/dummy/tmp/cache/assets/CA6/700/sprockets%2F60e083d5d4a45568066fad1d33b03519 +0 -0
  911. data/test/dummy/tmp/cache/assets/CA6/AD0/sprockets%2F288da8bd123c34371e2401459e8bd504 +0 -0
  912. data/test/dummy/tmp/cache/assets/CA7/070/sprockets%2F2d0497e8544ea11f3981814312abd3b5 +0 -0
  913. data/test/dummy/tmp/cache/assets/CA7/760/sprockets%2Fa271c3b894511332a0e1ab2589f46f39 +0 -0
  914. data/test/dummy/tmp/cache/assets/CA7/D20/sprockets%2F1f594f974f38ae85702ec10ae4233000 +0 -0
  915. data/test/dummy/tmp/cache/assets/CA7/D40/sprockets%2F09291437a41fbc8b0053920f836c4b9a +0 -0
  916. data/test/dummy/tmp/cache/assets/CA8/4C0/sprockets%2F921af2e1125bd4e722b86684326fd251 +0 -0
  917. data/test/dummy/tmp/cache/assets/CA8/790/sprockets%2F53bf33929435986dd2a0af314b2860b1 +0 -0
  918. data/test/dummy/tmp/cache/assets/CA8/8A0/sprockets%2F09a719af6b910a477a8e63a67016400e +0 -0
  919. data/test/dummy/tmp/cache/assets/CA8/A70/sprockets%2F2747015d607d40e647d84f4a7d02b51c +0 -0
  920. data/test/dummy/tmp/cache/assets/CA8/CF0/sprockets%2F13bc06476e3f5fa270409bd41c760791 +0 -0
  921. data/test/dummy/tmp/cache/assets/CA8/ED0/sprockets%2F95a93b16c02b6e70c4c44c8497153a22 +0 -0
  922. data/test/dummy/tmp/cache/assets/CA8/F50/sprockets%2F6c3b801a4e229736f0b183c35d542e29 +0 -0
  923. data/test/dummy/tmp/cache/assets/CAA/8B0/sprockets%2Ffcec766b6270b4380670c04215991b4c +0 -0
  924. data/test/dummy/tmp/cache/assets/CAA/8D0/sprockets%2Fb49800d7d861022a35878a725b5f15ab +0 -0
  925. data/test/dummy/tmp/cache/assets/CAA/BC0/sprockets%2F42078e308f64bba6180ed593c1257a08 +0 -0
  926. data/test/dummy/tmp/cache/assets/CAA/EF0/sprockets%2F13b3f1125490c5a2e82e24d64f780e39 +0 -0
  927. data/test/dummy/tmp/cache/assets/CAB/320/sprockets%2F78ac4929439bc866a653a2a12a2a5165 +0 -0
  928. data/test/dummy/tmp/cache/assets/CAB/4D0/sprockets%2F21a12d7663bea8213a833927457ed4f4 +0 -0
  929. data/test/dummy/tmp/cache/assets/CAB/720/sprockets%2F491d20bb57b07051ed188bd0f7028894 +0 -0
  930. data/test/dummy/tmp/cache/assets/CAB/750/sprockets%2F212a47ef9bbb0b0a425335683067f878 +0 -0
  931. data/test/dummy/tmp/cache/assets/CAB/890/sprockets%2F2f32992c977b6a811f0e38c6110434cb +0 -0
  932. data/test/dummy/tmp/cache/assets/CAB/D10/sprockets%2F27544d50488ac62f23e860d2f51307ea +0 -0
  933. data/test/dummy/tmp/cache/assets/CAC/F40/sprockets%2Fcce78188e804745f718a00dc1410e254 +0 -0
  934. data/test/dummy/tmp/cache/assets/CAD/4B0/sprockets%2F37111738f65d62046cb8e56440fc4ab6 +0 -0
  935. data/test/dummy/tmp/cache/assets/CAD/6C0/sprockets%2Fe836e0b2710029315f25e31966fa86ae +0 -0
  936. data/test/dummy/tmp/cache/assets/CAD/7F0/sprockets%2F52a078730ed34d144927702ecd5dc475 +0 -0
  937. data/test/dummy/tmp/cache/assets/CAD/890/sprockets%2F0b64e08b0310b5955e4274998de205ce +0 -0
  938. data/test/dummy/tmp/cache/assets/CAD/B70/sprockets%2F57254337db5e0be73c242ea5066744f5 +0 -0
  939. data/test/dummy/tmp/cache/assets/CAD/BE0/sprockets%2Fb4ae46150b8011119cd56d3789cf2288 +0 -0
  940. data/test/dummy/tmp/cache/assets/CAE/200/sprockets%2F48c74ad503720c817e9ba301f1b89583 +0 -0
  941. data/test/dummy/tmp/cache/assets/CAE/290/sprockets%2F8078875c0d64178ad1a11991d25bb44c +0 -0
  942. data/test/dummy/tmp/cache/assets/CAE/490/sprockets%2F51e43a989180ced34952a2b8c644c530 +0 -0
  943. data/test/dummy/tmp/cache/assets/CAE/630/sprockets%2F9d24d9f35a4650e41b4645c5d81b0842 +0 -0
  944. data/test/dummy/tmp/cache/assets/CAE/660/sprockets%2F15b8345da313eea0a96760340c9559e7 +0 -0
  945. data/test/dummy/tmp/cache/assets/CAE/880/sprockets%2Fd6c9a58dd76ec050444d324819262e20 +0 -0
  946. data/test/dummy/tmp/cache/assets/CAE/900/sprockets%2F0e397258561ee4b801e90c11134c9a8f +0 -0
  947. data/test/dummy/tmp/cache/assets/CAE/A40/sprockets%2F037f34c1814912af7f1f5d81080dd962 +0 -0
  948. data/test/dummy/tmp/cache/assets/CAF/8F0/sprockets%2Fdfb0351981258b34aa1a77478e5027e7 +0 -0
  949. data/test/dummy/tmp/cache/assets/CAF/F30/sprockets%2F93a3cb60248afb131545f47709fb6645 +0 -0
  950. data/test/dummy/tmp/cache/assets/CB0/240/sprockets%2F6e09e74c352d05b8f80699035203a1ef +0 -0
  951. data/test/dummy/tmp/cache/assets/CB0/6C0/sprockets%2Fb052b2fcf6576527d249d81d9251304f +0 -0
  952. data/test/dummy/tmp/cache/assets/CB0/6E0/sprockets%2Fb6374ab19b20f2254690b9099d1e73b8 +0 -0
  953. data/test/dummy/tmp/cache/assets/CB0/CB0/sprockets%2F4cf4d8b16152352bc516a4985b74d159 +0 -0
  954. data/test/dummy/tmp/cache/assets/CB0/CE0/sprockets%2F27b63550e66772dd1a53c2f583f1e921 +0 -0
  955. data/test/dummy/tmp/cache/assets/CB0/DA0/sprockets%2F4b44084421b0deeb1d2586e46b676793 +0 -0
  956. data/test/dummy/tmp/cache/assets/CB0/EF0/sprockets%2Fa01136a757d377c8efd38821723f82c0 +0 -0
  957. data/test/dummy/tmp/cache/assets/CB1/370/sprockets%2F590488652cd4303cc682fe9c941400cc +0 -0
  958. data/test/dummy/tmp/cache/assets/CB1/720/sprockets%2F018fab435fc393f71862ec3d10737934 +0 -0
  959. data/test/dummy/tmp/cache/assets/CB1/EA0/sprockets%2F4759506f0564d9c58127be282a1dbd51 +0 -0
  960. data/test/dummy/tmp/cache/assets/CB1/EE0/sprockets%2F931d2725b8c14ed84a31e373fc813188 +0 -0
  961. data/test/dummy/tmp/cache/assets/CB2/300/sprockets%2F224075f1624945daf1f76df5b3689c00 +0 -0
  962. data/test/dummy/tmp/cache/assets/CB2/360/sprockets%2F837c1d6062902933d1293dc73a7cdf47 +0 -0
  963. data/test/dummy/tmp/cache/assets/CB2/5A0/sprockets%2F434a0c6d7c301964022e91e8f99bb727 +0 -0
  964. data/test/dummy/tmp/cache/assets/CB2/E80/sprockets%2F4745738104a5b1a1952a3df67955e8da +0 -0
  965. data/test/dummy/tmp/cache/assets/CB3/360/sprockets%2F957ef101ecd45863632de600c9597a30 +0 -0
  966. data/test/dummy/tmp/cache/assets/CB3/720/sprockets%2F9d2028796498a1ab2c9bbb05665a0964 +0 -0
  967. data/test/dummy/tmp/cache/assets/CB3/AA0/sprockets%2F1a5341f5bbe847df26e716510318779c +0 -0
  968. data/test/dummy/tmp/cache/assets/CB3/CA0/sprockets%2F1d2306c646f5e2bf436be4914a949364 +0 -0
  969. data/test/dummy/tmp/cache/assets/CB3/F40/sprockets%2F65e40dc324ca81a9e17856342a77e591 +0 -0
  970. data/test/dummy/tmp/cache/assets/CB4/240/sprockets%2F940b55ae0d29d6602ca1776712f6f928 +0 -0
  971. data/test/dummy/tmp/cache/assets/CB4/790/sprockets%2F7dd7073112b9c5019e753ffa56463b66 +0 -0
  972. data/test/dummy/tmp/cache/assets/CB4/890/sprockets%2F7f8ab6f90720f3f6b19243c41b366465 +0 -0
  973. data/test/dummy/tmp/cache/assets/CB4/A60/sprockets%2Fa8fe69f6103d6939050046f08db165b5 +0 -0
  974. data/test/dummy/tmp/cache/assets/CB4/C50/sprockets%2Ff9ed4040f57f633876cd232780fa0128 +0 -0
  975. data/test/dummy/tmp/cache/assets/CB4/D90/sprockets%2F5fb974e230f8a43f0146694636b621fc +0 -0
  976. data/test/dummy/tmp/cache/assets/CB5/200/sprockets%2F769c51757781c4a190185baf1297eb3a +0 -0
  977. data/test/dummy/tmp/cache/assets/CB5/220/sprockets%2F014337688f75cc53366e1dee09642f0c +0 -0
  978. data/test/dummy/tmp/cache/assets/CB5/310/sprockets%2F2833f6b19a5ac7453729822f259b2db6 +0 -0
  979. data/test/dummy/tmp/cache/assets/CB5/610/sprockets%2F33ac72c81dc2a77850687691f1172c8d +0 -0
  980. data/test/dummy/tmp/cache/assets/CB5/B60/sprockets%2Fd29dae0ef3568721735ec72217826a28 +0 -0
  981. data/test/dummy/tmp/cache/assets/CB5/D90/sprockets%2F794b6d6ac1939404bb8e644725c0f155 +0 -0
  982. data/test/dummy/tmp/cache/assets/CB6/110/sprockets%2Fef8631566777061408af1c64bd43b3d9 +0 -0
  983. data/test/dummy/tmp/cache/assets/CB6/2C0/sprockets%2F84ca6c105bf1676b9b712908174747de +0 -0
  984. data/test/dummy/tmp/cache/assets/CB7/2E0/sprockets%2Ff1ed26933745612dc769d5fb75c17321 +0 -0
  985. data/test/dummy/tmp/cache/assets/CB7/A10/sprockets%2Fd34b045e6d4215367bcf6f08e4638926 +0 -0
  986. data/test/dummy/tmp/cache/assets/CB7/C10/sprockets%2F262600ead4686290c10b01aa60e0ce20 +0 -0
  987. data/test/dummy/tmp/cache/assets/CB7/D40/sprockets%2F699ef7310dacea441646312a965f7923 +0 -0
  988. data/test/dummy/tmp/cache/assets/CB7/D70/sprockets%2F2cdf87e3d1b3659309903e519a7251f5 +0 -0
  989. data/test/dummy/tmp/cache/assets/CB7/F00/sprockets%2F4e642eb013c8669a50db2fa895234779 +0 -0
  990. data/test/dummy/tmp/cache/assets/CB7/FA0/sprockets%2Fe11b1d418699c10ce19c92b8a8562992 +0 -0
  991. data/test/dummy/tmp/cache/assets/CB8/3B0/sprockets%2Ff293c101ef37e37fad1336567f288805 +0 -0
  992. data/test/dummy/tmp/cache/assets/CB8/550/sprockets%2F4979e71c0cc90484d185942e6ba104e7 +0 -0
  993. data/test/dummy/tmp/cache/assets/CB8/740/sprockets%2F86f24d82550d1d67070d828c593cda29 +0 -0
  994. data/test/dummy/tmp/cache/assets/CB8/7F0/sprockets%2F09b29c8ae26818da63953740870abb86 +0 -0
  995. data/test/dummy/tmp/cache/assets/CB8/980/sprockets%2F49c37cd6ce40901b895305f7393e53a5 +0 -0
  996. data/test/dummy/tmp/cache/assets/CB8/AC0/sprockets%2F31296d9a08823af1b68971b91645fb5c +0 -0
  997. data/test/dummy/tmp/cache/assets/CB8/B30/sprockets%2F13f7cb02749922719ffa184c96160a8f +0 -0
  998. data/test/dummy/tmp/cache/assets/CB8/CE0/sprockets%2Fd82b3fa60209f7b3e19775f13806785a +0 -0
  999. data/test/dummy/tmp/cache/assets/CB9/260/sprockets%2F7cfb2307bb86615c7743d75d164e9354 +0 -0
  1000. data/test/dummy/tmp/cache/assets/CB9/680/sprockets%2F769814cdb49069f4d3c4d73317a360b8 +0 -0
  1001. data/test/dummy/tmp/cache/assets/CB9/BE0/sprockets%2F5616190f6338dd921fae3517868cc8a2 +0 -0
  1002. data/test/dummy/tmp/cache/assets/CB9/D80/sprockets%2Fb71db9a0566b74607e170a9679c5276d +0 -0
  1003. data/test/dummy/tmp/cache/assets/CB9/FB0/sprockets%2F284a0fe46e42c9d28f912830cf479604 +0 -0
  1004. data/test/dummy/tmp/cache/assets/CB9/FC0/sprockets%2Fae273d06916808a44c8c47b744d2883e +0 -0
  1005. data/test/dummy/tmp/cache/assets/CB9/FD0/sprockets%2F868358f2ee30f4326e761014cd2576ee +0 -0
  1006. data/test/dummy/tmp/cache/assets/CBA/1A0/sprockets%2F8d919816a78bf3c2342a9810f35c26c8 +0 -0
  1007. data/test/dummy/tmp/cache/assets/CBA/FE0/sprockets%2Fbcdc17a3d142901246f0010d01d63a92 +0 -0
  1008. data/test/dummy/tmp/cache/assets/CBB/4A0/sprockets%2F836b47264a423975db0f9b8d494424fb +0 -0
  1009. data/test/dummy/tmp/cache/assets/CBB/5D0/sprockets%2F7965dc683e03140b80566dbd76677f0c +0 -0
  1010. data/test/dummy/tmp/cache/assets/CBB/A70/sprockets%2F7d2284b9010bf8c6791f192496a48f3c +0 -0
  1011. data/test/dummy/tmp/cache/assets/CBB/C00/sprockets%2Ff9a9076aa8206b5af62e6759423c3459 +0 -0
  1012. data/test/dummy/tmp/cache/assets/CBC/B00/sprockets%2F781e0bd52bee4781ff663069a5941079 +0 -0
  1013. data/test/dummy/tmp/cache/assets/CBD/1B0/sprockets%2F8d8816a2a02333e97652d4be4d5c7977 +0 -0
  1014. data/test/dummy/tmp/cache/assets/CBD/8F0/sprockets%2Fa06568f2e94fe5040f3f1f18e0965476 +0 -0
  1015. data/test/dummy/tmp/cache/assets/CBD/F90/sprockets%2F96237bbf67793f5df1545a4608345b1f +0 -0
  1016. data/test/dummy/tmp/cache/assets/CBE/150/sprockets%2F6709c8934146f58d1d8e0386b385b1dc +0 -0
  1017. data/test/dummy/tmp/cache/assets/CBE/C50/sprockets%2Ff9a19372c0905a91eb97d9798b131c55 +0 -0
  1018. data/test/dummy/tmp/cache/assets/CBE/C70/sprockets%2F0b854864714ec43d7fd4d62a495d1894 +0 -0
  1019. data/test/dummy/tmp/cache/assets/CBF/0B0/sprockets%2F8b64669d931f40a85fb4b56431769fb2 +0 -0
  1020. data/test/dummy/tmp/cache/assets/CBF/2F0/sprockets%2F663199019e22fac7e8f7dbc876443721 +0 -0
  1021. data/test/dummy/tmp/cache/assets/CBF/8B0/sprockets%2F97895a24c544a015857f2fc94b47d53d +0 -0
  1022. data/test/dummy/tmp/cache/assets/CBF/E20/sprockets%2Fc0e317c628dccdb0418071361a11b342 +0 -0
  1023. data/test/dummy/tmp/cache/assets/CC0/1E0/sprockets%2F153766c84f6119b4238b753ff92cc57e +0 -0
  1024. data/test/dummy/tmp/cache/assets/CC0/3A0/sprockets%2F26cd86b84410a02a601212bd2236f6da +0 -0
  1025. data/test/dummy/tmp/cache/assets/CC1/0C0/sprockets%2Ff1db17a26e4b3c3570f9972f57940779 +0 -0
  1026. data/test/dummy/tmp/cache/assets/CC1/3B0/sprockets%2F737207abfffd639437c1659e439629d0 +0 -0
  1027. data/test/dummy/tmp/cache/assets/CC1/AA0/sprockets%2F267c43786e51759667824117ceea5ade +0 -0
  1028. data/test/dummy/tmp/cache/assets/CC1/E10/sprockets%2F6a72d98c94d5e89008d0515f0467fb47 +0 -0
  1029. data/test/dummy/tmp/cache/assets/CC1/EA0/sprockets%2Fc361f5bd9186644d45e91e77e8700c65 +0 -0
  1030. data/test/dummy/tmp/cache/assets/CC2/070/sprockets%2F50f57bd3b454979837b58a044d892a9c +0 -0
  1031. data/test/dummy/tmp/cache/assets/CC2/820/sprockets%2F9723ad49856657ae3df92c726914a5b4 +0 -0
  1032. data/test/dummy/tmp/cache/assets/CC2/850/sprockets%2F0991ccdfb7d10695d34851e69d719735 +0 -0
  1033. data/test/dummy/tmp/cache/assets/CC2/B00/sprockets%2F75f12caf383557d3a572971d099566fd +0 -0
  1034. data/test/dummy/tmp/cache/assets/CC3/1D0/sprockets%2Fe05f83785d87559e712ef7331136b7fa +0 -0
  1035. data/test/dummy/tmp/cache/assets/CC3/2F0/sprockets%2Fa76e9c1a4024f8697e1493825e4f239f +0 -0
  1036. data/test/dummy/tmp/cache/assets/CC3/520/sprockets%2Faaa0355000f0805367da5825e31e5b2d +0 -0
  1037. data/test/dummy/tmp/cache/assets/CC3/CD0/sprockets%2F4ff64f374e84188231f8460486f4d4cb +0 -0
  1038. data/test/dummy/tmp/cache/assets/CC3/FE0/sprockets%2F6a49a6093617b8d69096cd49d86801af +0 -0
  1039. data/test/dummy/tmp/cache/assets/CC4/210/sprockets%2F941735f953ac8c797ab549ee3063e815 +0 -0
  1040. data/test/dummy/tmp/cache/assets/CC4/610/sprockets%2F0f600ac692c703702d410becdb436560 +0 -0
  1041. data/test/dummy/tmp/cache/assets/CC5/340/sprockets%2F79c459809c63e81dbf88caa155961760 +0 -0
  1042. data/test/dummy/tmp/cache/assets/CC5/FB0/sprockets%2F80e0c2f9390c8a479972b8841e949cb3 +0 -0
  1043. data/test/dummy/tmp/cache/assets/CC6/340/sprockets%2Faf04460bb9266d71004db70120f0ed74 +0 -0
  1044. data/test/dummy/tmp/cache/assets/CC7/560/sprockets%2F749218952e9de9fd31469d955da0a770 +0 -0
  1045. data/test/dummy/tmp/cache/assets/CC7/C90/sprockets%2F86038323baeaf54599ae8856744f297c +0 -0
  1046. data/test/dummy/tmp/cache/assets/CC8/2A0/sprockets%2F3a8642f97f97582307a90a8414e7de9e +0 -0
  1047. data/test/dummy/tmp/cache/assets/CC8/5C0/sprockets%2F623593ea6c022c4642dd63c52ae1201e +0 -0
  1048. data/test/dummy/tmp/cache/assets/CC8/B10/sprockets%2Fd9164d28d858d600bd68333f9c17796f +0 -0
  1049. data/test/dummy/tmp/cache/assets/CC9/1B0/sprockets%2F4d312d451724beb0b28b853dc259401a +0 -0
  1050. data/test/dummy/tmp/cache/assets/CC9/200/sprockets%2F742fb8ce196abf238199836fd7457166 +0 -0
  1051. data/test/dummy/tmp/cache/assets/CC9/720/sprockets%2F4640bd1191bd9e37a578f8799c3757c7 +0 -0
  1052. data/test/dummy/tmp/cache/assets/CC9/7B0/sprockets%2Fabc7b6219110ac27372a23cc6956513b +0 -0
  1053. data/test/dummy/tmp/cache/assets/CC9/E30/sprockets%2F77b10d6c0995c9d5691faa55783887f2 +0 -0
  1054. data/test/dummy/tmp/cache/assets/CC9/EA0/sprockets%2Fa571e551db777b73999fc805787b306f +0 -0
  1055. data/test/dummy/tmp/cache/assets/CCA/380/sprockets%2Fe073c91452b0924043eb4dd1d3a3626b +0 -0
  1056. data/test/dummy/tmp/cache/assets/CCA/920/sprockets%2F215205e30fddd55921aa2e9086730c0b +0 -0
  1057. data/test/dummy/tmp/cache/assets/CCB/0F0/sprockets%2Fb7445a8b50d583c3401b86c1b6c304d0 +0 -0
  1058. data/test/dummy/tmp/cache/assets/CCB/380/sprockets%2F36b8a4080e2a0dc2a4f43aa933945423 +0 -0
  1059. data/test/dummy/tmp/cache/assets/CCB/E20/sprockets%2F79ec53487306397cd3e8569fbb27581d +0 -0
  1060. data/test/dummy/tmp/cache/assets/CCC/080/sprockets%2F1d990a5a2f7133c864bdc253de820001 +0 -0
  1061. data/test/dummy/tmp/cache/assets/CCC/9C0/sprockets%2F9c4f952df49a196a50e49f848c056657 +0 -0
  1062. data/test/dummy/tmp/cache/assets/CCD/2A0/sprockets%2Fd8e7588c5343d749e07d68a53931df93 +0 -0
  1063. data/test/dummy/tmp/cache/assets/CCD/320/sprockets%2F39bf4604985317d62f187f34f76c9f5e +0 -0
  1064. data/test/dummy/tmp/cache/assets/CCD/400/sprockets%2Ff7db620709d9861e813887a2b485f88f +0 -0
  1065. data/test/dummy/tmp/cache/assets/CCD/540/sprockets%2Fe0a827b1d64b02b6c604f39208723ae2 +0 -0
  1066. data/test/dummy/tmp/cache/assets/CCE/890/sprockets%2F9103b5078baff06bf0b346b0a3637850 +0 -0
  1067. data/test/dummy/tmp/cache/assets/CCF/5D0/sprockets%2F231033ec0602e5e3479e9e45a32dc2a5 +0 -0
  1068. data/test/dummy/tmp/cache/assets/CCF/A80/sprockets%2Fb1ee31427714b62bf2715112e59eee11 +0 -0
  1069. data/test/dummy/tmp/cache/assets/CCF/DB0/sprockets%2F65ae3451660470d13147eaed413eac55 +0 -0
  1070. data/test/dummy/tmp/cache/assets/CCF/DD0/sprockets%2F48b052bf1038b30ff6ca155265c3b276 +0 -0
  1071. data/test/dummy/tmp/cache/assets/CD0/040/sprockets%2Fc7969f4117330ae6bc1626e100c02ae8 +0 -0
  1072. data/test/dummy/tmp/cache/assets/CD0/060/sprockets%2F194200d1635fd24089c114cace0fd809 +0 -0
  1073. data/test/dummy/tmp/cache/assets/CD0/310/sprockets%2F825eb4414b555ce140fc46ad24b48061 +0 -0
  1074. data/test/dummy/tmp/cache/assets/CD0/CC0/sprockets%2F771b3a4436b40d00e3890464eb91cbd3 +0 -0
  1075. data/test/dummy/tmp/cache/assets/CD2/3D0/sprockets%2F71f7f67333976f4c98c59233dd3827ff +0 -0
  1076. data/test/dummy/tmp/cache/assets/CD2/4A0/sprockets%2F991fe86378937a4f7e4e5819e5c34e14 +0 -0
  1077. data/test/dummy/tmp/cache/assets/CD2/790/sprockets%2F4c0c03eb3164a4f3b90d114c8862592f +0 -0
  1078. data/test/dummy/tmp/cache/assets/CD2/A70/sprockets%2Fafa74f1e22c50a7d66281a60d0341795 +0 -0
  1079. data/test/dummy/tmp/cache/assets/CD2/BD0/sprockets%2F4903eb530840a7a76ee4fa931e108b12 +0 -0
  1080. data/test/dummy/tmp/cache/assets/CD3/940/sprockets%2F641b837eeb02a10631a0d20acd987887 +0 -0
  1081. data/test/dummy/tmp/cache/assets/CD3/EF0/sprockets%2F90c59425e8b8e5aa14316c4301b71bc6 +0 -0
  1082. data/test/dummy/tmp/cache/assets/CD4/5E0/sprockets%2Fa205678e1618b5bc0332f74f062ab8b6 +0 -0
  1083. data/test/dummy/tmp/cache/assets/CD4/8F0/sprockets%2Ff6b7441a9ecc030939344a1c4e6c1028 +0 -0
  1084. data/test/dummy/tmp/cache/assets/CD4/950/sprockets%2Fa9d42b8887502bfbaea025306a772550 +0 -0
  1085. data/test/dummy/tmp/cache/assets/CD4/A30/sprockets%2Ff3112c09e4e2e532317914748bd0df0d +0 -0
  1086. data/test/dummy/tmp/cache/assets/CD4/A70/sprockets%2F3583df2e043a1b817e472354c2b7d1a7 +0 -0
  1087. data/test/dummy/tmp/cache/assets/CD4/B00/sprockets%2F0111854211a8785de20af26e9e8d5bb1 +0 -0
  1088. data/test/dummy/tmp/cache/assets/CD4/BD0/sprockets%2Fb805aac67c1040af26d8e841804d7308 +0 -0
  1089. data/test/dummy/tmp/cache/assets/CD4/C30/sprockets%2F8146caa7c2d5a8410bf19b14d4602893 +0 -0
  1090. data/test/dummy/tmp/cache/assets/CD4/D30/sprockets%2F6741dd0454f9080fa418ed09a192ab40 +0 -0
  1091. data/test/dummy/tmp/cache/assets/CD5/900/sprockets%2F0603a31cdcdf8ec2872219242c65f336 +0 -0
  1092. data/test/dummy/tmp/cache/assets/CD5/CC0/sprockets%2F843089224034e8c141f9c547cb00bdcd +0 -0
  1093. data/test/dummy/tmp/cache/assets/CD5/F50/sprockets%2F120f1500069ba842c60db619f9e6ac85 +0 -0
  1094. data/test/dummy/tmp/cache/assets/CD6/0D0/sprockets%2F3dc8011007c8862be4e12b98cf691a40 +0 -0
  1095. data/test/dummy/tmp/cache/assets/CD6/510/sprockets%2F15410f3d417f3870b7b09f9f3a0c5b43 +0 -0
  1096. data/test/dummy/tmp/cache/assets/CD6/A10/sprockets%2F2fe23b7d391780f61215a714e2b7ec05 +0 -0
  1097. data/test/dummy/tmp/cache/assets/CD6/A90/sprockets%2F667a0820029dd4632401c94ef04cdfd5 +0 -0
  1098. data/test/dummy/tmp/cache/assets/CD6/D70/sprockets%2Fb3ac25a40753c9b2472e3e759334ae61 +0 -0
  1099. data/test/dummy/tmp/cache/assets/CD7/370/sprockets%2F71dd9364063592e030066a72ba77ddbc +0 -0
  1100. data/test/dummy/tmp/cache/assets/CD7/720/sprockets%2F2d8001653bf8cf5347a1cb3836e257d0 +0 -0
  1101. data/test/dummy/tmp/cache/assets/CD7/760/sprockets%2F7a82d6b6895ca9a5e3a414318f11a430 +0 -0
  1102. data/test/dummy/tmp/cache/assets/CD7/780/sprockets%2F08596628d7b1440d26ba09e251ffe2a0 +0 -0
  1103. data/test/dummy/tmp/cache/assets/CD7/AF0/sprockets%2F8ea5147f262ca0db032440670e576f7d +0 -0
  1104. data/test/dummy/tmp/cache/assets/CD7/FE0/sprockets%2Fc1900103439ec4a366c54f6574f48aba +0 -0
  1105. data/test/dummy/tmp/cache/assets/CD8/B20/sprockets%2F364405189b0c5f332ae0fe14a05f95d8 +0 -0
  1106. data/test/dummy/tmp/cache/assets/CD8/C00/sprockets%2Fe3431564d507425b4d87a2d48aa8a34d +0 -0
  1107. data/test/dummy/tmp/cache/assets/CD8/D10/sprockets%2F443f419118cbe6bf5e16765d32a9400a +0 -0
  1108. data/test/dummy/tmp/cache/assets/CD9/200/sprockets%2F3427d0dd3c506916339cf92e307ae04d +0 -0
  1109. data/test/dummy/tmp/cache/assets/CD9/3C0/sprockets%2Fb082b86281b7a873eb2250f31854afd4 +0 -0
  1110. data/test/dummy/tmp/cache/assets/CD9/830/sprockets%2F056590d09da88c9b1920143a3b37d6ea +0 -0
  1111. data/test/dummy/tmp/cache/assets/CD9/8D0/sprockets%2F7d0adf8915d0b1fca18f919929104220 +0 -0
  1112. data/test/dummy/tmp/cache/assets/CDA/2C0/sprockets%2F40a829c1758af25c8238f3070ab5d0c9 +0 -0
  1113. data/test/dummy/tmp/cache/assets/CDA/700/sprockets%2F24c5884ae3352ca70a9546d02bb6e844 +0 -0
  1114. data/test/dummy/tmp/cache/assets/CDA/8B0/sprockets%2F14f573b31a508fc9a74d384a82104ec7 +0 -0
  1115. data/test/dummy/tmp/cache/assets/CDB/360/sprockets%2F840a5e454cf0a80d6c294432eac39258 +0 -0
  1116. data/test/dummy/tmp/cache/assets/CDB/390/sprockets%2F53426e5c2fbb6e454271f97b01b872c1 +0 -0
  1117. data/test/dummy/tmp/cache/assets/CDB/FE0/sprockets%2F010d42b73ce096ab163fc07b846f4697 +0 -0
  1118. data/test/dummy/tmp/cache/assets/CDB/FF0/sprockets%2F28a75074023f9a605dc4578ecfd2e122 +0 -0
  1119. data/test/dummy/tmp/cache/assets/CDC/3A0/sprockets%2F2bdb3f8510205db3f3bf4605947851f7 +0 -0
  1120. data/test/dummy/tmp/cache/assets/CDC/910/sprockets%2F4127b7bf7565f5eb82a54f5012c7512d +0 -0
  1121. data/test/dummy/tmp/cache/assets/CDC/9C0/sprockets%2F81c08804c53996c9cbbbb9c5b0471025 +0 -0
  1122. data/test/dummy/tmp/cache/assets/CDC/C80/sprockets%2F0bfd35e879aa5b71147405519bff2622 +0 -0
  1123. data/test/dummy/tmp/cache/assets/CDC/C90/sprockets%2Fdf275148311cc0a3c977d1d52683e4a7 +0 -0
  1124. data/test/dummy/tmp/cache/assets/CDC/D70/sprockets%2F3a839de3659ba10d4f72a04e624327d7 +0 -0
  1125. data/test/dummy/tmp/cache/assets/CDC/E00/sprockets%2Fc1f1468ab4aee474745a15710e4a9538 +0 -0
  1126. data/test/dummy/tmp/cache/assets/CDC/F20/sprockets%2Fc35c0a48695530638225806ba4fae6bf +0 -0
  1127. data/test/dummy/tmp/cache/assets/CDC/F40/sprockets%2Fc342722b6d9e42814386ef1de21b8a53 +0 -0
  1128. data/test/dummy/tmp/cache/assets/CDD/3E0/sprockets%2Fa8a24b94a9671009427cea4d884aa256 +0 -0
  1129. data/test/dummy/tmp/cache/assets/CDD/4E0/sprockets%2F7a22053281c92bb5f06995dcb1bc5866 +0 -0
  1130. data/test/dummy/tmp/cache/assets/CDD/5A0/sprockets%2Fb7dfa40599517f39400db36240fa16c9 +0 -0
  1131. data/test/dummy/tmp/cache/assets/CDD/770/sprockets%2F29c146b4b8a6109f305da7a6d47386a5 +0 -0
  1132. data/test/dummy/tmp/cache/assets/CDD/820/sprockets%2F013468b4581ca790dae9f03f70071fd8 +0 -0
  1133. data/test/dummy/tmp/cache/assets/CDD/8C0/sprockets%2Fbee326071215e6c434c0f091f38c5e88 +0 -0
  1134. data/test/dummy/tmp/cache/assets/CDD/B20/sprockets%2Ff408a3907451b845100f92d7e904fbfa +0 -0
  1135. data/test/dummy/tmp/cache/assets/CDD/BE0/sprockets%2F8756a8072a115c8ec63a7ec2461485ba +0 -0
  1136. data/test/dummy/tmp/cache/assets/CDD/C10/sprockets%2Fcc0b9b27c73e2960c038ff5112b38666 +0 -0
  1137. data/test/dummy/tmp/cache/assets/CDD/D40/sprockets%2F57d10e644e2935b92803de4516fa3b5c +0 -0
  1138. data/test/dummy/tmp/cache/assets/CDE/400/sprockets%2F1a1e6562a81a5be59fe6c205797711d3 +0 -0
  1139. data/test/dummy/tmp/cache/assets/CDE/5B0/sprockets%2F2949a1487f82baa4bb0121945db7d288 +0 -0
  1140. data/test/dummy/tmp/cache/assets/CDE/640/sprockets%2F39d72e391539a0a64982ecde1200f66a +0 -0
  1141. data/test/dummy/tmp/cache/assets/CDE/660/sprockets%2F7a61352a3829824ad29457df3e23eca4 +0 -0
  1142. data/test/dummy/tmp/cache/assets/CDF/3A0/sprockets%2F3ae02eef2a1aa9779480d1027828c865 +0 -0
  1143. data/test/dummy/tmp/cache/assets/CDF/400/sprockets%2Fa008852da54f1bf9693830b51658ac7b +0 -0
  1144. data/test/dummy/tmp/cache/assets/CDF/410/sprockets%2F72f4f8b59311d00416f921a7a9c7fe14 +0 -0
  1145. data/test/dummy/tmp/cache/assets/CDF/610/sprockets%2F50b229b6ae22759d78144894a10dfb4e +0 -0
  1146. data/test/dummy/tmp/cache/assets/CDF/6C0/sprockets%2F44a74e092fc54e346f6a361f056503fe +0 -0
  1147. data/test/dummy/tmp/cache/assets/CDF/750/sprockets%2F150a7c3c91a07a30e664fa886693ad67 +0 -0
  1148. data/test/dummy/tmp/cache/assets/CDF/A70/sprockets%2F06f44917744447f1655c4d2aad5d0de4 +0 -0
  1149. data/test/dummy/tmp/cache/assets/CDF/B40/sprockets%2Fbb77dbf8982340452a6bda4e53053494 +0 -0
  1150. data/test/dummy/tmp/cache/assets/CDF/B40/sprockets%2Fd90abc6d71641d7c219031c864af9754 +0 -0
  1151. data/test/dummy/tmp/cache/assets/CE0/0A0/sprockets%2F9f83fa0f5605423cc68165c3b7f1b831 +0 -0
  1152. data/test/dummy/tmp/cache/assets/CE0/150/sprockets%2Fff06616bc548913b33660c93ea6663ac +0 -0
  1153. data/test/dummy/tmp/cache/assets/CE0/310/sprockets%2F9ee5a8c15b510b043e88f5826cc33409 +0 -0
  1154. data/test/dummy/tmp/cache/assets/CE0/340/sprockets%2F284aa881b4e78191f904a950baf6209b +0 -0
  1155. data/test/dummy/tmp/cache/assets/CE0/6A0/sprockets%2Fbc57607042f83d29d06adb986528c31b +0 -0
  1156. data/test/dummy/tmp/cache/assets/CE0/DE0/sprockets%2F39b36b9c6a734b4dad50930d88540d72 +0 -0
  1157. data/test/dummy/tmp/cache/assets/CE1/0C0/sprockets%2Fc394dea3dc5163500f7a9eb265953347 +0 -0
  1158. data/test/dummy/tmp/cache/assets/CE1/470/sprockets%2F983d99d27b4b3592a5e6ac7d073010f2 +0 -0
  1159. data/test/dummy/tmp/cache/assets/CE1/4D0/sprockets%2F6225b3f8be16410c0c82288fb84944cf +0 -0
  1160. data/test/dummy/tmp/cache/assets/CE1/6D0/sprockets%2Ff9c5663fd99dc061ae23541a08e40680 +0 -0
  1161. data/test/dummy/tmp/cache/assets/CE1/710/sprockets%2F26af7b6d5c4ba2939130f3984b3f6415 +0 -0
  1162. data/test/dummy/tmp/cache/assets/CE1/DD0/sprockets%2F92603e14dbdc46d0105d70a886889f0e +0 -0
  1163. data/test/dummy/tmp/cache/assets/CE1/E50/sprockets%2F3c417ddc0b7d41ef67749ca332316578 +0 -0
  1164. data/test/dummy/tmp/cache/assets/CE1/F70/sprockets%2F344548525d95f8dcb0f266cf75ba4220 +0 -0
  1165. data/test/dummy/tmp/cache/assets/CE2/2E0/sprockets%2F43321dc8922d569786f3e3493b1aca2e +0 -0
  1166. data/test/dummy/tmp/cache/assets/CE2/3B0/sprockets%2F8553af0a6d6470721b885f1f072fe2c7 +0 -0
  1167. data/test/dummy/tmp/cache/assets/CE2/500/sprockets%2F30f8a44a9e40ac4f70d91679a90a8607 +0 -0
  1168. data/test/dummy/tmp/cache/assets/CE2/6F0/sprockets%2F804bb91ff37d3660bff1145654590bd7 +0 -0
  1169. data/test/dummy/tmp/cache/assets/CE2/870/sprockets%2Fdfc00541846d52d8664d7090e03b9eb8 +0 -0
  1170. data/test/dummy/tmp/cache/assets/CE2/8A0/sprockets%2Fa2c93e9943480db60c7708231eda937b +0 -0
  1171. data/test/dummy/tmp/cache/assets/CE2/950/sprockets%2F663338454ffec19c3c93b8006070d5de +0 -0
  1172. data/test/dummy/tmp/cache/assets/CE2/9E0/sprockets%2F66a32be0e7d4510279e1fd8671a74d83 +0 -0
  1173. data/test/dummy/tmp/cache/assets/CE2/F10/sprockets%2Fa5794166683dc3f6ef423306a092ec4c +0 -0
  1174. data/test/dummy/tmp/cache/assets/CE3/160/sprockets%2F9b7a40c1f4ef4229b043a96698de4234 +0 -0
  1175. data/test/dummy/tmp/cache/assets/CE3/290/sprockets%2F2b7625038f6f3a615b5d49c507eb638c +0 -0
  1176. data/test/dummy/tmp/cache/assets/CE3/470/sprockets%2Fa13229635ceb37ef34c94f4a1877117f +0 -0
  1177. data/test/dummy/tmp/cache/assets/CE3/4B0/sprockets%2F4ef804e2710c5921fd770bf913ae8068 +0 -0
  1178. data/test/dummy/tmp/cache/assets/CE3/520/sprockets%2F6476f636c225ae17b555e2f90322b8fc +0 -0
  1179. data/test/dummy/tmp/cache/assets/CE3/5A0/sprockets%2F13f6bb14f6138bc58c48704d03378d9d +0 -0
  1180. data/test/dummy/tmp/cache/assets/CE3/B60/sprockets%2Fa2e894941598cd923e2c4c9052e03af1 +0 -0
  1181. data/test/dummy/tmp/cache/assets/CE3/E60/sprockets%2Ffb6b2018c00f29225e926afcd3788863 +0 -0
  1182. data/test/dummy/tmp/cache/assets/CE3/FC0/sprockets%2F66711511a9b1286d5548c6bf1c7bf3e8 +0 -0
  1183. data/test/dummy/tmp/cache/assets/CE4/0C0/sprockets%2F54039551e7915c9bb5d514c4be46d27e +0 -0
  1184. data/test/dummy/tmp/cache/assets/CE4/130/sprockets%2F9a139942cd593a872cd21af5372ff235 +0 -0
  1185. data/test/dummy/tmp/cache/assets/CE4/140/sprockets%2F95c089facf860ae0b332b6671642917e +0 -0
  1186. data/test/dummy/tmp/cache/assets/CE4/970/sprockets%2F32866ea407500e99bb62e5c62a8617df +0 -0
  1187. data/test/dummy/tmp/cache/assets/CE5/2C0/sprockets%2F2e7e02748f316add5563de824b9526d2 +0 -0
  1188. data/test/dummy/tmp/cache/assets/CE5/380/sprockets%2F2b93db591cc871673288fe40d14f360e +0 -0
  1189. data/test/dummy/tmp/cache/assets/CE5/840/sprockets%2F11b05d355ea016da79fe243f9805999b +0 -0
  1190. data/test/dummy/tmp/cache/assets/CE5/A40/sprockets%2Fb3d6e316b2b9e457c2f7037a96d01859 +0 -0
  1191. data/test/dummy/tmp/cache/assets/CE5/C80/sprockets%2F37e6a27fa0588533d06cb58e09b4b584 +0 -0
  1192. data/test/dummy/tmp/cache/assets/CE6/0B0/sprockets%2Fb3e8c9040f2df4229b9d142588b59c16 +0 -0
  1193. data/test/dummy/tmp/cache/assets/CE6/210/sprockets%2F6b9b4b82ed79654259f177c02d8bc040 +0 -0
  1194. data/test/dummy/tmp/cache/assets/CE6/250/sprockets%2Fed7d322e28c360a5be419f8c83557534 +0 -0
  1195. data/test/dummy/tmp/cache/assets/CE6/320/sprockets%2Fed9936a17a2843e6059215d19fb209ed +0 -0
  1196. data/test/dummy/tmp/cache/assets/CE6/380/sprockets%2Fd01c51f0838d8e83705f7ce63225b97b +0 -0
  1197. data/test/dummy/tmp/cache/assets/CE6/DD0/sprockets%2Ffd590df3a5e39763c7258802d8233c1c +0 -0
  1198. data/test/dummy/tmp/cache/assets/CE7/7E0/sprockets%2F9081847a834bbf79fd76a55c1148dc20 +0 -0
  1199. data/test/dummy/tmp/cache/assets/CE7/950/sprockets%2Fff862019c138153201ac6ccd597987ed +0 -0
  1200. data/test/dummy/tmp/cache/assets/CE7/9F0/sprockets%2F037a29d79b76c928626f3a3bcd87310e +0 -0
  1201. data/test/dummy/tmp/cache/assets/CE7/F00/sprockets%2Fe93ef14e64157334de37b164fa2d1589 +0 -0
  1202. data/test/dummy/tmp/cache/assets/CE8/2C0/sprockets%2F1fd87d34113f4744598518fe09ddd0e0 +0 -0
  1203. data/test/dummy/tmp/cache/assets/CE8/870/sprockets%2F1574e536fd30e824bb3e916f82a9066f +0 -0
  1204. data/test/dummy/tmp/cache/assets/CE8/910/sprockets%2F080f8c0b62830c954799a2d5edf591d2 +0 -0
  1205. data/test/dummy/tmp/cache/assets/CE8/CD0/sprockets%2F93de125e583b5e116af4d5159af69076 +0 -0
  1206. data/test/dummy/tmp/cache/assets/CE8/FB0/sprockets%2F2c33796115a3ea9eead9620776473eb8 +0 -0
  1207. data/test/dummy/tmp/cache/assets/CE9/380/sprockets%2Fdb39605a961a8c0f9150d48ca81938f7 +0 -0
  1208. data/test/dummy/tmp/cache/assets/CE9/8F0/sprockets%2F505f0e4ca77daae7369943e392a85607 +0 -0
  1209. data/test/dummy/tmp/cache/assets/CE9/9C0/sprockets%2Fbf411959ef26087692cb04c7a98f4a50 +0 -0
  1210. data/test/dummy/tmp/cache/assets/CE9/C60/sprockets%2F7eef977dbc06c32f097f2825166603b3 +0 -0
  1211. data/test/dummy/tmp/cache/assets/CE9/DA0/sprockets%2F44572af4a8be42d567e38e80a729651d +0 -0
  1212. data/test/dummy/tmp/cache/assets/CEA/310/sprockets%2Ff042d3ef9f0b34c3996563990f703a7b +0 -0
  1213. data/test/dummy/tmp/cache/assets/CEA/650/sprockets%2F23e7e5e0a1649a489dd3ef092e851933 +0 -0
  1214. data/test/dummy/tmp/cache/assets/CEA/790/sprockets%2F08888489e9e0723c2ee23b2e13f0ee36 +0 -0
  1215. data/test/dummy/tmp/cache/assets/CEA/8C0/sprockets%2F4d757db04f37413787a19a4579bb5bb9 +0 -0
  1216. data/test/dummy/tmp/cache/assets/CEA/8F0/sprockets%2F9a6c20bb09238891ef59fc17547b286a +0 -0
  1217. data/test/dummy/tmp/cache/assets/CEA/D20/sprockets%2F1976f0ca183934d8bc849b53f170ef08 +0 -0
  1218. data/test/dummy/tmp/cache/assets/CEA/D40/sprockets%2F13f82f6e55726a092f6718777cb3ab3e +0 -0
  1219. data/test/dummy/tmp/cache/assets/CEB/130/sprockets%2F80df7fdb158154fe724b345592f274b7 +0 -0
  1220. data/test/dummy/tmp/cache/assets/CEB/1D0/sprockets%2Fb3014c30d4b5ad090fb00a5a303b7929 +0 -0
  1221. data/test/dummy/tmp/cache/assets/CEB/570/sprockets%2Fa479c9185e3057b9044491bc5bf6fb38 +0 -0
  1222. data/test/dummy/tmp/cache/assets/CEB/660/sprockets%2F8d5dac99dad6219456d03326811e58e7 +0 -0
  1223. data/test/dummy/tmp/cache/assets/CEB/8A0/sprockets%2F159eb5218f66cb1523956585e1add78c +0 -0
  1224. data/test/dummy/tmp/cache/assets/CEB/E20/sprockets%2F2392417f6ade39578bbc805a7f15458d +0 -0
  1225. data/test/dummy/tmp/cache/assets/CEC/230/sprockets%2F06c6439d6734e9122d0429d99bd76ceb +0 -0
  1226. data/test/dummy/tmp/cache/assets/CEC/290/sprockets%2F7077b1e5731389d9236ffae8142e8bd3 +0 -0
  1227. data/test/dummy/tmp/cache/assets/CEC/350/sprockets%2F6e753e09528676b0667afde7e251c8b0 +0 -0
  1228. data/test/dummy/tmp/cache/assets/CEC/4C0/sprockets%2Fdd5b21c9738f4781b4d32d6425835fd8 +0 -0
  1229. data/test/dummy/tmp/cache/assets/CEC/700/sprockets%2F41fb69b7745f7118f9fd12843d354d1d +0 -0
  1230. data/test/dummy/tmp/cache/assets/CEC/830/sprockets%2Fc4e97e059861f48bd5d644184e14b8a1 +0 -0
  1231. data/test/dummy/tmp/cache/assets/CEC/9B0/sprockets%2F623d2921e3b7bd6cbe9288253e18e776 +0 -0
  1232. data/test/dummy/tmp/cache/assets/CEC/FC0/sprockets%2F0d2e77a643248769fd2f6c6d34389bc0 +0 -0
  1233. data/test/dummy/tmp/cache/assets/CED/3F0/sprockets%2F2e9385419f85782925bea76024cddde0 +0 -0
  1234. data/test/dummy/tmp/cache/assets/CED/4D0/sprockets%2F370f12be838ce375948b6d4f37a46c37 +0 -0
  1235. data/test/dummy/tmp/cache/assets/CED/610/sprockets%2F8f08d75c4e213f271c616476ee59d8b2 +0 -0
  1236. data/test/dummy/tmp/cache/assets/CED/610/sprockets%2Fc464c2668d8d57244934c45b9a28e7ba +0 -0
  1237. data/test/dummy/tmp/cache/assets/CED/820/sprockets%2F95259b083f2fe5806fc98b262fca2437 +0 -0
  1238. data/test/dummy/tmp/cache/assets/CED/9C0/sprockets%2F25aa2692a87f9b8f53c70b525997e42b +0 -0
  1239. data/test/dummy/tmp/cache/assets/CEE/280/sprockets%2F76be09b87b67819e2d65b3ac61910d96 +0 -0
  1240. data/test/dummy/tmp/cache/assets/CEE/320/sprockets%2F6ef494b9dfed486274ef54901251c172 +0 -0
  1241. data/test/dummy/tmp/cache/assets/CEE/440/sprockets%2F05a5ffa8911066898ad595b4b9971d1c +0 -0
  1242. data/test/dummy/tmp/cache/assets/CEE/5E0/sprockets%2Fcd968453ce27bc7dc058e871c6976111 +0 -0
  1243. data/test/dummy/tmp/cache/assets/CEF/F90/sprockets%2Fb3af8b93c6e451443df642e6846179f4 +0 -0
  1244. data/test/dummy/tmp/cache/assets/CEF/FB0/sprockets%2F1344982637e6864df2f0e60bcfcc9745 +0 -0
  1245. data/test/dummy/tmp/cache/assets/CEF/FF0/sprockets%2F616967591b95dfe51f4eb048f0ed4426 +0 -0
  1246. data/test/dummy/tmp/cache/assets/CF0/2D0/sprockets%2F2a12ef035037b0440f54e40e6ad2db70 +0 -0
  1247. data/test/dummy/tmp/cache/assets/CF0/3E0/sprockets%2F0219f445a952da190d37779cef6ea499 +0 -0
  1248. data/test/dummy/tmp/cache/assets/CF0/8D0/sprockets%2Fd87a027ff95cd7b9080555d76f16824a +0 -0
  1249. data/test/dummy/tmp/cache/assets/CF0/C60/sprockets%2F6dd5c450564d64588695223ef7d2fe4a +0 -0
  1250. data/test/dummy/tmp/cache/assets/CF0/CD0/sprockets%2F4452429dc09139968df6e8b57bb8ad24 +0 -0
  1251. data/test/dummy/tmp/cache/assets/CF0/D70/sprockets%2Fef73b2f0c344ef70e7935b876d544187 +0 -0
  1252. data/test/dummy/tmp/cache/assets/CF1/2F0/sprockets%2F7259bd2bd5768d0f7fc5176be3884614 +0 -0
  1253. data/test/dummy/tmp/cache/assets/CF1/7D0/sprockets%2F66b85d77b399e98bc9387a3811ab1d14 +0 -0
  1254. data/test/dummy/tmp/cache/assets/CF2/740/sprockets%2F8729f01be5f82ddd5185b7e38773708a +0 -0
  1255. data/test/dummy/tmp/cache/assets/CF2/970/sprockets%2F9d71592e5dd487a7135c722e2a7f45f9 +0 -0
  1256. data/test/dummy/tmp/cache/assets/CF3/1F0/sprockets%2F022005741ac6e3b8b0d0b3d64c29b92b +0 -0
  1257. data/test/dummy/tmp/cache/assets/CF3/200/sprockets%2F86629853277ff066ff97a8f0d1b3a5a4 +0 -0
  1258. data/test/dummy/tmp/cache/assets/CF3/3C0/sprockets%2F51e42f76f5859c6497179b22b40c8dde +0 -0
  1259. data/test/dummy/tmp/cache/assets/CF3/620/sprockets%2F6e512892899d83e072fcffd654254b1d +0 -0
  1260. data/test/dummy/tmp/cache/assets/CF3/850/sprockets%2Fb94be7f87b7b2159d9909e90e0f90620 +0 -0
  1261. data/test/dummy/tmp/cache/assets/CF3/8F0/sprockets%2F979d1a04836f5c2e9c291e23ef79367a +0 -0
  1262. data/test/dummy/tmp/cache/assets/CF4/230/sprockets%2Ff23ca5926549df84d0e5744bf881628e +0 -0
  1263. data/test/dummy/tmp/cache/assets/CF4/2A0/sprockets%2F7fe03b6e6847eaaf067731842957d92f +0 -0
  1264. data/test/dummy/tmp/cache/assets/CF4/4B0/sprockets%2Fe71842466354e399f04d0ce8c6fe953d +0 -0
  1265. data/test/dummy/tmp/cache/assets/CF4/5E0/sprockets%2F9796c9a8269cae458eb3537f9b30c234 +0 -0
  1266. data/test/dummy/tmp/cache/assets/CF4/6F0/sprockets%2F9cb6c3571023113b0af4a1a326fb7b29 +0 -0
  1267. data/test/dummy/tmp/cache/assets/CF4/9E0/sprockets%2F3ec2020f0e16ea2409a9ab577e013a35 +0 -0
  1268. data/test/dummy/tmp/cache/assets/CF5/050/sprockets%2F9bbb9f0428f7f282017d43ed8376758f +0 -0
  1269. data/test/dummy/tmp/cache/assets/CF5/E20/sprockets%2F0081f109024251dfd417f9f1a6cd0ba1 +0 -0
  1270. data/test/dummy/tmp/cache/assets/CF5/E70/sprockets%2F234ba1c230c43ee15548087dc4a3f04a +0 -0
  1271. data/test/dummy/tmp/cache/assets/CF6/3F0/sprockets%2Fc8a187687d86c86d20ccd8d39258428a +0 -0
  1272. data/test/dummy/tmp/cache/assets/CF6/880/sprockets%2Ff7f85513ffd669855b1bd5358193d5d2 +0 -0
  1273. data/test/dummy/tmp/cache/assets/CF7/900/sprockets%2F25954532c431e017d2233aed3dd10edc +0 -0
  1274. data/test/dummy/tmp/cache/assets/CF7/F70/sprockets%2Fae6e6576ed90a32b820967df2b797397 +0 -0
  1275. data/test/dummy/tmp/cache/assets/CF8/420/sprockets%2F646a9a8f589a6440b5a91498666ffbb5 +0 -0
  1276. data/test/dummy/tmp/cache/assets/CF8/460/sprockets%2Fed2bf0482ac1b94d79998947722594bf +0 -0
  1277. data/test/dummy/tmp/cache/assets/CF8/D50/sprockets%2F85b7586ada7412939757fedf63a8b644 +0 -0
  1278. data/test/dummy/tmp/cache/assets/CF8/E50/sprockets%2F6728e09dd75320afa91170a4bfbb0030 +0 -0
  1279. data/test/dummy/tmp/cache/assets/CF9/710/sprockets%2Fa6680189367ffaf80c58dc19d6583e38 +0 -0
  1280. data/test/dummy/tmp/cache/assets/CF9/CA0/sprockets%2Fe3287c6767a894efd1e4461ae21599e8 +0 -0
  1281. data/test/dummy/tmp/cache/assets/CFA/070/sprockets%2F242580b78eb63aa6b89e6b62789796ee +0 -0
  1282. data/test/dummy/tmp/cache/assets/CFA/0D0/sprockets%2F05ccf5ba00db8fbb271a929924530043 +0 -0
  1283. data/test/dummy/tmp/cache/assets/CFA/2C0/sprockets%2F1d13d50c44706754611cd6b6d1cc30ed +0 -0
  1284. data/test/dummy/tmp/cache/assets/CFA/570/sprockets%2F71fa5e8db4d49036a8b201022d54cb23 +0 -0
  1285. data/test/dummy/tmp/cache/assets/CFA/640/sprockets%2Ff60ca5388719314b4780ba2eba530a1a +0 -0
  1286. data/test/dummy/tmp/cache/assets/CFA/720/sprockets%2Fdc2ea106de9ab60be261248f21059224 +0 -0
  1287. data/test/dummy/tmp/cache/assets/CFA/B50/sprockets%2F8505a240bc3a2e4b1a953417c73ebc72 +0 -0
  1288. data/test/dummy/tmp/cache/assets/CFA/DC0/sprockets%2F7fd2f2c83201801df1a530c2f650f26a +0 -0
  1289. data/test/dummy/tmp/cache/assets/CFA/E80/sprockets%2F1e3305c0e72303f1d85bc3e7d5a1b067 +0 -0
  1290. data/test/dummy/tmp/cache/assets/CFB/180/sprockets%2Fac8c5119b033c030096e7e37e0a95a0c +0 -0
  1291. data/test/dummy/tmp/cache/assets/CFB/980/sprockets%2F7d6839a51b968136f9f8d2bf3349e53e +0 -0
  1292. data/test/dummy/tmp/cache/assets/CFB/AB0/sprockets%2F4310d259c9d51b895d0b3c1a6eb031d2 +0 -0
  1293. data/test/dummy/tmp/cache/assets/CFC/0E0/sprockets%2Fe99f6ace35113dfc044311e14a605a51 +0 -0
  1294. data/test/dummy/tmp/cache/assets/CFC/260/sprockets%2F0e71d529f601042aaf154b7d7a7d7b10 +0 -0
  1295. data/test/dummy/tmp/cache/assets/CFC/530/sprockets%2F30c81913fe6fa70899924896cbe78bc7 +0 -0
  1296. data/test/dummy/tmp/cache/assets/CFC/9F0/sprockets%2F7922cd5ca1a340f4b4d450bad4551916 +0 -0
  1297. data/test/dummy/tmp/cache/assets/CFC/D80/sprockets%2F077bef6b6c40a38e35144a20051c5f1f +0 -0
  1298. data/test/dummy/tmp/cache/assets/CFC/FB0/sprockets%2F2b13bc27bbe25b0e17b73e567734700c +0 -0
  1299. data/test/dummy/tmp/cache/assets/CFD/170/sprockets%2F42cfd4e964989e13191824ef9fc548d4 +0 -0
  1300. data/test/dummy/tmp/cache/assets/CFD/400/sprockets%2F0dfc8e84ff74a1051c840840aab16051 +0 -0
  1301. data/test/dummy/tmp/cache/assets/CFD/470/sprockets%2Fd1eb4316039dba02de282ac28358b913 +0 -0
  1302. data/test/dummy/tmp/cache/assets/CFD/530/sprockets%2Fc3236310ab22e4d1c9519d3f33bf62a8 +0 -0
  1303. data/test/dummy/tmp/cache/assets/CFD/B10/sprockets%2Fd709e935422bb4948d69e2c744ff695f +0 -0
  1304. data/test/dummy/tmp/cache/assets/CFD/C30/sprockets%2F4861b94cbe06b03c26bb73d6e0e43213 +0 -0
  1305. data/test/dummy/tmp/cache/assets/CFE/0C0/sprockets%2F2751741fbca2a0c193703763ff6c13da +0 -0
  1306. data/test/dummy/tmp/cache/assets/CFE/A80/sprockets%2F9331b1565d97cf408ab413022ec07ccb +0 -0
  1307. data/test/dummy/tmp/cache/assets/CFE/AE0/sprockets%2F7c886a80519554ea620aac2325bb1ce0 +0 -0
  1308. data/test/dummy/tmp/cache/assets/CFE/AF0/sprockets%2Fcf3dde9e1202c5192390b23371a4b37c +0 -0
  1309. data/test/dummy/tmp/cache/assets/CFF/030/sprockets%2F67435e26ad42d483d12a4aeb5f04802b +0 -0
  1310. data/test/dummy/tmp/cache/assets/CFF/070/sprockets%2F1b3bc280c5e8d2f2e426d75064f310b4 +0 -0
  1311. data/test/dummy/tmp/cache/assets/CFF/0E0/sprockets%2Ff63db558958bc9e0278f78a6f7d72705 +0 -0
  1312. data/test/dummy/tmp/cache/assets/CFF/1A0/sprockets%2F39530e913daa380b1b4fd535119f1e0e +0 -0
  1313. data/test/dummy/tmp/cache/assets/CFF/220/sprockets%2F99056183f5c3e22ebe6a63c2323a1ab2 +0 -0
  1314. data/test/dummy/tmp/cache/assets/CFF/670/sprockets%2F9376a8c2f4a797fec7d6492bf8208594 +0 -0
  1315. data/test/dummy/tmp/cache/assets/CFF/860/sprockets%2F5c7d2a10419532611c629aef1e62ed3b +0 -0
  1316. data/test/dummy/tmp/cache/assets/CFF/8A0/sprockets%2F8bbd3b8c70a0998b0703d3222d4a3c45 +0 -0
  1317. data/test/dummy/tmp/cache/assets/D00/180/sprockets%2Fc46253339a0af89b71ab34d039ad82b0 +0 -0
  1318. data/test/dummy/tmp/cache/assets/D00/1C0/sprockets%2F1003ca26c60873d279c257fdea14ea25 +0 -0
  1319. data/test/dummy/tmp/cache/assets/D00/5E0/sprockets%2F40611fe44dda10993c1b28b4b93225cf +0 -0
  1320. data/test/dummy/tmp/cache/assets/D00/C10/sprockets%2F169d5c9cc4598e63f95577f52e9da370 +0 -0
  1321. data/test/dummy/tmp/cache/assets/D00/F60/sprockets%2Fb032c07696f4ff12c2024db22555f6ad +0 -0
  1322. data/test/dummy/tmp/cache/assets/D01/0E0/sprockets%2F134d0dd2f5cfc525b317e232a479e900 +0 -0
  1323. data/test/dummy/tmp/cache/assets/D01/A60/sprockets%2F3ca75cfcf2037d5364e4531448da120d +0 -0
  1324. data/test/dummy/tmp/cache/assets/D02/5F0/sprockets%2F47c2f882e0175d7d56d9d885f7bf2597 +0 -0
  1325. data/test/dummy/tmp/cache/assets/D02/9C0/sprockets%2F4bdf76951ce2310ecc12870dac901904 +0 -0
  1326. data/test/dummy/tmp/cache/assets/D03/620/sprockets%2F81d03fe39eae417f80342ae66242af10 +0 -0
  1327. data/test/dummy/tmp/cache/assets/D03/8B0/sprockets%2Febcb583b805d6193b261002efcf52067 +0 -0
  1328. data/test/dummy/tmp/cache/assets/D03/A20/sprockets%2Fe530a3ae26f349ac8c10647e621b2f36 +0 -0
  1329. data/test/dummy/tmp/cache/assets/D04/3A0/sprockets%2F2d5c0cc93688011b7d71a3aa5373b48e +0 -0
  1330. data/test/dummy/tmp/cache/assets/D04/B00/sprockets%2F00735a4a37eb6126f08bd35c3488cda5 +0 -0
  1331. data/test/dummy/tmp/cache/assets/D04/B30/sprockets%2F2f43c49fb8c3d1d80ba81307c44821c3 +0 -0
  1332. data/test/dummy/tmp/cache/assets/D04/CD0/sprockets%2Fceb7645ca4df4b8e5d42161232623c70 +0 -0
  1333. data/test/dummy/tmp/cache/assets/D05/3B0/sprockets%2F61fc14de47c1d0400f5fdc17565e9033 +0 -0
  1334. data/test/dummy/tmp/cache/assets/D05/430/sprockets%2F76629c52ae8228b6f4d8ded97d691888 +0 -0
  1335. data/test/dummy/tmp/cache/assets/D05/4A0/sprockets%2F61c2c0d2ca2aa0fcf877c81532257469 +0 -0
  1336. data/test/dummy/tmp/cache/assets/D05/930/sprockets%2F5ed590a61f704c61e17d72ca2af87103 +0 -0
  1337. data/test/dummy/tmp/cache/assets/D05/EB0/sprockets%2F88780a60baac2a29c14c09a2f3c95229 +0 -0
  1338. data/test/dummy/tmp/cache/assets/D05/F90/sprockets%2Ff656115176f84c4fb4790c03aa11cdf1 +0 -0
  1339. data/test/dummy/tmp/cache/assets/D06/010/sprockets%2Fd3f70dc8d4dbb2b2590212294418cf27 +0 -0
  1340. data/test/dummy/tmp/cache/assets/D06/300/sprockets%2F5e2e9da172903ee0aa476447f0a4d217 +0 -0
  1341. data/test/dummy/tmp/cache/assets/D06/FE0/sprockets%2F9a0cd09294a56d31c4390b823ad51e7d +0 -0
  1342. data/test/dummy/tmp/cache/assets/D07/1F0/sprockets%2F5635d72ea41c7982ec9323d125ba02ed +0 -0
  1343. data/test/dummy/tmp/cache/assets/D07/390/sprockets%2Fdd33e50087f613fb14d4a22f7bc63807 +0 -0
  1344. data/test/dummy/tmp/cache/assets/D07/680/sprockets%2F2921bb7defb45d60b04558a3e012686f +0 -0
  1345. data/test/dummy/tmp/cache/assets/D07/8D0/sprockets%2F823cf8df688427fe2569f999750f23eb +0 -0
  1346. data/test/dummy/tmp/cache/assets/D08/7C0/sprockets%2F5b865128ca116b17bb159d968e6aae10 +0 -0
  1347. data/test/dummy/tmp/cache/assets/D08/A10/sprockets%2F7764ebd1a9c4f03b9f2d3a52232026e8 +0 -0
  1348. data/test/dummy/tmp/cache/assets/D08/C30/sprockets%2F25800231754c73509b45efc8caaf52cf +0 -0
  1349. data/test/dummy/tmp/cache/assets/D08/E10/sprockets%2Fd004e64e4981c97f2046e2cb5e6ba420 +0 -0
  1350. data/test/dummy/tmp/cache/assets/D09/0E0/sprockets%2F861a0a04ea603309d93a883f25f9fb2c +0 -0
  1351. data/test/dummy/tmp/cache/assets/D09/100/sprockets%2Fd696fb8fbd707484e69f9815a79387d2 +0 -0
  1352. data/test/dummy/tmp/cache/assets/D09/210/sprockets%2F0c57094235e32edddcc747ed202873b3 +0 -0
  1353. data/test/dummy/tmp/cache/assets/D09/3D0/sprockets%2F724ad72478f44b426da0224da92cee54 +0 -0
  1354. data/test/dummy/tmp/cache/assets/D09/5E0/sprockets%2F3318d97233cc6ec853c21cb33f8a190d +0 -0
  1355. data/test/dummy/tmp/cache/assets/D09/680/sprockets%2F6e5aeb11318f3a858b8c24d0038474eb +0 -0
  1356. data/test/dummy/tmp/cache/assets/D09/820/sprockets%2F85b308247d96cd3f111ad8a444cd841b +0 -0
  1357. data/test/dummy/tmp/cache/assets/D09/940/sprockets%2F117b8bef6f033eabf80c8376160b4247 +0 -0
  1358. data/test/dummy/tmp/cache/assets/D09/B40/sprockets%2Fdc13f0ec5c52056111f8d7ab958343d7 +0 -0
  1359. data/test/dummy/tmp/cache/assets/D0A/0E0/sprockets%2F4b9ea32c5ae7b75b362b7071b35d2739 +0 -0
  1360. data/test/dummy/tmp/cache/assets/D0A/1A0/sprockets%2F0dadca80c1376047e97c5256acd77127 +0 -0
  1361. data/test/dummy/tmp/cache/assets/D0A/300/sprockets%2F00165b651485bfc396a57ea3951aca9c +0 -0
  1362. data/test/dummy/tmp/cache/assets/D0A/590/sprockets%2F660e4ed70999ad0fb5402f2b8322f0e2 +0 -0
  1363. data/test/dummy/tmp/cache/assets/D0A/720/sprockets%2F3f99583002696fb4d521dee231e2a3da +0 -0
  1364. data/test/dummy/tmp/cache/assets/D0A/810/sprockets%2F9cc7c89425ba1686a18a1d8beb005209 +0 -0
  1365. data/test/dummy/tmp/cache/assets/D0A/890/sprockets%2F8a5a29d81021eced955403acf246c790 +0 -0
  1366. data/test/dummy/tmp/cache/assets/D0A/B90/sprockets%2F84a57505123dc77ee41c5b9261cd52cd +0 -0
  1367. data/test/dummy/tmp/cache/assets/D0A/CB0/sprockets%2F01b7bc8d4406b16b212891ef72eeb775 +0 -0
  1368. data/test/dummy/tmp/cache/assets/D0A/F30/sprockets%2F64a591be6f28b5b7124aa6053fb6490e +0 -0
  1369. data/test/dummy/tmp/cache/assets/D0B/130/sprockets%2F42a66ff402fe17f41184d0ecb68c6424 +0 -0
  1370. data/test/dummy/tmp/cache/assets/D0B/220/sprockets%2F282c3ab5703c68d4a44172e8a3d665de +0 -0
  1371. data/test/dummy/tmp/cache/assets/D0B/430/sprockets%2F946f48f97b74e7c38a90b851d7899c6e +0 -0
  1372. data/test/dummy/tmp/cache/assets/D0B/5F0/sprockets%2Feed5c02da0683664c842f6cc009b8632 +0 -0
  1373. data/test/dummy/tmp/cache/assets/D0B/640/sprockets%2F9366c3e436388b239ebcda0fc24520f1 +0 -0
  1374. data/test/dummy/tmp/cache/assets/D0B/730/sprockets%2F72842ad2887cb116fae708af921a4c16 +0 -0
  1375. data/test/dummy/tmp/cache/assets/D0B/800/sprockets%2F128694f9db7bd2ff0bac9c0322372453 +0 -0
  1376. data/test/dummy/tmp/cache/assets/D0B/B00/sprockets%2F75a80653b8109c70d939afa19cd31db2 +0 -0
  1377. data/test/dummy/tmp/cache/assets/D0B/C90/sprockets%2Fbb750bf14bd815c15c9d372358a29c91 +0 -0
  1378. data/test/dummy/tmp/cache/assets/D0B/E60/sprockets%2F5d8a090323b68ecf521164e70eff23b7 +0 -0
  1379. data/test/dummy/tmp/cache/assets/D0C/090/sprockets%2F3bf824532b35b3d3fe6a08c4185e0e95 +0 -0
  1380. data/test/dummy/tmp/cache/assets/D0C/1C0/sprockets%2Fee732f263dba34752073c7ff91361ad4 +0 -0
  1381. data/test/dummy/tmp/cache/assets/D0C/430/sprockets%2Fd02a0759b11f6518dcf0ed0894a760e8 +0 -0
  1382. data/test/dummy/tmp/cache/assets/D0C/570/sprockets%2Fcd362c2a0626ffdf755b794076a40a82 +0 -0
  1383. data/test/dummy/tmp/cache/assets/D0C/610/sprockets%2Fd5649ac600c7962a0883a78a9cc1da05 +0 -0
  1384. data/test/dummy/tmp/cache/assets/D0C/6B0/sprockets%2Fd18e543f7d154cc106243bf2f6c27f72 +0 -0
  1385. data/test/dummy/tmp/cache/assets/D0C/760/sprockets%2F5043d114bc66f610c93969ca647deaf0 +0 -0
  1386. data/test/dummy/tmp/cache/assets/D0C/C30/sprockets%2F3ea6ea3b7d011db381536746695e5dd2 +0 -0
  1387. data/test/dummy/tmp/cache/assets/D0D/090/sprockets%2F53622478b6257527acbb51c6f9bbb42f +0 -0
  1388. data/test/dummy/tmp/cache/assets/D0D/570/sprockets%2F72ee1883b6c0209c1611a552a8eb7ef9 +0 -0
  1389. data/test/dummy/tmp/cache/assets/D0D/980/sprockets%2F41ef6c755cac1d2da9e452d238603197 +0 -0
  1390. data/test/dummy/tmp/cache/assets/D0D/ED0/sprockets%2F3788b0aca5aec5145a257eb5955507f3 +0 -0
  1391. data/test/dummy/tmp/cache/assets/D0D/F70/sprockets%2Fcbe13926041dc94c8ddb4a781146249e +0 -0
  1392. data/test/dummy/tmp/cache/assets/D0E/220/sprockets%2Fcbf6939f3475ee87b88994b97b7715d6 +0 -0
  1393. data/test/dummy/tmp/cache/assets/D0E/290/sprockets%2F059437fa9369eff7004cdb1f0b36380b +0 -0
  1394. data/test/dummy/tmp/cache/assets/D0E/2E0/sprockets%2F2a282da6089ac07527d4eb070f6f758b +0 -0
  1395. data/test/dummy/tmp/cache/assets/D0E/3C0/sprockets%2F5c55a77e185d6b730fcf1b1297b431d5 +0 -0
  1396. data/test/dummy/tmp/cache/assets/D0E/620/sprockets%2F3de38432c45ddc16e6d8553416c1cf26 +0 -0
  1397. data/test/dummy/tmp/cache/assets/D0E/9C0/sprockets%2F5cd42d2b2e5d7839ef077276b52b9a00 +0 -0
  1398. data/test/dummy/tmp/cache/assets/D0E/A10/sprockets%2F05ebd4b57720dbc2c207882946bd47a9 +0 -0
  1399. data/test/dummy/tmp/cache/assets/D0E/C00/sprockets%2F010b6f849ec9259fa3de514a18e74a32 +0 -0
  1400. data/test/dummy/tmp/cache/assets/D0E/FB0/sprockets%2F211db87b55b9f2ec7d75111aa1922f99 +0 -0
  1401. data/test/dummy/tmp/cache/assets/D0F/000/sprockets%2F483b8bb18b87ece00226c80fb1f61965 +0 -0
  1402. data/test/dummy/tmp/cache/assets/D0F/560/sprockets%2F18f67b27b2141576c51de1c3d2b9f38e +0 -0
  1403. data/test/dummy/tmp/cache/assets/D0F/560/sprockets%2F5f923aab9c0522298d836e8ae0c1426f +0 -0
  1404. data/test/dummy/tmp/cache/assets/D0F/870/sprockets%2F2e97e46c0514892b18bbb2d7a4e4862a +0 -0
  1405. data/test/dummy/tmp/cache/assets/D0F/980/sprockets%2Fdaa14ed9a3657161c56c66483e2d17e4 +0 -0
  1406. data/test/dummy/tmp/cache/assets/D0F/DE0/sprockets%2F69bf7ad2a1388f3e306a7320a882af38 +0 -0
  1407. data/test/dummy/tmp/cache/assets/D10/300/sprockets%2F21c9f4b074feb773e4e223e35691f30e +0 -0
  1408. data/test/dummy/tmp/cache/assets/D10/410/sprockets%2F5fa7802b4854988b4cb0bee2e0d34491 +0 -0
  1409. data/test/dummy/tmp/cache/assets/D10/730/sprockets%2F3dab68310e657844a5adcb9e180790c7 +0 -0
  1410. data/test/dummy/tmp/cache/assets/D10/850/sprockets%2Fc9d90745ea3ca04d148d40409e9b82f4 +0 -0
  1411. data/test/dummy/tmp/cache/assets/D10/8F0/sprockets%2F9ced9499938561d5a5889d9a93c08d9f +0 -0
  1412. data/test/dummy/tmp/cache/assets/D10/CB0/sprockets%2F732e6da303a457dd84651c7a746ed9b1 +0 -0
  1413. data/test/dummy/tmp/cache/assets/D10/EF0/sprockets%2F346fda251eb63406780ce6e3c337a88d +0 -0
  1414. data/test/dummy/tmp/cache/assets/D10/FC0/sprockets%2F563f9f7eb632fc32ab885a1bc2127429 +0 -0
  1415. data/test/dummy/tmp/cache/assets/D11/2F0/sprockets%2Fe6f61417924f79c80bbe47a75b08a03b +0 -0
  1416. data/test/dummy/tmp/cache/assets/D11/510/sprockets%2F48f352a44fa4fc68f850537d1c6c06c2 +0 -0
  1417. data/test/dummy/tmp/cache/assets/D11/660/sprockets%2F18364ce3b27ed0747916df341d8fad14 +0 -0
  1418. data/test/dummy/tmp/cache/assets/D11/AD0/sprockets%2F3c0e80cb649c82b7c42d0914be888a36 +0 -0
  1419. data/test/dummy/tmp/cache/assets/D11/C40/sprockets%2F04aecf869ffe1036d6a34e5412b37548 +0 -0
  1420. data/test/dummy/tmp/cache/assets/D11/CA0/sprockets%2F771462dbc4b5ca18a79675e303a9f1e5 +0 -0
  1421. data/test/dummy/tmp/cache/assets/D11/F80/sprockets%2F708e296fdc9635072ba21545affaf452 +0 -0
  1422. data/test/dummy/tmp/cache/assets/D12/320/sprockets%2F45d98b1a0f4df9794921bed2f0f71015 +0 -0
  1423. data/test/dummy/tmp/cache/assets/D12/6A0/sprockets%2Fb27002b49aed22f5f982089695eba4c4 +0 -0
  1424. data/test/dummy/tmp/cache/assets/D12/7C0/sprockets%2F1f2db5b36886d30af1f230790f3e8f47 +0 -0
  1425. data/test/dummy/tmp/cache/assets/D12/890/sprockets%2F4a3f3b35d4b821627f348b7db2268ec9 +0 -0
  1426. data/test/dummy/tmp/cache/assets/D13/0B0/sprockets%2F8fa65d01a766afba41822191f99ab685 +0 -0
  1427. data/test/dummy/tmp/cache/assets/D13/2B0/sprockets%2F2f9ce439715127b74621f3dbb6bc861f +0 -0
  1428. data/test/dummy/tmp/cache/assets/D13/380/sprockets%2Fc3f62e9c3083521dff321d75592b99aa +0 -0
  1429. data/test/dummy/tmp/cache/assets/D13/490/sprockets%2F6fdcca903e16974a7065620d8e8a155d +0 -0
  1430. data/test/dummy/tmp/cache/assets/D13/740/sprockets%2Ffe5b9163b9c64525852a6cdb161cb783 +0 -0
  1431. data/test/dummy/tmp/cache/assets/D13/9A0/sprockets%2F3813c433df54f19eb7257aed6e2287c1 +0 -0
  1432. data/test/dummy/tmp/cache/assets/D13/9D0/sprockets%2F8ce730879e6e086a1e53115b046d1dff +0 -0
  1433. data/test/dummy/tmp/cache/assets/D13/E70/sprockets%2Ff65d6f1d244dc0a17109771f887f3a3d +0 -0
  1434. data/test/dummy/tmp/cache/assets/D14/0F0/sprockets%2Ff82e9e555d5326ff2226159aeec16c12 +0 -0
  1435. data/test/dummy/tmp/cache/assets/D14/220/sprockets%2F84a72d24ac9ea56176e018ee138d9f05 +0 -0
  1436. data/test/dummy/tmp/cache/assets/D14/3F0/sprockets%2F719e0a69eb9aa68caa2d672675b62660 +0 -0
  1437. data/test/dummy/tmp/cache/assets/D14/400/sprockets%2F049f119c2b9b2da78355c1187fdc865a +0 -0
  1438. data/test/dummy/tmp/cache/assets/D14/8B0/sprockets%2Fc08dff89cf0e8ba261b442283749e062 +0 -0
  1439. data/test/dummy/tmp/cache/assets/D14/C90/sprockets%2F33b03169fab0ff73ae417887b690a4f9 +0 -0
  1440. data/test/dummy/tmp/cache/assets/D14/CE0/sprockets%2F9d9cc6b0e34afb42924876e23963b50b +0 -0
  1441. data/test/dummy/tmp/cache/assets/D15/010/sprockets%2F7d43d9dd12a5902d5eb03e8061e689e6 +0 -0
  1442. data/test/dummy/tmp/cache/assets/D15/030/sprockets%2Fa5affe567dc74a8321744f5902f6d531 +0 -0
  1443. data/test/dummy/tmp/cache/assets/D15/4B0/sprockets%2F643ea4288c39b957a82be0621f4a9d4c +0 -0
  1444. data/test/dummy/tmp/cache/assets/D15/4D0/sprockets%2F3ff5fa34513b93faa9fc167536585a52 +0 -0
  1445. data/test/dummy/tmp/cache/assets/D15/6B0/sprockets%2F3bfbac97eb5796307418d0f0e679144a +0 -0
  1446. data/test/dummy/tmp/cache/assets/D15/790/sprockets%2F1c3f4f891ad225c51c5f71e7e6847e22 +0 -0
  1447. data/test/dummy/tmp/cache/assets/D15/7D0/sprockets%2F326e2817cf99c2e9a933a936b3ca126d +0 -0
  1448. data/test/dummy/tmp/cache/assets/D15/7F0/sprockets%2F747aa65b72a2066c93638af05bfc49f6 +0 -0
  1449. data/test/dummy/tmp/cache/assets/D15/DC0/sprockets%2Fe0070306dd5f89aebbe73936d01e9990 +0 -0
  1450. data/test/dummy/tmp/cache/assets/D16/0C0/sprockets%2F58fb9abfdb670a8502813dc88487711a +0 -0
  1451. data/test/dummy/tmp/cache/assets/D16/200/sprockets%2Fc74cd1183d9a36031f7961945ec7bed4 +0 -0
  1452. data/test/dummy/tmp/cache/assets/D16/2C0/sprockets%2Fa90ad78854c9bd1156e3866eb0e234f5 +0 -0
  1453. data/test/dummy/tmp/cache/assets/D16/350/sprockets%2F481fad5a50bfc8c5b239b627690669f1 +0 -0
  1454. data/test/dummy/tmp/cache/assets/D16/4D0/sprockets%2Fc39108a25f0ff6c6c087932b9ed0e565 +0 -0
  1455. data/test/dummy/tmp/cache/assets/D16/E90/sprockets%2Ff6f373fe403f4421e5eef7cf14870118 +0 -0
  1456. data/test/dummy/tmp/cache/assets/D16/F50/sprockets%2F64609577d7841668dec220ed4d0ccd1f +0 -0
  1457. data/test/dummy/tmp/cache/assets/D17/040/sprockets%2F8ad5a2866ec65662f970520395ecbaf2 +0 -0
  1458. data/test/dummy/tmp/cache/assets/D17/160/sprockets%2Fbae77b58c1fd2e9072306427e86727cc +0 -0
  1459. data/test/dummy/tmp/cache/assets/D17/350/sprockets%2F872313faadc302ebc49306696cc9689d +0 -0
  1460. data/test/dummy/tmp/cache/assets/D17/4F0/sprockets%2Fb75a0450ac61cf9f16983cee94b76165 +0 -0
  1461. data/test/dummy/tmp/cache/assets/D17/720/sprockets%2Fd88740a269159b5ed542cac385cc5a94 +0 -0
  1462. data/test/dummy/tmp/cache/assets/D17/780/sprockets%2Fd5c58fccc3367e80721dc613866bf660 +0 -0
  1463. data/test/dummy/tmp/cache/assets/D17/860/sprockets%2F138e6bcec6692bd3e6760d23a49e2287 +0 -0
  1464. data/test/dummy/tmp/cache/assets/D17/AA0/sprockets%2Fc0f895b740d8d572e5d1495f80a23e6a +0 -0
  1465. data/test/dummy/tmp/cache/assets/D17/C50/sprockets%2Fc3f3c439bf5e484757eee298b106062a +0 -0
  1466. data/test/dummy/tmp/cache/assets/D17/F70/sprockets%2F9c39629de564e4a296b2db0c471fb941 +0 -0
  1467. data/test/dummy/tmp/cache/assets/D18/280/sprockets%2Fc70f5cc8315cd0dc493329f9463c8b56 +0 -0
  1468. data/test/dummy/tmp/cache/assets/D18/290/sprockets%2F5cb980f53c999c04b9b0b930dd08266e +0 -0
  1469. data/test/dummy/tmp/cache/assets/D18/300/sprockets%2F4b5e886e88a00ab8ad527b679cc12179 +0 -0
  1470. data/test/dummy/tmp/cache/assets/D18/540/sprockets%2F2e14b68eb93ccb58bf790f0715166f19 +0 -0
  1471. data/test/dummy/tmp/cache/assets/D18/5B0/sprockets%2Faab076893f33e5c552fb70c1827c8d96 +0 -0
  1472. data/test/dummy/tmp/cache/assets/D18/5C0/sprockets%2F806ddba8f1127fcc8e5a108b86937744 +0 -0
  1473. data/test/dummy/tmp/cache/assets/D18/610/sprockets%2Ffb8ca45b4472354d827192c7ea25f89a +0 -0
  1474. data/test/dummy/tmp/cache/assets/D18/690/sprockets%2F2273c14180eb2ce398b7f4fec8188f26 +0 -0
  1475. data/test/dummy/tmp/cache/assets/D18/790/sprockets%2Fd685dcaf46894a095d72ae68035e2d05 +0 -0
  1476. data/test/dummy/tmp/cache/assets/D18/960/sprockets%2Fb2599041fd51dcfc454185da95ee2396 +0 -0
  1477. data/test/dummy/tmp/cache/assets/D18/A30/sprockets%2Fed6c096e33c730609fd681f9c342a86a +0 -0
  1478. data/test/dummy/tmp/cache/assets/D18/B30/sprockets%2F1ef8de2df042157368b285697adb538a +0 -0
  1479. data/test/dummy/tmp/cache/assets/D19/220/sprockets%2Fd109923d72986131f9ceb24d65dc92fb +0 -0
  1480. data/test/dummy/tmp/cache/assets/D19/420/sprockets%2F379a804e588c4e9ca18e4ee3306653ac +0 -0
  1481. data/test/dummy/tmp/cache/assets/D19/730/sprockets%2Fce771c3ae2127f91a0f67f7f2f571774 +0 -0
  1482. data/test/dummy/tmp/cache/assets/D19/AE0/sprockets%2F29dd77cb7d01481f308397bbb7618b9c +0 -0
  1483. data/test/dummy/tmp/cache/assets/D19/CF0/sprockets%2Ff8dda9781cbd3a795752581028d4e70a +0 -0
  1484. data/test/dummy/tmp/cache/assets/D1A/5D0/sprockets%2F5131b11116be12111ba22e43df8f2fec +0 -0
  1485. data/test/dummy/tmp/cache/assets/D1A/630/sprockets%2F2174485dc959e692517f81ebccc18ad1 +0 -0
  1486. data/test/dummy/tmp/cache/assets/D1A/670/sprockets%2F4f45089e5678ba2b1c06518bde98a7d4 +0 -0
  1487. data/test/dummy/tmp/cache/assets/D1A/AB0/sprockets%2F3c731bd6b32d6881f6724639e47fcee1 +0 -0
  1488. data/test/dummy/tmp/cache/assets/D1A/D80/sprockets%2Fe285d6ec19c323360f5f5495befa8345 +0 -0
  1489. data/test/dummy/tmp/cache/assets/D1B/000/sprockets%2F33b9a53497029670f2a64dc3fb9fdc86 +0 -0
  1490. data/test/dummy/tmp/cache/assets/D1B/000/sprockets%2Fe9444b550979532e5dc13f0e0f177eff +0 -0
  1491. data/test/dummy/tmp/cache/assets/D1B/0C0/sprockets%2F7ca1fa05d6f3e9394ed1439949cb2690 +0 -0
  1492. data/test/dummy/tmp/cache/assets/D1B/B70/sprockets%2F68152d6df8d2af0717e60e5387e8ac18 +0 -0
  1493. data/test/dummy/tmp/cache/assets/D1B/D20/sprockets%2Fa8faebab8e88716f8f6a373628203364 +0 -0
  1494. data/test/dummy/tmp/cache/assets/D1B/D60/sprockets%2Fb70f31481add8338f2d9c64e6187bc95 +0 -0
  1495. data/test/dummy/tmp/cache/assets/D1B/E30/sprockets%2Fae987ee8829c3e5b215bc5f323d61627 +0 -0
  1496. data/test/dummy/tmp/cache/assets/D1B/F30/sprockets%2Fd0809029790934fadf2cbc395a548cf8 +0 -0
  1497. data/test/dummy/tmp/cache/assets/D1C/030/sprockets%2Fdee6c3ab722997fff9127c31767e0415 +0 -0
  1498. data/test/dummy/tmp/cache/assets/D1C/230/sprockets%2F064c29ce898edd6351a50e4179c4a6e8 +0 -0
  1499. data/test/dummy/tmp/cache/assets/D1C/280/sprockets%2Ff7739e72d2907f6dbda12ba3896e0619 +0 -0
  1500. data/test/dummy/tmp/cache/assets/D1C/470/sprockets%2F377c82344c98c9a1f1a984a2fda5d683 +0 -0
  1501. data/test/dummy/tmp/cache/assets/D1C/540/sprockets%2F334e02662b45fcc11013c90d2ebaad05 +0 -0
  1502. data/test/dummy/tmp/cache/assets/D1C/8F0/sprockets%2F95222ee74605c7485eee7a0f703dce68 +0 -0
  1503. data/test/dummy/tmp/cache/assets/D1D/010/sprockets%2Fe9ee683526f75ecb43b74f4d834012b9 +0 -0
  1504. data/test/dummy/tmp/cache/assets/D1D/460/sprockets%2Fc964116863a0e39db98ac9ba1c1f8976 +0 -0
  1505. data/test/dummy/tmp/cache/assets/D1D/4B0/sprockets%2Fe238270322125853fceb96fd7e4f95ee +0 -0
  1506. data/test/dummy/tmp/cache/assets/D1D/7C0/sprockets%2F2658affbe8bc283984784335105edea6 +0 -0
  1507. data/test/dummy/tmp/cache/assets/D1D/C90/sprockets%2Fa688522a4494897a6f6a5e6b80b0c4ff +0 -0
  1508. data/test/dummy/tmp/cache/assets/D1D/FC0/sprockets%2F71971d1f863f746f20a99bbd62de51d7 +0 -0
  1509. data/test/dummy/tmp/cache/assets/D1E/280/sprockets%2Faf6e30265d55b19575089dd09eb9f44e +0 -0
  1510. data/test/dummy/tmp/cache/assets/D1E/360/sprockets%2Facdf07f1f658079c6e3d916663b26d56 +0 -0
  1511. data/test/dummy/tmp/cache/assets/D1E/550/sprockets%2F8e92d88c23785f2b3b11ce99ac06936c +0 -0
  1512. data/test/dummy/tmp/cache/assets/D1E/640/sprockets%2Fb6659a71e769a42269dbf4f3c358e21f +0 -0
  1513. data/test/dummy/tmp/cache/assets/D1E/650/sprockets%2Fcdcfe9d0458130ee48e49b14977353f4 +0 -0
  1514. data/test/dummy/tmp/cache/assets/D1E/DC0/sprockets%2F645b6ef3a71597548d3e8f7a5043ff0d +0 -0
  1515. data/test/dummy/tmp/cache/assets/D1F/2D0/sprockets%2Fe03a6cf19f5d7f693510d90b62f569c9 +0 -0
  1516. data/test/dummy/tmp/cache/assets/D1F/4E0/sprockets%2F77275f55c523218e6d47af5fa85ad29e +0 -0
  1517. data/test/dummy/tmp/cache/assets/D1F/640/sprockets%2Ff2cc190ca52597fd57599f41a7a9723e +0 -0
  1518. data/test/dummy/tmp/cache/assets/D1F/8A0/sprockets%2F28491fd6bb09d8836c1cc0f05f9797a5 +0 -0
  1519. data/test/dummy/tmp/cache/assets/D1F/AA0/sprockets%2F458c88821b0948ba750dd2ea679ae86d +0 -0
  1520. data/test/dummy/tmp/cache/assets/D1F/E60/sprockets%2F07f2a6848ce8d680ba61f828bb9d3890 +0 -0
  1521. data/test/dummy/tmp/cache/assets/D21/2E0/sprockets%2Fc795f0286e2ec5f0d79f179eac158731 +0 -0
  1522. data/test/dummy/tmp/cache/assets/D21/4E0/sprockets%2F15129dcb96697f9eb74fe1fe82a17316 +0 -0
  1523. data/test/dummy/tmp/cache/assets/D21/6C0/sprockets%2F7dbd24986e6074d4907487ab2fc7ce72 +0 -0
  1524. data/test/dummy/tmp/cache/assets/D21/AF0/sprockets%2F8d56bc7093bd548af93f398c08c28c70 +0 -0
  1525. data/test/dummy/tmp/cache/assets/D22/810/sprockets%2F95f75e1268ef8fce5d69b01157e3109e +0 -0
  1526. data/test/dummy/tmp/cache/assets/D22/990/sprockets%2F1bc4ab3477ad23231f11422f42fdda18 +0 -0
  1527. data/test/dummy/tmp/cache/assets/D22/B50/sprockets%2Ff9319c6e43e983c216f99aca73c4844b +0 -0
  1528. data/test/dummy/tmp/cache/assets/D22/E10/sprockets%2F65e527527104f4eb64e9afd7856fe3f3 +0 -0
  1529. data/test/dummy/tmp/cache/assets/D23/150/sprockets%2F030c2207a3052f84ecfa2b05af8c42a8 +0 -0
  1530. data/test/dummy/tmp/cache/assets/D23/1B0/sprockets%2F3ae20324133b89e4391da32bbd1af23d +0 -0
  1531. data/test/dummy/tmp/cache/assets/D23/3E0/sprockets%2F89eb745583edfe3c2f09a856c61c7651 +0 -0
  1532. data/test/dummy/tmp/cache/assets/D23/550/sprockets%2F8ae9f4f4e1c90f843150364d8e8e595a +0 -0
  1533. data/test/dummy/tmp/cache/assets/D23/5B0/sprockets%2F1f95e34b784460e6699debf56b6a4e15 +0 -0
  1534. data/test/dummy/tmp/cache/assets/D23/5F0/sprockets%2F8b8841f36e4be6308855d6cfb4409e9b +0 -0
  1535. data/test/dummy/tmp/cache/assets/D23/B10/sprockets%2Fc06e6ed7f709f8005e084ddd989269b0 +0 -0
  1536. data/test/dummy/tmp/cache/assets/D24/770/sprockets%2F1e5491fe1b520f41a6cfb52d46da0003 +0 -0
  1537. data/test/dummy/tmp/cache/assets/D24/8B0/sprockets%2Ff465f90a8991a2c4986f13b87f9c0fb2 +0 -0
  1538. data/test/dummy/tmp/cache/assets/D24/9A0/sprockets%2F723667858e3fc7af44b1f68c9e17d2e2 +0 -0
  1539. data/test/dummy/tmp/cache/assets/D24/AC0/sprockets%2F8d22996f1c4a36f3d49a1e5997aa7e56 +0 -0
  1540. data/test/dummy/tmp/cache/assets/D24/EB0/sprockets%2F9d429705deb41789a37705f3c67ee4ee +0 -0
  1541. data/test/dummy/tmp/cache/assets/D25/220/sprockets%2F608588a7c74acdb9e9f13b9a66b46953 +0 -0
  1542. data/test/dummy/tmp/cache/assets/D25/590/sprockets%2Faa1c19bcc0b1257c0b1987c82825b0c1 +0 -0
  1543. data/test/dummy/tmp/cache/assets/D25/5B0/sprockets%2F56355268a998595bebb9b6c42ba875af +0 -0
  1544. data/test/dummy/tmp/cache/assets/D25/A10/sprockets%2F8459d7a6e879de2a674d224bd7b960d5 +0 -0
  1545. data/test/dummy/tmp/cache/assets/D25/B10/sprockets%2F31587c7769f852ce8f3fe4064ec14c7c +0 -0
  1546. data/test/dummy/tmp/cache/assets/D26/090/sprockets%2F96098fae84af37c7199177bea92533af +0 -0
  1547. data/test/dummy/tmp/cache/assets/D26/8D0/sprockets%2Fdd06c9b99fe167f48a99d1350c837d35 +0 -0
  1548. data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2F211f9fe1812bba01a705b8207daa239f +0 -0
  1549. data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Fb09f146e78fc920d934ee9e19dc92284 +0 -0
  1550. data/test/dummy/tmp/cache/assets/D26/C90/sprockets%2Ff78c003cad298697456d86b714e36eff +0 -0
  1551. data/test/dummy/tmp/cache/assets/D27/800/sprockets%2Fbda3823ab830a10b16a96087f6ca6c03 +0 -0
  1552. data/test/dummy/tmp/cache/assets/D28/800/sprockets%2F3c02ffc712301d473a7af7719ca3ab31 +0 -0
  1553. data/test/dummy/tmp/cache/assets/D28/950/sprockets%2Ff17a0aaa22dc704c67096b804c5ab471 +0 -0
  1554. data/test/dummy/tmp/cache/assets/D28/B20/sprockets%2F09f462027d72b7e7de9fd98087dfc373 +0 -0
  1555. data/test/dummy/tmp/cache/assets/D29/040/sprockets%2F02b88051f350e24596d3fe3340bacbaa +0 -0
  1556. data/test/dummy/tmp/cache/assets/D29/840/sprockets%2F402201ec92b1b3bb45245e5a6bdda948 +0 -0
  1557. data/test/dummy/tmp/cache/assets/D29/950/sprockets%2F2a027eeac6051acbc93563ef44345d01 +0 -0
  1558. data/test/dummy/tmp/cache/assets/D29/BD0/sprockets%2F8c85bb6d4859250bcff55847487d65bd +0 -0
  1559. data/test/dummy/tmp/cache/assets/D29/F00/sprockets%2F40adb76487003a4ab13615c01fc97ead +0 -0
  1560. data/test/dummy/tmp/cache/assets/D29/F80/sprockets%2F3d888988ef5e7292bf1f181eb622b19f +0 -0
  1561. data/test/dummy/tmp/cache/assets/D2A/530/sprockets%2Fc3c476dc0fef40502fa3c935a10330c8 +0 -0
  1562. data/test/dummy/tmp/cache/assets/D2A/5A0/sprockets%2Fd520d019a6a1ba7853bc8ab0c25445c8 +0 -0
  1563. data/test/dummy/tmp/cache/assets/D2A/8A0/sprockets%2Fc2ae580fda7ad422395ab21533a72e33 +0 -0
  1564. data/test/dummy/tmp/cache/assets/D2A/E70/sprockets%2Fb3dc3e00630d3fbac07174c782331c9d +0 -0
  1565. data/test/dummy/tmp/cache/assets/D2C/090/sprockets%2F37e2bcd7a00ea56b8a58181023a3f71d +0 -0
  1566. data/test/dummy/tmp/cache/assets/D2C/200/sprockets%2Fea42ef470e90c4282457aaab741e1d20 +0 -0
  1567. data/test/dummy/tmp/cache/assets/D2C/230/sprockets%2Ff9ed5894f5a416a7c4bf59117d792f49 +0 -0
  1568. data/test/dummy/tmp/cache/assets/D2C/2D0/sprockets%2Fc3d17948d766d978e393bdd1781cc49d +0 -0
  1569. data/test/dummy/tmp/cache/assets/D2C/420/sprockets%2Fff47f6f47f5fb84b813d75969c12d436 +0 -0
  1570. data/test/dummy/tmp/cache/assets/D2C/C30/sprockets%2F4c45fa4505e5938b24204663eaacbba1 +0 -0
  1571. data/test/dummy/tmp/cache/assets/D2C/C90/sprockets%2F4a6a04460007524debf322dbd2d748ed +0 -0
  1572. data/test/dummy/tmp/cache/assets/D2C/CF0/sprockets%2Fbe3d5250223d54ca33db9039b92ad36b +0 -0
  1573. data/test/dummy/tmp/cache/assets/D2D/750/sprockets%2F7fa91d4380a87f8be94605bd49949fd6 +0 -0
  1574. data/test/dummy/tmp/cache/assets/D2D/860/sprockets%2Ff5003f0f4a20770b1d06e19b980c2fec +0 -0
  1575. data/test/dummy/tmp/cache/assets/D2E/170/sprockets%2F74d1aebb319115da8451b4e00ae8f338 +0 -0
  1576. data/test/dummy/tmp/cache/assets/D2E/170/sprockets%2Fe6a334436c00a177c4ba453a4df309fe +0 -0
  1577. data/test/dummy/tmp/cache/assets/D2E/AA0/sprockets%2F3995ff450d69e4f972be748ca7834ab8 +0 -0
  1578. data/test/dummy/tmp/cache/assets/D2F/750/sprockets%2Fe2a3783cf749ff959ee3128ce923b994 +0 -0
  1579. data/test/dummy/tmp/cache/assets/D2F/950/sprockets%2F8f1c56d5b377af88a8896e279b2f634e +0 -0
  1580. data/test/dummy/tmp/cache/assets/D2F/B90/sprockets%2F348310802c3fd47de3854ad2c73adda0 +0 -0
  1581. data/test/dummy/tmp/cache/assets/D30/020/sprockets%2F505a1083ccd6e6787acd291db05a3a35 +0 -0
  1582. data/test/dummy/tmp/cache/assets/D30/200/sprockets%2Fa2f1ab1cf6a773164ef3a240b092876c +0 -0
  1583. data/test/dummy/tmp/cache/assets/D30/280/sprockets%2F1b72a1bc53ae152e338bac388742df35 +0 -0
  1584. data/test/dummy/tmp/cache/assets/D30/380/sprockets%2Fcae2f87a008a1175c61745cdad2780a4 +0 -0
  1585. data/test/dummy/tmp/cache/assets/D30/800/sprockets%2F29aa0abdc4d9559d0106c227f385ca60 +0 -0
  1586. data/test/dummy/tmp/cache/assets/D30/860/sprockets%2F54721d2472da2b68b4117ae416bdcdc7 +0 -0
  1587. data/test/dummy/tmp/cache/assets/D30/9F0/sprockets%2Fd45b9299eb2827664ff94f548daf518e +0 -0
  1588. data/test/dummy/tmp/cache/assets/D30/A60/sprockets%2Fb8f58930c97253b39abcc115acc124a1 +0 -0
  1589. data/test/dummy/tmp/cache/assets/D30/AE0/sprockets%2F04ac8121e3246b33cdfa62f905bb49f3 +0 -0
  1590. data/test/dummy/tmp/cache/assets/D30/BF0/sprockets%2Fe4e84f11d27afb83120e34ad54f01a48 +0 -0
  1591. data/test/dummy/tmp/cache/assets/D30/C70/sprockets%2F54f1716129d313e30dff8f21cd00a4ee +0 -0
  1592. data/test/dummy/tmp/cache/assets/D30/D00/sprockets%2Fa4278112be39200de394ca5c5aeb7b46 +0 -0
  1593. data/test/dummy/tmp/cache/assets/D30/F10/sprockets%2F465c3d452345580daadcf5932c0fc1a3 +0 -0
  1594. data/test/dummy/tmp/cache/assets/D31/F40/sprockets%2F98e56dbef366363d878197884bd2daf5 +0 -0
  1595. data/test/dummy/tmp/cache/assets/D32/540/sprockets%2F4dce62322241cbf7de05fd80342e8a61 +0 -0
  1596. data/test/dummy/tmp/cache/assets/D32/A20/sprockets%2F312a5122c497e50fb1a32e4fc7c5ea77 +0 -0
  1597. data/test/dummy/tmp/cache/assets/D32/B10/sprockets%2F2a27e017a0c879621dcbf40fe91ba238 +0 -0
  1598. data/test/dummy/tmp/cache/assets/D32/D70/sprockets%2Fda7da389106c83aafd914ca2e4014608 +0 -0
  1599. data/test/dummy/tmp/cache/assets/D33/020/sprockets%2F01c4a2531f1c7324d8dbef0645f0e6e7 +0 -0
  1600. data/test/dummy/tmp/cache/assets/D33/060/sprockets%2F117f814b864eaf00a3a91f89a4dbb062 +0 -0
  1601. data/test/dummy/tmp/cache/assets/D33/4B0/sprockets%2F880ea9eead5c5dd1216b9563038a4a00 +0 -0
  1602. data/test/dummy/tmp/cache/assets/D33/570/sprockets%2F4ee3083a14b4cba4158cb3d527ed2495 +0 -0
  1603. data/test/dummy/tmp/cache/assets/D33/890/sprockets%2Fbcb860ab607140a1d739f8c127fe057b +0 -0
  1604. data/test/dummy/tmp/cache/assets/D33/A10/sprockets%2F252c911c7ecb3b378ca58511ba79a42c +0 -0
  1605. data/test/dummy/tmp/cache/assets/D33/BE0/sprockets%2F962b00cab2180a85c58ca205de7565ee +0 -0
  1606. data/test/dummy/tmp/cache/assets/D34/1D0/sprockets%2F311225bc49faae3c839eb24232fe76d1 +0 -0
  1607. data/test/dummy/tmp/cache/assets/D34/650/sprockets%2Fb741123e3d70c9ec63515d194a1cfd7a +0 -0
  1608. data/test/dummy/tmp/cache/assets/D34/880/sprockets%2F6ea174533a4ab2c4455f56e4ccb4811f +0 -0
  1609. data/test/dummy/tmp/cache/assets/D34/950/sprockets%2Fa9ab3c0627dd00d6b037ddf42259448d +0 -0
  1610. data/test/dummy/tmp/cache/assets/D34/AB0/sprockets%2Ffd3bd7d7ca6b39b102f2e286f0461107 +0 -0
  1611. data/test/dummy/tmp/cache/assets/D34/CF0/sprockets%2F4f93aa82b61ce48090350e1e4ce204ef +0 -0
  1612. data/test/dummy/tmp/cache/assets/D34/E10/sprockets%2F74034ea037bd6434c8eb68ccf2b3026d +0 -0
  1613. data/test/dummy/tmp/cache/assets/D34/F10/sprockets%2F8e2570cc10ce5d1a88cb70e23ba80783 +0 -0
  1614. data/test/dummy/tmp/cache/assets/D35/4B0/sprockets%2Fe0e3c624373b0c0038ccd087f9a8d4d3 +0 -0
  1615. data/test/dummy/tmp/cache/assets/D35/9C0/sprockets%2Ffd51df36dcc611642a50f460a4c197c6 +0 -0
  1616. data/test/dummy/tmp/cache/assets/D35/DC0/sprockets%2F4271a256db0b166be553384b7e8ccad4 +0 -0
  1617. data/test/dummy/tmp/cache/assets/D36/020/sprockets%2F7e78b42ca2f717752a2b1d262a5ad27f +0 -0
  1618. data/test/dummy/tmp/cache/assets/D36/0F0/sprockets%2Fcc0211f5aa98029c59d8ff0e055c9b10 +0 -0
  1619. data/test/dummy/tmp/cache/assets/D36/220/sprockets%2F6246256acf41d8b8c1551b905db32ddd +0 -0
  1620. data/test/dummy/tmp/cache/assets/D36/230/sprockets%2F3c16319ad1da2566bea8d38ad5a77325 +0 -0
  1621. data/test/dummy/tmp/cache/assets/D36/860/sprockets%2F6e22ec7ea9943cbab166c291b711472a +0 -0
  1622. data/test/dummy/tmp/cache/assets/D36/990/sprockets%2F2508cad8b402c37cc09f6dfa6222c476 +0 -0
  1623. data/test/dummy/tmp/cache/assets/D36/AD0/sprockets%2Fbb238ccd373ef74d05ba241c5f810729 +0 -0
  1624. data/test/dummy/tmp/cache/assets/D36/E50/sprockets%2F43b67afc1a948300095d5f0fc3e41ea7 +0 -0
  1625. data/test/dummy/tmp/cache/assets/D37/190/sprockets%2F1b0a29942409f65198f4dd0b107ddabf +0 -0
  1626. data/test/dummy/tmp/cache/assets/D37/2B0/sprockets%2F3941d2daeba5fdb39206366a69b645a1 +0 -0
  1627. data/test/dummy/tmp/cache/assets/D37/340/sprockets%2F9b14483f8eabb0bb815c1275b05f67a5 +0 -0
  1628. data/test/dummy/tmp/cache/assets/D37/3D0/sprockets%2F8f6dcfb531329d1ea60dc0983f41d033 +0 -0
  1629. data/test/dummy/tmp/cache/assets/D37/780/sprockets%2Fec34f1a3407b6838dd62343a4cf3e1c7 +0 -0
  1630. data/test/dummy/tmp/cache/assets/D37/900/sprockets%2Febe3008d566af1190d271b270e74c9bf +0 -0
  1631. data/test/dummy/tmp/cache/assets/D37/990/sprockets%2F08438adf3e196cbe41a39a50a34d6f43 +0 -0
  1632. data/test/dummy/tmp/cache/assets/D37/B20/sprockets%2F3ce30ec934ca2db7968dc170e2206a66 +0 -0
  1633. data/test/dummy/tmp/cache/assets/D37/DD0/sprockets%2F5596e2d48f78dc5962ee112fe8d9399f +0 -0
  1634. data/test/dummy/tmp/cache/assets/D37/DE0/sprockets%2F92e9570516bd069ed02b6b54be113eea +0 -0
  1635. data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F18060fd4371473efaa135cea6076ced7 +0 -0
  1636. data/test/dummy/tmp/cache/assets/D37/F00/sprockets%2F390cea618b99119ed0464d6a81b4bb2a +0 -0
  1637. data/test/dummy/tmp/cache/assets/D37/F20/sprockets%2F16df6ed68997bc0c45996cff6797760b +0 -0
  1638. data/test/dummy/tmp/cache/assets/D37/FB0/sprockets%2Fa91fcd2fc7631616b25bb8522a7d45a6 +0 -0
  1639. data/test/dummy/tmp/cache/assets/D38/140/sprockets%2F4079eb6113850c5bb0bf8d1bd29e941d +0 -0
  1640. data/test/dummy/tmp/cache/assets/D38/200/sprockets%2Fbc07f823d9abf9115b066cf67b26c051 +0 -0
  1641. data/test/dummy/tmp/cache/assets/D38/250/sprockets%2F7701084fe6eb8e57c306d1ceeb0015e5 +0 -0
  1642. data/test/dummy/tmp/cache/assets/D38/3A0/sprockets%2F17e2b185c523471dbc3fce74385d34bb +0 -0
  1643. data/test/dummy/tmp/cache/assets/D38/570/sprockets%2F61b134e50dc0762f5fa4b92e68a802fd +0 -0
  1644. data/test/dummy/tmp/cache/assets/D38/5A0/sprockets%2F05c60f19fe5c929377109d0acb6bc1d2 +0 -0
  1645. data/test/dummy/tmp/cache/assets/D38/A90/sprockets%2Fe5d173da497d0b0ec3e1e93f5d472213 +0 -0
  1646. data/test/dummy/tmp/cache/assets/D38/C20/sprockets%2F3d9fb25a1f0def521f89bc71092a4901 +0 -0
  1647. data/test/dummy/tmp/cache/assets/D38/C60/sprockets%2F35b3e86d753c2ace3d20b3fa5459e091 +0 -0
  1648. data/test/dummy/tmp/cache/assets/D38/C80/sprockets%2F0c40fce56bb9b9d01f5112c7974a22f7 +0 -0
  1649. data/test/dummy/tmp/cache/assets/D39/050/sprockets%2F3406276fc15fbf075d244d2b7d5d9ac1 +0 -0
  1650. data/test/dummy/tmp/cache/assets/D39/090/sprockets%2F391807084d2d05fb51a6f857cb3cfb3a +0 -0
  1651. data/test/dummy/tmp/cache/assets/D39/180/sprockets%2F81a53f304a41a21977cecb8ab3568f4e +0 -0
  1652. data/test/dummy/tmp/cache/assets/D39/180/sprockets%2F893de2bf113e285c30b3d74e146fa7a4 +0 -0
  1653. data/test/dummy/tmp/cache/assets/D39/2E0/sprockets%2F9eb5ff48d2360d72d896595f71ef77f9 +0 -0
  1654. data/test/dummy/tmp/cache/assets/D39/440/sprockets%2Fc0b90a4d3bc660db1e865f329364d9b3 +0 -0
  1655. data/test/dummy/tmp/cache/assets/D39/570/sprockets%2F00640f4a599ee9f23b4f2377d1ba0c7b +0 -0
  1656. data/test/dummy/tmp/cache/assets/D39/670/sprockets%2F3ceb02555854acc1e9b950f80d1a6f80 +0 -0
  1657. data/test/dummy/tmp/cache/assets/D39/970/sprockets%2F74cbac51616a63a922f1ea7716e169cd +0 -0
  1658. data/test/dummy/tmp/cache/assets/D39/E60/sprockets%2Fb2b694b416276b2ced81c926c65bcb60 +0 -0
  1659. data/test/dummy/tmp/cache/assets/D39/F30/sprockets%2F1f5d352f97c8a3828dda9014611caed0 +0 -0
  1660. data/test/dummy/tmp/cache/assets/D3A/050/sprockets%2F2da25665d8a0f229b1509e86afec2b80 +0 -0
  1661. data/test/dummy/tmp/cache/assets/D3A/140/sprockets%2F01ee9c5ce6ab0fd011b0584955fe7337 +0 -0
  1662. data/test/dummy/tmp/cache/assets/D3A/340/sprockets%2Ffa4cc89d1060a2e28c618df61b12875c +0 -0
  1663. data/test/dummy/tmp/cache/assets/D3A/480/sprockets%2F2c623b9833b72f21230c6d7b9ec5fa6c +0 -0
  1664. data/test/dummy/tmp/cache/assets/D3A/720/sprockets%2Fb5b3e2f3157e0c52d380fe3f94b96d01 +0 -0
  1665. data/test/dummy/tmp/cache/assets/D3A/8A0/sprockets%2F91b4d0e462a4a841d5a7df5562de72e2 +0 -0
  1666. data/test/dummy/tmp/cache/assets/D3A/9E0/sprockets%2F62f2cbed105a1411ff3e9f2f7167089a +0 -0
  1667. data/test/dummy/tmp/cache/assets/D3A/F00/sprockets%2Fa682b6bc9df4741b972e1f371d70d0c0 +0 -0
  1668. data/test/dummy/tmp/cache/assets/D3B/080/sprockets%2F007cc1999cf3c568c32d35a48bcb343b +0 -0
  1669. data/test/dummy/tmp/cache/assets/D3B/1B0/sprockets%2F3aa8045c2b099ad8a5f37d9523bb6b55 +0 -0
  1670. data/test/dummy/tmp/cache/assets/D3B/2C0/sprockets%2F5f98712fffc4d6ac560ec126317c3d10 +0 -0
  1671. data/test/dummy/tmp/cache/assets/D3B/760/sprockets%2F22c078eb83157c2b38a1a5d6d6aef925 +0 -0
  1672. data/test/dummy/tmp/cache/assets/D3B/8C0/sprockets%2Fe4622c65b4e60b1c9464a7f08ebeb903 +0 -0
  1673. data/test/dummy/tmp/cache/assets/D3B/950/sprockets%2F5d83f8acdd5d02159e10e0532c682e8b +0 -0
  1674. data/test/dummy/tmp/cache/assets/D3B/F70/sprockets%2F20db54bbc3acc7e74e591466a75522c9 +0 -0
  1675. data/test/dummy/tmp/cache/assets/D3C/0D0/sprockets%2F073ca7ba66cd78eaa19534bc574d5317 +0 -0
  1676. data/test/dummy/tmp/cache/assets/D3C/0E0/sprockets%2F143b7730fcb2613d79af709c3a8fa55c +0 -0
  1677. data/test/dummy/tmp/cache/assets/D3C/870/sprockets%2F51d9cef4de63228a0c0a41ac89b49258 +0 -0
  1678. data/test/dummy/tmp/cache/assets/D3C/980/sprockets%2F003e4c454b7d12de5a863b45e94ec47d +0 -0
  1679. data/test/dummy/tmp/cache/assets/D3C/9B0/sprockets%2Fee4a76b790fba505cf9b577321118cb3 +0 -0
  1680. data/test/dummy/tmp/cache/assets/D3C/A80/sprockets%2Fb1b8fb435100acde83b7794667d0f55b +0 -0
  1681. data/test/dummy/tmp/cache/assets/D3C/C20/sprockets%2F36ebf6fae0ed08d0366818a4e63830d1 +0 -0
  1682. data/test/dummy/tmp/cache/assets/D3C/D60/sprockets%2Fc7ba7158b9c4d176fd4c0230069ea5d6 +0 -0
  1683. data/test/dummy/tmp/cache/assets/D3C/FD0/sprockets%2F4b44f3268c024ed9995b52ad30c3c8bc +0 -0
  1684. data/test/dummy/tmp/cache/assets/D3C/FE0/sprockets%2F24f6d543983043d0d1feefacb090196e +0 -0
  1685. data/test/dummy/tmp/cache/assets/D3D/210/sprockets%2F28a6f4bdaf689094b6a09121dbbe1476 +0 -0
  1686. data/test/dummy/tmp/cache/assets/D3D/970/sprockets%2F8c3fa39c04a27661633af6952dace4e3 +0 -0
  1687. data/test/dummy/tmp/cache/assets/D3D/C10/sprockets%2F48581f8b1580d984413b3fab2dd9bcb0 +0 -0
  1688. data/test/dummy/tmp/cache/assets/D3D/C30/sprockets%2Fc5213c2edff881f6715b82f148cd007b +0 -0
  1689. data/test/dummy/tmp/cache/assets/D3D/D80/sprockets%2F9c0cbc841bf606ddec0963173c2894a4 +0 -0
  1690. data/test/dummy/tmp/cache/assets/D3E/0B0/sprockets%2Fc1186ea6268e63a1f7a660dd1768bd3b +0 -0
  1691. data/test/dummy/tmp/cache/assets/D3E/240/sprockets%2Fd40ed280ab0708b0e619f709eb68c9c4 +0 -0
  1692. data/test/dummy/tmp/cache/assets/D3E/2B0/sprockets%2F4d280812e44d52559f57e2afdd1bca56 +0 -0
  1693. data/test/dummy/tmp/cache/assets/D3E/500/sprockets%2Fe0d19b79ad67649fb3c1cf715a11a393 +0 -0
  1694. data/test/dummy/tmp/cache/assets/D3E/520/sprockets%2F4765d7ea3ba6a5d16231c29de0d958c4 +0 -0
  1695. data/test/dummy/tmp/cache/assets/D3E/880/sprockets%2Fb745e535cb3165fc1882efcd903ed034 +0 -0
  1696. data/test/dummy/tmp/cache/assets/D3E/A00/sprockets%2F5f0492202676cecb4d3ffa49d610d65e +0 -0
  1697. data/test/dummy/tmp/cache/assets/D3E/A50/sprockets%2F1b32762a6614ecff6b77934ff9b0a5a1 +0 -0
  1698. data/test/dummy/tmp/cache/assets/D3E/AD0/sprockets%2F933941a230bea56ca69e1df56d5f07f2 +0 -0
  1699. data/test/dummy/tmp/cache/assets/D3E/ED0/sprockets%2F3d738409aa99ac466e77d0aeb2cd6150 +0 -0
  1700. data/test/dummy/tmp/cache/assets/D3E/F00/sprockets%2F8f159505cdb7a6e1170b91ff5c2c18e3 +0 -0
  1701. data/test/dummy/tmp/cache/assets/D3F/280/sprockets%2F13e050b7a477cc5fd1ee4083bd599e71 +0 -0
  1702. data/test/dummy/tmp/cache/assets/D3F/3E0/sprockets%2Fef152ffc3b86506be616e326f20c27f5 +0 -0
  1703. data/test/dummy/tmp/cache/assets/D3F/570/sprockets%2Fa33a6f2619d9e53bad331f8e04b738a9 +0 -0
  1704. data/test/dummy/tmp/cache/assets/D3F/590/sprockets%2F94fabee73d36410bdd216a2547f99b16 +0 -0
  1705. data/test/dummy/tmp/cache/assets/D3F/5E0/sprockets%2Fcbf1d7fac4114ec9059f87f2a0936342 +0 -0
  1706. data/test/dummy/tmp/cache/assets/D3F/B90/sprockets%2Fb98ad8b0651a07fa27790a1cc977be16 +0 -0
  1707. data/test/dummy/tmp/cache/assets/D40/2A0/sprockets%2F6e3ea5fbeff0a58c3782e181e5430472 +0 -0
  1708. data/test/dummy/tmp/cache/assets/D40/350/sprockets%2Fb8d0e083f40a26ff64f605285045fcef +0 -0
  1709. data/test/dummy/tmp/cache/assets/D40/740/sprockets%2F263bd7c97b6f2a3f3c82c6c1d6a41873 +0 -0
  1710. data/test/dummy/tmp/cache/assets/D40/810/sprockets%2F6003489e39c622ea2527b9ec61e7ecbb +0 -0
  1711. data/test/dummy/tmp/cache/assets/D40/880/sprockets%2F7813c7a2e234b7d2dcca77bff3315587 +0 -0
  1712. data/test/dummy/tmp/cache/assets/D40/9A0/sprockets%2Fb09fd34326b7d7a238e247c9f2aa2b87 +0 -0
  1713. data/test/dummy/tmp/cache/assets/D40/D20/sprockets%2F47e105703f9f1ea7c8da4508b7763cca +0 -0
  1714. data/test/dummy/tmp/cache/assets/D40/F10/sprockets%2F8149df5844bbe3a8205c469a29b3c2eb +0 -0
  1715. data/test/dummy/tmp/cache/assets/D41/410/sprockets%2F22edb903fc08a47f75beb47d5e096361 +0 -0
  1716. data/test/dummy/tmp/cache/assets/D41/540/sprockets%2Ff05b4b5481ce50788dd254f33bd77aa7 +0 -0
  1717. data/test/dummy/tmp/cache/assets/D41/5E0/sprockets%2F79d1b0f2ef48f72114cfc1e7189f41c1 +0 -0
  1718. data/test/dummy/tmp/cache/assets/D41/C00/sprockets%2F08791f8723ba99285dc032a1febcfe05 +0 -0
  1719. data/test/dummy/tmp/cache/assets/D41/E30/sprockets%2F0a50215c4d6fb949f17fa6c69c05e4e5 +0 -0
  1720. data/test/dummy/tmp/cache/assets/D41/F00/sprockets%2Ff9b62079e2c23fb68ec4e34b2f52921b +0 -0
  1721. data/test/dummy/tmp/cache/assets/D42/0C0/sprockets%2Fae17be1f5b63976f45fdb0d45e240287 +0 -0
  1722. data/test/dummy/tmp/cache/assets/D42/180/sprockets%2F9f136ad5150d873084dfc8fc4ef20e52 +0 -0
  1723. data/test/dummy/tmp/cache/assets/D42/6C0/sprockets%2Feefb3bf65b9531ae414d60991a54a568 +0 -0
  1724. data/test/dummy/tmp/cache/assets/D42/740/sprockets%2Fd671638ace8452e53de83b0b8f21dc73 +0 -0
  1725. data/test/dummy/tmp/cache/assets/D42/AC0/sprockets%2Fc5ae257ce91660cf1d694bd7f283180b +0 -0
  1726. data/test/dummy/tmp/cache/assets/D43/010/sprockets%2F99f2034c5afbf60c8d6d7a9b52615b80 +0 -0
  1727. data/test/dummy/tmp/cache/assets/D43/180/sprockets%2F77aa2f22b06e86bde4652662f7f3fb44 +0 -0
  1728. data/test/dummy/tmp/cache/assets/D43/3C0/sprockets%2F0bbea991fc5823892656b5cf52a26bf3 +0 -0
  1729. data/test/dummy/tmp/cache/assets/D43/770/sprockets%2F54f1826aad6b2ffd39e74741a4567a1f +0 -0
  1730. data/test/dummy/tmp/cache/assets/D44/2B0/sprockets%2F3ad39d2fc61e52af9f763e55526ae811 +0 -0
  1731. data/test/dummy/tmp/cache/assets/D44/410/sprockets%2Faff2c973a38dda06b82fe9250757c146 +0 -0
  1732. data/test/dummy/tmp/cache/assets/D44/500/sprockets%2F21a29ea628b20f49e94865c60bcb8dd7 +0 -0
  1733. data/test/dummy/tmp/cache/assets/D44/610/sprockets%2F015d093ebf54e2bd91f81f7c4c85a098 +0 -0
  1734. data/test/dummy/tmp/cache/assets/D44/740/sprockets%2F3ab786df73a67cab584b9e533f634d11 +0 -0
  1735. data/test/dummy/tmp/cache/assets/D44/840/sprockets%2F9fbf3c57246341509cc2b79b1ca4f9c6 +0 -0
  1736. data/test/dummy/tmp/cache/assets/D44/970/sprockets%2F648de6a616d5c62248ffe00859dc0c1e +0 -0
  1737. data/test/dummy/tmp/cache/assets/D44/CF0/sprockets%2F612899c13686e28debad09c5df15c2d1 +0 -0
  1738. data/test/dummy/tmp/cache/assets/D45/0C0/sprockets%2F516fc9d887a1ad9640352f26fcd2a90e +0 -0
  1739. data/test/dummy/tmp/cache/assets/D45/3D0/sprockets%2F55e171c4e73a7d6485c6ba5c1663afe8 +0 -0
  1740. data/test/dummy/tmp/cache/assets/D45/630/sprockets%2F4057a5865c88d6bff9e4ff43f50a1b10 +0 -0
  1741. data/test/dummy/tmp/cache/assets/D45/7F0/sprockets%2F204e7166ba9740fdd44ecf84ff4d4470 +0 -0
  1742. data/test/dummy/tmp/cache/assets/D45/BD0/sprockets%2Fbc5657521c68a4d1a48decf5649365da +0 -0
  1743. data/test/dummy/tmp/cache/assets/D46/0B0/sprockets%2Fe25e1919f53af4fe48caa29a4039719c +0 -0
  1744. data/test/dummy/tmp/cache/assets/D46/2A0/sprockets%2F298292c84f0e15f90bfc6aa75cd039f3 +0 -0
  1745. data/test/dummy/tmp/cache/assets/D46/5B0/sprockets%2F5d006b6678e543be4caf73ac762d755f +0 -0
  1746. data/test/dummy/tmp/cache/assets/D46/610/sprockets%2F0f7fe1a1c4c86f26d477a1a4f4c88906 +0 -0
  1747. data/test/dummy/tmp/cache/assets/D46/6D0/sprockets%2F5c5c2ed4c5b6ef33d157f955d7e41902 +0 -0
  1748. data/test/dummy/tmp/cache/assets/D46/890/sprockets%2F5ca5e9e8272bf7e14e20f4ea81078d91 +0 -0
  1749. data/test/dummy/tmp/cache/assets/D46/910/sprockets%2F8953f1c40aae7d8a9a7196e34b3148de +0 -0
  1750. data/test/dummy/tmp/cache/assets/D46/A00/sprockets%2Fd15c6cb08ebf8797713e952ab6f154d1 +0 -0
  1751. data/test/dummy/tmp/cache/assets/D46/C30/sprockets%2Ff5ac37c7c007684e128ebb4c387f8b09 +0 -0
  1752. data/test/dummy/tmp/cache/assets/D46/D20/sprockets%2Fafcff74e0c596d4014caf09274253e89 +0 -0
  1753. data/test/dummy/tmp/cache/assets/D46/E30/sprockets%2F2743604000c3caab937a02accd3c71bb +0 -0
  1754. data/test/dummy/tmp/cache/assets/D46/E90/sprockets%2F2c2cf7b08d87d19e01573e9c0d972af5 +0 -0
  1755. data/test/dummy/tmp/cache/assets/D47/250/sprockets%2Ff454a48261a92c98e55a9b2e9acff430 +0 -0
  1756. data/test/dummy/tmp/cache/assets/D47/2E0/sprockets%2F704ecaf274e48a7580b3aae979a97c50 +0 -0
  1757. data/test/dummy/tmp/cache/assets/D47/3B0/sprockets%2F7ff55581118e0181ecf59a7a5cb3cf48 +0 -0
  1758. data/test/dummy/tmp/cache/assets/D47/5C0/sprockets%2F68f9e6a027bd2b7aeb7751454d7af247 +0 -0
  1759. data/test/dummy/tmp/cache/assets/D47/A40/sprockets%2F8f06e434276a6eced1522deb9d9d8027 +0 -0
  1760. data/test/dummy/tmp/cache/assets/D47/D90/sprockets%2Fe1c556e7d92e1d2b512e547746d73bef +0 -0
  1761. data/test/dummy/tmp/cache/assets/D47/F30/sprockets%2F95b3748e9aae1797d3cb5cc720c1f266 +0 -0
  1762. data/test/dummy/tmp/cache/assets/D48/0B0/sprockets%2F30a04c89c989d773b306c21bf8d64def +0 -0
  1763. data/test/dummy/tmp/cache/assets/D48/140/sprockets%2Fe57106ab8293a7f3d776e690bbd447dc +0 -0
  1764. data/test/dummy/tmp/cache/assets/D48/180/sprockets%2F760b662df9e52cdf625807f2d5a51a9e +0 -0
  1765. data/test/dummy/tmp/cache/assets/D48/210/sprockets%2F32168c495dbc6784b0f398dc9a8cae12 +0 -0
  1766. data/test/dummy/tmp/cache/assets/D48/2D0/sprockets%2F0be50e01c1aee3d2e4b1167bc704b150 +0 -0
  1767. data/test/dummy/tmp/cache/assets/D48/3B0/sprockets%2Fd8418ab89f1d64859a83ed83bde050a3 +0 -0
  1768. data/test/dummy/tmp/cache/assets/D48/3F0/sprockets%2F95af62f8399e2434dddaa8e622073b3f +0 -0
  1769. data/test/dummy/tmp/cache/assets/D48/610/sprockets%2F04cb90fbd5ec4f92106f6268f2987b2e +0 -0
  1770. data/test/dummy/tmp/cache/assets/D48/F10/sprockets%2Fb3111df9478d4ad38897db3a4fb286c5 +0 -0
  1771. data/test/dummy/tmp/cache/assets/D48/F70/sprockets%2F773649806672f43eb7429cdfac0febb1 +0 -0
  1772. data/test/dummy/tmp/cache/assets/D49/000/sprockets%2Fd94896eee0f35a0a966393090fcc3fc1 +0 -0
  1773. data/test/dummy/tmp/cache/assets/D49/370/sprockets%2F56bf43f01cedd6c95f90f37cd5331757 +0 -0
  1774. data/test/dummy/tmp/cache/assets/D49/D70/sprockets%2Fb9e7a4cd11a1fbd665187834e795b44f +0 -0
  1775. data/test/dummy/tmp/cache/assets/D49/F00/sprockets%2F6a89ca8c96f50072b95d70df61cc7b80 +0 -0
  1776. data/test/dummy/tmp/cache/assets/D4A/0B0/sprockets%2Fa339d447533dfdab55192ed95e5e91c6 +0 -0
  1777. data/test/dummy/tmp/cache/assets/D4A/580/sprockets%2F9ec98f3f247fb14bf451730449d1cb7e +0 -0
  1778. data/test/dummy/tmp/cache/assets/D4A/650/sprockets%2F824d6a94276cdd80a615348f4cb7dfe5 +0 -0
  1779. data/test/dummy/tmp/cache/assets/D4A/9C0/sprockets%2Fb33796ae4af40993b4e8c7ef324f06f3 +0 -0
  1780. data/test/dummy/tmp/cache/assets/D4A/B40/sprockets%2Fbf77934b4ad18295b9eae7a5f32c9316 +0 -0
  1781. data/test/dummy/tmp/cache/assets/D4A/BF0/sprockets%2Fc564d4cc768137c7f5a3ffad2166684c +0 -0
  1782. data/test/dummy/tmp/cache/assets/D4A/CE0/sprockets%2Fc6f977bde89d1a1910507fa495290bcf +0 -0
  1783. data/test/dummy/tmp/cache/assets/D4A/EF0/sprockets%2Fb6b3aa8642c8fa584f0376d4648d7c8b +0 -0
  1784. data/test/dummy/tmp/cache/assets/D4B/3C0/sprockets%2F26891ba685ff4c6f9d4f2f1c6242f03f +0 -0
  1785. data/test/dummy/tmp/cache/assets/D4B/430/sprockets%2F3717d58544de674bf0f87b1fd67a45ac +0 -0
  1786. data/test/dummy/tmp/cache/assets/D4B/440/sprockets%2F0f661ce7dd63adff2444327c83c5f678 +0 -0
  1787. data/test/dummy/tmp/cache/assets/D4B/4F0/sprockets%2Fd57bb48b0c6ea8859a4fda0d88592624 +0 -0
  1788. data/test/dummy/tmp/cache/assets/D4B/920/sprockets%2F3f9aa27e107a5a864ed768825d47bbe7 +0 -0
  1789. data/test/dummy/tmp/cache/assets/D4B/CE0/sprockets%2F2e96cfae6d4a435e37970c055ac589e4 +0 -0
  1790. data/test/dummy/tmp/cache/assets/D4B/D30/sprockets%2Ff7549dc58e2b8520272e8db83ea6ac65 +0 -0
  1791. data/test/dummy/tmp/cache/assets/D4B/EB0/sprockets%2F90e1f184458ccb432d9fddb8994423af +0 -0
  1792. data/test/dummy/tmp/cache/assets/D4B/F30/sprockets%2F87e2067c8a98c80860ca18525aefaff4 +0 -0
  1793. data/test/dummy/tmp/cache/assets/D4C/B10/sprockets%2F8885160be6866e27b6e5fa2c49a4c5da +0 -0
  1794. data/test/dummy/tmp/cache/assets/D4D/6B0/sprockets%2F42f643654eb2b4737e87decb738fc6a5 +0 -0
  1795. data/test/dummy/tmp/cache/assets/D4D/8F0/sprockets%2F81f8c1d4e17c7829dbdef5171e84d561 +0 -0
  1796. data/test/dummy/tmp/cache/assets/D4E/0F0/sprockets%2F1ec59da25b29654f5ce86a66c999ba22 +0 -0
  1797. data/test/dummy/tmp/cache/assets/D4E/110/sprockets%2Fcf0a2ac2c576aa71029323062dfb5a1c +0 -0
  1798. data/test/dummy/tmp/cache/assets/D4E/4C0/sprockets%2Ff1bec818b617e964d6a5f1ef8f339540 +0 -0
  1799. data/test/dummy/tmp/cache/assets/D4E/8E0/sprockets%2F0d70620be0274ccaa6743a0b2092bded +0 -0
  1800. data/test/dummy/tmp/cache/assets/D4E/DD0/sprockets%2F287ba626c4f5b4639b2890e9d8f5eb2c +0 -0
  1801. data/test/dummy/tmp/cache/assets/D4E/DE0/sprockets%2F382aafa1acb033c709e7789d9878bd59 +0 -0
  1802. data/test/dummy/tmp/cache/assets/D4F/360/sprockets%2F91ecbdd16b46d37e46b95d95347b68f1 +0 -0
  1803. data/test/dummy/tmp/cache/assets/D4F/400/sprockets%2Fa39424f3692471f84bf5f4ca5d3f92ff +0 -0
  1804. data/test/dummy/tmp/cache/assets/D4F/470/sprockets%2F3370d5f56c376be2ee02890a6a7f9f9f +0 -0
  1805. data/test/dummy/tmp/cache/assets/D4F/A60/sprockets%2F7e7b2a309fe6c9274de094b52d7399cc +0 -0
  1806. data/test/dummy/tmp/cache/assets/D4F/AD0/sprockets%2F4940ada070aac964e8964c9429c9ff7c +0 -0
  1807. data/test/dummy/tmp/cache/assets/D4F/AF0/sprockets%2F7c58e3c84ea677f3767d4e2b44d02c6f +0 -0
  1808. data/test/dummy/tmp/cache/assets/D4F/D40/sprockets%2Fc00fd09b0c72bd4124b2509ccab6d252 +0 -0
  1809. data/test/dummy/tmp/cache/assets/D50/1C0/sprockets%2Ff3d4c379e548c6a635cf4c71959be1c5 +0 -0
  1810. data/test/dummy/tmp/cache/assets/D50/3F0/sprockets%2F10bbd58b768f6ca68f89872d5ca21c59 +0 -0
  1811. data/test/dummy/tmp/cache/assets/D50/9E0/sprockets%2F8a6f447c87a7b29a5cfe7f6a631563d5 +0 -0
  1812. data/test/dummy/tmp/cache/assets/D50/BB0/sprockets%2F4544b5c9d81fdc942637568eefe0a17f +0 -0
  1813. data/test/dummy/tmp/cache/assets/D50/DE0/sprockets%2F4fb7cab2cc42720412e2831b096bcac0 +0 -0
  1814. data/test/dummy/tmp/cache/assets/D50/EB0/sprockets%2Fb1701915ee2cfa8987fa97f45d757ca3 +0 -0
  1815. data/test/dummy/tmp/cache/assets/D50/F40/sprockets%2F0a264e8ef7b828ffbc499e545d1d3554 +0 -0
  1816. data/test/dummy/tmp/cache/assets/D51/0C0/sprockets%2F4c68994d9a5d43eeaa94f0bf98c35162 +0 -0
  1817. data/test/dummy/tmp/cache/assets/D51/5A0/sprockets%2F5f73f98cef4232f98131ab3c913f7e9c +0 -0
  1818. data/test/dummy/tmp/cache/assets/D51/6A0/sprockets%2F46a61332ec4d9db317f5981f96f5e4ef +0 -0
  1819. data/test/dummy/tmp/cache/assets/D51/860/sprockets%2F0559a601f98ad9e14ad85d9e9866bc3b +0 -0
  1820. data/test/dummy/tmp/cache/assets/D51/A80/sprockets%2F0e4ebc3cb443fe89e96507429a729ed8 +0 -0
  1821. data/test/dummy/tmp/cache/assets/D51/EC0/sprockets%2F741e01ffc618da7e6ee5a5f3945c5499 +0 -0
  1822. data/test/dummy/tmp/cache/assets/D51/FD0/sprockets%2F8f7fe2bcf6a3682bfe40832d8d258098 +0 -0
  1823. data/test/dummy/tmp/cache/assets/D52/210/sprockets%2F0c6c258182a5a7ee4fb499eff8545a68 +0 -0
  1824. data/test/dummy/tmp/cache/assets/D52/3A0/sprockets%2F1f04f799cc97cceef1c984f78120441f +0 -0
  1825. data/test/dummy/tmp/cache/assets/D52/7B0/sprockets%2F7222c931fe78519f9cc9ccf345e6b7e1 +0 -0
  1826. data/test/dummy/tmp/cache/assets/D52/C10/sprockets%2Fdf92f8b92422d0c6196e986b0fa84d8d +0 -0
  1827. data/test/dummy/tmp/cache/assets/D52/D80/sprockets%2F5138aadb7a52a3ad1d4af165703360bd +0 -0
  1828. data/test/dummy/tmp/cache/assets/D53/070/sprockets%2F29887b939a9adbb8873cfb30b56c3e56 +0 -0
  1829. data/test/dummy/tmp/cache/assets/D53/0B0/sprockets%2F3ce0380426fadc73b3e4b21a4b305d6a +0 -0
  1830. data/test/dummy/tmp/cache/assets/D54/580/sprockets%2F69ee693f2337e2f1728399dcafe06b6c +0 -0
  1831. data/test/dummy/tmp/cache/assets/D54/590/sprockets%2F8a3d4f1829a4de0f63886028ef75efe6 +0 -0
  1832. data/test/dummy/tmp/cache/assets/D54/6D0/sprockets%2Fb6963f0e4a080df49a6956dff72591ff +0 -0
  1833. data/test/dummy/tmp/cache/assets/D54/6F0/sprockets%2F1d0a638a1dd4b3b5810da3be81d02e29 +0 -0
  1834. data/test/dummy/tmp/cache/assets/D54/860/sprockets%2F1f59eedd506ee9d285b6c631f87e2348 +0 -0
  1835. data/test/dummy/tmp/cache/assets/D54/D40/sprockets%2F8bf7c2fe4d4a3b4379ce3509ce827598 +0 -0
  1836. data/test/dummy/tmp/cache/assets/D54/E60/sprockets%2Fc730209ccf9b67f94d9da6252738dff6 +0 -0
  1837. data/test/dummy/tmp/cache/assets/D55/050/sprockets%2Ff8a1519f64f695a48b04fc494d7fce19 +0 -0
  1838. data/test/dummy/tmp/cache/assets/D55/3B0/sprockets%2F44413599bec29f9eef497bec466b91a3 +0 -0
  1839. data/test/dummy/tmp/cache/assets/D55/4E0/sprockets%2F5a973d4e0e4688e594eb63cfa5f2649c +0 -0
  1840. data/test/dummy/tmp/cache/assets/D55/880/sprockets%2F34928d8459d36e97d1eded237f5c3bf3 +0 -0
  1841. data/test/dummy/tmp/cache/assets/D55/AB0/sprockets%2F78cc27be14be303abe1e433ff002271b +0 -0
  1842. data/test/dummy/tmp/cache/assets/D55/BD0/sprockets%2Fb0f1d009a6c45a8184050ccaad0f625f +0 -0
  1843. data/test/dummy/tmp/cache/assets/D57/5C0/sprockets%2F2da710dd9256d942b03cfcac3602ca16 +0 -0
  1844. data/test/dummy/tmp/cache/assets/D57/730/sprockets%2F40eb1d78a46bf0f79687cf21d959ee85 +0 -0
  1845. data/test/dummy/tmp/cache/assets/D57/AC0/sprockets%2F33ea84ea0fb3021aa76691135ac4de0f +0 -0
  1846. data/test/dummy/tmp/cache/assets/D57/D80/sprockets%2F5ab6d5ee29c4c9d4e9652b8c50488a99 +0 -0
  1847. data/test/dummy/tmp/cache/assets/D57/D90/sprockets%2F263b732a422b1beaac8e30dbda198076 +0 -0
  1848. data/test/dummy/tmp/cache/assets/D58/8C0/sprockets%2F513d20cb6d72b9f39bbf979ff682d696 +0 -0
  1849. data/test/dummy/tmp/cache/assets/D58/DA0/sprockets%2F21200e25aa4eb27fe8bc2d5a25a874f0 +0 -0
  1850. data/test/dummy/tmp/cache/assets/D59/110/sprockets%2F2ec0c121af2f7eb46d4a164c3fd75032 +0 -0
  1851. data/test/dummy/tmp/cache/assets/D59/930/sprockets%2F220a1dbf7192adca0582f12665ceba47 +0 -0
  1852. data/test/dummy/tmp/cache/assets/D59/A10/sprockets%2Fb5b42410db439e79bbbc0dd4413c181d +0 -0
  1853. data/test/dummy/tmp/cache/assets/D59/C80/sprockets%2Fe8f792ea1f2a5de6742e7df3856494f4 +0 -0
  1854. data/test/dummy/tmp/cache/assets/D59/F50/sprockets%2F9f2c7e737ba13a57c6ff589292d86fa7 +0 -0
  1855. data/test/dummy/tmp/cache/assets/D5A/430/sprockets%2Fac7b33b9eb700ba71fa400a4552cf495 +0 -0
  1856. data/test/dummy/tmp/cache/assets/D5B/130/sprockets%2Fcef83ae8e7e6449d6eca77c857293055 +0 -0
  1857. data/test/dummy/tmp/cache/assets/D5B/260/sprockets%2F6879e30caa1f296ed0c48e8469989fbb +0 -0
  1858. data/test/dummy/tmp/cache/assets/D5B/9C0/sprockets%2Fca567b8e449bf9f055ae5bd9e7593359 +0 -0
  1859. data/test/dummy/tmp/cache/assets/D5B/BF0/sprockets%2F333e7d5ac1b4a512eee0f75f3a253b60 +0 -0
  1860. data/test/dummy/tmp/cache/assets/D5B/CD0/sprockets%2F6d8f1d103ecb952adc2baa442720692b +0 -0
  1861. data/test/dummy/tmp/cache/assets/D5B/E70/sprockets%2F1d7605e68cbf7122108b1dbbe2a24a6e +0 -0
  1862. data/test/dummy/tmp/cache/assets/D5C/060/sprockets%2F37c94f0ca9c109c8e7ec4698883eaf49 +0 -0
  1863. data/test/dummy/tmp/cache/assets/D5C/370/sprockets%2Ff6f72925d6c49e05e66faa4765fe8c57 +0 -0
  1864. data/test/dummy/tmp/cache/assets/D5C/430/sprockets%2F957422a30de2a26d2dae2def5c2b9320 +0 -0
  1865. data/test/dummy/tmp/cache/assets/D5C/7C0/sprockets%2F15ecba65509f6d4dc40d0d30b132bf39 +0 -0
  1866. data/test/dummy/tmp/cache/assets/D5C/AF0/sprockets%2Fd78d099f5f2b643966ae56fb9c94b38a +0 -0
  1867. data/test/dummy/tmp/cache/assets/D5C/F90/sprockets%2Fee2c3661a4544caac83916b15db071ae +0 -0
  1868. data/test/dummy/tmp/cache/assets/D5D/3B0/sprockets%2Fd5471e7133cf16e6a11bbee20f2a0b79 +0 -0
  1869. data/test/dummy/tmp/cache/assets/D5D/6A0/sprockets%2F6f3ce4b9a631e869f04f1f88e4f6783f +0 -0
  1870. data/test/dummy/tmp/cache/assets/D5D/6F0/sprockets%2F4d0b9aae508a3e10ecdd0b2f36283727 +0 -0
  1871. data/test/dummy/tmp/cache/assets/D5D/E70/sprockets%2F14c8120abdb1d9e80d0e71f7553aa84a +0 -0
  1872. data/test/dummy/tmp/cache/assets/D5E/470/sprockets%2Fed21b8ab1bd015d1eb827132abe96765 +0 -0
  1873. data/test/dummy/tmp/cache/assets/D5E/540/sprockets%2F989fc9956e6f8db3448a45ffca0e2834 +0 -0
  1874. data/test/dummy/tmp/cache/assets/D5E/7F0/sprockets%2F1ce2528ff4137bc28b310d70192ccdaf +0 -0
  1875. data/test/dummy/tmp/cache/assets/D5E/F40/sprockets%2F796de867fd6629cdddac27c884f77042 +0 -0
  1876. data/test/dummy/tmp/cache/assets/D5E/FF0/sprockets%2F16a29a82bcd0a5fc4eeba77012b60594 +0 -0
  1877. data/test/dummy/tmp/cache/assets/D5F/860/sprockets%2F2d0c3d64d14c238086a2ea4be4b15fd8 +0 -0
  1878. data/test/dummy/tmp/cache/assets/D5F/A40/sprockets%2F210ff6cd4eb7b47969889b99ed462cf5 +0 -0
  1879. data/test/dummy/tmp/cache/assets/D5F/DE0/sprockets%2Fe3e9357da07a01a5624f34f90b4cac2c +0 -0
  1880. data/test/dummy/tmp/cache/assets/D5F/F10/sprockets%2F1561addd40bda45d5c5c66f106f0157e +0 -0
  1881. data/test/dummy/tmp/cache/assets/D60/150/sprockets%2F43ad144a2b48d3a43acf3c8a26f5d393 +0 -0
  1882. data/test/dummy/tmp/cache/assets/D60/550/sprockets%2F7f69dde6b042535a50e04be0ef504db0 +0 -0
  1883. data/test/dummy/tmp/cache/assets/D60/760/sprockets%2Ff2488acab1571bcae10c7c23d5f64606 +0 -0
  1884. data/test/dummy/tmp/cache/assets/D60/7F0/sprockets%2F1b74fae303ee4342b07f231ccb853b9e +0 -0
  1885. data/test/dummy/tmp/cache/assets/D61/0A0/sprockets%2F379b37d8874599b67afd82ecfd3c892a +0 -0
  1886. data/test/dummy/tmp/cache/assets/D61/1E0/sprockets%2F2525c7f31cf412e0259a1feb68dc2c2c +0 -0
  1887. data/test/dummy/tmp/cache/assets/D61/290/sprockets%2Fc9f8e96feacec3e16f533698428348e7 +0 -0
  1888. data/test/dummy/tmp/cache/assets/D61/500/sprockets%2F2d4aaa4e27206670c2f90c48bfc33c6d +0 -0
  1889. data/test/dummy/tmp/cache/assets/D61/550/sprockets%2Fad72362d0158ce06f1d5b3bb95a3c18e +0 -0
  1890. data/test/dummy/tmp/cache/assets/D61/590/sprockets%2F10b1195e9b551779d1a1f41ac5dde5ab +0 -0
  1891. data/test/dummy/tmp/cache/assets/D61/A70/sprockets%2F80d5badad75248c606accd813d27235a +0 -0
  1892. data/test/dummy/tmp/cache/assets/D62/AC0/sprockets%2Fe923a17641d1cdb9a430439e4dabd2f4 +0 -0
  1893. data/test/dummy/tmp/cache/assets/D62/D00/sprockets%2Fbb112cb101c984bf728881d13ddc7d3d +0 -0
  1894. data/test/dummy/tmp/cache/assets/D62/D60/sprockets%2F445fcd788beb7311a3e01c084554cacb +0 -0
  1895. data/test/dummy/tmp/cache/assets/D62/E40/sprockets%2F20ec5093a0bdf38b6a0dc4136729f5dd +0 -0
  1896. data/test/dummy/tmp/cache/assets/D62/E70/sprockets%2F0777c54fb10d608e142dbdc660fae80a +0 -0
  1897. data/test/dummy/tmp/cache/assets/D63/190/sprockets%2Fbd70e9419cd66b14aa1bb3b0d616e783 +0 -0
  1898. data/test/dummy/tmp/cache/assets/D63/2C0/sprockets%2Fb29b4f22c11cdf82445a279ce2b3e08b +0 -0
  1899. data/test/dummy/tmp/cache/assets/D63/580/sprockets%2F03cf42442c9a0f798d2e3bb265b6dca1 +0 -0
  1900. data/test/dummy/tmp/cache/assets/D63/5B0/sprockets%2Fde6d630c9345ce06a5bf31c3f2d2a482 +0 -0
  1901. data/test/dummy/tmp/cache/assets/D63/C60/sprockets%2F232faf0ad8939d4700feb135e3b22bf6 +0 -0
  1902. data/test/dummy/tmp/cache/assets/D63/CF0/sprockets%2Fc2365f12ddb086ab82c1855e8a11e5ea +0 -0
  1903. data/test/dummy/tmp/cache/assets/D63/E80/sprockets%2F73ef5a22222bb8eb6077a1fa57da08d5 +0 -0
  1904. data/test/dummy/tmp/cache/assets/D64/0E0/sprockets%2Fa2d2eccd78b41ae522541165640efed7 +0 -0
  1905. data/test/dummy/tmp/cache/assets/D64/0F0/sprockets%2F4dab4a89380cac7b55ffc425c247103d +0 -0
  1906. data/test/dummy/tmp/cache/assets/D64/200/sprockets%2F76e44dde04df41070e90db2d4f3de232 +0 -0
  1907. data/test/dummy/tmp/cache/assets/D64/2C0/sprockets%2Fbe3e2f353562d4e253db14b4942cc9ba +0 -0
  1908. data/test/dummy/tmp/cache/assets/D64/3E0/sprockets%2F0a6e1743aaa90ed05f89e69db02fd042 +0 -0
  1909. data/test/dummy/tmp/cache/assets/D64/470/sprockets%2F64fc35191d5a0ea77ee0a5b16b1c9f51 +0 -0
  1910. data/test/dummy/tmp/cache/assets/D64/EC0/sprockets%2Febd1142b05d915ae2188315d4e6bee9a +0 -0
  1911. data/test/dummy/tmp/cache/assets/D64/FB0/sprockets%2F0a322e44c856469dc2aac61b4e8ac0f8 +0 -0
  1912. data/test/dummy/tmp/cache/assets/D65/0D0/sprockets%2F67a08a07bbdfa66813323ebdf632f4d2 +0 -0
  1913. data/test/dummy/tmp/cache/assets/D65/390/sprockets%2F5a8932bfeba07d1607613f62bf1b9e1b +0 -0
  1914. data/test/dummy/tmp/cache/assets/D65/760/sprockets%2F2a2bda980cf5457127a83de17ea4c3c4 +0 -0
  1915. data/test/dummy/tmp/cache/assets/D65/790/sprockets%2F2af45a2e4693e5d26d2aab1606f3a4f8 +0 -0
  1916. data/test/dummy/tmp/cache/assets/D65/7A0/sprockets%2F4e227e9ffe7b3dab051940801cd2fb42 +0 -0
  1917. data/test/dummy/tmp/cache/assets/D65/AB0/sprockets%2F6e53b6197c5eb11f5bc0ca1bf430b589 +0 -0
  1918. data/test/dummy/tmp/cache/assets/D65/F00/sprockets%2F3e71c0da28fc232d8817c52481ddc4cb +0 -0
  1919. data/test/dummy/tmp/cache/assets/D66/150/sprockets%2Fe66cc7f2bdbbc467b20a58f00812a936 +0 -0
  1920. data/test/dummy/tmp/cache/assets/D66/580/sprockets%2F6a12a93be78ba78bc1b4d8a532392da5 +0 -0
  1921. data/test/dummy/tmp/cache/assets/D66/610/sprockets%2Fcb8fee59849ef8f859aa853d091e2938 +0 -0
  1922. data/test/dummy/tmp/cache/assets/D66/680/sprockets%2Feac220c53d6b904767a143f4fd1f66cb +0 -0
  1923. data/test/dummy/tmp/cache/assets/D66/AA0/sprockets%2Fec6cda6a541188dc413a263fd6424c7c +0 -0
  1924. data/test/dummy/tmp/cache/assets/D66/B30/sprockets%2F6992569d033bfa4f4beb0af2132ce4b5 +0 -0
  1925. data/test/dummy/tmp/cache/assets/D66/BD0/sprockets%2F6a4c066ff4c7ce5e545a7c3133a31de3 +0 -0
  1926. data/test/dummy/tmp/cache/assets/D66/D60/sprockets%2Fd116910cf8d03281dfa078d9c81af3ca +0 -0
  1927. data/test/dummy/tmp/cache/assets/D66/F50/sprockets%2F3f8db65ac02247d21db75d02af68e9b1 +0 -0
  1928. data/test/dummy/tmp/cache/assets/D66/FF0/sprockets%2Fa7b86be98c5a2d12a8c24023e8ae26a5 +0 -0
  1929. data/test/dummy/tmp/cache/assets/D67/370/sprockets%2Facdaf6f0e62abf292b09712d9045e517 +0 -0
  1930. data/test/dummy/tmp/cache/assets/D67/4D0/sprockets%2F3e38546657770aba0636bc5bdfee1da0 +0 -0
  1931. data/test/dummy/tmp/cache/assets/D67/540/sprockets%2F2451fa1457a12b81ae27acc885d1cf9f +0 -0
  1932. data/test/dummy/tmp/cache/assets/D67/B20/sprockets%2F21d840a6b2f0d40810f667fd47affaf4 +0 -0
  1933. data/test/dummy/tmp/cache/assets/D67/F30/sprockets%2Fa1c2a19503d7136786bf4c98fdb0cda3 +0 -0
  1934. data/test/dummy/tmp/cache/assets/D68/4E0/sprockets%2F013c5d547bd5e3350f8f5fe1f4eb03e3 +0 -0
  1935. data/test/dummy/tmp/cache/assets/D68/7B0/sprockets%2F01f91bbce586ad5a7181d176fa5bc454 +0 -0
  1936. data/test/dummy/tmp/cache/assets/D68/A40/sprockets%2Fbcbde6fb3133581e518637e4fab224d5 +0 -0
  1937. data/test/dummy/tmp/cache/assets/D68/AC0/sprockets%2Fbe5cf99c151ee682d96f9588d57866cc +0 -0
  1938. data/test/dummy/tmp/cache/assets/D68/BA0/sprockets%2F5f1ba7106c2c359ba063f98f1dba38a9 +0 -0
  1939. data/test/dummy/tmp/cache/assets/D68/BB0/sprockets%2F5ee24cf41716a40da7a8c8dd1cc21488 +0 -0
  1940. data/test/dummy/tmp/cache/assets/D69/720/sprockets%2Fcfca87f8a37e2336a3b36d231326f7bb +0 -0
  1941. data/test/dummy/tmp/cache/assets/D69/E80/sprockets%2F1223e38f9d64debba29b6de61af70441 +0 -0
  1942. data/test/dummy/tmp/cache/assets/D6A/3D0/sprockets%2Fcf97f9bd0e343d50ae3b006654b65bd5 +0 -0
  1943. data/test/dummy/tmp/cache/assets/D6A/410/sprockets%2F8003e6c1bfdd8215d846b4a9b2d8d15d +0 -0
  1944. data/test/dummy/tmp/cache/assets/D6A/4F0/sprockets%2Fe4fa6346422a8dce6bad5025dd95a059 +0 -0
  1945. data/test/dummy/tmp/cache/assets/D6A/DF0/sprockets%2F44fc4a3f2b6657a6d1369aab8a3356cd +0 -0
  1946. data/test/dummy/tmp/cache/assets/D6B/110/sprockets%2Fdd0933d445b1d5fcb5c3718b956bb46a +0 -0
  1947. data/test/dummy/tmp/cache/assets/D6B/550/sprockets%2F11c395f147e050afeefb528d228ec4e4 +0 -0
  1948. data/test/dummy/tmp/cache/assets/D6B/950/sprockets%2F088ce0fca047df84da4162b4a57197ae +0 -0
  1949. data/test/dummy/tmp/cache/assets/D6B/960/sprockets%2Fa94ad11312cbf8b365c85da4c79f6a80 +0 -0
  1950. data/test/dummy/tmp/cache/assets/D6B/970/sprockets%2F1d2049a78db9cb5f916bc1123a785edb +0 -0
  1951. data/test/dummy/tmp/cache/assets/D6B/990/sprockets%2F24de0146ba11805f7ed595d1e19dfdf2 +0 -0
  1952. data/test/dummy/tmp/cache/assets/D6B/AD0/sprockets%2F6f2bc7cfcfc77277a912a6216db416d0 +0 -0
  1953. data/test/dummy/tmp/cache/assets/D6B/CB0/sprockets%2F17feb2110d6ccedb3694d955515b6a8b +0 -0
  1954. data/test/dummy/tmp/cache/assets/D6B/ED0/sprockets%2F0d47f0db16fd911acd461da4f6690d67 +0 -0
  1955. data/test/dummy/tmp/cache/assets/D6B/FF0/sprockets%2Ff807f9367e272ada8d2e137e31bbb5a2 +0 -0
  1956. data/test/dummy/tmp/cache/assets/D6C/4D0/sprockets%2F56c8e1e02c020eb9e6a54e4827dbe74c +0 -0
  1957. data/test/dummy/tmp/cache/assets/D6D/000/sprockets%2Fbf8570a4b7a458df4b0d8a190c9b38b3 +0 -0
  1958. data/test/dummy/tmp/cache/assets/D6D/5A0/sprockets%2F93cdc99cc7adf79210460311d71cfae4 +0 -0
  1959. data/test/dummy/tmp/cache/assets/D6D/5B0/sprockets%2F99c1095648b73ceac5e30e9b40fdb20d +0 -0
  1960. data/test/dummy/tmp/cache/assets/D6D/AB0/sprockets%2F3c94b5eff3b7d0b9750583b08240cfcc +0 -0
  1961. data/test/dummy/tmp/cache/assets/D6D/DF0/sprockets%2F839c9b7b20c2a49bd9516a84bec6a61a +0 -0
  1962. data/test/dummy/tmp/cache/assets/D6E/260/sprockets%2F9e08f2ce1f70279b622b9e1dfda1642c +0 -0
  1963. data/test/dummy/tmp/cache/assets/D6E/300/sprockets%2F3ad5a388b388247dd303bdbbf73b3f57 +0 -0
  1964. data/test/dummy/tmp/cache/assets/D6E/3D0/sprockets%2F2de147b15cce533a83e64b8ea6492ff1 +0 -0
  1965. data/test/dummy/tmp/cache/assets/D6E/470/sprockets%2F71df3138a1fe8b97f7fadb7dc1203714 +0 -0
  1966. data/test/dummy/tmp/cache/assets/D6E/6D0/sprockets%2Ffc7d3ba0ef7c52a8455bf1268a29623e +0 -0
  1967. data/test/dummy/tmp/cache/assets/D6F/0C0/sprockets%2F877dcbc20a7c9c5290c2430dc8cf2d95 +0 -0
  1968. data/test/dummy/tmp/cache/assets/D6F/590/sprockets%2F8944d5a80e04dc5ffc31a0e96f8c1f21 +0 -0
  1969. data/test/dummy/tmp/cache/assets/D6F/840/sprockets%2F6ab574d92e8d730d1b2c4afc5c6635b8 +0 -0
  1970. data/test/dummy/tmp/cache/assets/D6F/9D0/sprockets%2F175ffadaff090cf9a26072c1191ef476 +0 -0
  1971. data/test/dummy/tmp/cache/assets/D6F/B30/sprockets%2F891af7ae615030666e4a3d6d3beb9f2d +0 -0
  1972. data/test/dummy/tmp/cache/assets/D6F/FF0/sprockets%2Fc74fa24a4bb8a8c9e77cfd024536324e +0 -0
  1973. data/test/dummy/tmp/cache/assets/D70/1F0/sprockets%2F33fed3bb84d5fc46d5768330d03e5ef0 +0 -0
  1974. data/test/dummy/tmp/cache/assets/D70/710/sprockets%2F4ffb8a8a4d611869018aae84f17a2d4d +0 -0
  1975. data/test/dummy/tmp/cache/assets/D71/180/sprockets%2F2574c07ca5ce6516e7813cfc4327ffae +0 -0
  1976. data/test/dummy/tmp/cache/assets/D71/1B0/sprockets%2F6292986fc0a384bdb1bed92a6c6a294c +0 -0
  1977. data/test/dummy/tmp/cache/assets/D71/B60/sprockets%2F32bc9f57ad1fe2d506fd74cc913b8633 +0 -0
  1978. data/test/dummy/tmp/cache/assets/D72/210/sprockets%2F601cebd8e41a363fe7522e78a814bfd9 +0 -0
  1979. data/test/dummy/tmp/cache/assets/D72/260/sprockets%2F805c75a5e038c51b5bab63f7af785ef3 +0 -0
  1980. data/test/dummy/tmp/cache/assets/D72/530/sprockets%2F7aa68b6e5a14184724c816b06f8fdebd +0 -0
  1981. data/test/dummy/tmp/cache/assets/D72/550/sprockets%2Fdc8a1e3cc36d42587cd9c5750e703e4d +0 -0
  1982. data/test/dummy/tmp/cache/assets/D72/A70/sprockets%2F36ee7d5d6c2a8f6e74cfa1cd25259105 +0 -0
  1983. data/test/dummy/tmp/cache/assets/D72/AD0/sprockets%2F73ce023923f93c1f4dd858d329d4adda +0 -0
  1984. data/test/dummy/tmp/cache/assets/D72/B60/sprockets%2Ff4caba13e07f3458c6c603ca9de96098 +0 -0
  1985. data/test/dummy/tmp/cache/assets/D72/BE0/sprockets%2F88fc2b40cd6bb985b28a0c16808ade85 +0 -0
  1986. data/test/dummy/tmp/cache/assets/D72/CE0/sprockets%2Fbcea4cc992dbbf24281d0e85292667b6 +0 -0
  1987. data/test/dummy/tmp/cache/assets/D72/DF0/sprockets%2Ff47176999aaa4b50b1e4b3ffa58c255d +0 -0
  1988. data/test/dummy/tmp/cache/assets/D73/1B0/sprockets%2F75c7059fe58fbcc1cb01309e6aed7923 +0 -0
  1989. data/test/dummy/tmp/cache/assets/D73/1E0/sprockets%2F2028a62d96b8b021e87ea2c9dded688a +0 -0
  1990. data/test/dummy/tmp/cache/assets/D73/400/sprockets%2F0dc6b3f8a8f917a2d8f3923cd952ba43 +0 -0
  1991. data/test/dummy/tmp/cache/assets/D73/600/sprockets%2F7e3978b4100bece3fc9d5c61c31fc729 +0 -0
  1992. data/test/dummy/tmp/cache/assets/D73/830/sprockets%2F14dea579703e5a5dcc0f680a9b9c763c +0 -0
  1993. data/test/dummy/tmp/cache/assets/D73/920/sprockets%2F77a5d5acdcd4b3629277aa338f8d7e12 +0 -0
  1994. data/test/dummy/tmp/cache/assets/D73/B20/sprockets%2Fce034e90f2e3d630d09ac39e8782f6db +0 -0
  1995. data/test/dummy/tmp/cache/assets/D73/C10/sprockets%2Fe4408813823d9a881c9b12eaefdb5ef2 +0 -0
  1996. data/test/dummy/tmp/cache/assets/D74/730/sprockets%2F4ff3e7892bfe3b71c2813a34ffe2a654 +0 -0
  1997. data/test/dummy/tmp/cache/assets/D74/A30/sprockets%2Fb9a16284ea2f906ecfe15f36a88fb612 +0 -0
  1998. data/test/dummy/tmp/cache/assets/D74/AF0/sprockets%2Fac41667bf3be098b78246d4a741faf9a +0 -0
  1999. data/test/dummy/tmp/cache/assets/D74/BD0/sprockets%2F8cc50b95ff7a60e1b5628a2c883db54f +0 -0
  2000. data/test/dummy/tmp/cache/assets/D74/F00/sprockets%2F35bfb58f60c6bdd9076b5319d09d4b3f +0 -0
  2001. data/test/dummy/tmp/cache/assets/D74/FD0/sprockets%2F64dbb94566f1a107a8a455fa7cb76ff4 +0 -0
  2002. data/test/dummy/tmp/cache/assets/D75/2B0/sprockets%2F960435d4e7acc5e18decf3134e5df258 +0 -0
  2003. data/test/dummy/tmp/cache/assets/D75/2C0/sprockets%2F5580e9bd1b1d8e6bf3ea14e7b3568d73 +0 -0
  2004. data/test/dummy/tmp/cache/assets/D75/2D0/sprockets%2Fe39e053e9582b104e24e9b7d2edcb7a9 +0 -0
  2005. data/test/dummy/tmp/cache/assets/D75/420/sprockets%2F8fd813d3c06bf1cb2727c578384cfba9 +0 -0
  2006. data/test/dummy/tmp/cache/assets/D75/7B0/sprockets%2F2537b4b5fdfadf6053ce17e04f4f8890 +0 -0
  2007. data/test/dummy/tmp/cache/assets/D75/BB0/sprockets%2Feb3518880cfef75fa6a3873b0c3f307f +0 -0
  2008. data/test/dummy/tmp/cache/assets/D76/0E0/sprockets%2F33f18c25f3ed89ad276e43c3dae675d2 +0 -0
  2009. data/test/dummy/tmp/cache/assets/D76/670/sprockets%2F63bc78b4f8df84d0e1bc584fc636802a +0 -0
  2010. data/test/dummy/tmp/cache/assets/D76/6C0/sprockets%2F619dedc58b2e260e9b216ae485e34fd6 +0 -0
  2011. data/test/dummy/tmp/cache/assets/D76/740/sprockets%2F4b1a5581b16ee55d84da6f0d929ede65 +0 -0
  2012. data/test/dummy/tmp/cache/assets/D76/7B0/sprockets%2F58ef2a5a5d3c11dbd386ff366768be24 +0 -0
  2013. data/test/dummy/tmp/cache/assets/D76/7E0/sprockets%2F650e53bd32a8419c790dc9ef01ef7e9a +0 -0
  2014. data/test/dummy/tmp/cache/assets/D76/920/sprockets%2Ff7e0984c14c72fe461748e6bcc82c0bd +0 -0
  2015. data/test/dummy/tmp/cache/assets/D76/AF0/sprockets%2F2ce576e1efea17e381f625a88df04e16 +0 -0
  2016. data/test/dummy/tmp/cache/assets/D76/C20/sprockets%2Fc67cdf7b14fc589f68b2cb349b124c43 +0 -0
  2017. data/test/dummy/tmp/cache/assets/D77/010/sprockets%2F5beb73eeeb35746142ffc7497d4d2a54 +0 -0
  2018. data/test/dummy/tmp/cache/assets/D77/090/sprockets%2F73f172c5a4c42c57d53ed87cded7d427 +0 -0
  2019. data/test/dummy/tmp/cache/assets/D77/190/sprockets%2Fbbe597fc66514ba44231e1a83fd8ce98 +0 -0
  2020. data/test/dummy/tmp/cache/assets/D77/430/sprockets%2Fed6b89a0c3f2b7153d1937a99ffd360d +0 -0
  2021. data/test/dummy/tmp/cache/assets/D77/450/sprockets%2F5e321bdeefaf01a41af98f3e58824859 +0 -0
  2022. data/test/dummy/tmp/cache/assets/D77/5B0/sprockets%2F4f5ccf72b681c291f2f3c7d929a35bb7 +0 -0
  2023. data/test/dummy/tmp/cache/assets/D77/9B0/sprockets%2F9c114f8c77c699c1c75155d15ab6dfbb +0 -0
  2024. data/test/dummy/tmp/cache/assets/D77/AE0/sprockets%2F5668bbe7bf9792cfd8da59d01b7a1061 +0 -0
  2025. data/test/dummy/tmp/cache/assets/D77/C20/sprockets%2Fa02eda53d75b86e6c7429f8ea538e04e +0 -0
  2026. data/test/dummy/tmp/cache/assets/D78/1A0/sprockets%2F48db88a2a7fbc0c663be27cc938552c9 +0 -0
  2027. data/test/dummy/tmp/cache/assets/D78/780/sprockets%2Fdeeca354e12c8ebcd89967558b2b4505 +0 -0
  2028. data/test/dummy/tmp/cache/assets/D78/7B0/sprockets%2F26b674a8dec384b76fc39ee7241ddc06 +0 -0
  2029. data/test/dummy/tmp/cache/assets/D78/AF0/sprockets%2F99e5bb91d87451ad1e01fe3fe9ef4017 +0 -0
  2030. data/test/dummy/tmp/cache/assets/D79/4F0/sprockets%2Ff0b9f7193991dc74a2a2dec06eaf7990 +0 -0
  2031. data/test/dummy/tmp/cache/assets/D79/550/sprockets%2Ff3f804b18df8bd2952d33b5ff26c7d28 +0 -0
  2032. data/test/dummy/tmp/cache/assets/D79/740/sprockets%2F9026180d0eee8e48c1cf6c4be16d59f7 +0 -0
  2033. data/test/dummy/tmp/cache/assets/D7A/3F0/sprockets%2Fbf3d583f5ba468586a1db5f56e52ef61 +0 -0
  2034. data/test/dummy/tmp/cache/assets/D7B/0E0/sprockets%2F76df5edda070b0c17b5caa61132a303a +0 -0
  2035. data/test/dummy/tmp/cache/assets/D7B/230/sprockets%2F4e473cebde712a45d9879939c2e2bec1 +0 -0
  2036. data/test/dummy/tmp/cache/assets/D7B/260/sprockets%2F0d277dabe82a3ad3ec30ce2a14a52303 +0 -0
  2037. data/test/dummy/tmp/cache/assets/D7B/8B0/sprockets%2F17fce732f3ce6957611ea1f69cedd571 +0 -0
  2038. data/test/dummy/tmp/cache/assets/D7B/9C0/sprockets%2Ff3ce94c1f45e20a6f74da8fb849e5353 +0 -0
  2039. data/test/dummy/tmp/cache/assets/D7B/F40/sprockets%2Fb0ea1b768efb8e8e732928bcf530379c +0 -0
  2040. data/test/dummy/tmp/cache/assets/D7C/510/sprockets%2F51792eee7e8f3e3c4b3983fc4e0b96a0 +0 -0
  2041. data/test/dummy/tmp/cache/assets/D7C/530/sprockets%2F185e7a53a16cf20abab0b1013da4a9c7 +0 -0
  2042. data/test/dummy/tmp/cache/assets/D7C/C40/sprockets%2Fbc948d13a994b95d1f250eb7cdea1799 +0 -0
  2043. data/test/dummy/tmp/cache/assets/D7C/FB0/sprockets%2Fe8f0b9a5d83e431c3d687b93bd59e34c +0 -0
  2044. data/test/dummy/tmp/cache/assets/D7C/FD0/sprockets%2Fcd25fd762489e5a66a627b705a7fae8c +0 -0
  2045. data/test/dummy/tmp/cache/assets/D7D/680/sprockets%2F70e6dd79d693fca593c6e42a42534fde +0 -0
  2046. data/test/dummy/tmp/cache/assets/D7D/6B0/sprockets%2Fffb153cefdcc93107bb26ee973299377 +0 -0
  2047. data/test/dummy/tmp/cache/assets/D7D/920/sprockets%2F0300aeaf0de1fa392f1025d1f258bb3c +0 -0
  2048. data/test/dummy/tmp/cache/assets/D7D/B10/sprockets%2Fd9a65b96e6fabd9d045d957eb910c165 +0 -0
  2049. data/test/dummy/tmp/cache/assets/D7D/B10/sprockets%2Fe2e97e13d5d14ac9f868a362ef7d50c7 +0 -0
  2050. data/test/dummy/tmp/cache/assets/D7D/EA0/sprockets%2F538fa5b5f9fd9825a1c8f0ec03915ee6 +0 -0
  2051. data/test/dummy/tmp/cache/assets/D7D/EB0/sprockets%2F14fa9ab07afd1b4052fd1aa23b143f61 +0 -0
  2052. data/test/dummy/tmp/cache/assets/D7E/0B0/sprockets%2F643779cbba8d11c9e2eb528ffd5a4588 +0 -0
  2053. data/test/dummy/tmp/cache/assets/D7E/0D0/sprockets%2Fab73d771fed0a1998e9fe9514ce645b2 +0 -0
  2054. data/test/dummy/tmp/cache/assets/D7E/1A0/sprockets%2Fdf486db981c919371a42cc58caffd717 +0 -0
  2055. data/test/dummy/tmp/cache/assets/D7E/2E0/sprockets%2Fc7778ea99de21bd0506ad2d88b7772ed +0 -0
  2056. data/test/dummy/tmp/cache/assets/D7E/560/sprockets%2Fe54ec5189221ce385cdcd73eb9c3889a +0 -0
  2057. data/test/dummy/tmp/cache/assets/D7E/850/sprockets%2Fdb6ad325585d3ff7b7d446575e17dd9a +0 -0
  2058. data/test/dummy/tmp/cache/assets/D7E/D70/sprockets%2F91e9640cd916be3c33ecd97cf4376fe2 +0 -0
  2059. data/test/dummy/tmp/cache/assets/D7E/E60/sprockets%2Fe9c9bfeabf98e3403ff02021c677a898 +0 -0
  2060. data/test/dummy/tmp/cache/assets/D7F/080/sprockets%2F7511d57cb850c808dcda48e7bfb6e968 +0 -0
  2061. data/test/dummy/tmp/cache/assets/D7F/5C0/sprockets%2Fdf992dbdcd26ad9963f461f9b570270e +0 -0
  2062. data/test/dummy/tmp/cache/assets/D7F/A00/sprockets%2Fa938e14849c6af6006d4fd18e9f63deb +0 -0
  2063. data/test/dummy/tmp/cache/assets/D7F/AB0/sprockets%2F3af0782e9feb5df9e522505fd783f54b +0 -0
  2064. data/test/dummy/tmp/cache/assets/D7F/AC0/sprockets%2F29f29d0d2da6f272ca5dbf8826ed5787 +0 -0
  2065. data/test/dummy/tmp/cache/assets/D7F/B50/sprockets%2F68870658f9d7af2ea3cd8ead3a4346f3 +0 -0
  2066. data/test/dummy/tmp/cache/assets/D80/000/sprockets%2F77deac6031fb485e38f2ecf0f84677c7 +0 -0
  2067. data/test/dummy/tmp/cache/assets/D80/100/sprockets%2F7659e9f48a711ecf468fc5c2e3d3a42f +0 -0
  2068. data/test/dummy/tmp/cache/assets/D80/4A0/sprockets%2Fc0322f552fc7ddecd97889feaf544660 +0 -0
  2069. data/test/dummy/tmp/cache/assets/D80/720/sprockets%2Fedc921d9f96f2b7d68b2312f0347d9ff +0 -0
  2070. data/test/dummy/tmp/cache/assets/D80/730/sprockets%2F3f9f174f1045e0bddcf4ce3887596f7a +0 -0
  2071. data/test/dummy/tmp/cache/assets/D80/A00/sprockets%2Fdcdd788a82dd3d594a7a95089372fec0 +0 -0
  2072. data/test/dummy/tmp/cache/assets/D80/F00/sprockets%2F99f3e81bfe55e0a17f38598c4a4e7c0d +0 -0
  2073. data/test/dummy/tmp/cache/assets/D80/FA0/sprockets%2F3ef6904ed431cff977ca415fd457ec75 +0 -0
  2074. data/test/dummy/tmp/cache/assets/D81/200/sprockets%2Fcde5804f6925f2aa9d8f82bdb9e80960 +0 -0
  2075. data/test/dummy/tmp/cache/assets/D81/3B0/sprockets%2Fe2694a510e4ee49c9c3682bd4c8e76ef +0 -0
  2076. data/test/dummy/tmp/cache/assets/D81/A80/sprockets%2Fbeed9454c399e752c2bd365e58f8a4e1 +0 -0
  2077. data/test/dummy/tmp/cache/assets/D82/510/sprockets%2Ffc2d84d9484e82de8bd3204edc4558d9 +0 -0
  2078. data/test/dummy/tmp/cache/assets/D82/9C0/sprockets%2Fc5ffb04889e82819aeb546956da7ca5b +0 -0
  2079. data/test/dummy/tmp/cache/assets/D82/B60/sprockets%2Feda7e9086b9d09ed40ccb598e8a20994 +0 -0
  2080. data/test/dummy/tmp/cache/assets/D83/B30/sprockets%2F99bf9d4676359727ea4c7c91c71bbadc +0 -0
  2081. data/test/dummy/tmp/cache/assets/D83/FD0/sprockets%2F0f6d83f8774197ccf51bcfa3b73887cd +0 -0
  2082. data/test/dummy/tmp/cache/assets/D84/2E0/sprockets%2F65d3cce2c12c7ff8864738c338acff88 +0 -0
  2083. data/test/dummy/tmp/cache/assets/D85/050/sprockets%2Fd5cf44ed1bc6b22a2da566f014181b0d +0 -0
  2084. data/test/dummy/tmp/cache/assets/D85/3C0/sprockets%2F505849fee2f95e1c009dc56b859cff7b +0 -0
  2085. data/test/dummy/tmp/cache/assets/D85/460/sprockets%2F9692ef5b8c5e2f3352659f6a64baff7b +0 -0
  2086. data/test/dummy/tmp/cache/assets/D85/4F0/sprockets%2F0c5495b8ef9e647ac6b68efc85155f0e +0 -0
  2087. data/test/dummy/tmp/cache/assets/D85/9A0/sprockets%2F8c7269a7c4a7f26474a48fafdaf7f943 +0 -0
  2088. data/test/dummy/tmp/cache/assets/D86/6D0/sprockets%2Fdfcd0a634b6506b2339e7a13c160acdb +0 -0
  2089. data/test/dummy/tmp/cache/assets/D86/8B0/sprockets%2Ff347b2ca9e265abe21b3eedda2325004 +0 -0
  2090. data/test/dummy/tmp/cache/assets/D86/8D0/sprockets%2F01297d1e51cdfbcce40ca119a6af0291 +0 -0
  2091. data/test/dummy/tmp/cache/assets/D86/A60/sprockets%2F8332efdcd639e759be83060dd8b8d59d +0 -0
  2092. data/test/dummy/tmp/cache/assets/D87/470/sprockets%2F87dbc8969c4a3129ab6bc6d1599e7d7e +0 -0
  2093. data/test/dummy/tmp/cache/assets/D87/6A0/sprockets%2F3024cda74ce7bdc0ba63109371bca58c +0 -0
  2094. data/test/dummy/tmp/cache/assets/D87/CA0/sprockets%2F7acb8148c7874a46f4ae6f5f75c939ea +0 -0
  2095. data/test/dummy/tmp/cache/assets/D87/DE0/sprockets%2F7bc000a5f5d8b65381a03a0c0eafc9a8 +0 -0
  2096. data/test/dummy/tmp/cache/assets/D87/DE0/sprockets%2Fc5f4e0bb142bc8012baa649fe1b7804a +0 -0
  2097. data/test/dummy/tmp/cache/assets/D88/6E0/sprockets%2F2d8c8f5d9e37f75a0a9b68b5cb9485e4 +0 -0
  2098. data/test/dummy/tmp/cache/assets/D88/FF0/sprockets%2F3eef071767aaed7df6558367a9a94c8f +0 -0
  2099. data/test/dummy/tmp/cache/assets/D89/800/sprockets%2Fdb9ee8f27df0f998275d5683d5fb07a2 +0 -0
  2100. data/test/dummy/tmp/cache/assets/D89/A50/sprockets%2F41cb1394fafc7abb3bc2b4c2824647a1 +0 -0
  2101. data/test/dummy/tmp/cache/assets/D89/DF0/sprockets%2Fb8ca8ddcdf983496f377059c08f04e6f +0 -0
  2102. data/test/dummy/tmp/cache/assets/D8A/310/sprockets%2Fd0e01c2266c1b24db1bc158e2ad689ec +0 -0
  2103. data/test/dummy/tmp/cache/assets/D8B/150/sprockets%2F4fd00aad1dc612897da021f51761cdde +0 -0
  2104. data/test/dummy/tmp/cache/assets/D8B/600/sprockets%2F9eca92c03896a5795e29dae9549b4def +0 -0
  2105. data/test/dummy/tmp/cache/assets/D8B/830/sprockets%2F8ac41fd80222d4c3fcea24c74e01c24f +0 -0
  2106. data/test/dummy/tmp/cache/assets/D8B/F60/sprockets%2Fa9def494f7c9af6b76470759db7d75c0 +0 -0
  2107. data/test/dummy/tmp/cache/assets/D8C/040/sprockets%2Faf41f9126938112fcfbb0aa0e1d4f35c +0 -0
  2108. data/test/dummy/tmp/cache/assets/D8C/4A0/sprockets%2F6690479190c88cefdafc6fa781f93fe4 +0 -0
  2109. data/test/dummy/tmp/cache/assets/D8C/730/sprockets%2Fee55e710a1ca60d3e1b16ce45fd72a80 +0 -0
  2110. data/test/dummy/tmp/cache/assets/D8C/8D0/sprockets%2F86b26909aa44e265f9e7f7ddc89f3d7b +0 -0
  2111. data/test/dummy/tmp/cache/assets/D8C/DF0/sprockets%2F9913ce78d96ec81886b1dc37dee17af8 +0 -0
  2112. data/test/dummy/tmp/cache/assets/D8D/190/sprockets%2F81a3e60dea0c6e6a27930ba0d4d557bc +0 -0
  2113. data/test/dummy/tmp/cache/assets/D8D/1D0/sprockets%2F0106dd9cc3e02cfb7b7ea5a95a4a2561 +0 -0
  2114. data/test/dummy/tmp/cache/assets/D8D/1D0/sprockets%2F4a0deb3ad4d6092ff232e0b2d0787cb5 +0 -0
  2115. data/test/dummy/tmp/cache/assets/D8D/3D0/sprockets%2Fa8544ad386345d5602b5ecaebbea0f21 +0 -0
  2116. data/test/dummy/tmp/cache/assets/D8D/520/sprockets%2Fa63eeeb1e03332dbc79b344dc8ba2650 +0 -0
  2117. data/test/dummy/tmp/cache/assets/D8D/690/sprockets%2Ff1c775ec217ba4a2a4826cd7a5c3a4b2 +0 -0
  2118. data/test/dummy/tmp/cache/assets/D8E/050/sprockets%2Fa10db95bdc04a123f348f9c5b4b66fa1 +0 -0
  2119. data/test/dummy/tmp/cache/assets/D8E/490/sprockets%2Fb3bbafaeec7ec0d139168652b6a30660 +0 -0
  2120. data/test/dummy/tmp/cache/assets/D8E/5F0/sprockets%2F123b3f0aaa8ab1864ed5d6e29d2167ca +0 -0
  2121. data/test/dummy/tmp/cache/assets/D8E/7D0/sprockets%2F3b423339b9a58aa6dc2d31c6a65ba7ca +0 -0
  2122. data/test/dummy/tmp/cache/assets/D8E/8E0/sprockets%2Fb0085b1cac2fa3c4dd069337f6f3cb08 +0 -0
  2123. data/test/dummy/tmp/cache/assets/D8F/880/sprockets%2F1aea781830ad62c59bfdb0105c2d7cb9 +0 -0
  2124. data/test/dummy/tmp/cache/assets/D8F/880/sprockets%2F6142d4acf06317a0e6bd7eaedc630d74 +0 -0
  2125. data/test/dummy/tmp/cache/assets/D8F/910/sprockets%2F7d5608304cdbab9a0268c0aeff125aa9 +0 -0
  2126. data/test/dummy/tmp/cache/assets/D8F/950/sprockets%2F7e9bec4920660226bb1fbcca051ad4d8 +0 -0
  2127. data/test/dummy/tmp/cache/assets/D90/240/sprockets%2Fcf46450118b8f3035dbdfe16d0eea3b3 +0 -0
  2128. data/test/dummy/tmp/cache/assets/D90/980/sprockets%2F2f09c8074c7a0ae04c15ea39cb660fea +0 -0
  2129. data/test/dummy/tmp/cache/assets/D90/9F0/sprockets%2Fde504d63ac1099d80ce9ce127cb21b2c +0 -0
  2130. data/test/dummy/tmp/cache/assets/D90/C00/sprockets%2Fab691533f1127900c07c2debabd7ff5c +0 -0
  2131. data/test/dummy/tmp/cache/assets/D90/D90/sprockets%2F04de7f181beb223838a0749abccc1d6a +0 -0
  2132. data/test/dummy/tmp/cache/assets/D90/D90/sprockets%2Fd83620dddcc6284fa7a3cf29e1c0a232 +0 -0
  2133. data/test/dummy/tmp/cache/assets/D91/8C0/sprockets%2F69a1d40bebf6a37342dd10ff2140ee9d +0 -0
  2134. data/test/dummy/tmp/cache/assets/D91/B00/sprockets%2F0ef14a0b942c845028bae00ff7dcfb83 +0 -0
  2135. data/test/dummy/tmp/cache/assets/D92/040/sprockets%2F0552b8b24c29c61b4d7c4ab1f348edea +0 -0
  2136. data/test/dummy/tmp/cache/assets/D92/350/sprockets%2Fe4d921372a1656b3c0cbca2ff9a60ee5 +0 -0
  2137. data/test/dummy/tmp/cache/assets/D92/6A0/sprockets%2F3f4a4fe919134a90fa8ebb33a58b40aa +0 -0
  2138. data/test/dummy/tmp/cache/assets/D92/720/sprockets%2F5b4face0a381590dcceb7193e3343d2d +0 -0
  2139. data/test/dummy/tmp/cache/assets/D92/890/sprockets%2F62fb2a4be25fd586be41b0dba2c49922 +0 -0
  2140. data/test/dummy/tmp/cache/assets/D92/A70/sprockets%2F2bcbeb2844be03b4b7e8360c15f98b2a +0 -0
  2141. data/test/dummy/tmp/cache/assets/D92/F40/sprockets%2Fed082888eb327fe45fef49d795af1f87 +0 -0
  2142. data/test/dummy/tmp/cache/assets/D93/090/sprockets%2F156a2a85d3d5e762c16aefdd6fa2b313 +0 -0
  2143. data/test/dummy/tmp/cache/assets/D93/5E0/sprockets%2Fbbf15a3789bac5f814c71ba5ca20e465 +0 -0
  2144. data/test/dummy/tmp/cache/assets/D93/F00/sprockets%2F2ba869ab341ca37f23fad244dde2a279 +0 -0
  2145. data/test/dummy/tmp/cache/assets/D94/2F0/sprockets%2Fa2c5fc3aeb5c324d627c470d5ec1646e +0 -0
  2146. data/test/dummy/tmp/cache/assets/D94/890/sprockets%2F2b94cea2022c41c5dede8ae3e3b97281 +0 -0
  2147. data/test/dummy/tmp/cache/assets/D94/CA0/sprockets%2F75e7eecfe153f1887f36dff6784fd159 +0 -0
  2148. data/test/dummy/tmp/cache/assets/D94/DD0/sprockets%2F5daec387012d6ac7fa18308f72de0b6a +0 -0
  2149. data/test/dummy/tmp/cache/assets/D95/520/sprockets%2F33bd6dfe5c00aa43d1ea876bb44a6578 +0 -0
  2150. data/test/dummy/tmp/cache/assets/D95/740/sprockets%2Fcd50ae7710f3d5fe0a830bc9eec26039 +0 -0
  2151. data/test/dummy/tmp/cache/assets/D95/C60/sprockets%2F29af5d21e0bd908bd45226fa3de9ec11 +0 -0
  2152. data/test/dummy/tmp/cache/assets/D96/240/sprockets%2F86a05986a3bad6ea7fd18ce16c2b0b42 +0 -0
  2153. data/test/dummy/tmp/cache/assets/D96/240/sprockets%2Fff9b4efbe49d65b80d2d121640aa840a +0 -0
  2154. data/test/dummy/tmp/cache/assets/D96/580/sprockets%2F6fcae2137e71a0b9ad0c6ce48740be29 +0 -0
  2155. data/test/dummy/tmp/cache/assets/D96/5B0/sprockets%2Fbce441e010b4da916725de2ede99e1a6 +0 -0
  2156. data/test/dummy/tmp/cache/assets/D96/780/sprockets%2F3bcb836f508c1b30f559ab5bdc3f344e +0 -0
  2157. data/test/dummy/tmp/cache/assets/D96/9A0/sprockets%2Fec9907bade1891db6bc20180a843cec3 +0 -0
  2158. data/test/dummy/tmp/cache/assets/D96/B40/sprockets%2F90a85be6000c45257cc63dec8c1bcf8b +0 -0
  2159. data/test/dummy/tmp/cache/assets/D96/BD0/sprockets%2Febabcba3d82ef0278f9402ba24f29950 +0 -0
  2160. data/test/dummy/tmp/cache/assets/D96/E80/sprockets%2Fbd9f655dd12709f8b5aadfa16b0f0720 +0 -0
  2161. data/test/dummy/tmp/cache/assets/D96/EE0/sprockets%2Fdaf746b24a37f32faf161e018f93ca4c +0 -0
  2162. data/test/dummy/tmp/cache/assets/D97/150/sprockets%2F50048750bbbe1bb32fe83a8a6f9cd52f +0 -0
  2163. data/test/dummy/tmp/cache/assets/D97/3D0/sprockets%2F44b63b15cae4c6f7d5b04ed3754f41be +0 -0
  2164. data/test/dummy/tmp/cache/assets/D97/420/sprockets%2F8e834e0e5c0fd8de55d5a45200ad91ac +0 -0
  2165. data/test/dummy/tmp/cache/assets/D97/520/sprockets%2Fbfb270b07453b284dca3ecdb95ca7179 +0 -0
  2166. data/test/dummy/tmp/cache/assets/D97/680/sprockets%2F45bdc5ddcb2f81c449e13a775b2bc651 +0 -0
  2167. data/test/dummy/tmp/cache/assets/D97/8E0/sprockets%2F00fa20f763bafd6ae82c8f3d1c70d774 +0 -0
  2168. data/test/dummy/tmp/cache/assets/D97/A10/sprockets%2Ff1fe3b6160ec3da42f287aed3d3235c9 +0 -0
  2169. data/test/dummy/tmp/cache/assets/D97/C80/sprockets%2F5e0eb6a40b9b9d214d8cb3935c8dad41 +0 -0
  2170. data/test/dummy/tmp/cache/assets/D97/F90/sprockets%2F4ed9ede531aa0b2b7ae19ec6a6783530 +0 -0
  2171. data/test/dummy/tmp/cache/assets/D98/0E0/sprockets%2Fde97f1af4c83632e5a03dc3043c8b5af +0 -0
  2172. data/test/dummy/tmp/cache/assets/D98/620/sprockets%2F4739cf0d47eb5ca845b2e43bfc7d0c21 +0 -0
  2173. data/test/dummy/tmp/cache/assets/D98/6E0/sprockets%2F05b7f7fbcaf3804c457ae14c0bb285c9 +0 -0
  2174. data/test/dummy/tmp/cache/assets/D98/A50/sprockets%2F0523ed18a9ed1f98e35ba5f38c1fab20 +0 -0
  2175. data/test/dummy/tmp/cache/assets/D98/E50/sprockets%2Faef92317051bbb1338e0ffd234d99daf +0 -0
  2176. data/test/dummy/tmp/cache/assets/D99/270/sprockets%2Fb6e2851b3cb1de64b763a733fb2d73df +0 -0
  2177. data/test/dummy/tmp/cache/assets/D99/3B0/sprockets%2Ff16c9f0ce8f0ad8036433b8ddc30fe41 +0 -0
  2178. data/test/dummy/tmp/cache/assets/D99/540/sprockets%2F54daaf4bbbfb679b5175a258f0580c5a +0 -0
  2179. data/test/dummy/tmp/cache/assets/D99/550/sprockets%2F4f1ced696bba05434d705a9e16bbf34e +0 -0
  2180. data/test/dummy/tmp/cache/assets/D99/9F0/sprockets%2Fa0d4d37b20b6df5f06092917eb7febe3 +0 -0
  2181. data/test/dummy/tmp/cache/assets/D99/B80/sprockets%2F51f06ed4d0554dd5b308a8a70fc7dad8 +0 -0
  2182. data/test/dummy/tmp/cache/assets/D9A/CD0/sprockets%2F8de942d2fae072b4bda81e0f0570d95d +0 -0
  2183. data/test/dummy/tmp/cache/assets/D9B/500/sprockets%2F19629c0bef01845ebb045a81d7cfe6dc +0 -0
  2184. data/test/dummy/tmp/cache/assets/D9B/830/sprockets%2Fb6c854eff56bcf61aa456259233c2aea +0 -0
  2185. data/test/dummy/tmp/cache/assets/D9B/890/sprockets%2F5fbe783dc1df2d081a95b1fea3700a89 +0 -0
  2186. data/test/dummy/tmp/cache/assets/D9B/C30/sprockets%2F16ae5460a9ba6ac7d19afd0c50f953d9 +0 -0
  2187. data/test/dummy/tmp/cache/assets/D9B/D60/sprockets%2Fcfedc7bc416b3291dcb16761509eb8d3 +0 -0
  2188. data/test/dummy/tmp/cache/assets/D9B/D80/sprockets%2Faba1c493f2a8d60f352727aedf4b557e +0 -0
  2189. data/test/dummy/tmp/cache/assets/D9B/EB0/sprockets%2Fbccb6fe3223846961bdabb25a4095fe8 +0 -0
  2190. data/test/dummy/tmp/cache/assets/D9C/230/sprockets%2F5126f140ae32b9557afd23d7f8cbdbc9 +0 -0
  2191. data/test/dummy/tmp/cache/assets/D9C/3B0/sprockets%2F753bd274643e017fee5cbe0ec9ee04d2 +0 -0
  2192. data/test/dummy/tmp/cache/assets/D9C/830/sprockets%2F262d680e9978a830c4b9db0ccac64cba +0 -0
  2193. data/test/dummy/tmp/cache/assets/D9C/920/sprockets%2F8fdd5d884c80b3ff0b5e63ccc0453e11 +0 -0
  2194. data/test/dummy/tmp/cache/assets/D9C/A00/sprockets%2F693526f5730d6efccbae008e0c348fca +0 -0
  2195. data/test/dummy/tmp/cache/assets/D9C/CA0/sprockets%2F38552a482bd034bdebb8dafe16b8e448 +0 -0
  2196. data/test/dummy/tmp/cache/assets/D9C/CA0/sprockets%2F81e4c6aa40ffcb2dd9a756391fac5660 +0 -0
  2197. data/test/dummy/tmp/cache/assets/D9C/E60/sprockets%2Fec59dcd3aa8d87bf031a0cf41a084995 +0 -0
  2198. data/test/dummy/tmp/cache/assets/D9C/F80/sprockets%2F92177152ae69fdafa3d0446ebb7ac71f +0 -0
  2199. data/test/dummy/tmp/cache/assets/D9D/240/sprockets%2Fabd46ee901845237db0ead67fce673d0 +0 -0
  2200. data/test/dummy/tmp/cache/assets/D9D/450/sprockets%2Fcc373a7814f46e9e68d3cb8ab0ec6a20 +0 -0
  2201. data/test/dummy/tmp/cache/assets/D9D/660/sprockets%2F72b3ef3c70cb276766e5fb2d2bff2e14 +0 -0
  2202. data/test/dummy/tmp/cache/assets/D9D/700/sprockets%2F7843bf281aaa9b81391767dbb3fabca8 +0 -0
  2203. data/test/dummy/tmp/cache/assets/D9D/940/sprockets%2Fafb8efc8d08a26c3335ff3640db8b074 +0 -0
  2204. data/test/dummy/tmp/cache/assets/D9D/D20/sprockets%2F8905ebdedf20eb708ab7c2445b3833df +0 -0
  2205. data/test/dummy/tmp/cache/assets/D9D/DF0/sprockets%2F14d420aaa32413baa042bddcad2811ee +0 -0
  2206. data/test/dummy/tmp/cache/assets/D9D/E00/sprockets%2F62f7d32b35fb23cc6360fbedd75c6e17 +0 -0
  2207. data/test/dummy/tmp/cache/assets/D9D/E10/sprockets%2F75f56ca3a7a4b2b2e57ea289ec91a62c +0 -0
  2208. data/test/dummy/tmp/cache/assets/D9D/ED0/sprockets%2F823cdb7734aa042f363e8befdbc8367a +0 -0
  2209. data/test/dummy/tmp/cache/assets/D9D/ED0/sprockets%2Ff6d62e6a1bf51a917bed5a28184e53fa +0 -0
  2210. data/test/dummy/tmp/cache/assets/D9E/190/sprockets%2F2ee4d943af5dd25b6a9cf42a4f4d6306 +0 -0
  2211. data/test/dummy/tmp/cache/assets/D9E/5E0/sprockets%2F468b16b0cb34e9d09ac36ff74180bcff +0 -0
  2212. data/test/dummy/tmp/cache/assets/D9E/690/sprockets%2F68ab8c1d75a9b4a2ae4b123e77be99c1 +0 -0
  2213. data/test/dummy/tmp/cache/assets/D9E/750/sprockets%2F3ab32a9aab15487d6b9be355c37dfe92 +0 -0
  2214. data/test/dummy/tmp/cache/assets/D9E/7A0/sprockets%2Fb11b94cd6be9b556afbc550e1438e9b5 +0 -0
  2215. data/test/dummy/tmp/cache/assets/D9F/280/sprockets%2F35ad5fcec037a9fcdf43a55c925a9730 +0 -0
  2216. data/test/dummy/tmp/cache/assets/D9F/680/sprockets%2Fedd2d4c5656b3b159d6eb04bef0289a7 +0 -0
  2217. data/test/dummy/tmp/cache/assets/D9F/6B0/sprockets%2Fc8fc14cce588a0bb6514e68c43d15b6f +0 -0
  2218. data/test/dummy/tmp/cache/assets/D9F/6E0/sprockets%2Fbb0a236a70758a95bbcb8e66e588c2cd +0 -0
  2219. data/test/dummy/tmp/cache/assets/D9F/700/sprockets%2F2588f3481ab1859aff3cbc0e9dd0c2d5 +0 -0
  2220. data/test/dummy/tmp/cache/assets/D9F/790/sprockets%2F4d9649c0c0fdecf285b30fa1474b59db +0 -0
  2221. data/test/dummy/tmp/cache/assets/D9F/9C0/sprockets%2Fffc7d816802d6a5085e5b3e3f93bb4aa +0 -0
  2222. data/test/dummy/tmp/cache/assets/D9F/A40/sprockets%2Fda603c8efc43cd83b238627eebf591c1 +0 -0
  2223. data/test/dummy/tmp/cache/assets/DA0/120/sprockets%2F1dae5fb238ce54be6de6f83f3c302628 +0 -0
  2224. data/test/dummy/tmp/cache/assets/DA0/2C0/sprockets%2Fc509492337bcf5c07fd36f1d55ccc4fb +0 -0
  2225. data/test/dummy/tmp/cache/assets/DA0/6A0/sprockets%2F64ef7b9a2cab3451d2256c5be08fb7f8 +0 -0
  2226. data/test/dummy/tmp/cache/assets/DA0/730/sprockets%2F06dc5952fd6bd4577e9ea2b800cc3b5e +0 -0
  2227. data/test/dummy/tmp/cache/assets/DA0/AF0/sprockets%2Ffd5bb98b534294f62b14ee8cd1b0e29b +0 -0
  2228. data/test/dummy/tmp/cache/assets/DA1/330/sprockets%2Fc31e85029f1c94c22757fffa32e7abfc +0 -0
  2229. data/test/dummy/tmp/cache/assets/DA1/480/sprockets%2Fe751abde7804d66263e93ee7e1bbf03d +0 -0
  2230. data/test/dummy/tmp/cache/assets/DA1/4C0/sprockets%2Fe2f4888fb4302a6bfe7f729ccb074aa3 +0 -0
  2231. data/test/dummy/tmp/cache/assets/DA1/4E0/sprockets%2F25ee9aeeca7f9706b117dae5f79152a0 +0 -0
  2232. data/test/dummy/tmp/cache/assets/DA1/620/sprockets%2Ff46117893705b0f59fae35babd8cc1ee +0 -0
  2233. data/test/dummy/tmp/cache/assets/DA1/AC0/sprockets%2Fd0938e403e53c41dd397bebfc38c3ae8 +0 -0
  2234. data/test/dummy/tmp/cache/assets/DA1/BE0/sprockets%2F4571a9660eeadd8a7dbc0977b0ddb564 +0 -0
  2235. data/test/dummy/tmp/cache/assets/DA2/210/sprockets%2Fcf1005ebeb968dc1a3ecd75b93391c79 +0 -0
  2236. data/test/dummy/tmp/cache/assets/DA2/250/sprockets%2Fd07b798cc1eda20971c7f55c843eeea1 +0 -0
  2237. data/test/dummy/tmp/cache/assets/DA2/4A0/sprockets%2F670f4ee452da78be3f04a9a2b13f76ff +0 -0
  2238. data/test/dummy/tmp/cache/assets/DA2/720/sprockets%2F5839bafde83c10bce89de12e12f884c0 +0 -0
  2239. data/test/dummy/tmp/cache/assets/DA2/900/sprockets%2F1cbafbc425d5ab9ea9052687c35a98f6 +0 -0
  2240. data/test/dummy/tmp/cache/assets/DA2/990/sprockets%2F41dbab3891e458ea9da2ee49acd08295 +0 -0
  2241. data/test/dummy/tmp/cache/assets/DA2/A00/sprockets%2Fbba663f59b4fb86f900bd856bfcb5125 +0 -0
  2242. data/test/dummy/tmp/cache/assets/DA2/C20/sprockets%2Fd1af091c8ebf55de949cfb5b431167e2 +0 -0
  2243. data/test/dummy/tmp/cache/assets/DA3/310/sprockets%2F81215b7f845fbe20efd6db7f15c1dc77 +0 -0
  2244. data/test/dummy/tmp/cache/assets/DA3/7B0/sprockets%2Fb20f9d42c879feea70b12b6fe9a7443c +0 -0
  2245. data/test/dummy/tmp/cache/assets/DA3/BE0/sprockets%2F77794cc60c4f48ea4b38e1f3cfbee230 +0 -0
  2246. data/test/dummy/tmp/cache/assets/DA4/160/sprockets%2Fa219e9635b17ec93e0bc88fe03aae4f8 +0 -0
  2247. data/test/dummy/tmp/cache/assets/DA4/210/sprockets%2Fe226ea6c238496afd62bb59d6b93af2d +0 -0
  2248. data/test/dummy/tmp/cache/assets/DA4/440/sprockets%2Ff72d59f3ce546ce02fedb09f6423cc71 +0 -0
  2249. data/test/dummy/tmp/cache/assets/DA4/570/sprockets%2F9cb40f555575a9ebc3df1fc70ff350a9 +0 -0
  2250. data/test/dummy/tmp/cache/assets/DA4/7D0/sprockets%2Ff785329b1ea2cd8b6aecafb93316892c +0 -0
  2251. data/test/dummy/tmp/cache/assets/DA4/E60/sprockets%2F9cc625acbeceed27b29b6240774f564e +0 -0
  2252. data/test/dummy/tmp/cache/assets/DA5/4E0/sprockets%2F7ee781cfeeb8b125b6449b27ace16a84 +0 -0
  2253. data/test/dummy/tmp/cache/assets/DA5/670/sprockets%2Faf276cef126bb7e149702ae3e4d9ed49 +0 -0
  2254. data/test/dummy/tmp/cache/assets/DA5/7D0/sprockets%2F9e21aaec784efd03d75b6260c838f9ca +0 -0
  2255. data/test/dummy/tmp/cache/assets/DA5/850/sprockets%2Fd349efeb6bc4a914c6c961bea4f56408 +0 -0
  2256. data/test/dummy/tmp/cache/assets/DA5/B00/sprockets%2F9a65bfffad606825b2df851d823b77ba +0 -0
  2257. data/test/dummy/tmp/cache/assets/DA5/D50/sprockets%2F506747a2fdb15aacde9e38e4398f3a5d +0 -0
  2258. data/test/dummy/tmp/cache/assets/DA6/AF0/sprockets%2F6e8c46cad9893b1bd8af6e35130dee26 +0 -0
  2259. data/test/dummy/tmp/cache/assets/DA6/B40/sprockets%2Fb8d0ca6785a2c51f875de5ebf5e760b4 +0 -0
  2260. data/test/dummy/tmp/cache/assets/DA6/E70/sprockets%2F9b696267509c0edcbd4d5fe5b39da42b +0 -0
  2261. data/test/dummy/tmp/cache/assets/DA6/FC0/sprockets%2Fa9a778bdcdfa61b7a896175bece25271 +0 -0
  2262. data/test/dummy/tmp/cache/assets/DA7/180/sprockets%2Fd73e504186ef5af78cdf7c24cfc3f620 +0 -0
  2263. data/test/dummy/tmp/cache/assets/DA7/2E0/sprockets%2F4ad87d35f9e6da4d35a39e9d503cc1a9 +0 -0
  2264. data/test/dummy/tmp/cache/assets/DA7/670/sprockets%2F7b1860c85ed37bbedb85689652dae2bb +0 -0
  2265. data/test/dummy/tmp/cache/assets/DA7/690/sprockets%2Fc49a7fa0c7dc57f03aa9f4fdb3994291 +0 -0
  2266. data/test/dummy/tmp/cache/assets/DA7/E80/sprockets%2Fa0227f61714ce886a5ee8c2dafed6e75 +0 -0
  2267. data/test/dummy/tmp/cache/assets/DA7/EC0/sprockets%2Fb6fb402b414a93e9155ff708edbf99ea +0 -0
  2268. data/test/dummy/tmp/cache/assets/DA8/670/sprockets%2F7fa8cffb6c3f4080dc45367eb638b80e +0 -0
  2269. data/test/dummy/tmp/cache/assets/DA8/7A0/sprockets%2Febee8835fef38639b31ed381026aeb4f +0 -0
  2270. data/test/dummy/tmp/cache/assets/DA8/9D0/sprockets%2Fcae25fa34b675c9c4c476bcc58e73c57 +0 -0
  2271. data/test/dummy/tmp/cache/assets/DA8/B70/sprockets%2F3ddd853d4c7253dc5ab53748cc7e4f5f +0 -0
  2272. data/test/dummy/tmp/cache/assets/DA9/0F0/sprockets%2Fc5ee1745b2af4a8400b8ffd943e89cf5 +0 -0
  2273. data/test/dummy/tmp/cache/assets/DA9/520/sprockets%2Feb3fb449864678a9bf1b81fd651aa4fc +0 -0
  2274. data/test/dummy/tmp/cache/assets/DA9/6C0/sprockets%2Fcab86eb3c55f4cec292978700c79bfb4 +0 -0
  2275. data/test/dummy/tmp/cache/assets/DA9/6C0/sprockets%2Fff22f389eaabe920d9917593f53d0add +0 -0
  2276. data/test/dummy/tmp/cache/assets/DA9/B10/sprockets%2Feee74b1f0ee7c04ce8a936a84634f9b4 +0 -0
  2277. data/test/dummy/tmp/cache/assets/DA9/B50/sprockets%2F33bf06585f1ea78e692c673fbd5fddc0 +0 -0
  2278. data/test/dummy/tmp/cache/assets/DAA/3C0/sprockets%2Fd98d9a4aacaf34f7c2c80215ee96a588 +0 -0
  2279. data/test/dummy/tmp/cache/assets/DAA/A70/sprockets%2Ff91185ef25f2a8cc36a7ec6f9f6114fa +0 -0
  2280. data/test/dummy/tmp/cache/assets/DAA/AC0/sprockets%2F3c3b0b95fdbaa97909ef9294cb5465dc +0 -0
  2281. data/test/dummy/tmp/cache/assets/DAA/D30/sprockets%2Fba92440f66d3ab82ccfcd4f86e899a16 +0 -0
  2282. data/test/dummy/tmp/cache/assets/DAA/FD0/sprockets%2Fed079f328d7bec564dc4ce6c43792dd1 +0 -0
  2283. data/test/dummy/tmp/cache/assets/DAB/300/sprockets%2Fe822e0c7ed2416485de1f78ded67ed0f +0 -0
  2284. data/test/dummy/tmp/cache/assets/DAB/5A0/sprockets%2F567452effadda63e1508f90dbbd749d8 +0 -0
  2285. data/test/dummy/tmp/cache/assets/DAB/6A0/sprockets%2F12f3e9f27333f32b79e8bc767becabe8 +0 -0
  2286. data/test/dummy/tmp/cache/assets/DAB/B40/sprockets%2Fe7a1c88beb7a5f83f45fb0e891d7238a +0 -0
  2287. data/test/dummy/tmp/cache/assets/DAC/C10/sprockets%2Fcaf97fa0f6dc423148fc81fcc9a95745 +0 -0
  2288. data/test/dummy/tmp/cache/assets/DAC/F40/sprockets%2F3fe1cc6f892dead945802da28ef59e05 +0 -0
  2289. data/test/dummy/tmp/cache/assets/DAD/170/sprockets%2F33a1add4ee0283afc041dc1f00089bbc +0 -0
  2290. data/test/dummy/tmp/cache/assets/DAD/970/sprockets%2Ff79fae2ac5d828366ed1bf9c37c90a19 +0 -0
  2291. data/test/dummy/tmp/cache/assets/DAD/C30/sprockets%2Fc367fd7fbb14376f138cb80c5e8dfd84 +0 -0
  2292. data/test/dummy/tmp/cache/assets/DAD/D40/sprockets%2F6d8bbc6aa4f33f5a67f0890b89a8da96 +0 -0
  2293. data/test/dummy/tmp/cache/assets/DAE/8E0/sprockets%2Faee3dc2a887eeee336ef1893818372bd +0 -0
  2294. data/test/dummy/tmp/cache/assets/DAE/EC0/sprockets%2F709cc8de3d84dd37b9f9890b46ba2ec2 +0 -0
  2295. data/test/dummy/tmp/cache/assets/DAE/F00/sprockets%2F872b872dfa0f87e987bff32f5a1a54be +0 -0
  2296. data/test/dummy/tmp/cache/assets/DAF/0B0/sprockets%2F127d0c8a454b2b959c5effcc6ff7d829 +0 -0
  2297. data/test/dummy/tmp/cache/assets/DAF/250/sprockets%2Fbea10954ca85a6d397d894df6c8b8ed2 +0 -0
  2298. data/test/dummy/tmp/cache/assets/DAF/790/sprockets%2F87f6dce871aee8d0ae1345c1dd799b56 +0 -0
  2299. data/test/dummy/tmp/cache/assets/DB0/5E0/sprockets%2F111dcb8dd1015bcb905d15ca50d5ef3b +0 -0
  2300. data/test/dummy/tmp/cache/assets/DB0/960/sprockets%2Fdca36b7d8f8dc27d38094987cf2aae55 +0 -0
  2301. data/test/dummy/tmp/cache/assets/DB0/D90/sprockets%2Fc73eda334eac400b1cc12732b90dde0f +0 -0
  2302. data/test/dummy/tmp/cache/assets/DB1/010/sprockets%2Fe4b277e9d34f824ce15c697ff7d1aca9 +0 -0
  2303. data/test/dummy/tmp/cache/assets/DB2/A30/sprockets%2Fdf6f888ba2c274b3982978dc7b30dbfd +0 -0
  2304. data/test/dummy/tmp/cache/assets/DB2/FF0/sprockets%2F42d355fbbe8da4ff9d9c27695194dc5c +0 -0
  2305. data/test/dummy/tmp/cache/assets/DB3/2B0/sprockets%2F89f4a28a5f96c6c9dd5043abe7c5ed85 +0 -0
  2306. data/test/dummy/tmp/cache/assets/DB3/2E0/sprockets%2F67b0e900efa0080eaa416eb03cd2db8c +0 -0
  2307. data/test/dummy/tmp/cache/assets/DB3/3A0/sprockets%2F0fec5ca6626996faa5b0d6569fc98e5c +0 -0
  2308. data/test/dummy/tmp/cache/assets/DB3/3F0/sprockets%2F8b3975e48c4b9ca4685fbd9d0ca595eb +0 -0
  2309. data/test/dummy/tmp/cache/assets/DB3/400/sprockets%2Fb34576fbf3a08f9e99aed924aa68b79a +0 -0
  2310. data/test/dummy/tmp/cache/assets/DB3/560/sprockets%2F09265ecfe8875619e47c3f4deda73cdc +0 -0
  2311. data/test/dummy/tmp/cache/assets/DB3/9C0/sprockets%2Ff15f826b5db25c2055ce9dff84898eeb +0 -0
  2312. data/test/dummy/tmp/cache/assets/DB3/B20/sprockets%2F2c83285ff94ab2f4a688c71eafffa399 +0 -0
  2313. data/test/dummy/tmp/cache/assets/DB4/4F0/sprockets%2F296e2f64ef5c7fe29d69fbac5cb29714 +0 -0
  2314. data/test/dummy/tmp/cache/assets/DB4/5A0/sprockets%2Ff6c4c504c300bcf2baa95ca8923dcb10 +0 -0
  2315. data/test/dummy/tmp/cache/assets/DB4/670/sprockets%2F2b5f4f8f5ad218e9ec53f9fde943254e +0 -0
  2316. data/test/dummy/tmp/cache/assets/DB4/730/sprockets%2F22a0f9985f2ee491b998e9a3dfbbb7c6 +0 -0
  2317. data/test/dummy/tmp/cache/assets/DB4/A70/sprockets%2F11aaa7b192ebb5a461e5bed0138e4a7b +0 -0
  2318. data/test/dummy/tmp/cache/assets/DB4/F60/sprockets%2F60712b2ed0cb5fc6cb6442fae3cd203b +0 -0
  2319. data/test/dummy/tmp/cache/assets/DB5/460/sprockets%2Fd2eaa3b6abf0aded1e25055b303b9691 +0 -0
  2320. data/test/dummy/tmp/cache/assets/DB5/F30/sprockets%2Fd5925f7c79df0ad0e8d956eed84483ab +0 -0
  2321. data/test/dummy/tmp/cache/assets/DB6/320/sprockets%2Fe559edb9cc5663f6d55937a68eb4d4bc +0 -0
  2322. data/test/dummy/tmp/cache/assets/DB6/860/sprockets%2F1081c1eb464dd58cacda381baed4b314 +0 -0
  2323. data/test/dummy/tmp/cache/assets/DB6/AB0/sprockets%2F3e996efd32efb4a9e4d66b63ee960e90 +0 -0
  2324. data/test/dummy/tmp/cache/assets/DB6/DF0/sprockets%2Ff660ad1581acfc05d77bd33fa14bb1a2 +0 -0
  2325. data/test/dummy/tmp/cache/assets/DB7/BB0/sprockets%2Fde6bb518e6ea4e2e15095c2ba0f01ba3 +0 -0
  2326. data/test/dummy/tmp/cache/assets/DB7/D70/sprockets%2F4f4fff578c1ce749a4765f8a896aa4ca +0 -0
  2327. data/test/dummy/tmp/cache/assets/DB8/2C0/sprockets%2F9e22b0c5e3ecd370519aa5bf003bdaa9 +0 -0
  2328. data/test/dummy/tmp/cache/assets/DB9/3C0/sprockets%2Fdba147ede0e572d80d29cf00bc52c2c1 +0 -0
  2329. data/test/dummy/tmp/cache/assets/DB9/430/sprockets%2F6f49fd89105cc57e75ce798e62a9aaeb +0 -0
  2330. data/test/dummy/tmp/cache/assets/DB9/990/sprockets%2F2b66d14fe1dcac5ca8f422b112af50e7 +0 -0
  2331. data/test/dummy/tmp/cache/assets/DB9/9A0/sprockets%2F24cedfba35e2cda224264eda76d120a8 +0 -0
  2332. data/test/dummy/tmp/cache/assets/DB9/BC0/sprockets%2F48ba40ced57f11b12ceae162c9bef050 +0 -0
  2333. data/test/dummy/tmp/cache/assets/DBA/3B0/sprockets%2Ffd06bc030bc3ae7a13682ad3ce3e37f4 +0 -0
  2334. data/test/dummy/tmp/cache/assets/DBA/E30/sprockets%2F6542cedc93fecba4076b31ea1221aae7 +0 -0
  2335. data/test/dummy/tmp/cache/assets/DBB/3C0/sprockets%2Fa56fb241a0612acb8b6b88ae23c6ce5a +0 -0
  2336. data/test/dummy/tmp/cache/assets/DBB/450/sprockets%2F4d412bacafeebff011918e21e201de68 +0 -0
  2337. data/test/dummy/tmp/cache/assets/DBB/950/sprockets%2Fbb3a309979ecb4dbf669f6fe2778e5c7 +0 -0
  2338. data/test/dummy/tmp/cache/assets/DBB/B70/sprockets%2Fd1997fbb98dd249b8586fe8e127bc4af +0 -0
  2339. data/test/dummy/tmp/cache/assets/DBB/FF0/sprockets%2F071723b7dec01ca21f5d72c4d7b3cfea +0 -0
  2340. data/test/dummy/tmp/cache/assets/DBC/A70/sprockets%2F0f7da71f1d2e23fc55bc2441e0efa41f +0 -0
  2341. data/test/dummy/tmp/cache/assets/DBC/C20/sprockets%2Ffb9d59e753f1e696fc861e74a6cf0d6f +0 -0
  2342. data/test/dummy/tmp/cache/assets/DBC/D60/sprockets%2Fa5d629edbdaa0ee111fe4170093a6de4 +0 -0
  2343. data/test/dummy/tmp/cache/assets/DBC/FD0/sprockets%2Fcb32366dc0b2c1f2a69ebe48dbb139c0 +0 -0
  2344. data/test/dummy/tmp/cache/assets/DBC/FE0/sprockets%2Fe78f2cc2dd0bd01854bf2bb3bd1e0276 +0 -0
  2345. data/test/dummy/tmp/cache/assets/DBD/040/sprockets%2Fbab3c9aeedf12b684be7a100458ad308 +0 -0
  2346. data/test/dummy/tmp/cache/assets/DBD/3E0/sprockets%2Fdee13da1110dd9fafe3495e91da40d03 +0 -0
  2347. data/test/dummy/tmp/cache/assets/DBD/B10/sprockets%2Ff56450f3fc25ab33ef1114be384acafb +0 -0
  2348. data/test/dummy/tmp/cache/assets/DBD/C00/sprockets%2Fc10a55b9aebe3ad6d5730d08c029bb7d +0 -0
  2349. data/test/dummy/tmp/cache/assets/DBD/DF0/sprockets%2F687f97d06e7aab4e768668ffbe5f2f0d +0 -0
  2350. data/test/dummy/tmp/cache/assets/DBE/150/sprockets%2F2b5bf9bf22a03d0919cf1bab468a8a2d +0 -0
  2351. data/test/dummy/tmp/cache/assets/DBE/2C0/sprockets%2F551e2bb3e1bc603f1d8e829b24bf4ada +0 -0
  2352. data/test/dummy/tmp/cache/assets/DBE/3F0/sprockets%2F98ba39074d64ed3c3d0ab1a8adc3f13a +0 -0
  2353. data/test/dummy/tmp/cache/assets/DBE/880/sprockets%2F90cda2c525af06a2df3314ff03fe8e0d +0 -0
  2354. data/test/dummy/tmp/cache/assets/DBE/EB0/sprockets%2F472ff473ee0da1ca1f0ab06578b38bca +0 -0
  2355. data/test/dummy/tmp/cache/assets/DBE/EF0/sprockets%2Fab6106e1a9bb5bcda65cb06d8e9801c3 +0 -0
  2356. data/test/dummy/tmp/cache/assets/DBF/060/sprockets%2Ff0805abfb20e90ee57bc466cab5cb514 +0 -0
  2357. data/test/dummy/tmp/cache/assets/DBF/290/sprockets%2F8acf830eb40f48cfb303c151edb4b25f +0 -0
  2358. data/test/dummy/tmp/cache/assets/DBF/A50/sprockets%2Fb61db5cd1576d6aacf374dbcd02a8217 +0 -0
  2359. data/test/dummy/tmp/cache/assets/DBF/B00/sprockets%2Fec730ac85ab0e8ccfaf212b57b083f07 +0 -0
  2360. data/test/dummy/tmp/cache/assets/DC0/1A0/sprockets%2Fc9de417a45eea1220205b4ecdc5e7d7a +0 -0
  2361. data/test/dummy/tmp/cache/assets/DC0/8A0/sprockets%2F923f5de8d5a0de54dec61b9002cdad11 +0 -0
  2362. data/test/dummy/tmp/cache/assets/DC0/A30/sprockets%2F2e07ac4a2323f9fca40c5defbc8a6317 +0 -0
  2363. data/test/dummy/tmp/cache/assets/DC0/D50/sprockets%2Fa097614dbabbcbf1b8cd36b662d64c24 +0 -0
  2364. data/test/dummy/tmp/cache/assets/DC0/E00/sprockets%2Ffc5fa9a7e991958a6576b725fdbdcc89 +0 -0
  2365. data/test/dummy/tmp/cache/assets/DC0/F50/sprockets%2Fcec2b1e1bda6d7a4b0ef3a381837f930 +0 -0
  2366. data/test/dummy/tmp/cache/assets/DC1/610/sprockets%2Fec13df1137f894b0c53bdbb8751abaa7 +0 -0
  2367. data/test/dummy/tmp/cache/assets/DC2/120/sprockets%2Fec38aced45c12d13f8c60e0b4dc36d45 +0 -0
  2368. data/test/dummy/tmp/cache/assets/DC2/330/sprockets%2Fbd56a181b5c2e63215f0b46acc9fdd3e +0 -0
  2369. data/test/dummy/tmp/cache/assets/DC2/4A0/sprockets%2Fbb9ede156dcc1c81616c9a4fa033ee03 +0 -0
  2370. data/test/dummy/tmp/cache/assets/DC2/940/sprockets%2F8d48c857f51edc4c3c0fd1a0cf0514ab +0 -0
  2371. data/test/dummy/tmp/cache/assets/DC2/C00/sprockets%2Fa12e90d33a80cdc4ffe1f2ea012689cf +0 -0
  2372. data/test/dummy/tmp/cache/assets/DC3/160/sprockets%2F129f0ad08b545cfedaf5ab12c5059de5 +0 -0
  2373. data/test/dummy/tmp/cache/assets/DC3/530/sprockets%2F757efdc940de1fa101dda5fb836140bd +0 -0
  2374. data/test/dummy/tmp/cache/assets/DC3/5C0/sprockets%2F555de405a7c6e58ba794dbf1d01b4aba +0 -0
  2375. data/test/dummy/tmp/cache/assets/DC3/D20/sprockets%2Fcb4fb9601f3ed45b1a50ed39ee614a2e +0 -0
  2376. data/test/dummy/tmp/cache/assets/DC3/D20/sprockets%2Ff2e1a2c5129bce4971a7af2c0eeae546 +0 -0
  2377. data/test/dummy/tmp/cache/assets/DC3/FA0/sprockets%2Fd25ccfdee31d877151b24a9dab2a90b6 +0 -0
  2378. data/test/dummy/tmp/cache/assets/DC4/310/sprockets%2Feb91f4262ece3b0f3cc25e48fd254ab2 +0 -0
  2379. data/test/dummy/tmp/cache/assets/DC4/A20/sprockets%2Fb9ca8fae522bc3346e01cce6a5c1974b +0 -0
  2380. data/test/dummy/tmp/cache/assets/DC4/E50/sprockets%2F8de30090e0349c483201dcf3dfddecdc +0 -0
  2381. data/test/dummy/tmp/cache/assets/DC6/BB0/sprockets%2Fc650cd342bf1d6306bf614ebcebe56f6 +0 -0
  2382. data/test/dummy/tmp/cache/assets/DC6/CA0/sprockets%2Fdc3aa6f23c59d97b11825af4ef3c0a3e +0 -0
  2383. data/test/dummy/tmp/cache/assets/DC6/F20/sprockets%2F472c8761d34a4a0af40eebf8b9d6b0af +0 -0
  2384. data/test/dummy/tmp/cache/assets/DC7/280/sprockets%2F270ea0cbdfd05cc48eff704780066cdd +0 -0
  2385. data/test/dummy/tmp/cache/assets/DC7/780/sprockets%2Fc21ca53b58d0e0754def4bfefa7a5076 +0 -0
  2386. data/test/dummy/tmp/cache/assets/DC7/7D0/sprockets%2F69e6da13074b1135afe6ff8cadd2be15 +0 -0
  2387. data/test/dummy/tmp/cache/assets/DC7/8F0/sprockets%2Fc7f71dae2d71a0dec9ceb9237f16124b +0 -0
  2388. data/test/dummy/tmp/cache/assets/DC7/BC0/sprockets%2Fa6b9f243219b55edccdc362a64cb4ed4 +0 -0
  2389. data/test/dummy/tmp/cache/assets/DC7/EE0/sprockets%2Fbcfa5f1dd43080040d9f06cddf0d95c9 +0 -0
  2390. data/test/dummy/tmp/cache/assets/DC8/3A0/sprockets%2F0a82147fab265bfcb884f782beafc0b4 +0 -0
  2391. data/test/dummy/tmp/cache/assets/DC8/410/sprockets%2Fcddde980ab9e710d80161e09fa3dba92 +0 -0
  2392. data/test/dummy/tmp/cache/assets/DC8/4D0/sprockets%2Fda2a6be6764d1e4fbfbd95e8d821111a +0 -0
  2393. data/test/dummy/tmp/cache/assets/DC8/590/sprockets%2F804613cab66aacfd4fae5f0ea275692e +0 -0
  2394. data/test/dummy/tmp/cache/assets/DC8/670/sprockets%2F47b5310b4dbf58b2b8dcd6ba98c05db6 +0 -0
  2395. data/test/dummy/tmp/cache/assets/DC8/9E0/sprockets%2F0fad3b3f1ed38ea3041c6f6f382c79da +0 -0
  2396. data/test/dummy/tmp/cache/assets/DC8/B00/sprockets%2F6f814a096f8ae113dbede4cdf243fb31 +0 -0
  2397. data/test/dummy/tmp/cache/assets/DC8/D80/sprockets%2Ff4236d1b64f8ea9ebc1a1aea0d596b38 +0 -0
  2398. data/test/dummy/tmp/cache/assets/DC8/E20/sprockets%2F3a5db4f8c6a4749fd24a05f1e062eebc +0 -0
  2399. data/test/dummy/tmp/cache/assets/DC8/FF0/sprockets%2F10f2f3fdbf1f2a8c0cac8d6394cf8207 +0 -0
  2400. data/test/dummy/tmp/cache/assets/DC9/3C0/sprockets%2F7c707b5f3a1c6bc1fd26ea9f8a2b9b32 +0 -0
  2401. data/test/dummy/tmp/cache/assets/DC9/7E0/sprockets%2Fa4efa2a36e1a334fb529dd5a909f6fb3 +0 -0
  2402. data/test/dummy/tmp/cache/assets/DC9/BC0/sprockets%2F42d9ff9f511d0c7e072f24bbfc305cce +0 -0
  2403. data/test/dummy/tmp/cache/assets/DCA/2C0/sprockets%2Fb48833de6cb1db246ca8fbaae441848c +0 -0
  2404. data/test/dummy/tmp/cache/assets/DCA/310/sprockets%2F032481b7ad8da4f7ecc2ea13fd7497ac +0 -0
  2405. data/test/dummy/tmp/cache/assets/DCA/920/sprockets%2Ff39dbfc5b7b633a9a1dd3653a64cd5b3 +0 -0
  2406. data/test/dummy/tmp/cache/assets/DCB/620/sprockets%2Ff03f8d235d0b22d486dfd1f3dddf0f19 +0 -0
  2407. data/test/dummy/tmp/cache/assets/DCB/7F0/sprockets%2F7e1ceccd440d8b325b15b95ee45af1f7 +0 -0
  2408. data/test/dummy/tmp/cache/assets/DCB/950/sprockets%2F39a5640eb2a1fe3e354d2fef56a5f6da +0 -0
  2409. data/test/dummy/tmp/cache/assets/DCB/D50/sprockets%2F285bfff127e41bfcab2ce7941eba9343 +0 -0
  2410. data/test/dummy/tmp/cache/assets/DCC/0E0/sprockets%2F3a58dd8b234afe2902cf72f8eaa3d6f1 +0 -0
  2411. data/test/dummy/tmp/cache/assets/DCC/490/sprockets%2Fef191a783bb65fade10ba88a9a43e1f6 +0 -0
  2412. data/test/dummy/tmp/cache/assets/DCC/610/sprockets%2F7e59dfc897a88b7e96d649cdf0d1e6f9 +0 -0
  2413. data/test/dummy/tmp/cache/assets/DCC/F20/sprockets%2Fd01120eaba8c37dcc74adc56996cf8b7 +0 -0
  2414. data/test/dummy/tmp/cache/assets/DCD/090/sprockets%2Fe46caf85209b6ebb213aeafe63cf0687 +0 -0
  2415. data/test/dummy/tmp/cache/assets/DCD/290/sprockets%2Ffdfdf7ac4922a4fc2be372d4125726fc +0 -0
  2416. data/test/dummy/tmp/cache/assets/DCD/6C0/sprockets%2Fe0d70bd50ef15ccf46fad2cb6629687a +0 -0
  2417. data/test/dummy/tmp/cache/assets/DCD/9B0/sprockets%2F2d5cfcb4da95df6b3ea2821f43336ed7 +0 -0
  2418. data/test/dummy/tmp/cache/assets/DCD/C10/sprockets%2Fdaff331d5829710b1fd4fc6b95cb62ce +0 -0
  2419. data/test/dummy/tmp/cache/assets/DCD/DE0/sprockets%2F8ac7911da2d373a2ea6dadc78d5e77d1 +0 -0
  2420. data/test/dummy/tmp/cache/assets/DCD/F50/sprockets%2Fcfbad427aaa6d9e29757650fa417ece0 +0 -0
  2421. data/test/dummy/tmp/cache/assets/DCE/120/sprockets%2F2717e6fdc18f2a78ec7ad543cada554a +0 -0
  2422. data/test/dummy/tmp/cache/assets/DCE/560/sprockets%2F612c2e344718626fca3be27ccff6bdef +0 -0
  2423. data/test/dummy/tmp/cache/assets/DCE/BB0/sprockets%2F3d240ff1ffacfc5a8a42832554dfcb88 +0 -0
  2424. data/test/dummy/tmp/cache/assets/DCE/BF0/sprockets%2Ff2114c9c5f93cd1afbe449b6f2b3ce55 +0 -0
  2425. data/test/dummy/tmp/cache/assets/DCE/D80/sprockets%2Fa8e3b62e0d5bd2a64fb78e1990eb73bd +0 -0
  2426. data/test/dummy/tmp/cache/assets/DCE/E50/sprockets%2Fd1ea6e93b6e9769ac6efb0d1b03c5e24 +0 -0
  2427. data/test/dummy/tmp/cache/assets/DCE/E70/sprockets%2Fa3de81b32c9ba72be70ed91fbd48638c +0 -0
  2428. data/test/dummy/tmp/cache/assets/DCF/100/sprockets%2Fcf70cfe01aee0b6c8725e39eec353e46 +0 -0
  2429. data/test/dummy/tmp/cache/assets/DCF/180/sprockets%2Fa0fb6e0ea7cad056e5e49e3d875c40d8 +0 -0
  2430. data/test/dummy/tmp/cache/assets/DCF/310/sprockets%2F4cb6d36bdf46eb44c23df73ff6127b6b +0 -0
  2431. data/test/dummy/tmp/cache/assets/DCF/5D0/sprockets%2F95dcbbc1e3f58076e0fbc297cbaf9124 +0 -0
  2432. data/test/dummy/tmp/cache/assets/DCF/6B0/sprockets%2F6039db30eee2cb1da99f025e7d1e6f7d +0 -0
  2433. data/test/dummy/tmp/cache/assets/DCF/6F0/sprockets%2Fb35295b9c0ed38dd040ea475edfea37f +0 -0
  2434. data/test/dummy/tmp/cache/assets/DCF/AC0/sprockets%2Fca3f2c931d05fd9271edb9db0f19c92f +0 -0
  2435. data/test/dummy/tmp/cache/assets/DCF/AE0/sprockets%2F900dedad9af2bf2a03f65987d776aa0e +0 -0
  2436. data/test/dummy/tmp/cache/assets/DCF/DB0/sprockets%2F7fe8eb0dc1c379b7c5a2a5c9ca3592e2 +0 -0
  2437. data/test/dummy/tmp/cache/assets/DD0/790/sprockets%2Fadd5869be41bfaf62ef0904173eeae36 +0 -0
  2438. data/test/dummy/tmp/cache/assets/DD0/DB0/sprockets%2Fa560efdeac84f667d861e99f12a1aa1c +0 -0
  2439. data/test/dummy/tmp/cache/assets/DD1/0F0/sprockets%2F2d5d6f23b583efe3a07a5ecd89fb192a +0 -0
  2440. data/test/dummy/tmp/cache/assets/DD1/170/sprockets%2F152cb8bdf7b33b44e8d9aad9e33e7f14 +0 -0
  2441. data/test/dummy/tmp/cache/assets/DD1/430/sprockets%2F6fab6dee09e2a1fa196299e026b61efd +0 -0
  2442. data/test/dummy/tmp/cache/assets/DD1/4D0/sprockets%2Fdce63533526a840e5c29ae9cfdab4ef5 +0 -0
  2443. data/test/dummy/tmp/cache/assets/DD1/5E0/sprockets%2F55e02d2a574d7be1a47dffd6e61cfb85 +0 -0
  2444. data/test/dummy/tmp/cache/assets/DD1/920/sprockets%2F38abeb9c5dcfe1cd075d87e82246b8a0 +0 -0
  2445. data/test/dummy/tmp/cache/assets/DD1/E40/sprockets%2Fd589cebd39090ef2d2c01ce821f6ffb4 +0 -0
  2446. data/test/dummy/tmp/cache/assets/DD1/F00/sprockets%2Fc1fcf69ebbcac068cdde63655c183634 +0 -0
  2447. data/test/dummy/tmp/cache/assets/DD2/0D0/sprockets%2F88ac4db9ccf889dbf2b241ef205b643b +0 -0
  2448. data/test/dummy/tmp/cache/assets/DD2/330/sprockets%2Fd469365fcbc57cbef0adf2a6661190ff +0 -0
  2449. data/test/dummy/tmp/cache/assets/DD2/690/sprockets%2F1af8faaf194cf7b22c403e20d7f98de8 +0 -0
  2450. data/test/dummy/tmp/cache/assets/DD2/720/sprockets%2Fa7e3feaca76d2fd8f11d79a30938b70d +0 -0
  2451. data/test/dummy/tmp/cache/assets/DD2/790/sprockets%2F5a497b1a59b46ddbf649e70e1adf5c0f +0 -0
  2452. data/test/dummy/tmp/cache/assets/DD2/A10/sprockets%2F141ae3d75a58f3f39b0e8fa0fa7ed77c +0 -0
  2453. data/test/dummy/tmp/cache/assets/DD2/D70/sprockets%2F471feef5b3f8b0eabe323a799a257c5d +0 -0
  2454. data/test/dummy/tmp/cache/assets/DD2/E70/sprockets%2Fe730043939f99ffbd01c5ed4cace55ad +0 -0
  2455. data/test/dummy/tmp/cache/assets/DD3/110/sprockets%2F209deabb73d6ffa92664ad4959ebde11 +0 -0
  2456. data/test/dummy/tmp/cache/assets/DD3/150/sprockets%2Fbae8affcbd247de88930e215e7d4d460 +0 -0
  2457. data/test/dummy/tmp/cache/assets/DD3/320/sprockets%2F5bee8af9a92d83b7e208c81bfff60b12 +0 -0
  2458. data/test/dummy/tmp/cache/assets/DD3/3C0/sprockets%2F670f4b0d3e1cd2c7e5edbd9a8b489b46 +0 -0
  2459. data/test/dummy/tmp/cache/assets/DD4/C60/sprockets%2Fa8943e2bebcb9b6e254b3864ec8b3e5c +0 -0
  2460. data/test/dummy/tmp/cache/assets/DD5/0C0/sprockets%2F0e99e7247af82993003fcaeeb5ddc3cd +0 -0
  2461. data/test/dummy/tmp/cache/assets/DD5/340/sprockets%2Fa6ce8c348d5365e9eb5f9eaaa047d71a +0 -0
  2462. data/test/dummy/tmp/cache/assets/DD5/8B0/sprockets%2F91d4cd95cbcbc61b897ca2843a80f6fd +0 -0
  2463. data/test/dummy/tmp/cache/assets/DD5/930/sprockets%2F5d0bf5434925565bcc5ac9ffb49c1ffc +0 -0
  2464. data/test/dummy/tmp/cache/assets/DD6/1E0/sprockets%2Fdd47599b50e574a8ade74c55eca3d0ed +0 -0
  2465. data/test/dummy/tmp/cache/assets/DD6/8F0/sprockets%2Fbe18b83b44e3d85159fbd32deccfc756 +0 -0
  2466. data/test/dummy/tmp/cache/assets/DD6/B10/sprockets%2F1b4327737f681cbdf081ff9bcfe54edb +0 -0
  2467. data/test/dummy/tmp/cache/assets/DD6/B60/sprockets%2F86be7769ab1b85b52fa1c6dedc66db72 +0 -0
  2468. data/test/dummy/tmp/cache/assets/DD7/0E0/sprockets%2F52cf53fdfc217fc4cb025d7877da97cd +0 -0
  2469. data/test/dummy/tmp/cache/assets/DD7/730/sprockets%2F80efa66fc9dc27c8b6384a360b8a7eae +0 -0
  2470. data/test/dummy/tmp/cache/assets/DD7/C10/sprockets%2Fa1637f48f8aece1606cc2729aed6f9cb +0 -0
  2471. data/test/dummy/tmp/cache/assets/DD7/F60/sprockets%2F391f7279bfdbfc62e910e2a1ff75f1fc +0 -0
  2472. data/test/dummy/tmp/cache/assets/DD7/FC0/sprockets%2Fe552dc00585585fbcafc89d98af2b2fa +0 -0
  2473. data/test/dummy/tmp/cache/assets/DD8/980/sprockets%2Feef46de7ca33f529ce7adb095169e3b4 +0 -0
  2474. data/test/dummy/tmp/cache/assets/DD9/000/sprockets%2Ffc576d5de3f0907dad48e0fc5df43a49 +0 -0
  2475. data/test/dummy/tmp/cache/assets/DD9/1A0/sprockets%2F2f65b9e64e6fe4fe309aaeaf5a14c865 +0 -0
  2476. data/test/dummy/tmp/cache/assets/DD9/6F0/sprockets%2Fc265e624ee5dd27cda3868aaa8495fec +0 -0
  2477. data/test/dummy/tmp/cache/assets/DDA/500/sprockets%2F103ae3c64e8c9af97ddfdf278f661b1e +0 -0
  2478. data/test/dummy/tmp/cache/assets/DDB/330/sprockets%2F33596dfd43de9f36bfa8dd47bd408da4 +0 -0
  2479. data/test/dummy/tmp/cache/assets/DDB/E40/sprockets%2Fb413afa11a2c4cbf2ec4a23e45e036db +0 -0
  2480. data/test/dummy/tmp/cache/assets/DDC/C00/sprockets%2F05cf75fea285df8f82c3682eaca89b1e +0 -0
  2481. data/test/dummy/tmp/cache/assets/DDD/370/sprockets%2F016219ffdd478c3c40e6f4efee84da9f +0 -0
  2482. data/test/dummy/tmp/cache/assets/DDD/B00/sprockets%2Fff4d19b3dd289880e7a618fd9aa3cac8 +0 -0
  2483. data/test/dummy/tmp/cache/assets/DDE/860/sprockets%2F8c57c9956b38b6572a9dcd1a6fcbeaf4 +0 -0
  2484. data/test/dummy/tmp/cache/assets/DDE/D00/sprockets%2F74c27cac3ef959ecc8cfd9327b7fa334 +0 -0
  2485. data/test/dummy/tmp/cache/assets/DE0/EA0/sprockets%2Fdbeee979d2b1e6d6b28cde425f84b737 +0 -0
  2486. data/test/dummy/tmp/cache/assets/DE1/390/sprockets%2F1d6b3e8d0c351b537faa02cc1ccc4bd3 +0 -0
  2487. data/test/dummy/tmp/cache/assets/DE1/490/sprockets%2Fced4bd89388e3be73a96b67af27e0cb9 +0 -0
  2488. data/test/dummy/tmp/cache/assets/DE1/DA0/sprockets%2Ffc904392efc8ad2959bb95c14bdaff79 +0 -0
  2489. data/test/dummy/tmp/cache/assets/DE3/310/sprockets%2Fa88eabb20e2ecca3230d5c1a8aa1e485 +0 -0
  2490. data/test/dummy/tmp/cache/assets/DE3/310/sprockets%2Fdd26e8d4e2ba0972c50eba4baa0d134b +0 -0
  2491. data/test/dummy/tmp/cache/assets/DE4/630/sprockets%2F3fbaa3b49828d89831cef787bf9ade6a +0 -0
  2492. data/test/dummy/tmp/cache/assets/DE4/790/sprockets%2Fde774ff5425bb9f0dad9a954ef4ef726 +0 -0
  2493. data/test/dummy/tmp/cache/assets/DE5/610/sprockets%2F9ab8e1cb0f8f692cbb8a387957f3d7fd +0 -0
  2494. data/test/dummy/tmp/cache/assets/DE5/6D0/sprockets%2F6e6fdbc91e3f5879c8c092bab7ff581e +0 -0
  2495. data/test/dummy/tmp/cache/assets/DE5/F60/sprockets%2F20d60b0f1cfaf7c27d5e0ee4c1e21fc0 +0 -0
  2496. data/test/dummy/tmp/cache/assets/DE6/230/sprockets%2Fcfdab95d58360b61999eb6fae7deb649 +0 -0
  2497. data/test/dummy/tmp/cache/assets/DE6/920/sprockets%2Fbf9feba9970af2ae25844f64f6e94f6b +0 -0
  2498. data/test/dummy/tmp/cache/assets/DE6/C60/sprockets%2Faadf89e09dc9d89db8b60fa5d66d6824 +0 -0
  2499. data/test/dummy/tmp/cache/assets/DE6/FF0/sprockets%2F993388d5d17cecccf692ad3e9f8dcc70 +0 -0
  2500. data/test/dummy/tmp/cache/assets/DE7/180/sprockets%2Fa5f5aaa04c00e4fce24c97cbf5411cc4 +0 -0
  2501. data/test/dummy/tmp/cache/assets/DE7/450/sprockets%2F0ff422cad3faf40e061e51edebb321c9 +0 -0
  2502. data/test/dummy/tmp/cache/assets/DE7/750/sprockets%2Fdddda1271b2572dbb85ae180fb21a9bb +0 -0
  2503. data/test/dummy/tmp/cache/assets/DE7/B20/sprockets%2Fa8a0a74dd4ea466074cbdeebf340a1a3 +0 -0
  2504. data/test/dummy/tmp/cache/assets/DE8/A30/sprockets%2F3c1c2c8aab9ef12043bdc6a307bf82eb +0 -0
  2505. data/test/dummy/tmp/cache/assets/DE8/F10/sprockets%2F8beab679ebe7f05e9d4f8b546e0ee279 +0 -0
  2506. data/test/dummy/tmp/cache/assets/DE8/FA0/sprockets%2F93ca8a8d6919cace4cc9d8e69ff82d23 +0 -0
  2507. data/test/dummy/tmp/cache/assets/DE9/340/sprockets%2Fe57938b0cff9802d1e7aebe2cef798e9 +0 -0
  2508. data/test/dummy/tmp/cache/assets/DEA/980/sprockets%2Fc5897a1f996aafff34f555f76a39fbbd +0 -0
  2509. data/test/dummy/tmp/cache/assets/DEA/DF0/sprockets%2Fbda59ab08df48c989fa5ff7de993336b +0 -0
  2510. data/test/dummy/tmp/cache/assets/DEB/340/sprockets%2F0bd787c4c2a1dc1fd7605abf1e53bbb4 +0 -0
  2511. data/test/dummy/tmp/cache/assets/DEB/B70/sprockets%2F03ccc43525fa4dfdd1603a6d4ac8ac6d +0 -0
  2512. data/test/dummy/tmp/cache/assets/DEB/E30/sprockets%2Fcb8889cff8b8fe8b171b93d647deaf07 +0 -0
  2513. data/test/dummy/tmp/cache/assets/DEC/5F0/sprockets%2F410f8c0c1dcf61a1d2dc2a7d3e5bd5e8 +0 -0
  2514. data/test/dummy/tmp/cache/assets/DEE/930/sprockets%2F8e899ec8a7afe2577634ef981ccabcc9 +0 -0
  2515. data/test/dummy/tmp/cache/assets/DEE/C00/sprockets%2Ff040b0f7cea1235fc5f3dc1db8b16e9a +0 -0
  2516. data/test/dummy/tmp/cache/assets/DF0/710/sprockets%2F57eceb7a040cb74c96bde000cc9a8ce0 +0 -0
  2517. data/test/dummy/tmp/cache/assets/DF1/820/sprockets%2F5e1f6fa6109bbba3f92d23bed60d2f1e +0 -0
  2518. data/test/dummy/tmp/cache/assets/DF1/850/sprockets%2Fce67eaf0bbcc74a4d003c2ef0bf54558 +0 -0
  2519. data/test/dummy/tmp/cache/assets/DF2/940/sprockets%2F0ba96f7c7a30ba087e1c1f4c6b4bf2ee +0 -0
  2520. data/test/dummy/tmp/cache/assets/DF2/A10/sprockets%2F081cbd1c386eca6abacfdc8515f34d53 +0 -0
  2521. data/test/dummy/tmp/cache/assets/DF3/7B0/sprockets%2Fbe3e96d12fac88a1e35da10fad9722ca +0 -0
  2522. data/test/dummy/tmp/cache/assets/DF4/0E0/sprockets%2Ffcdd82e15975e6d9ac2bcaa3d0f01a27 +0 -0
  2523. data/test/dummy/tmp/cache/assets/DF4/2C0/sprockets%2F33f40add4c7a49d56dedd7a31dd3bc34 +0 -0
  2524. data/test/dummy/tmp/cache/assets/DF5/1D0/sprockets%2Fa2721b94a4d43f7caab1e8eebe5465ae +0 -0
  2525. data/test/dummy/tmp/cache/assets/DF5/5F0/sprockets%2F21f5be1d0fb58cc648f3f1e106df3fba +0 -0
  2526. data/test/dummy/tmp/cache/assets/DF5/7A0/sprockets%2Fea6fcce2a4274dc6dd8216ebc31c319d +0 -0
  2527. data/test/dummy/tmp/cache/assets/DF5/920/sprockets%2Fa371cd46590babfadb09d81728ea0cff +0 -0
  2528. data/test/dummy/tmp/cache/assets/DF6/880/sprockets%2Fed15aedc9c0ded3a58b4954bcc3222b9 +0 -0
  2529. data/test/dummy/tmp/cache/assets/DF6/CD0/sprockets%2Fd6e3ce6a1e92bef3c6806bb1e24d6d1b +0 -0
  2530. data/test/dummy/tmp/cache/assets/DF8/350/sprockets%2F0e8e61549bcb7ceb12cb02cf7dafc782 +0 -0
  2531. data/test/dummy/tmp/cache/assets/DF8/B00/sprockets%2F3996526da65e50caedbb2d7bc8abe2d1 +0 -0
  2532. data/test/dummy/tmp/cache/assets/DF8/B50/sprockets%2Fcf8e79edfe8092bcd084d3aa2d323ab0 +0 -0
  2533. data/test/dummy/tmp/cache/assets/DF8/CE0/sprockets%2Fb3ab656dfab979e2e7a0082c4a2fe0df +0 -0
  2534. data/test/dummy/tmp/cache/assets/DF8/E50/sprockets%2F13385f98ce306faeb14c3fdd4dbbd3a5 +0 -0
  2535. data/test/dummy/tmp/cache/assets/DF9/120/sprockets%2F27f205fbbf2b0bb9c624d7dc41fec6e7 +0 -0
  2536. data/test/dummy/tmp/cache/assets/DF9/700/sprockets%2Ff30deccfda011d97ad3f63c90d49b5f3 +0 -0
  2537. data/test/dummy/tmp/cache/assets/DF9/7B0/sprockets%2F26fbd83e4add33750acbc4f5ff1b7f51 +0 -0
  2538. data/test/dummy/tmp/cache/assets/DFA/E50/sprockets%2Fc948a8cdd056abf24bcb9351c81fa5fa +0 -0
  2539. data/test/dummy/tmp/cache/assets/DFB/AB0/sprockets%2Ff5d4fbb5ca58aed3c46e1462d3a7bf45 +0 -0
  2540. data/test/dummy/tmp/cache/assets/DFD/910/sprockets%2F6e4aeb3cfdb2adf8086199e003bd4ce8 +0 -0
  2541. data/test/dummy/tmp/cache/assets/DFD/F40/sprockets%2F2c1baed96c603fd0746aed6b9d427cfd +0 -0
  2542. data/test/dummy/tmp/cache/assets/DFE/4F0/sprockets%2F4695a10bc9aa0c898cf21dec63bcc7ff +0 -0
  2543. data/test/dummy/tmp/cache/assets/DFE/6D0/sprockets%2F5ed9adae017357437e0cf4efffb12fb5 +0 -0
  2544. data/test/dummy/tmp/cache/assets/DFF/B90/sprockets%2F9bf7f6a7b2f42f6c25336cffb1c7aa3d +0 -0
  2545. data/test/dummy/tmp/cache/assets/E00/630/sprockets%2Fead43f2cf9d3f3a37a590e212e8fc9ea +0 -0
  2546. data/test/dummy/tmp/cache/assets/E01/250/sprockets%2Fe4282269fdedfc1d2bd08e9d7433ceab +0 -0
  2547. data/test/dummy/tmp/cache/assets/E01/7D0/sprockets%2F771e23888dbed36f017cbb35acdbc8df +0 -0
  2548. data/test/dummy/tmp/cache/assets/E01/E30/sprockets%2Fea636d9c8b493cced44c9eed11d50d1e +0 -0
  2549. data/test/dummy/tmp/cache/assets/E02/270/sprockets%2F5381b3fbea0bdffe7f60e7a68c9d3b44 +0 -0
  2550. data/test/dummy/tmp/cache/assets/E02/2E0/sprockets%2Fb29204c6ef5e6c80fa6a76aec3bf64ef +0 -0
  2551. data/test/dummy/tmp/cache/assets/E02/460/sprockets%2Febdaa5d81edadcf19f17470971a692df +0 -0
  2552. data/test/dummy/tmp/cache/assets/E02/470/sprockets%2F09b78eecc03a56bf09cbe5d73a49a8ce +0 -0
  2553. data/test/dummy/tmp/cache/assets/E02/560/sprockets%2Fc9835ca26fea59cccb5eb03865cbad58 +0 -0
  2554. data/test/dummy/tmp/cache/assets/E02/6B0/sprockets%2Fb0c6cb515e5ef58ec2b8c40f9c75dad7 +0 -0
  2555. data/test/dummy/tmp/cache/assets/E02/9E0/sprockets%2F3be9c22c954bbcea0c7ef648e5d3ff15 +0 -0
  2556. data/test/dummy/tmp/cache/assets/E03/520/sprockets%2Fb0bc6a9ad234b985b729bdecbc93c7d9 +0 -0
  2557. data/test/dummy/tmp/cache/assets/E03/8C0/sprockets%2Fdddca472be9884cdfe6af78222bad074 +0 -0
  2558. data/test/dummy/tmp/cache/assets/E03/E10/sprockets%2Ff973aa441beed766f88d05a5afe3b4ae +0 -0
  2559. data/test/dummy/tmp/cache/assets/E04/2F0/sprockets%2Fa16d6dfb55f306bacadfcc65ba936989 +0 -0
  2560. data/test/dummy/tmp/cache/assets/E04/730/sprockets%2F583c8db59edef3f0c5b7e336e284babb +0 -0
  2561. data/test/dummy/tmp/cache/assets/E04/780/sprockets%2F3cacfdba6603ee6a76d7626e6d9ad53f +0 -0
  2562. data/test/dummy/tmp/cache/assets/E04/B60/sprockets%2F67fde7c8e76f5ea08e905cc2b641caab +0 -0
  2563. data/test/dummy/tmp/cache/assets/E04/BB0/sprockets%2F27aa47e7bad23d38389eae6a436efdfc +0 -0
  2564. data/test/dummy/tmp/cache/assets/E05/2A0/sprockets%2Fde0ab0df6698a6bc364e6c9e847bcc3c +0 -0
  2565. data/test/dummy/tmp/cache/assets/E05/940/sprockets%2Fa7342fe6aaeca22f6f9474c16f77dfcc +0 -0
  2566. data/test/dummy/tmp/cache/assets/E05/9A0/sprockets%2Ffbf122467d4e4b4d1bbc6fdc78a85d8f +0 -0
  2567. data/test/dummy/tmp/cache/assets/E06/710/sprockets%2Fee1f8c455d6c11ac74bf1eef2d3c799d +0 -0
  2568. data/test/dummy/tmp/cache/assets/E06/B20/sprockets%2Fba3bff72fd31e9b292e1626efff5d82d +0 -0
  2569. data/test/dummy/tmp/cache/assets/E06/BC0/sprockets%2F0e410c76d8b9975ac0e8ed9dfbcad4f3 +0 -0
  2570. data/test/dummy/tmp/cache/assets/E06/C00/sprockets%2F454dec05493096cc77cae8bfef7a7cba +0 -0
  2571. data/test/dummy/tmp/cache/assets/E07/F70/sprockets%2F482a5de5a6dadcc2b4d8778a8faf0e86 +0 -0
  2572. data/test/dummy/tmp/cache/assets/E09/210/sprockets%2Fa1e78b1bf197e2c7d2dea09ade69fd68 +0 -0
  2573. data/test/dummy/tmp/cache/assets/E09/290/sprockets%2F1d76236f1ae4e9f939daf9d4fe0b5eab +0 -0
  2574. data/test/dummy/tmp/cache/assets/E09/550/sprockets%2F0bbdef332e5e3c32f4ffd8989c6c7ad4 +0 -0
  2575. data/test/dummy/tmp/cache/assets/E0A/330/sprockets%2Fb889aacf3c5b1287fa490ae24ee9d8df +0 -0
  2576. data/test/dummy/tmp/cache/assets/E0B/200/sprockets%2Ff177bd5ef30963eeefc8d15d0eff354d +0 -0
  2577. data/test/dummy/tmp/cache/assets/E0B/CD0/sprockets%2Feb97c4db2f3b997e9500fbcd840fcee4 +0 -0
  2578. data/test/dummy/tmp/cache/assets/E0D/350/sprockets%2Fc6edebe6ed17558da6ed0ee584914ee3 +0 -0
  2579. data/test/dummy/tmp/cache/assets/E0D/8B0/sprockets%2Ffbca95fe1efe7e13f7970a654886aacc +0 -0
  2580. data/test/dummy/tmp/cache/assets/E0E/850/sprockets%2F9e16585b5e9e67d2ad3bfc79fe3c3cbb +0 -0
  2581. data/test/dummy/tmp/cache/assets/E0F/4F0/sprockets%2Fa3272540abfe5c98fe7e63a98fde7fcc +0 -0
  2582. data/test/dummy/tmp/cache/assets/E0F/5D0/sprockets%2F8f5ef8baff83ddff0818be088bbb1853 +0 -0
  2583. data/test/dummy/tmp/cache/assets/E11/EC0/sprockets%2Fd75c4edbd1e28d4f149e777df905ebdf +0 -0
  2584. data/test/dummy/tmp/cache/assets/E13/A80/sprockets%2Fbac5968b0fd53fd82c909858adfeac9f +0 -0
  2585. data/test/dummy/tmp/cache/assets/E13/DA0/sprockets%2Fc5017eb7eedaca0008cf0fb35ea37b1b +0 -0
  2586. data/test/dummy/tmp/cache/assets/E13/DA0/sprockets%2Febedc0c00a2810be6e2dfaa6b155ca95 +0 -0
  2587. data/test/dummy/tmp/cache/assets/E16/0C0/sprockets%2F2bccb375c7950ce793eebff682d8fe7f +0 -0
  2588. data/test/dummy/tmp/cache/assets/E16/890/sprockets%2F25d48ca77decab21aa4e144a30aed4ed +0 -0
  2589. data/test/dummy/tmp/cache/assets/E16/E40/sprockets%2Fbb69b561797ceeecead7925783b6feaf +0 -0
  2590. data/test/dummy/tmp/cache/assets/E19/800/sprockets%2F3283b2bd65f095fded0b1aaaeda19ea1 +0 -0
  2591. data/test/dummy/tmp/cache/assets/E19/BE0/sprockets%2F4d4cd0209cbbd0a14c6bb7ceeab97b62 +0 -0
  2592. data/test/dummy/tmp/cache/assets/E1A/330/sprockets%2F5d3fee1ad3cab203a53ee8c7aa3428db +0 -0
  2593. data/test/dummy/tmp/cache/assets/E1C/EF0/sprockets%2F6bfdb8efbdf13897c99efc9944a7ad34 +0 -0
  2594. data/test/dummy/tmp/cache/assets/E1C/FC0/sprockets%2F589c8b2bb3d0ef15abcda1e262b07dcd +0 -0
  2595. data/test/dummy/tmp/cache/assets/E1D/8F0/sprockets%2Febcd95ad06f1ab89fe54aa1b0aca1448 +0 -0
  2596. data/test/dummy/tmp/cache/assets/E1F/CA0/sprockets%2Ffb153c81fcdff3d13c8fa84c1f20caa3 +0 -0
  2597. data/test/dummy/tmp/cache/assets/E20/010/sprockets%2F8cb66cce4dde9b6a6e89f19e86fe096d +0 -0
  2598. data/test/dummy/tmp/cache/assets/E20/FA0/sprockets%2Fd6da9bcad0bfd4362f1726adda8b1d62 +0 -0
  2599. data/test/dummy/tmp/cache/assets/E20/FE0/sprockets%2F0fdc8a5cb3bb74767d15fb2b0feaf1d1 +0 -0
  2600. data/test/dummy/tmp/cache/assets/E22/0C0/sprockets%2Fd2cafc37db0bfb5cfd12ed623fb90681 +0 -0
  2601. data/test/dummy/tmp/cache/assets/E22/640/sprockets%2Fa79cffda9ea30a3c7a346db03f6eb30d +0 -0
  2602. data/test/dummy/tmp/cache/assets/E24/0F0/sprockets%2F2fd0d00a336b9aadafdcd036597ff9bc +0 -0
  2603. data/test/dummy/tmp/cache/assets/E24/2B0/sprockets%2Fd48b5664b861eaba2cd9aef35ebab2a4 +0 -0
  2604. data/test/dummy/tmp/cache/assets/E24/BE0/sprockets%2Fa312aeac9f17cbfcfb3ea0c0de779509 +0 -0
  2605. data/test/dummy/tmp/cache/assets/E24/C30/sprockets%2Fab80a42e61baf5bc74ec668ed4d3a6bc +0 -0
  2606. data/test/dummy/tmp/cache/assets/E26/6A0/sprockets%2Fcf2fb4bac4d1e8b2a5b5b9a8f85c361b +0 -0
  2607. data/test/dummy/tmp/cache/assets/E28/120/sprockets%2F1eb7accde46b360442adaf08beaf789d +0 -0
  2608. data/test/dummy/tmp/cache/assets/E28/290/sprockets%2Ffdb3a8a37fb515b9dc90614b4dab7bdf +0 -0
  2609. data/test/dummy/tmp/cache/assets/E28/A80/sprockets%2F34a8d9e9cbd7a2a5178da0afbf4e10fd +0 -0
  2610. data/test/dummy/tmp/cache/assets/E28/D00/sprockets%2Fcb82c1534ddccee2fa79b6a84e1d3ae4 +0 -0
  2611. data/test/dummy/tmp/cache/assets/E29/5D0/sprockets%2F5c50c8b4fb7b4604db1d8f2bc7ddea9b +0 -0
  2612. data/test/dummy/tmp/cache/assets/E29/E20/sprockets%2F1da1cf4f8fb0b07de5540dcf72ebea79 +0 -0
  2613. data/test/dummy/tmp/cache/assets/E29/FA0/sprockets%2Ffabb9a9e2898ac07e5aec5a3dc1173cb +0 -0
  2614. data/test/dummy/tmp/cache/assets/E2A/2F0/sprockets%2Fc19ab67c37ebb29d3155cacee4fa49bc +0 -0
  2615. data/test/dummy/tmp/cache/assets/E2A/570/sprockets%2Fc8c8f0c4ff9cdaa029e206e60bfcc47a +0 -0
  2616. data/test/dummy/tmp/cache/assets/E2A/FC0/sprockets%2Fa90fba67cf290f1ae5d51b9ccd74fbb4 +0 -0
  2617. data/test/dummy/tmp/cache/assets/E2D/020/sprockets%2F57300cdaee8dec0f1aff7408a9f28cfb +0 -0
  2618. data/test/dummy/tmp/cache/assets/E2D/2F0/sprockets%2F6db7e742b38bbafd7e971dbdbab350c9 +0 -0
  2619. data/test/dummy/tmp/cache/assets/E2D/600/sprockets%2F40ae8adc98c5e01ce0cf4b8fc0d967ea +0 -0
  2620. data/test/dummy/tmp/cache/assets/E2E/360/sprockets%2F9a2b86a5c0eae250bcdf72eedf958ac5 +0 -0
  2621. data/test/dummy/tmp/cache/assets/E2E/5A0/sprockets%2F82621e8fafb4f8ffbca15a74b6cc5d1e +0 -0
  2622. data/test/dummy/tmp/cache/assets/E2E/9A0/sprockets%2Ff35bacb57bb882a5f7f8f220eebadd91 +0 -0
  2623. data/test/dummy/tmp/cache/assets/E2E/9F0/sprockets%2Fd0f6b8cb9b7091c6ba6d05fb8adadf66 +0 -0
  2624. data/test/dummy/tmp/cache/assets/E2F/3D0/sprockets%2F3d8aa6ffceaf05eefca73ce469e71222 +0 -0
  2625. data/test/dummy/tmp/cache/assets/E2F/8C0/sprockets%2Fb333cacd9aae969cf4e25ce0dddd4277 +0 -0
  2626. data/test/dummy/tmp/cache/assets/E2F/E50/sprockets%2Fcf2e5ab5e03d797bcfbbb558d38b35af +0 -0
  2627. data/test/dummy/tmp/cache/assets/E30/D40/sprockets%2F18d6abe9e22e7e22ceaf2ee8f108ad5f +0 -0
  2628. data/test/dummy/tmp/cache/assets/E31/6E0/sprockets%2Ff305b61e7fa499ad2504bfebb9e7edea +0 -0
  2629. data/test/dummy/tmp/cache/assets/E32/A20/sprockets%2F9de0fd05844dd0acb4eca4e3ed8ff917 +0 -0
  2630. data/test/dummy/tmp/cache/assets/E35/4C0/sprockets%2Fe7a4909adc7a80fd85ea1eb9b55fdd1e +0 -0
  2631. data/test/dummy/tmp/cache/assets/E36/E00/sprockets%2F56ae6c5d1c3ecc2c9cceb813c8b998eb +0 -0
  2632. data/test/dummy/tmp/cache/assets/E38/1B0/sprockets%2Ffcb2daabef4cb855fef8866c245a637e +0 -0
  2633. data/test/dummy/tmp/cache/assets/E39/760/sprockets%2Feaefb1f9a06b9989f418edb1db2ef7c2 +0 -0
  2634. data/test/dummy/tmp/cache/assets/E3A/7B0/sprockets%2Ff97762db911d9badaeae98af6bf128dc +0 -0
  2635. data/test/dummy/tmp/cache/assets/E3A/C40/sprockets%2Fa4fffedf4d4bf3ec8597f2581c0a87ab +0 -0
  2636. data/test/dummy/tmp/cache/assets/E3B/340/sprockets%2Fdbc7eef48e00def6bd3e64ecd8954c44 +0 -0
  2637. data/test/dummy/tmp/cache/assets/E3E/2D0/sprockets%2F4e7fda6ffbcb5a5f816cf91cd5d723f9 +0 -0
  2638. data/test/dummy/tmp/cache/assets/E3E/7F0/sprockets%2F5eaeea01d1e91c54fcbc0ccbd1004d6b +0 -0
  2639. data/test/dummy/tmp/cache/assets/E3E/AC0/sprockets%2Fa90ce5acf76adb824efaad100a041dba +0 -0
  2640. data/test/dummy/tmp/cache/assets/E43/4F0/sprockets%2Fdcecff17c38b49f56d79da2df807cfa8 +0 -0
  2641. data/test/dummy/tmp/cache/assets/E44/340/sprockets%2F7e85e986e305dedde1f6facedf2c07e9 +0 -0
  2642. data/test/dummy/tmp/cache/assets/E48/A90/sprockets%2Fa3d1dbca7b4efb41f7161b1ccd72cdb6 +0 -0
  2643. data/test/dummy/tmp/cache/assets/E4C/650/sprockets%2Fcb056fbabd058c22885aabfabc5d6d3b +0 -0
  2644. data/test/dummy/tmp/cache/assets/E4D/6F0/sprockets%2F2fff12c7ef5fed2e65ee89ec5395f6ee +0 -0
  2645. data/test/dummy/tmp/cache/assets/E4D/980/sprockets%2Fbbbe61cb3ecb82cb4fbff3a8a0c04684 +0 -0
  2646. data/test/dummy/tmp/cache/assets/E4D/B10/sprockets%2F11a1f50de2df1f43bca44cfdb8cbbe86 +0 -0
  2647. data/test/dummy/tmp/cache/assets/E4E/470/sprockets%2F1d0cddc56a9072ffcd7be4db3a02ca8d +0 -0
  2648. data/test/dummy/tmp/cache/assets/E4F/A80/sprockets%2F811cebd4c603ffcdec7ba7f670db0b3a +0 -0
  2649. data/test/dummy/tmp/cache/assets/E51/3A0/sprockets%2F920a82be7aebe4bdf7bfe13a2e9a0b6b +0 -0
  2650. data/test/dummy/tmp/cache/assets/E51/480/sprockets%2Ffd0d14acc0f5f69ccdc1526ddb8a1da7 +0 -0
  2651. data/test/dummy/tmp/cache/assets/E51/8C0/sprockets%2F21366bb0cb72acda7aebe1feb7f7cd38 +0 -0
  2652. data/test/dummy/tmp/cache/assets/E55/220/sprockets%2Fad2dd26bc3fd1e2bfdb7b8ba8a44854d +0 -0
  2653. data/test/dummy/tmp/cache/assets/E55/520/sprockets%2Febd22b7b53c1fcd59aacc1d4ae3797eb +0 -0
  2654. data/test/dummy/tmp/cache/assets/E5D/240/sprockets%2Ff5afbd4e941cfabbdf5b4803e3ae1e88 +0 -0
  2655. data/test/dummy/tmp/cache/assets/E5D/6B0/sprockets%2Fdef6eaba54c5749f8bb0d9c14be4d3cb +0 -0
  2656. data/test/dummy/tmp/cache/assets/E5E/350/sprockets%2Fd68af9fb3aae95a0a79ca12bd1edd69d +0 -0
  2657. data/test/dummy/tmp/cache/assets/E5E/3A0/sprockets%2Fedf4ef7fdfa720cf0e6ca1e215c4ff91 +0 -0
  2658. data/test/dummy/tmp/cache/assets/E5F/DA0/sprockets%2Ffe0d5fd3b2dccdd3f59710b9dba49b9c +0 -0
  2659. data/test/dummy/tmp/cache/assets/E5F/F90/sprockets%2Fd4c59e3e7d005abceea7f7ec20df5c7e +0 -0
  2660. data/test/dummy/tmp/cache/assets/E62/280/sprockets%2Feac41dd5eb4b65a4d33af7ff7c4d8c9d +0 -0
  2661. data/test/dummy/tmp/cache/assets/E62/400/sprockets%2F64e9bdfb83d53acc66b63ebc88bbd6ba +0 -0
  2662. data/test/dummy/tmp/cache/assets/E62/790/sprockets%2Fcc9cdebfc45e1e9e40f59d45244cabcf +0 -0
  2663. data/test/dummy/tmp/cache/assets/E64/F30/sprockets%2F1de08065449c2cdc6cfcf8dccf47fdcc +0 -0
  2664. data/test/dummy/tmp/cache/assets/E65/BB0/sprockets%2F6d3ef3fcfef1fbf001c9dcce78fd6208 +0 -0
  2665. data/test/dummy/tmp/cache/assets/E67/7C0/sprockets%2F5fdef75e5fc94f4672cbbce2d4bde3a4 +0 -0
  2666. data/test/dummy/tmp/cache/assets/E68/940/sprockets%2Fde64d61ec0d2e5c8fad88fbecfd94a35 +0 -0
  2667. data/test/dummy/tmp/cache/assets/E6A/070/sprockets%2F17edc5ef63f8db0c2d8cf66b57ccea8e +0 -0
  2668. data/test/dummy/tmp/cache/assets/E6D/020/sprockets%2F9ece9c4c2e5b8ec1eececcea9d624198 +0 -0
  2669. data/test/dummy/tmp/cache/assets/E6E/9C0/sprockets%2Ffa55f351fcecf1bc2ba6ba1310cbfaa5 +0 -0
  2670. data/test/dummy/tmp/cache/assets/E6E/D70/sprockets%2Ff854d53e9df9fa1bf725dadd7e0f2cff +0 -0
  2671. data/test/dummy/tmp/cache/assets/E6F/7F0/sprockets%2F7a185c9f3999fec67aeddbfb23dea2de +0 -0
  2672. data/test/dummy/tmp/cache/assets/E79/F50/sprockets%2Ffa2b3f5c123a6ec5bfcdd35db4dd6ba1 +0 -0
  2673. data/test/dummy/tmp/cache/assets/E80/170/sprockets%2Fa0c50f15b9cdb1af4c2dfbcf90fe7ce2 +0 -0
  2674. data/test/dummy/tmp/cache/assets/E82/D10/sprockets%2F06afa77b0aacab9b76cb6e6318decfca +0 -0
  2675. data/test/dummy/tmp/cache/assets/E87/7D0/sprockets%2Ffe93f8ccabbebc20f353f51f5a4fe1cc +0 -0
  2676. data/test/dummy/tmp/cache/assets/E8A/370/sprockets%2Fba6cd8430accc5ffa10ff6eeb7aa939f +0 -0
  2677. data/test/dummy/tmp/cache/assets/E8C/D10/sprockets%2F956badfdacc7f96fb3bbf36dcc0b317c +0 -0
  2678. data/test/dummy/tmp/cache/assets/E91/7C0/sprockets%2Fef3c30e9c07b8affa4e39fceb6cb3e7b +0 -0
  2679. data/test/dummy/tmp/cache/assets/E93/EC0/sprockets%2Fe2f9ce9b0cbf7c9b0935ce1bfafe24ee +0 -0
  2680. data/test/dummy/tmp/cache/assets/E96/510/sprockets%2Ff3dd99b915fbacd1c6e7ebcf916b5abf +0 -0
  2681. data/test/dummy/tmp/cache/assets/E9A/790/sprockets%2Ffece53daabdeb86f6a4996af4dc99d0a +0 -0
  2682. data/test/dummy/tmp/cache/assets/EA6/850/sprockets%2Ff2eaf24266aaa0f2adeb0ffe01e5fdad +0 -0
  2683. data/test/dummy/tmp/cache/assets/EB0/300/sprockets%2Fe4bacccace2941a1a8ddfbdd97b2ad82 +0 -0
  2684. data/test/dummy/tmp/cache/assets/EB6/E70/sprockets%2F76a6b2ceb48abb4ddaca9bef2fce155e +0 -0
  2685. data/test/dummy/tmp/cache/assets/EC3/EF0/sprockets%2Fd4e09aca6af1fb9fbf6f86bbcca4e59c +0 -0
  2686. data/test/dummy/tmp/data/meta_request/055bf7bc695a78c99960938def7e04ed.json +1 -0
  2687. metadata +180 -8
  2688. data/app/assets/javascripts/Cesium/Core/definedNotNull.js +0 -23
  2689. data/app/assets/javascripts/Cesium/Scene/OpenStreetMapImageryProvider.js +0 -415
  2690. data/app/assets/javascripts/Cesium/Scene/TileMapServiceImageryProvider.js +0 -580
  2691. data/app/assets/javascripts/Cesium/ThirdParty/knockout-3.2.0.js +0 -112
  2692. data/test/dummy/tmp/pids/server.pid +0 -1
@@ -20,9 +20,10 @@
20
20
  * Portions licensed separately.
21
21
  * See https://github.com/AnalyticalGraphicsInc/cesium/blob/master/LICENSE.md for full licensing details.
22
22
  */
23
- (function () {/*global define*/
23
+ (function () {
24
+ /*global define*/
24
25
  define('Core/defined',[],function() {
25
- "use strict";
26
+ 'use strict';
26
27
 
27
28
  /**
28
29
  * @exports defined
@@ -38,7 +39,7 @@ define('Core/defined',[],function() {
38
39
  * }
39
40
  */
40
41
  function defined(value) {
41
- return value !== undefined;
42
+ return value !== undefined && value !== null;
42
43
  }
43
44
 
44
45
  return defined;
@@ -49,7 +50,7 @@ define('Core/freezeObject',[
49
50
  './defined'
50
51
  ], function(
51
52
  defined) {
52
- "use strict";
53
+ 'use strict';
53
54
 
54
55
  /**
55
56
  * Freezes an object, using Object.freeze if available, otherwise returns
@@ -74,7 +75,7 @@ define('Core/defaultValue',[
74
75
  './freezeObject'
75
76
  ], function(
76
77
  freezeObject) {
77
- "use strict";
78
+ 'use strict';
78
79
 
79
80
  /**
80
81
  * Returns the first parameter if not undefined, otherwise the second parameter.
@@ -110,7 +111,7 @@ define('Core/DeveloperError',[
110
111
  './defined'
111
112
  ], function(
112
113
  defined) {
113
- "use strict";
114
+ 'use strict';
114
115
 
115
116
  /**
116
117
  * Constructs an exception object that is thrown due to a developer error, e.g., invalid argument,
@@ -124,6 +125,7 @@ define('Core/DeveloperError',[
124
125
  *
125
126
  * @alias DeveloperError
126
127
  * @constructor
128
+ * @extends Error
127
129
  *
128
130
  * @param {String} [message] The error message for this exception.
129
131
  *
@@ -160,6 +162,11 @@ define('Core/DeveloperError',[
160
162
  this.stack = stack;
161
163
  }
162
164
 
165
+ if (defined(Object.create)) {
166
+ DeveloperError.prototype = Object.create(Error.prototype);
167
+ DeveloperError.prototype.constructor = DeveloperError;
168
+ }
169
+
163
170
  DeveloperError.prototype.toString = function() {
164
171
  var str = this.name + ': ' + this.message;
165
172
 
@@ -394,7 +401,7 @@ define('Core/Math',[
394
401
  defaultValue,
395
402
  defined,
396
403
  DeveloperError) {
397
- "use strict";
404
+ 'use strict';
398
405
 
399
406
  /**
400
407
  * Math functions.
@@ -1161,6 +1168,106 @@ define('Core/Math',[
1161
1168
  return CesiumMath;
1162
1169
  });
1163
1170
 
1171
+ /*global define*/
1172
+ define('Core/arrayRemoveDuplicates',[
1173
+ './defaultValue',
1174
+ './defined',
1175
+ './DeveloperError',
1176
+ './Math'
1177
+ ], function(
1178
+ defaultValue,
1179
+ defined,
1180
+ DeveloperError,
1181
+ CesiumMath) {
1182
+ 'use strict';
1183
+
1184
+ var removeDuplicatesEpsilon = CesiumMath.EPSILON10;
1185
+
1186
+ /**
1187
+ * Removes adjacent duplicate values in an array of values.
1188
+ *
1189
+ * @param {Object[]} [values] The array of values.
1190
+ * @param {Function} equalsEpsilon Function to compare values with an epsilon. Boolean equalsEpsilon(left, right, epsilon).
1191
+ * @param {Boolean} [wrapAround=false] Compare the last value in the array against the first value.
1192
+ * @returns {Object[]|undefined} A new array of values with no adjacent duplicate values or the input array if no duplicates were found.
1193
+ *
1194
+ * @example
1195
+ * // Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0), (3.0, 3.0, 3.0), (1.0, 1.0, 1.0)]
1196
+ * var values = [
1197
+ * new Cesium.Cartesian3(1.0, 1.0, 1.0),
1198
+ * new Cesium.Cartesian3(1.0, 1.0, 1.0),
1199
+ * new Cesium.Cartesian3(2.0, 2.0, 2.0),
1200
+ * new Cesium.Cartesian3(3.0, 3.0, 3.0),
1201
+ * new Cesium.Cartesian3(1.0, 1.0, 1.0)];
1202
+ * var nonDuplicatevalues = Cesium.PolylinePipeline.removeDuplicates(values, Cartesian3.equalsEpsilon);
1203
+ *
1204
+ * @example
1205
+ * // Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0), (3.0, 3.0, 3.0)]
1206
+ * var values = [
1207
+ * new Cesium.Cartesian3(1.0, 1.0, 1.0),
1208
+ * new Cesium.Cartesian3(1.0, 1.0, 1.0),
1209
+ * new Cesium.Cartesian3(2.0, 2.0, 2.0),
1210
+ * new Cesium.Cartesian3(3.0, 3.0, 3.0),
1211
+ * new Cesium.Cartesian3(1.0, 1.0, 1.0)];
1212
+ * var nonDuplicatevalues = Cesium.PolylinePipeline.removeDuplicates(values, Cartesian3.equalsEpsilon, true);
1213
+ *
1214
+ * @private
1215
+ */
1216
+ function arrayRemoveDuplicates(values, equalsEpsilon, wrapAround) {
1217
+ if (!defined(equalsEpsilon)) {
1218
+ throw new DeveloperError('equalsEpsilon is required.');
1219
+ }
1220
+
1221
+ if (!defined(values)) {
1222
+ return undefined;
1223
+ }
1224
+
1225
+ wrapAround = defaultValue(wrapAround, false);
1226
+
1227
+ var length = values.length;
1228
+ if (length < 2) {
1229
+ return values;
1230
+ }
1231
+
1232
+ var i;
1233
+ var v0;
1234
+ var v1;
1235
+
1236
+ for (i = 1; i < length; ++i) {
1237
+ v0 = values[i - 1];
1238
+ v1 = values[i];
1239
+ if (equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
1240
+ break;
1241
+ }
1242
+ }
1243
+
1244
+ if (i === length) {
1245
+ if (wrapAround && equalsEpsilon(values[0], values[values.length - 1], removeDuplicatesEpsilon)) {
1246
+ return values.slice(1);
1247
+ }
1248
+ return values;
1249
+ }
1250
+
1251
+ var cleanedvalues = values.slice(0, i);
1252
+ for (; i < length; ++i) {
1253
+ // v0 is set by either the previous loop, or the previous clean point.
1254
+ v1 = values[i];
1255
+ if (!equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
1256
+ cleanedvalues.push(v1);
1257
+ v0 = v1;
1258
+ }
1259
+ }
1260
+
1261
+ if (wrapAround && cleanedvalues.length > 1 && equalsEpsilon(cleanedvalues[0], cleanedvalues[cleanedvalues.length - 1], removeDuplicatesEpsilon)) {
1262
+ cleanedvalues.shift();
1263
+ }
1264
+
1265
+ return cleanedvalues;
1266
+ }
1267
+
1268
+ return arrayRemoveDuplicates;
1269
+ });
1270
+
1164
1271
  /*global define*/
1165
1272
  define('Core/Cartesian3',[
1166
1273
  './defaultValue',
@@ -1174,7 +1281,7 @@ define('Core/Cartesian3',[
1174
1281
  DeveloperError,
1175
1282
  freezeObject,
1176
1283
  CesiumMath) {
1177
- "use strict";
1284
+ 'use strict';
1178
1285
 
1179
1286
  /**
1180
1287
  * A 3D Cartesian point.
@@ -1343,6 +1450,63 @@ define('Core/Cartesian3',[
1343
1450
  return result;
1344
1451
  };
1345
1452
 
1453
+ /**
1454
+ * Flattens an array of Cartesian3s into an array of components.
1455
+ *
1456
+ * @param {Cartesian3[]} array The array of cartesians to pack.
1457
+ * @param {Number[]} result The array onto which to store the result.
1458
+ * @returns {Number[]} The packed array.
1459
+ */
1460
+ Cartesian3.packArray = function(array, result) {
1461
+ if (!defined(array)) {
1462
+ throw new DeveloperError('array is required');
1463
+ }
1464
+
1465
+ var length = array.length;
1466
+ if (!defined(result)) {
1467
+ result = new Array(length * 3);
1468
+ } else {
1469
+ result.length = length * 3;
1470
+ }
1471
+
1472
+ for (var i = 0; i < length; ++i) {
1473
+ Cartesian3.pack(array[i], result, i * 3);
1474
+ }
1475
+ return result;
1476
+ };
1477
+
1478
+ /**
1479
+ * Unpacks an array of cartesian components into an array of Cartesian3s.
1480
+ *
1481
+ * @param {Number[]} array The array of components to unpack.
1482
+ * @param {Cartesian3[]} result The array onto which to store the result.
1483
+ * @returns {Cartesian3[]} The unpacked array.
1484
+ */
1485
+ Cartesian3.unpackArray = function(array, result) {
1486
+ if (!defined(array)) {
1487
+ throw new DeveloperError('array is required');
1488
+ }
1489
+ if (array.length < 3) {
1490
+ throw new DeveloperError('array length cannot be less than 3.');
1491
+ }
1492
+ if (array.length % 3 !== 0) {
1493
+ throw new DeveloperError('array length must be a multiple of 3.');
1494
+ }
1495
+
1496
+ var length = array.length;
1497
+ if (!defined(result)) {
1498
+ result = new Array(length / 3);
1499
+ } else {
1500
+ result.length = length / 3;
1501
+ }
1502
+
1503
+ for (var i = 0; i < length; i += 3) {
1504
+ var index = i / 3;
1505
+ result[index] = Cartesian3.unpack(array, i, result[index]);
1506
+ }
1507
+ return result;
1508
+ };
1509
+
1346
1510
  /**
1347
1511
  * Creates a Cartesian3 from three consecutive elements in an array.
1348
1512
  * @function
@@ -1909,9 +2073,9 @@ define('Core/Cartesian3',[
1909
2073
  throw new DeveloperError('latitude is required');
1910
2074
  }
1911
2075
 
1912
- var lon = CesiumMath.toRadians(longitude);
1913
- var lat = CesiumMath.toRadians(latitude);
1914
- return Cartesian3.fromRadians(lon, lat, height, ellipsoid, result);
2076
+ longitude = CesiumMath.toRadians(longitude);
2077
+ latitude = CesiumMath.toRadians(latitude);
2078
+ return Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result);
1915
2079
  };
1916
2080
 
1917
2081
  var scratchN = new Cartesian3();
@@ -1972,15 +2136,30 @@ define('Core/Cartesian3',[
1972
2136
  */
1973
2137
  Cartesian3.fromDegreesArray = function(coordinates, ellipsoid, result) {
1974
2138
  if (!defined(coordinates)) {
1975
- throw new DeveloperError('positions is required.');
2139
+ throw new DeveloperError('coordinates is required.');
2140
+ }
2141
+ if (coordinates.length < 2) {
2142
+ throw new DeveloperError('coordinates length cannot be less than 2.');
2143
+ }
2144
+ if (coordinates.length % 2 !== 0) {
2145
+ throw new DeveloperError('coordinates length must be a multiple of 2.');
1976
2146
  }
1977
2147
 
1978
- var pos = new Array(coordinates.length);
1979
- for (var i = 0; i < coordinates.length; i++) {
1980
- pos[i] = CesiumMath.toRadians(coordinates[i]);
2148
+ var length = coordinates.length;
2149
+ if (!defined(result)) {
2150
+ result = new Array(length / 2);
2151
+ } else {
2152
+ result.length = length / 2;
2153
+ }
2154
+
2155
+ for (var i = 0; i < length; i += 2) {
2156
+ var longitude = coordinates[i];
2157
+ var latitude = coordinates[i + 1];
2158
+ var index = i / 2;
2159
+ result[index] = Cartesian3.fromDegrees(longitude, latitude, 0, ellipsoid, result[index]);
1981
2160
  }
1982
2161
 
1983
- return Cartesian3.fromRadiansArray(pos, ellipsoid, result);
2162
+ return result;
1984
2163
  };
1985
2164
 
1986
2165
  /**
@@ -1996,26 +2175,27 @@ define('Core/Cartesian3',[
1996
2175
  */
1997
2176
  Cartesian3.fromRadiansArray = function(coordinates, ellipsoid, result) {
1998
2177
  if (!defined(coordinates)) {
1999
- throw new DeveloperError('positions is required.');
2178
+ throw new DeveloperError('coordinates is required.');
2000
2179
  }
2001
2180
  if (coordinates.length < 2) {
2002
- throw new DeveloperError('positions length cannot be less than 2.');
2181
+ throw new DeveloperError('coordinates length cannot be less than 2.');
2003
2182
  }
2004
2183
  if (coordinates.length % 2 !== 0) {
2005
- throw new DeveloperError('positions length must be a multiple of 2.');
2184
+ throw new DeveloperError('coordinates length must be a multiple of 2.');
2006
2185
  }
2007
2186
 
2008
2187
  var length = coordinates.length;
2009
2188
  if (!defined(result)) {
2010
- result = new Array(length/2);
2189
+ result = new Array(length / 2);
2011
2190
  } else {
2012
- result.length = length/2;
2191
+ result.length = length / 2;
2013
2192
  }
2014
2193
 
2015
- for ( var i = 0; i < length; i+=2) {
2016
- var lon = coordinates[i];
2017
- var lat = coordinates[i+1];
2018
- result[i/2] = Cartesian3.fromRadians(lon, lat, 0, ellipsoid, result[i/2]);
2194
+ for (var i = 0; i < length; i += 2) {
2195
+ var longitude = coordinates[i];
2196
+ var latitude = coordinates[i + 1];
2197
+ var index = i / 2;
2198
+ result[index] = Cartesian3.fromRadians(longitude, latitude, 0, ellipsoid, result[index]);
2019
2199
  }
2020
2200
 
2021
2201
  return result;
@@ -2024,7 +2204,7 @@ define('Core/Cartesian3',[
2024
2204
  /**
2025
2205
  * Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in degrees.
2026
2206
  *
2027
- * @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height,, longitude, latitude, height...].
2207
+ * @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...].
2028
2208
  * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
2029
2209
  * @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
2030
2210
  * @returns {Cartesian3[]} The array of positions.
@@ -2034,29 +2214,37 @@ define('Core/Cartesian3',[
2034
2214
  */
2035
2215
  Cartesian3.fromDegreesArrayHeights = function(coordinates, ellipsoid, result) {
2036
2216
  if (!defined(coordinates)) {
2037
- throw new DeveloperError('positions is required.');
2217
+ throw new DeveloperError('coordinates is required.');
2038
2218
  }
2039
2219
  if (coordinates.length < 3) {
2040
- throw new DeveloperError('positions length cannot be less than 3.');
2220
+ throw new DeveloperError('coordinates length cannot be less than 3.');
2041
2221
  }
2042
2222
  if (coordinates.length % 3 !== 0) {
2043
- throw new DeveloperError('positions length must be a multiple of 3.');
2223
+ throw new DeveloperError('coordinates length must be a multiple of 3.');
2044
2224
  }
2045
2225
 
2046
- var pos = new Array(coordinates.length);
2047
- for (var i = 0; i < coordinates.length; i+=3) {
2048
- pos[i] = CesiumMath.toRadians(coordinates[i]);
2049
- pos[i+1] = CesiumMath.toRadians(coordinates[i+1]);
2050
- pos[i+2] = coordinates[i+2];
2226
+ var length = coordinates.length;
2227
+ if (!defined(result)) {
2228
+ result = new Array(length / 3);
2229
+ } else {
2230
+ result.length = length / 3;
2231
+ }
2232
+
2233
+ for (var i = 0; i < length; i += 3) {
2234
+ var longitude = coordinates[i];
2235
+ var latitude = coordinates[i + 1];
2236
+ var height = coordinates[i + 2];
2237
+ var index = i / 3;
2238
+ result[index] = Cartesian3.fromDegrees(longitude, latitude, height, ellipsoid, result[index]);
2051
2239
  }
2052
2240
 
2053
- return Cartesian3.fromRadiansArrayHeights(pos, ellipsoid, result);
2241
+ return result;
2054
2242
  };
2055
2243
 
2056
2244
  /**
2057
2245
  * Returns an array of Cartesian3 positions given an array of longitude, latitude and height values where longitude and latitude are given in radians.
2058
2246
  *
2059
- * @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height,, longitude, latitude, height...].
2247
+ * @param {Number[]} coordinates A list of longitude, latitude and height values. Values alternate [longitude, latitude, height, longitude, latitude, height...].
2060
2248
  * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the position lies.
2061
2249
  * @param {Cartesian3[]} [result] An array of Cartesian3 objects to store the result.
2062
2250
  * @returns {Cartesian3[]} The array of positions.
@@ -2066,27 +2254,28 @@ define('Core/Cartesian3',[
2066
2254
  */
2067
2255
  Cartesian3.fromRadiansArrayHeights = function(coordinates, ellipsoid, result) {
2068
2256
  if (!defined(coordinates)) {
2069
- throw new DeveloperError('positions is required.');
2257
+ throw new DeveloperError('coordinates is required.');
2070
2258
  }
2071
2259
  if (coordinates.length < 3) {
2072
- throw new DeveloperError('positions length cannot be less than 3.');
2260
+ throw new DeveloperError('coordinates length cannot be less than 3.');
2073
2261
  }
2074
2262
  if (coordinates.length % 3 !== 0) {
2075
- throw new DeveloperError('positions length must be a multiple of 3.');
2263
+ throw new DeveloperError('coordinates length must be a multiple of 3.');
2076
2264
  }
2077
2265
 
2078
2266
  var length = coordinates.length;
2079
2267
  if (!defined(result)) {
2080
- result = new Array(length/3);
2268
+ result = new Array(length / 3);
2081
2269
  } else {
2082
- result.length = length/3;
2270
+ result.length = length / 3;
2083
2271
  }
2084
2272
 
2085
- for ( var i = 0; i < length; i+=3) {
2086
- var lon = coordinates[i];
2087
- var lat = coordinates[i+1];
2088
- var alt = coordinates[i+2];
2089
- result[i/3] = Cartesian3.fromRadians(lon, lat, alt, ellipsoid, result[i/3]);
2273
+ for (var i = 0; i < length; i += 3) {
2274
+ var longitude = coordinates[i];
2275
+ var latitude = coordinates[i + 1];
2276
+ var height = coordinates[i + 2];
2277
+ var index = i / 3;
2278
+ result[index] = Cartesian3.fromRadians(longitude, latitude, height, ellipsoid, result[index]);
2090
2279
  }
2091
2280
 
2092
2281
  return result;
@@ -2182,7 +2371,7 @@ define('Core/scaleToGeodeticSurface',[
2182
2371
  defined,
2183
2372
  DeveloperError,
2184
2373
  CesiumMath) {
2185
- "use strict";
2374
+ 'use strict';
2186
2375
 
2187
2376
  var scaleToGeodeticSurfaceIntersection = new Cartesian3();
2188
2377
  var scaleToGeodeticSurfaceGradient = new Cartesian3();
@@ -2323,7 +2512,7 @@ define('Core/Cartographic',[
2323
2512
  freezeObject,
2324
2513
  CesiumMath,
2325
2514
  scaleToGeodeticSurface) {
2326
- "use strict";
2515
+ 'use strict';
2327
2516
 
2328
2517
  /**
2329
2518
  * A position defined by longitude, latitude, and height.
@@ -2578,7 +2767,7 @@ define('Core/defineProperties',[
2578
2767
  './defined'
2579
2768
  ], function(
2580
2769
  defined) {
2581
- "use strict";
2770
+ 'use strict';
2582
2771
 
2583
2772
  var definePropertyWorks = (function() {
2584
2773
  try {
@@ -2628,7 +2817,7 @@ define('Core/Ellipsoid',[
2628
2817
  freezeObject,
2629
2818
  CesiumMath,
2630
2819
  scaleToGeodeticSurface) {
2631
- "use strict";
2820
+ 'use strict';
2632
2821
 
2633
2822
  function initialize(ellipsoid, x, y, z) {
2634
2823
  x = defaultValue(x, 0.0);
@@ -3219,7 +3408,7 @@ define('Core/GeographicProjection',[
3219
3408
  defineProperties,
3220
3409
  DeveloperError,
3221
3410
  Ellipsoid) {
3222
- "use strict";
3411
+ 'use strict';
3223
3412
 
3224
3413
  /**
3225
3414
  * A simple map projection where longitude and latitude are linearly mapped to X and Y by multiplying
@@ -3325,7 +3514,7 @@ define('Core/Intersect',[
3325
3514
  './freezeObject'
3326
3515
  ], function(
3327
3516
  freezeObject) {
3328
- "use strict";
3517
+ 'use strict';
3329
3518
 
3330
3519
  /**
3331
3520
  * This enumerated type is used in determining where, relative to the frustum, an
@@ -3368,7 +3557,7 @@ define('Core/Interval',[
3368
3557
  './defaultValue'
3369
3558
  ], function(
3370
3559
  defaultValue) {
3371
- "use strict";
3560
+ 'use strict';
3372
3561
 
3373
3562
  /**
3374
3563
  * Represents the closed interval [start, stop].
@@ -3401,6 +3590,7 @@ define('Core/Matrix3',[
3401
3590
  './Cartesian3',
3402
3591
  './defaultValue',
3403
3592
  './defined',
3593
+ './defineProperties',
3404
3594
  './DeveloperError',
3405
3595
  './freezeObject',
3406
3596
  './Math'
@@ -3408,10 +3598,11 @@ define('Core/Matrix3',[
3408
3598
  Cartesian3,
3409
3599
  defaultValue,
3410
3600
  defined,
3601
+ defineProperties,
3411
3602
  DeveloperError,
3412
3603
  freezeObject,
3413
3604
  CesiumMath) {
3414
- "use strict";
3605
+ 'use strict';
3415
3606
 
3416
3607
  /**
3417
3608
  * A 3x3 matrix, indexable as a column-major order array.
@@ -4813,6 +5004,20 @@ define('Core/Matrix3',[
4813
5004
  */
4814
5005
  Matrix3.COLUMN2ROW2 = 8;
4815
5006
 
5007
+ defineProperties(Matrix3.prototype, {
5008
+ /**
5009
+ * Gets the number of items in the collection.
5010
+ * @memberof Matrix3.prototype
5011
+ *
5012
+ * @type {Number}
5013
+ */
5014
+ length : {
5015
+ get : function() {
5016
+ return Matrix3.packedLength;
5017
+ }
5018
+ }
5019
+ });
5020
+
4816
5021
  /**
4817
5022
  * Duplicates the provided Matrix3 instance.
4818
5023
  *
@@ -4890,7 +5095,7 @@ define('Core/Cartesian4',[
4890
5095
  DeveloperError,
4891
5096
  freezeObject,
4892
5097
  CesiumMath) {
4893
- "use strict";
5098
+ 'use strict';
4894
5099
 
4895
5100
  /**
4896
5101
  * A 4D Cartesian point.
@@ -5059,6 +5264,57 @@ define('Core/Cartesian4',[
5059
5264
  return result;
5060
5265
  };
5061
5266
 
5267
+ /**
5268
+ * Flattens an array of Cartesian4s into and array of components.
5269
+ *
5270
+ * @param {Cartesian4[]} array The array of cartesians to pack.
5271
+ * @param {Number[]} result The array onto which to store the result.
5272
+ * @returns {Number[]} The packed array.
5273
+ */
5274
+ Cartesian4.packArray = function(array, result) {
5275
+ if (!defined(array)) {
5276
+ throw new DeveloperError('array is required');
5277
+ }
5278
+
5279
+ var length = array.length;
5280
+ if (!defined(result)) {
5281
+ result = new Array(length * 4);
5282
+ } else {
5283
+ result.length = length * 4;
5284
+ }
5285
+
5286
+ for (var i = 0; i < length; ++i) {
5287
+ Cartesian4.pack(array[i], result, i * 4);
5288
+ }
5289
+ return result;
5290
+ };
5291
+
5292
+ /**
5293
+ * Unpacks an array of cartesian components into and array of Cartesian4s.
5294
+ *
5295
+ * @param {Number[]} array The array of components to unpack.
5296
+ * @param {Cartesian4[]} result The array onto which to store the result.
5297
+ * @returns {Cartesian4[]} The unpacked array.
5298
+ */
5299
+ Cartesian4.unpackArray = function(array, result) {
5300
+ if (!defined(array)) {
5301
+ throw new DeveloperError('array is required');
5302
+ }
5303
+
5304
+ var length = array.length;
5305
+ if (!defined(result)) {
5306
+ result = new Array(length / 4);
5307
+ } else {
5308
+ result.length = length / 4;
5309
+ }
5310
+
5311
+ for (var i = 0; i < length; i += 4) {
5312
+ var index = i / 4;
5313
+ result[index] = Cartesian4.unpack(array, i, result[index]);
5314
+ }
5315
+ return result;
5316
+ };
5317
+
5062
5318
  /**
5063
5319
  * Creates a Cartesian4 from four consecutive elements in an array.
5064
5320
  * @function
@@ -5664,7 +5920,7 @@ define('Core/RuntimeError',[
5664
5920
  './defined'
5665
5921
  ], function(
5666
5922
  defined) {
5667
- "use strict";
5923
+ 'use strict';
5668
5924
 
5669
5925
  /**
5670
5926
  * Constructs an exception object that is thrown due to an error that can occur at runtime, e.g.,
@@ -5677,6 +5933,7 @@ define('Core/RuntimeError',[
5677
5933
  *
5678
5934
  * @alias RuntimeError
5679
5935
  * @constructor
5936
+ * @extends Error
5680
5937
  *
5681
5938
  * @param {String} [message] The error message for this exception.
5682
5939
  *
@@ -5712,6 +5969,12 @@ define('Core/RuntimeError',[
5712
5969
  */
5713
5970
  this.stack = stack;
5714
5971
  }
5972
+
5973
+ if (defined(Object.create)) {
5974
+ RuntimeError.prototype = Object.create(Error.prototype);
5975
+ RuntimeError.prototype.constructor = RuntimeError;
5976
+ }
5977
+
5715
5978
  RuntimeError.prototype.toString = function() {
5716
5979
  var str = this.name + ': ' + this.message;
5717
5980
 
@@ -5731,6 +5994,7 @@ define('Core/Matrix4',[
5731
5994
  './Cartesian4',
5732
5995
  './defaultValue',
5733
5996
  './defined',
5997
+ './defineProperties',
5734
5998
  './DeveloperError',
5735
5999
  './freezeObject',
5736
6000
  './Math',
@@ -5741,12 +6005,13 @@ define('Core/Matrix4',[
5741
6005
  Cartesian4,
5742
6006
  defaultValue,
5743
6007
  defined,
6008
+ defineProperties,
5744
6009
  DeveloperError,
5745
6010
  freezeObject,
5746
6011
  CesiumMath,
5747
6012
  Matrix3,
5748
6013
  RuntimeError) {
5749
- "use strict";
6014
+ 'use strict';
5750
6015
 
5751
6016
  /**
5752
6017
  * A 4x4 matrix, indexable as a column-major order array.
@@ -5785,6 +6050,7 @@ define('Core/Matrix4',[
5785
6050
  * @see Matrix4.computePerspectiveOffCenter
5786
6051
  * @see Matrix4.computeInfinitePerspectiveOffCenter
5787
6052
  * @see Matrix4.computeViewportTransformation
6053
+ * @see Matrix4.computeView
5788
6054
  * @see Matrix2
5789
6055
  * @see Matrix3
5790
6056
  * @see Packable
@@ -6252,7 +6518,7 @@ define('Core/Matrix4',[
6252
6518
  };
6253
6519
 
6254
6520
  var fromCameraF = new Cartesian3();
6255
- var fromCameraS = new Cartesian3();
6521
+ var fromCameraR = new Cartesian3();
6256
6522
  var fromCameraU = new Cartesian3();
6257
6523
 
6258
6524
  /**
@@ -6267,55 +6533,55 @@ define('Core/Matrix4',[
6267
6533
  throw new DeveloperError('camera is required.');
6268
6534
  }
6269
6535
 
6270
- var eye = camera.eye;
6271
- var target = camera.target;
6536
+ var position = camera.position;
6537
+ var direction = camera.direction;
6272
6538
  var up = camera.up;
6273
6539
 
6274
- if (!defined(eye)) {
6275
- throw new DeveloperError('camera.eye is required.');
6540
+ if (!defined(position)) {
6541
+ throw new DeveloperError('camera.position is required.');
6276
6542
  }
6277
- if (!defined(target)) {
6278
- throw new DeveloperError('camera.target is required.');
6543
+ if (!defined(direction)) {
6544
+ throw new DeveloperError('camera.direction is required.');
6279
6545
  }
6280
6546
  if (!defined(up)) {
6281
6547
  throw new DeveloperError('camera.up is required.');
6282
6548
  }
6283
6549
 
6284
- Cartesian3.normalize(Cartesian3.subtract(target, eye, fromCameraF), fromCameraF);
6285
- Cartesian3.normalize(Cartesian3.cross(fromCameraF, up, fromCameraS), fromCameraS);
6286
- Cartesian3.normalize(Cartesian3.cross(fromCameraS, fromCameraF, fromCameraU), fromCameraU);
6550
+ Cartesian3.normalize(direction, fromCameraF);
6551
+ Cartesian3.normalize(Cartesian3.cross(fromCameraF, up, fromCameraR), fromCameraR);
6552
+ Cartesian3.normalize(Cartesian3.cross(fromCameraR, fromCameraF, fromCameraU), fromCameraU);
6287
6553
 
6288
- var sX = fromCameraS.x;
6289
- var sY = fromCameraS.y;
6290
- var sZ = fromCameraS.z;
6554
+ var sX = fromCameraR.x;
6555
+ var sY = fromCameraR.y;
6556
+ var sZ = fromCameraR.z;
6291
6557
  var fX = fromCameraF.x;
6292
6558
  var fY = fromCameraF.y;
6293
6559
  var fZ = fromCameraF.z;
6294
6560
  var uX = fromCameraU.x;
6295
6561
  var uY = fromCameraU.y;
6296
6562
  var uZ = fromCameraU.z;
6297
- var eyeX = eye.x;
6298
- var eyeY = eye.y;
6299
- var eyeZ = eye.z;
6300
- var t0 = sX * -eyeX + sY * -eyeY+ sZ * -eyeZ;
6301
- var t1 = uX * -eyeX + uY * -eyeY+ uZ * -eyeZ;
6302
- var t2 = fX * eyeX + fY * eyeY + fZ * eyeZ;
6303
-
6304
- //The code below this comment is an optimized
6305
- //version of the commented lines.
6306
- //Rather that create two matrices and then multiply,
6307
- //we just bake in the multiplcation as part of creation.
6308
- //var rotation = new Matrix4(
6309
- // sX, sY, sZ, 0.0,
6310
- // uX, uY, uZ, 0.0,
6311
- // -fX, -fY, -fZ, 0.0,
6312
- // 0.0, 0.0, 0.0, 1.0);
6313
- //var translation = new Matrix4(
6314
- // 1.0, 0.0, 0.0, -eye.x,
6315
- // 0.0, 1.0, 0.0, -eye.y,
6316
- // 0.0, 0.0, 1.0, -eye.z,
6317
- // 0.0, 0.0, 0.0, 1.0);
6318
- //return rotation.multiply(translation);
6563
+ var positionX = position.x;
6564
+ var positionY = position.y;
6565
+ var positionZ = position.z;
6566
+ var t0 = sX * -positionX + sY * -positionY+ sZ * -positionZ;
6567
+ var t1 = uX * -positionX + uY * -positionY+ uZ * -positionZ;
6568
+ var t2 = fX * positionX + fY * positionY + fZ * positionZ;
6569
+
6570
+ // The code below this comment is an optimized
6571
+ // version of the commented lines.
6572
+ // Rather that create two matrices and then multiply,
6573
+ // we just bake in the multiplcation as part of creation.
6574
+ // var rotation = new Matrix4(
6575
+ // sX, sY, sZ, 0.0,
6576
+ // uX, uY, uZ, 0.0,
6577
+ // -fX, -fY, -fZ, 0.0,
6578
+ // 0.0, 0.0, 0.0, 1.0);
6579
+ // var translation = new Matrix4(
6580
+ // 1.0, 0.0, 0.0, -position.x,
6581
+ // 0.0, 1.0, 0.0, -position.y,
6582
+ // 0.0, 0.0, 1.0, -position.z,
6583
+ // 0.0, 0.0, 0.0, 1.0);
6584
+ // return rotation.multiply(translation);
6319
6585
  if (!defined(result)) {
6320
6586
  return new Matrix4(
6321
6587
  sX, sY, sZ, t0,
@@ -6340,7 +6606,6 @@ define('Core/Matrix4',[
6340
6606
  result[14] = t2;
6341
6607
  result[15] = 1.0;
6342
6608
  return result;
6343
-
6344
6609
  };
6345
6610
 
6346
6611
  /**
@@ -6353,14 +6618,14 @@ define('Core/Matrix4',[
6353
6618
  * @param {Matrix4} result The object in which the result will be stored.
6354
6619
  * @returns {Matrix4} The modified result parameter.
6355
6620
  *
6356
- * @exception {DeveloperError} fovY must be in [0, PI).
6621
+ * @exception {DeveloperError} fovY must be in (0, PI].
6357
6622
  * @exception {DeveloperError} aspectRatio must be greater than zero.
6358
6623
  * @exception {DeveloperError} near must be greater than zero.
6359
6624
  * @exception {DeveloperError} far must be greater than zero.
6360
6625
  */
6361
6626
  Matrix4.computePerspectiveFieldOfView = function(fovY, aspectRatio, near, far, result) {
6362
6627
  if (fovY <= 0.0 || fovY > Math.PI) {
6363
- throw new DeveloperError('fovY must be in [0, PI).');
6628
+ throw new DeveloperError('fovY must be in (0, PI].');
6364
6629
  }
6365
6630
  if (aspectRatio <= 0.0) {
6366
6631
  throw new DeveloperError('aspectRatio must be greater than zero.');
@@ -6536,7 +6801,6 @@ define('Core/Matrix4',[
6536
6801
  * @param {Number} bottom The number of meters below of the camera that will be in view.
6537
6802
  * @param {Number} top The number of meters above of the camera that will be in view.
6538
6803
  * @param {Number} near The distance to the near plane in meters.
6539
- * @param {Number} far The distance to the far plane in meters.
6540
6804
  * @param {Matrix4} result The object in which the result will be stored.
6541
6805
  * @returns {Matrix4} The modified result parameter.
6542
6806
  */
@@ -6649,6 +6913,52 @@ define('Core/Matrix4',[
6649
6913
  return result;
6650
6914
  };
6651
6915
 
6916
+ /**
6917
+ * Computes a Matrix4 instance that transforms from world space to view space.
6918
+ *
6919
+ * @param {Cartesian3} position The position of the camera.
6920
+ * @param {Cartesian3} direction The forward direction.
6921
+ * @param {Cartesian3} up The up direction.
6922
+ * @param {Cartesian3} right The right direction.
6923
+ * @param {Matrix4} result The object in which the result will be stored.
6924
+ * @returns {Matrix4} The modified result parameter.
6925
+ */
6926
+ Matrix4.computeView = function(position, direction, up, right, result) {
6927
+ if (!defined(position)) {
6928
+ throw new DeveloperError('position is required');
6929
+ }
6930
+ if (!defined(direction)) {
6931
+ throw new DeveloperError('direction is required');
6932
+ }
6933
+ if (!defined(up)) {
6934
+ throw new DeveloperError('up is required');
6935
+ }
6936
+ if (!defined(right)) {
6937
+ throw new DeveloperError('right is required');
6938
+ }
6939
+ if (!defined(result)) {
6940
+ throw new DeveloperError('result is required');
6941
+ }
6942
+
6943
+ result[0] = right.x;
6944
+ result[1] = up.x;
6945
+ result[2] = -direction.x;
6946
+ result[3] = 0.0;
6947
+ result[4] = right.y;
6948
+ result[5] = up.y;
6949
+ result[6] = -direction.y;
6950
+ result[7] = 0.0;
6951
+ result[8] = right.z;
6952
+ result[9] = up.z;
6953
+ result[10] = -direction.z;
6954
+ result[11] = 0.0;
6955
+ result[12] = -Cartesian3.dot(right, position);
6956
+ result[13] = -Cartesian3.dot(up, position);
6957
+ result[14] = Cartesian3.dot(direction, position);
6958
+ result[15] = 1.0;
6959
+ return result;
6960
+ };
6961
+
6652
6962
  /**
6653
6963
  * Computes an Array from the provided Matrix4 instance.
6654
6964
  * The array will be in column-major order.
@@ -8341,6 +8651,20 @@ define('Core/Matrix4',[
8341
8651
  */
8342
8652
  Matrix4.COLUMN3ROW3 = 15;
8343
8653
 
8654
+ defineProperties(Matrix4.prototype, {
8655
+ /**
8656
+ * Gets the number of items in the collection.
8657
+ * @memberof Matrix4.prototype
8658
+ *
8659
+ * @type {Number}
8660
+ */
8661
+ length : {
8662
+ get : function() {
8663
+ return Matrix4.packedLength;
8664
+ }
8665
+ }
8666
+ });
8667
+
8344
8668
  /**
8345
8669
  * Duplicates the provided Matrix4 instance.
8346
8670
  *
@@ -8424,7 +8748,7 @@ define('Core/Plane',[
8424
8748
  defined,
8425
8749
  DeveloperError,
8426
8750
  freezeObject) {
8427
- "use strict";
8751
+ 'use strict';
8428
8752
 
8429
8753
  /**
8430
8754
  * A plane in Hessian Normal Form defined by
@@ -8601,7 +8925,7 @@ define('Core/Rectangle',[
8601
8925
  Ellipsoid,
8602
8926
  freezeObject,
8603
8927
  CesiumMath) {
8604
- "use strict";
8928
+ 'use strict';
8605
8929
 
8606
8930
  /**
8607
8931
  * A two dimensional region specified as longitude and latitude coordinates.
@@ -8845,25 +9169,80 @@ define('Core/Rectangle',[
8845
9169
  };
8846
9170
 
8847
9171
  /**
8848
- * Duplicates an Rectangle.
9172
+ * Creates the smallest possible Rectangle that encloses all positions in the provided array.
8849
9173
  *
8850
- * @param {Rectangle} rectangle The rectangle to clone.
9174
+ * @param {Cartesian[]} cartesians The list of Cartesian instances.
9175
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid the cartesians are on.
8851
9176
  * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
8852
- * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided. (Returns undefined if rectangle is undefined)
9177
+ * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided.
8853
9178
  */
8854
- Rectangle.clone = function(rectangle, result) {
8855
- if (!defined(rectangle)) {
8856
- return undefined;
9179
+ Rectangle.fromCartesianArray = function(cartesians, ellipsoid, result) {
9180
+ if (!defined(cartesians)) {
9181
+ throw new DeveloperError('cartesians is required.');
9182
+ }
9183
+
9184
+ var west = Number.MAX_VALUE;
9185
+ var east = -Number.MAX_VALUE;
9186
+ var westOverIDL = Number.MAX_VALUE;
9187
+ var eastOverIDL = -Number.MAX_VALUE;
9188
+ var south = Number.MAX_VALUE;
9189
+ var north = -Number.MAX_VALUE;
9190
+
9191
+ for ( var i = 0, len = cartesians.length; i < len; i++) {
9192
+ var position = ellipsoid.cartesianToCartographic(cartesians[i]);
9193
+ west = Math.min(west, position.longitude);
9194
+ east = Math.max(east, position.longitude);
9195
+ south = Math.min(south, position.latitude);
9196
+ north = Math.max(north, position.latitude);
9197
+
9198
+ var lonAdjusted = position.longitude >= 0 ? position.longitude : position.longitude + CesiumMath.TWO_PI;
9199
+ westOverIDL = Math.min(westOverIDL, lonAdjusted);
9200
+ eastOverIDL = Math.max(eastOverIDL, lonAdjusted);
9201
+ }
9202
+
9203
+ if(east - west > eastOverIDL - westOverIDL) {
9204
+ west = westOverIDL;
9205
+ east = eastOverIDL;
9206
+
9207
+ if (east > CesiumMath.PI) {
9208
+ east = east - CesiumMath.TWO_PI;
9209
+ }
9210
+ if (west > CesiumMath.PI) {
9211
+ west = west - CesiumMath.TWO_PI;
9212
+ }
8857
9213
  }
8858
9214
 
8859
9215
  if (!defined(result)) {
8860
- return new Rectangle(rectangle.west, rectangle.south, rectangle.east, rectangle.north);
9216
+ return new Rectangle(west, south, east, north);
8861
9217
  }
8862
9218
 
8863
- result.west = rectangle.west;
8864
- result.south = rectangle.south;
8865
- result.east = rectangle.east;
8866
- result.north = rectangle.north;
9219
+ result.west = west;
9220
+ result.south = south;
9221
+ result.east = east;
9222
+ result.north = north;
9223
+ return result;
9224
+ };
9225
+
9226
+ /**
9227
+ * Duplicates an Rectangle.
9228
+ *
9229
+ * @param {Rectangle} rectangle The rectangle to clone.
9230
+ * @param {Rectangle} [result] The object onto which to store the result, or undefined if a new instance should be created.
9231
+ * @returns {Rectangle} The modified result parameter or a new Rectangle instance if none was provided. (Returns undefined if rectangle is undefined)
9232
+ */
9233
+ Rectangle.clone = function(rectangle, result) {
9234
+ if (!defined(rectangle)) {
9235
+ return undefined;
9236
+ }
9237
+
9238
+ if (!defined(result)) {
9239
+ return new Rectangle(rectangle.west, rectangle.south, rectangle.east, rectangle.north);
9240
+ }
9241
+
9242
+ result.west = rectangle.west;
9243
+ result.south = rectangle.south;
9244
+ result.east = rectangle.east;
9245
+ result.north = rectangle.north;
8867
9246
  return result;
8868
9247
  };
8869
9248
 
@@ -9360,7 +9739,7 @@ define('Core/BoundingSphere',[
9360
9739
  Matrix4,
9361
9740
  Plane,
9362
9741
  Rectangle) {
9363
- "use strict";
9742
+ 'use strict';
9364
9743
 
9365
9744
  /**
9366
9745
  * A bounding sphere with a center and a radius.
@@ -10656,7 +11035,7 @@ define('Renderer/WebGLConstants',[
10656
11035
  '../Core/freezeObject'
10657
11036
  ], function(
10658
11037
  freezeObject) {
10659
- "use strict";
11038
+ 'use strict';
10660
11039
 
10661
11040
  /**
10662
11041
  * WebGL constants.
@@ -11252,7 +11631,7 @@ define('Core/Fullscreen',[
11252
11631
  ], function(
11253
11632
  defined,
11254
11633
  defineProperties) {
11255
- "use strict";
11634
+ 'use strict';
11256
11635
 
11257
11636
  var _supportsFullscreen;
11258
11637
  var _names = {
@@ -11420,22 +11799,22 @@ define('Core/Fullscreen',[
11420
11799
 
11421
11800
  // casing of Fullscreen differs across browsers
11422
11801
  name = prefix + 'FullscreenEnabled';
11423
- if (defined(document[name])) {
11802
+ if (document[name] !== undefined) {
11424
11803
  _names.fullscreenEnabled = name;
11425
11804
  } else {
11426
11805
  name = prefix + 'FullScreenEnabled';
11427
- if (defined(document[name])) {
11806
+ if (document[name] !== undefined) {
11428
11807
  _names.fullscreenEnabled = name;
11429
11808
  }
11430
11809
  }
11431
11810
 
11432
11811
  // casing of Fullscreen differs across browsers
11433
11812
  name = prefix + 'FullscreenElement';
11434
- if (defined(document[name])) {
11813
+ if (document[name] !== undefined) {
11435
11814
  _names.fullscreenElement = name;
11436
11815
  } else {
11437
11816
  name = prefix + 'FullScreenElement';
11438
- if (defined(document[name])) {
11817
+ if (document[name] !== undefined) {
11439
11818
  _names.fullscreenElement = name;
11440
11819
  }
11441
11820
  }
@@ -11443,7 +11822,7 @@ define('Core/Fullscreen',[
11443
11822
  // thankfully, event names are all lowercase per spec
11444
11823
  name = prefix + 'fullscreenchange';
11445
11824
  // event names do not have 'on' in the front, but the property on the document does
11446
- if (defined(document['on' + name])) {
11825
+ if (document['on' + name] !== undefined) {
11447
11826
  //except on IE
11448
11827
  if (prefix === 'ms') {
11449
11828
  name = 'MSFullscreenChange';
@@ -11452,7 +11831,7 @@ define('Core/Fullscreen',[
11452
11831
  }
11453
11832
 
11454
11833
  name = prefix + 'fullscreenerror';
11455
- if (defined(document['on' + name])) {
11834
+ if (document['on' + name] !== undefined) {
11456
11835
  //except on IE
11457
11836
  if (prefix === 'ms') {
11458
11837
  name = 'MSFullscreenError';
@@ -11469,7 +11848,7 @@ define('Core/Fullscreen',[
11469
11848
  * If fullscreen mode is not supported by the browser, does nothing.
11470
11849
  *
11471
11850
  * @param {Object} element The HTML element which will be placed into fullscreen mode.
11472
- * @param {HMDVRDevice} vrDevice The VR device.
11851
+ * @param {HMDVRDevice} [vrDevice] The VR device.
11473
11852
  *
11474
11853
  * @example
11475
11854
  * // Put the entire page into fullscreen.
@@ -11500,6 +11879,7 @@ define('Core/Fullscreen',[
11500
11879
 
11501
11880
  return Fullscreen;
11502
11881
  });
11882
+
11503
11883
  /*global define*/
11504
11884
  define('Core/FeatureDetection',[
11505
11885
  './defaultValue',
@@ -11509,7 +11889,7 @@ define('Core/FeatureDetection',[
11509
11889
  defaultValue,
11510
11890
  defined,
11511
11891
  Fullscreen) {
11512
- "use strict";
11892
+ 'use strict';
11513
11893
 
11514
11894
  var theNavigator;
11515
11895
  if (typeof navigator !== 'undefined') {
@@ -11756,7 +12136,7 @@ define('Core/ComponentDatatype',[
11756
12136
  DeveloperError,
11757
12137
  FeatureDetection,
11758
12138
  freezeObject) {
11759
- "use strict";
12139
+ 'use strict';
11760
12140
 
11761
12141
  // Bail out if the browser doesn't support typed arrays, to prevent the setup function
11762
12142
  // from failing, since we won't be able to create a WebGL context anyway.
@@ -12000,7 +12380,7 @@ define('Core/CornerType',[
12000
12380
  './freezeObject'
12001
12381
  ], function(
12002
12382
  freezeObject) {
12003
- "use strict";
12383
+ 'use strict';
12004
12384
 
12005
12385
  /**
12006
12386
  * Style options for corners.
@@ -12046,7 +12426,7 @@ define('Core/isArray',[
12046
12426
  './defined'
12047
12427
  ], function(
12048
12428
  defined) {
12049
- "use strict";
12429
+ 'use strict';
12050
12430
 
12051
12431
  /**
12052
12432
  * Tests an object to see if it is an array.
@@ -12083,7 +12463,7 @@ define('Core/EllipsoidGeodesic',[
12083
12463
  DeveloperError,
12084
12464
  Ellipsoid,
12085
12465
  CesiumMath) {
12086
- "use strict";
12466
+ 'use strict';
12087
12467
 
12088
12468
  function setConstants(ellipsoidGeodesic) {
12089
12469
  var uSquared = ellipsoidGeodesic._uSquared;
@@ -12481,7 +12861,7 @@ define('Core/QuadraticRealPolynomial',[
12481
12861
  ], function(
12482
12862
  DeveloperError,
12483
12863
  CesiumMath) {
12484
- "use strict";
12864
+ 'use strict';
12485
12865
 
12486
12866
  /**
12487
12867
  * Defines functions for 2nd order polynomial functions of one variable with only real coefficients.
@@ -12616,7 +12996,7 @@ define('Core/CubicRealPolynomial',[
12616
12996
  ], function(
12617
12997
  DeveloperError,
12618
12998
  QuadraticRealPolynomial) {
12619
- "use strict";
12999
+ 'use strict';
12620
13000
 
12621
13001
  /**
12622
13002
  * Defines functions for 3rd order polynomial functions of one variable with only real coefficients.
@@ -12856,7 +13236,7 @@ define('Core/QuarticRealPolynomial',[
12856
13236
  DeveloperError,
12857
13237
  CesiumMath,
12858
13238
  QuadraticRealPolynomial) {
12859
- "use strict";
13239
+ 'use strict';
12860
13240
 
12861
13241
  /**
12862
13242
  * Defines functions for 4th order polynomial functions of one variable with only real coefficients.
@@ -13180,7 +13560,7 @@ define('Core/Ray',[
13180
13560
  defaultValue,
13181
13561
  defined,
13182
13562
  DeveloperError) {
13183
- "use strict";
13563
+ 'use strict';
13184
13564
 
13185
13565
  /**
13186
13566
  * Represents a ray that extends infinitely from the provided origin in the provided direction.
@@ -13266,7 +13646,7 @@ define('Core/IntersectionTests',[
13266
13646
  QuadraticRealPolynomial,
13267
13647
  QuarticRealPolynomial,
13268
13648
  Ray) {
13269
- "use strict";
13649
+ 'use strict';
13270
13650
 
13271
13651
  /**
13272
13652
  * Functions for computing the intersection between geometries such as rays, planes, triangles, and ellipsoids.
@@ -13321,7 +13701,19 @@ define('Core/IntersectionTests',[
13321
13701
  var scratchTVec = new Cartesian3();
13322
13702
  var scratchQVec = new Cartesian3();
13323
13703
 
13324
- function rayTriangle(ray, p0, p1, p2, cullBackFaces) {
13704
+ /**
13705
+ * Computes the intersection of a ray and a triangle as a parametric distance along the input ray.
13706
+ * @memberof IntersectionTests
13707
+ *
13708
+ * @param {Ray} ray The ray.
13709
+ * @param {Cartesian3} p0 The first vertex of the triangle.
13710
+ * @param {Cartesian3} p1 The second vertex of the triangle.
13711
+ * @param {Cartesian3} p2 The third vertex of the triangle.
13712
+ * @param {Boolean} [cullBackFaces=false] If <code>true</code>, will only compute an intersection with the front face of the triangle
13713
+ * and return undefined for intersections with the back face.
13714
+ * @returns {Number} The intersection as a parametric distance along the ray, or undefined if there is no intersection.
13715
+ */
13716
+ IntersectionTests.rayTriangleParametric = function(ray, p0, p1, p2, cullBackFaces) {
13325
13717
  if (!defined(ray)) {
13326
13718
  throw new DeveloperError('ray is required.');
13327
13719
  }
@@ -13395,10 +13787,10 @@ define('Core/IntersectionTests',[
13395
13787
  }
13396
13788
 
13397
13789
  return t;
13398
- }
13790
+ };
13399
13791
 
13400
13792
  /**
13401
- * Computes the intersection of a ray and a triangle.
13793
+ * Computes the intersection of a ray and a triangle as a Cartesian3 coordinate.
13402
13794
  * @memberof IntersectionTests
13403
13795
  *
13404
13796
  * @param {Ray} ray The ray.
@@ -13411,7 +13803,7 @@ define('Core/IntersectionTests',[
13411
13803
  * @returns {Cartesian3} The intersection point or undefined if there is no intersections.
13412
13804
  */
13413
13805
  IntersectionTests.rayTriangle = function(ray, p0, p1, p2, cullBackFaces, result) {
13414
- var t = rayTriangle(ray, p0, p1, p2, cullBackFaces);
13806
+ var t = IntersectionTests.rayTriangleParametric(ray, p0, p1, p2, cullBackFaces);
13415
13807
  if (!defined(t) || t < 0.0) {
13416
13808
  return undefined;
13417
13809
  }
@@ -13453,7 +13845,7 @@ define('Core/IntersectionTests',[
13453
13845
  Cartesian3.subtract(v1, v0, ray.direction);
13454
13846
  Cartesian3.normalize(ray.direction, ray.direction);
13455
13847
 
13456
- var t = rayTriangle(ray, p0, p1, p2, cullBackFaces);
13848
+ var t = IntersectionTests.rayTriangleParametric(ray, p0, p1, p2, cullBackFaces);
13457
13849
  if (!defined(t) || t < 0.0 || t > Cartesian3.distance(v0, v1)) {
13458
13850
  return undefined;
13459
13851
  }
@@ -13578,6 +13970,7 @@ define('Core/IntersectionTests',[
13578
13970
  }
13579
13971
 
13580
13972
  var ray = scratchLineSegmentRay;
13973
+ Cartesian3.clone(p0, ray.origin);
13581
13974
  var direction = Cartesian3.subtract(p1, p0, ray.direction);
13582
13975
 
13583
13976
  var maxT = Cartesian3.magnitude(direction);
@@ -14141,7 +14534,7 @@ define('Core/PolylinePipeline',[
14141
14534
  CesiumMath,
14142
14535
  Matrix4,
14143
14536
  Plane) {
14144
- "use strict";
14537
+ 'use strict';
14145
14538
 
14146
14539
  /**
14147
14540
  * @private
@@ -14254,7 +14647,7 @@ define('Core/PolylinePipeline',[
14254
14647
  * var positions = polyline.positions;
14255
14648
  * var modelMatrix = polylines.modelMatrix;
14256
14649
  * var segments = Cesium.PolylinePipeline.wrapLongitude(positions, modelMatrix);
14257
- *
14650
+ *
14258
14651
  * @see PolygonPipeline.wrapLongitude
14259
14652
  * @see Polyline
14260
14653
  * @see PolylineCollection
@@ -14316,61 +14709,6 @@ define('Core/PolylinePipeline',[
14316
14709
  };
14317
14710
  };
14318
14711
 
14319
- var removeDuplicatesEpsilon = CesiumMath.EPSILON10;
14320
-
14321
- /**
14322
- * Removes adjacent duplicate positions in an array of positions.
14323
- *
14324
- * @param {Cartesian3[]} positions The array of positions.
14325
- * @returns {Cartesian3[]|undefined} A new array of positions with no adjacent duplicate positions or the input array if no duplicates were found.
14326
- *
14327
- * @example
14328
- * // Returns [(1.0, 1.0, 1.0), (2.0, 2.0, 2.0)]
14329
- * var positions = [
14330
- * new Cesium.Cartesian3(1.0, 1.0, 1.0),
14331
- * new Cesium.Cartesian3(1.0, 1.0, 1.0),
14332
- * new Cesium.Cartesian3(2.0, 2.0, 2.0)];
14333
- * var nonDuplicatePositions = Cesium.PolylinePipeline.removeDuplicates(positions);
14334
- */
14335
- PolylinePipeline.removeDuplicates = function(positions) {
14336
- if (!defined(positions)) {
14337
- throw new DeveloperError('positions is required.');
14338
- }
14339
-
14340
- var length = positions.length;
14341
- if (length < 2) {
14342
- return positions;
14343
- }
14344
-
14345
- var i;
14346
- var v0;
14347
- var v1;
14348
-
14349
- for (i = 1; i < length; ++i) {
14350
- v0 = positions[i - 1];
14351
- v1 = positions[i];
14352
- if (Cartesian3.equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
14353
- break;
14354
- }
14355
- }
14356
-
14357
- if (i === length) {
14358
- return positions;
14359
- }
14360
-
14361
- var cleanedPositions = positions.slice(0, i);
14362
- for (; i < length; ++i) {
14363
- // v0 is set by either the previous loop, or the previous clean point.
14364
- v1 = positions[i];
14365
- if (!Cartesian3.equalsEpsilon(v0, v1, removeDuplicatesEpsilon)) {
14366
- cleanedPositions.push(Cartesian3.clone(v1));
14367
- v0 = v1;
14368
- }
14369
- }
14370
-
14371
- return cleanedPositions;
14372
- };
14373
-
14374
14712
  /**
14375
14713
  * Subdivides polyline and raises all points to the specified height. Returns an array of numbers to represent the positions.
14376
14714
  * @param {Cartesian3[]} positions The array of type {Cartesian3} representing positions.
@@ -14500,7 +14838,7 @@ define('Core/Cartesian2',[
14500
14838
  DeveloperError,
14501
14839
  freezeObject,
14502
14840
  CesiumMath) {
14503
- "use strict";
14841
+ 'use strict';
14504
14842
 
14505
14843
  /**
14506
14844
  * A 2D Cartesian point.
@@ -14640,6 +14978,57 @@ define('Core/Cartesian2',[
14640
14978
  return result;
14641
14979
  };
14642
14980
 
14981
+ /**
14982
+ * Flattens an array of Cartesian2s into and array of components.
14983
+ *
14984
+ * @param {Cartesian2[]} array The array of cartesians to pack.
14985
+ * @param {Number[]} result The array onto which to store the result.
14986
+ * @returns {Number[]} The packed array.
14987
+ */
14988
+ Cartesian2.packArray = function(array, result) {
14989
+ if (!defined(array)) {
14990
+ throw new DeveloperError('array is required');
14991
+ }
14992
+
14993
+ var length = array.length;
14994
+ if (!defined(result)) {
14995
+ result = new Array(length * 2);
14996
+ } else {
14997
+ result.length = length * 2;
14998
+ }
14999
+
15000
+ for (var i = 0; i < length; ++i) {
15001
+ Cartesian2.pack(array[i], result, i * 2);
15002
+ }
15003
+ return result;
15004
+ };
15005
+
15006
+ /**
15007
+ * Unpacks an array of cartesian components into and array of Cartesian2s.
15008
+ *
15009
+ * @param {Number[]} array The array of components to unpack.
15010
+ * @param {Cartesian2[]} result The array onto which to store the result.
15011
+ * @returns {Cartesian2[]} The unpacked array.
15012
+ */
15013
+ Cartesian2.unpackArray = function(array, result) {
15014
+ if (!defined(array)) {
15015
+ throw new DeveloperError('array is required');
15016
+ }
15017
+
15018
+ var length = array.length;
15019
+ if (!defined(result)) {
15020
+ result = new Array(length / 2);
15021
+ } else {
15022
+ result.length = length / 2;
15023
+ }
15024
+
15025
+ for (var i = 0; i < length; i += 2) {
15026
+ var index = i / 2;
15027
+ result[index] = Cartesian2.unpack(array, i, result[index]);
15028
+ }
15029
+ return result;
15030
+ };
15031
+
14643
15032
  /**
14644
15033
  * Creates a Cartesian2 from two consecutive elements in an array.
14645
15034
  * @function
@@ -15211,7 +15600,7 @@ define('Core/AxisAlignedBoundingBox',[
15211
15600
  defined,
15212
15601
  DeveloperError,
15213
15602
  Intersect) {
15214
- "use strict";
15603
+ 'use strict';
15215
15604
 
15216
15605
  /**
15217
15606
  * Creates an instance of an AxisAlignedBoundingBox from the minimum and maximum points along the x, y, and z axes.
@@ -16186,7 +16575,7 @@ define('Core/binarySearch',[
16186
16575
  ], function(
16187
16576
  defined,
16188
16577
  DeveloperError) {
16189
- "use strict";
16578
+ 'use strict';
16190
16579
 
16191
16580
  /**
16192
16581
  * Finds an item in a sorted array.
@@ -16263,7 +16652,7 @@ define('Core/binarySearch',[
16263
16652
 
16264
16653
  /*global define*/
16265
16654
  define('Core/EarthOrientationParametersSample',[],function() {
16266
- "use strict";
16655
+ 'use strict';
16267
16656
 
16268
16657
  /**
16269
16658
  * A set of Earth Orientation Parameters (EOP) sampled at a time.
@@ -16637,7 +17026,7 @@ return sprintf;
16637
17026
 
16638
17027
  /*global define*/
16639
17028
  define('Core/GregorianDate',[],function() {
16640
- "use strict";
17029
+ 'use strict';
16641
17030
 
16642
17031
  /**
16643
17032
  * Represents a Gregorian date in a more precise format than the JavaScript Date object.
@@ -16698,7 +17087,7 @@ define('Core/isLeapYear',[
16698
17087
  './DeveloperError'
16699
17088
  ], function(
16700
17089
  DeveloperError) {
16701
- "use strict";
17090
+ 'use strict';
16702
17091
 
16703
17092
  /**
16704
17093
  * Determines if a given date is a leap year.
@@ -16724,7 +17113,7 @@ define('Core/isLeapYear',[
16724
17113
 
16725
17114
  /*global define*/
16726
17115
  define('Core/LeapSecond',[],function() {
16727
- "use strict";
17116
+ 'use strict';
16728
17117
 
16729
17118
  /**
16730
17119
  * Describes a single leap second, which is constructed from a {@link JulianDate} and a
@@ -16758,7 +17147,7 @@ define('Core/TimeConstants',[
16758
17147
  './freezeObject'
16759
17148
  ], function(
16760
17149
  freezeObject) {
16761
- "use strict";
17150
+ 'use strict';
16762
17151
 
16763
17152
  /**
16764
17153
  * Constants for time conversions like those done by {@link JulianDate}.
@@ -16851,7 +17240,7 @@ define('Core/TimeStandard',[
16851
17240
  './freezeObject'
16852
17241
  ], function(
16853
17242
  freezeObject) {
16854
- "use strict";
17243
+ 'use strict';
16855
17244
 
16856
17245
  /**
16857
17246
  * Provides the type of time standards which JulianDate can take as input.
@@ -16903,7 +17292,7 @@ define('Core/JulianDate',[
16903
17292
  LeapSecond,
16904
17293
  TimeConstants,
16905
17294
  TimeStandard) {
16906
- "use strict";
17295
+ 'use strict';
16907
17296
 
16908
17297
  var gregorianDateScratch = new GregorianDate();
16909
17298
  var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
@@ -17052,8 +17441,8 @@ define('Core/JulianDate',[
17052
17441
  * @alias JulianDate
17053
17442
  * @constructor
17054
17443
  *
17055
- * @param {Number} julianDayNumber The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly.
17056
- * @param {Number} secondsOfDay The number of seconds into the current Julian Day Number. Fractional seconds, negative seconds and seconds greater than a day will be handled correctly.
17444
+ * @param {Number} [julianDayNumber=0.0] The Julian Day Number representing the number of whole days. Fractional days will also be handled correctly.
17445
+ * @param {Number} [secondsOfDay=0.0] The number of seconds into the current Julian Day Number. Fractional seconds, negative seconds and seconds greater than a day will be handled correctly.
17057
17446
  * @param {TimeStandard} [timeStandard=TimeStandard.UTC] The time standard in which the first two parameters are defined.
17058
17447
  */
17059
17448
  function JulianDate(julianDayNumber, secondsOfDay, timeStandard) {
@@ -17876,7 +18265,7 @@ define('Core/clone',[
17876
18265
  './defaultValue'
17877
18266
  ], function(
17878
18267
  defaultValue) {
17879
- "use strict";
18268
+ 'use strict';
17880
18269
 
17881
18270
  /**
17882
18271
  * Clones an object, returning a new object containing the same properties.
@@ -17913,7 +18302,7 @@ define('Core/clone',[
17913
18302
 
17914
18303
  /*global define*/
17915
18304
  define('Core/parseResponseHeaders',[], function() {
17916
- "use strict";
18305
+ 'use strict';
17917
18306
 
17918
18307
  /**
17919
18308
  * Parses the result of XMLHttpRequest's getAllResponseHeaders() method into
@@ -17962,7 +18351,7 @@ define('Core/RequestErrorEvent',[
17962
18351
  ], function(
17963
18352
  defined,
17964
18353
  parseResponseHeaders) {
17965
- "use strict";
18354
+ 'use strict';
17966
18355
 
17967
18356
  /**
17968
18357
  * An event that is raised when a request encounters an error.
@@ -18037,7 +18426,7 @@ define('Core/loadWithXhr',[
18037
18426
  DeveloperError,
18038
18427
  RequestErrorEvent,
18039
18428
  RuntimeError) {
18040
- "use strict";
18429
+ 'use strict';
18041
18430
 
18042
18431
  /**
18043
18432
  * Asynchronously loads the given URL. Returns a promise that will resolve to
@@ -18208,7 +18597,7 @@ define('Core/loadText',[
18208
18597
  './loadWithXhr'
18209
18598
  ], function(
18210
18599
  loadWithXhr) {
18211
- "use strict";
18600
+ 'use strict';
18212
18601
 
18213
18602
  /**
18214
18603
  * Asynchronously loads the given URL as text. Returns a promise that will resolve to
@@ -18258,7 +18647,7 @@ define('Core/loadJson',[
18258
18647
  defined,
18259
18648
  DeveloperError,
18260
18649
  loadText) {
18261
- "use strict";
18650
+ 'use strict';
18262
18651
 
18263
18652
  var defaultHeaders = {
18264
18653
  Accept : 'application/json,*/*;q=0.01'
@@ -18341,7 +18730,7 @@ define('Core/EarthOrientationParameters',[
18341
18730
  RuntimeError,
18342
18731
  TimeConstants,
18343
18732
  TimeStandard) {
18344
- "use strict";
18733
+ 'use strict';
18345
18734
 
18346
18735
  /**
18347
18736
  * Specifies Earth polar motion coordinates and the difference between UT1 and UTC.
@@ -18986,7 +19375,7 @@ define('Core/getAbsoluteUri',[
18986
19375
  defaultValue,
18987
19376
  defined,
18988
19377
  DeveloperError) {
18989
- "use strict";
19378
+ 'use strict';
18990
19379
 
18991
19380
  /**
18992
19381
  * Given a relative Uri and a base Uri, returns the absolute Uri of the relative Uri.
@@ -19013,20 +19402,127 @@ define('Core/getAbsoluteUri',[
19013
19402
  return getAbsoluteUri;
19014
19403
  });
19015
19404
 
19405
+ /*global define*/
19406
+ define('Core/joinUrls',[
19407
+ '../ThirdParty/Uri',
19408
+ './defaultValue',
19409
+ './defined',
19410
+ './DeveloperError'
19411
+ ], function(
19412
+ Uri,
19413
+ defaultValue,
19414
+ defined,
19415
+ DeveloperError) {
19416
+ 'use strict';
19417
+
19418
+ /**
19419
+ * Function for joining URLs in a manner that is aware of query strings and fragments.
19420
+ * This is useful when the base URL has a query string that needs to be maintained
19421
+ * (e.g. a presigned base URL).
19422
+ * @param {String|Uri} first The base URL.
19423
+ * @param {String|Uri} second The URL path to join to the base URL. If this URL is absolute, it is returned unmodified.
19424
+ * @param {Boolean} [appendSlash=true] The boolean determining whether there should be a forward slash between first and second.
19425
+ * @private
19426
+ */
19427
+ function joinUrls(first, second, appendSlash) {
19428
+ if (!defined(first)) {
19429
+ throw new DeveloperError('first is required');
19430
+ }
19431
+ if (!defined(second)) {
19432
+ throw new DeveloperError('second is required');
19433
+ }
19434
+
19435
+ appendSlash = defaultValue(appendSlash, true);
19436
+
19437
+ if (!(first instanceof Uri)) {
19438
+ first = new Uri(first);
19439
+ }
19440
+
19441
+ if (!(second instanceof Uri)) {
19442
+ second = new Uri(second);
19443
+ }
19444
+
19445
+ // Uri.isAbsolute returns false for a URL like '//foo.com'. So if we have an authority but
19446
+ // not a scheme, add a scheme matching the page's scheme.
19447
+ if (defined(second.authority) && !defined(second.scheme)) {
19448
+ if (typeof document !== 'undefined' && defined(document.location) && defined(document.location.href)) {
19449
+ second.scheme = new Uri(document.location.href).scheme;
19450
+ } else {
19451
+ // Not in a browser? Use the first URL's scheme instead.
19452
+ second.scheme = first.scheme;
19453
+ }
19454
+ }
19455
+
19456
+ // If the second URL is absolute, use it for the scheme, authority, and path.
19457
+ var baseUri = first;
19458
+ if (second.isAbsolute()) {
19459
+ baseUri = second;
19460
+ }
19461
+
19462
+ var url = '';
19463
+ if (defined(baseUri.scheme)) {
19464
+ url += baseUri.scheme + ':';
19465
+ }
19466
+ if (defined(baseUri.authority)) {
19467
+ url += '//' + baseUri.authority;
19468
+
19469
+ if (baseUri.path !== '' && baseUri.path !== '/') {
19470
+ url = url.replace(/\/?$/, '/');
19471
+ baseUri.path = baseUri.path.replace(/^\/?/g, '');
19472
+ }
19473
+ }
19474
+
19475
+ // Combine the paths (only if second is relative).
19476
+ if (baseUri === first) {
19477
+ if (appendSlash) {
19478
+ url += first.path.replace(/\/?$/, '/') + second.path.replace(/^\/?/g, '');
19479
+ } else {
19480
+ url += first.path + second.path;
19481
+ }
19482
+ } else {
19483
+ url += second.path;
19484
+ }
19485
+
19486
+ // Combine the queries and fragments.
19487
+ var hasFirstQuery = defined(first.query);
19488
+ var hasSecondQuery = defined(second.query);
19489
+ if (hasFirstQuery && hasSecondQuery) {
19490
+ url += '?' + first.query + '&' + second.query;
19491
+ } else if (hasFirstQuery && !hasSecondQuery) {
19492
+ url += '?' + first.query;
19493
+ } else if (!hasFirstQuery && hasSecondQuery) {
19494
+ url += '?' + second.query;
19495
+ }
19496
+
19497
+ var hasSecondFragment = defined(second.fragment);
19498
+ if (defined(first.fragment) && !hasSecondFragment) {
19499
+ url += '#' + first.fragment;
19500
+ } else if (hasSecondFragment) {
19501
+ url += '#' + second.fragment;
19502
+ }
19503
+
19504
+ return url;
19505
+ }
19506
+
19507
+ return joinUrls;
19508
+ });
19509
+
19016
19510
  /*global define*/
19017
19511
  define('Core/buildModuleUrl',[
19018
19512
  '../ThirdParty/Uri',
19019
19513
  './defined',
19020
19514
  './DeveloperError',
19021
19515
  './getAbsoluteUri',
19516
+ './joinUrls',
19022
19517
  'require'
19023
19518
  ], function(
19024
19519
  Uri,
19025
19520
  defined,
19026
19521
  DeveloperError,
19027
19522
  getAbsoluteUri,
19523
+ joinUrls,
19028
19524
  require) {
19029
- "use strict";
19525
+ 'use strict';
19030
19526
  /*global CESIUM_BASE_URL*/
19031
19527
 
19032
19528
  var cesiumScriptRegex = /((?:.*\/)|^)cesium[\w-]*\.js(?:\W|$)/i;
@@ -19070,7 +19566,7 @@ define('Core/buildModuleUrl',[
19070
19566
  }
19071
19567
 
19072
19568
  function buildModuleUrlFromBaseUrl(moduleID) {
19073
- return new Uri(moduleID).resolve(getCesiumBaseUrl()).toString();
19569
+ return joinUrls(getCesiumBaseUrl(), moduleID);
19074
19570
  }
19075
19571
 
19076
19572
  var implementation;
@@ -19121,7 +19617,7 @@ define('Core/buildModuleUrl',[
19121
19617
 
19122
19618
  /*global define*/
19123
19619
  define('Core/Iau2006XysSample',[],function() {
19124
- "use strict";
19620
+ 'use strict';
19125
19621
 
19126
19622
  /**
19127
19623
  * An IAU 2006 XYS value sampled at a particular time.
@@ -19177,7 +19673,7 @@ define('Core/Iau2006XysData',[
19177
19673
  JulianDate,
19178
19674
  loadJson,
19179
19675
  TimeStandard) {
19180
- "use strict";
19676
+ 'use strict';
19181
19677
 
19182
19678
  /**
19183
19679
  * A set of IAU2006 XYS data that is used to evaluate the transformation between the International
@@ -19443,7 +19939,7 @@ define('Core/Quaternion',[
19443
19939
  freezeObject,
19444
19940
  CesiumMath,
19445
19941
  Matrix3) {
19446
- "use strict";
19942
+ 'use strict';
19447
19943
 
19448
19944
  /**
19449
19945
  * A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space.
@@ -20525,6 +21021,7 @@ define('Core/Transforms',[
20525
21021
  './Cartesian2',
20526
21022
  './Cartesian3',
20527
21023
  './Cartesian4',
21024
+ './Cartographic',
20528
21025
  './defaultValue',
20529
21026
  './defined',
20530
21027
  './DeveloperError',
@@ -20544,6 +21041,7 @@ define('Core/Transforms',[
20544
21041
  Cartesian2,
20545
21042
  Cartesian3,
20546
21043
  Cartesian4,
21044
+ Cartographic,
20547
21045
  defaultValue,
20548
21046
  defined,
20549
21047
  DeveloperError,
@@ -20558,7 +21056,7 @@ define('Core/Transforms',[
20558
21056
  Matrix4,
20559
21057
  Quaternion,
20560
21058
  TimeConstants) {
20561
- "use strict";
21059
+ 'use strict';
20562
21060
 
20563
21061
  /**
20564
21062
  * Contains functions for transforming positions to various reference frames.
@@ -20894,6 +21392,38 @@ define('Core/Transforms',[
20894
21392
  return Matrix4.multiply(result, hprMatrix, result);
20895
21393
  };
20896
21394
 
21395
+ /**
21396
+ * Computes a 4x4 transformation matrix from a reference frame with axes computed from the heading-pitch-roll angles
21397
+ * centered at the provided origin to the provided ellipsoid's fixed reference frame. Heading is the rotation from the local north
21398
+ * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
21399
+ * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
21400
+ *
21401
+ * @param {Cartesian3} origin The center point of the local reference frame.
21402
+ * @param {Number} heading The heading angle in radians.
21403
+ * @param {Number} pitch The pitch angle in radians.
21404
+ * @param {Number} roll The roll angle in radians.
21405
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
21406
+ * @param {Matrix4} [result] The object onto which to store the result.
21407
+ * @returns {Matrix4} The modified result parameter or a new Matrix4 instance if none was provided.
21408
+ *
21409
+ * @example
21410
+ * // Get the transform from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
21411
+ * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
21412
+ * var heading = -Cesium.Math.PI_OVER_TWO;
21413
+ * var pitch = Cesium.Math.PI_OVER_FOUR;
21414
+ * var roll = 0.0;
21415
+ * var transform = Cesium.Transforms.aircraftHeadingPitchRollToFixedFrame(center, heading, pitch, roll);
21416
+ *
21417
+ * @private
21418
+ */
21419
+ Transforms.aircraftHeadingPitchRollToFixedFrame = function(origin, heading, pitch, roll, ellipsoid, result) {
21420
+ // checks for required parameters happen in the called functions
21421
+ var hprQuaternion = Quaternion.fromHeadingPitchRoll(heading, pitch, roll, scratchHPRQuaternion);
21422
+ var hprMatrix = Matrix4.fromTranslationQuaternionRotationScale(Cartesian3.ZERO, hprQuaternion, scratchScale, scratchHPRMatrix4);
21423
+ result = Transforms.northEastDownToFixedFrame(origin, ellipsoid, result);
21424
+ return Matrix4.multiply(result, hprMatrix, result);
21425
+ };
21426
+
20897
21427
  var scratchENUMatrix4 = new Matrix4();
20898
21428
  var scratchHPRMatrix3 = new Matrix3();
20899
21429
 
@@ -20926,6 +21456,37 @@ define('Core/Transforms',[
20926
21456
  return Quaternion.fromRotationMatrix(rotation, result);
20927
21457
  };
20928
21458
 
21459
+ /**
21460
+ * Computes a quaternion from a reference frame with axes computed from the heading-pitch-roll angles
21461
+ * centered at the provided origin. Heading is the rotation from the local north
21462
+ * direction where a positive angle is increasing eastward. Pitch is the rotation from the local east-north plane. Positive pitch angles
21463
+ * are above the plane. Negative pitch angles are below the plane. Roll is the first rotation applied about the local east axis.
21464
+ *
21465
+ * @param {Cartesian3} origin The center point of the local reference frame.
21466
+ * @param {Number} heading The heading angle in radians.
21467
+ * @param {Number} pitch The pitch angle in radians.
21468
+ * @param {Number} roll The roll angle in radians.
21469
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid whose fixed frame is used in the transformation.
21470
+ * @param {Quaternion} [result] The object onto which to store the result.
21471
+ * @returns {Quaternion} The modified result parameter or a new Quaternion instance if none was provided.
21472
+ *
21473
+ * @example
21474
+ * // Get the quaternion from local heading-pitch-roll at cartographic (0.0, 0.0) to Earth's fixed frame.
21475
+ * var center = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
21476
+ * var heading = -Cesium.Math.PI_OVER_TWO;
21477
+ * var pitch = Cesium.Math.PI_OVER_FOUR;
21478
+ * var roll = 0.0;
21479
+ * var quaternion = Cesium.Transforms.aircraftHeadingPitchRollQuaternion(center, heading, pitch, roll);
21480
+ *
21481
+ * @private
21482
+ */
21483
+ Transforms.aircraftHeadingPitchRollQuaternion = function(origin, heading, pitch, roll, ellipsoid, result) {
21484
+ // checks for required parameters happen in the called functions
21485
+ var transform = Transforms.aircraftHeadingPitchRollToFixedFrame(origin, heading, pitch, roll, ellipsoid, scratchENUMatrix4);
21486
+ var rotation = Matrix4.getRotation(transform, scratchHPRMatrix3);
21487
+ return Quaternion.fromRotationMatrix(rotation, result);
21488
+ };
21489
+
20929
21490
 
20930
21491
  var gmstConstant0 = 6 * 3600 + 41 * 60 + 50.54841;
20931
21492
  var gmstConstant1 = 8640184.812866;
@@ -21325,6 +21886,79 @@ define('Core/Transforms',[
21325
21886
  return result;
21326
21887
  };
21327
21888
 
21889
+ var scratchCartographic = new Cartographic();
21890
+ var scratchCartesian3Projection = new Cartesian3();
21891
+ var scratchCartesian3 = new Cartesian3();
21892
+ var scratchCartesian4Origin = new Cartesian4();
21893
+ var scratchCartesian4NewOrigin = new Cartesian4();
21894
+ var scratchCartesian4NewXAxis = new Cartesian4();
21895
+ var scratchCartesian4NewYAxis = new Cartesian4();
21896
+ var scratchCartesian4NewZAxis = new Cartesian4();
21897
+ var scratchFromENU = new Matrix4();
21898
+ var scratchToENU = new Matrix4();
21899
+
21900
+ /**
21901
+ * @private
21902
+ */
21903
+ Transforms.basisTo2D = function(projection, matrix, result) {
21904
+ if (!defined(projection)) {
21905
+ throw new DeveloperError('projection is required.');
21906
+ }
21907
+ if (!defined(matrix)) {
21908
+ throw new DeveloperError('matrix is required.');
21909
+ }
21910
+ if (!defined(result)) {
21911
+ throw new DeveloperError('result is required.');
21912
+ }
21913
+
21914
+ var ellipsoid = projection.ellipsoid;
21915
+
21916
+ var origin = Matrix4.getColumn(matrix, 3, scratchCartesian4Origin);
21917
+ var cartographic = ellipsoid.cartesianToCartographic(origin, scratchCartographic);
21918
+
21919
+ var fromENU = Transforms.eastNorthUpToFixedFrame(origin, ellipsoid, scratchFromENU);
21920
+ var toENU = Matrix4.inverseTransformation(fromENU, scratchToENU);
21921
+
21922
+ var projectedPosition = projection.project(cartographic, scratchCartesian3Projection);
21923
+ var newOrigin = scratchCartesian4NewOrigin;
21924
+ newOrigin.x = projectedPosition.z;
21925
+ newOrigin.y = projectedPosition.x;
21926
+ newOrigin.z = projectedPosition.y;
21927
+ newOrigin.w = 1.0;
21928
+
21929
+ var xAxis = Matrix4.getColumn(matrix, 0, scratchCartesian3);
21930
+ var xScale = Cartesian3.magnitude(xAxis);
21931
+ var newXAxis = Matrix4.multiplyByVector(toENU, xAxis, scratchCartesian4NewXAxis);
21932
+ Cartesian4.fromElements(newXAxis.z, newXAxis.x, newXAxis.y, 0.0, newXAxis);
21933
+
21934
+ var yAxis = Matrix4.getColumn(matrix, 1, scratchCartesian3);
21935
+ var yScale = Cartesian3.magnitude(yAxis);
21936
+ var newYAxis = Matrix4.multiplyByVector(toENU, yAxis, scratchCartesian4NewYAxis);
21937
+ Cartesian4.fromElements(newYAxis.z, newYAxis.x, newYAxis.y, 0.0, newYAxis);
21938
+
21939
+ var zAxis = Matrix4.getColumn(matrix, 2, scratchCartesian3);
21940
+ var zScale = Cartesian3.magnitude(zAxis);
21941
+
21942
+ var newZAxis = scratchCartesian4NewZAxis;
21943
+ Cartesian3.cross(newXAxis, newYAxis, newZAxis);
21944
+ Cartesian3.normalize(newZAxis, newZAxis);
21945
+ Cartesian3.cross(newYAxis, newZAxis, newXAxis);
21946
+ Cartesian3.normalize(newXAxis, newXAxis);
21947
+ Cartesian3.cross(newZAxis, newXAxis, newYAxis);
21948
+ Cartesian3.normalize(newYAxis, newYAxis);
21949
+
21950
+ Cartesian3.multiplyByScalar(newXAxis, xScale, newXAxis);
21951
+ Cartesian3.multiplyByScalar(newYAxis, yScale, newYAxis);
21952
+ Cartesian3.multiplyByScalar(newZAxis, zScale, newZAxis);
21953
+
21954
+ Matrix4.setColumn(result, 0, newXAxis, result);
21955
+ Matrix4.setColumn(result, 1, newYAxis, result);
21956
+ Matrix4.setColumn(result, 2, newZAxis, result);
21957
+ Matrix4.setColumn(result, 3, newOrigin, result);
21958
+
21959
+ return result;
21960
+ };
21961
+
21328
21962
  return Transforms;
21329
21963
  });
21330
21964
 
@@ -21361,7 +21995,7 @@ define('Core/EllipsoidTangentPlane',[
21361
21995
  Plane,
21362
21996
  Ray,
21363
21997
  Transforms) {
21364
- "use strict";
21998
+ 'use strict';
21365
21999
 
21366
22000
  var scratchCart4 = new Cartesian4();
21367
22001
  /**
@@ -21691,7 +22325,7 @@ define('Core/PolylineVolumeGeometryLibrary',[
21691
22325
  PolylinePipeline,
21692
22326
  Quaternion,
21693
22327
  Transforms) {
21694
- "use strict";
22328
+ 'use strict';
21695
22329
 
21696
22330
  var scratch2Array = [new Cartesian3(), new Cartesian3()];
21697
22331
  var scratchCartesian1 = new Cartesian3();
@@ -22097,7 +22731,7 @@ define('Core/CorridorGeometryLibrary',[
22097
22731
  PolylinePipeline,
22098
22732
  PolylineVolumeGeometryLibrary,
22099
22733
  Quaternion) {
22100
- "use strict";
22734
+ 'use strict';
22101
22735
 
22102
22736
  /**
22103
22737
  * @private
@@ -22398,31 +23032,6 @@ define('Core/CorridorGeometryLibrary',[
22398
23032
  };
22399
23033
  };
22400
23034
 
22401
- var scaleN = new Cartesian3();
22402
- var scaleP = new Cartesian3();
22403
- CorridorGeometryLibrary.scaleToGeodeticHeight = function(positions, height, ellipsoid, result) {
22404
- var length = positions.length;
22405
- var newPositions = isArray(result) ? result : new Array(positions.length);
22406
- newPositions.length = positions.length;
22407
-
22408
- var h = height;
22409
- for (var i = 0; i < length; i += 3) {
22410
- var p = ellipsoid.scaleToGeodeticSurface(Cartesian3.fromArray(positions, i, scaleP), scaleP);
22411
- var n = scaleN;
22412
- if (height !== 0.0) {
22413
- n = ellipsoid.geodeticSurfaceNormal(p, n);
22414
- n = Cartesian3.multiplyByScalar(n, h, n);
22415
- p = Cartesian3.add(p, n, p);
22416
- }
22417
-
22418
- newPositions[i] = p.x;
22419
- newPositions[i + 1] = p.y;
22420
- newPositions[i + 2] = p.z;
22421
- }
22422
-
22423
- return newPositions;
22424
- };
22425
-
22426
23035
  return CorridorGeometryLibrary;
22427
23036
  });
22428
23037
  /*global define*/
@@ -22430,7 +23039,7 @@ define('Core/GeometryType',[
22430
23039
  './freezeObject'
22431
23040
  ], function(
22432
23041
  freezeObject) {
22433
- "use strict";
23042
+ 'use strict';
22434
23043
 
22435
23044
  /**
22436
23045
  * @private
@@ -22452,7 +23061,7 @@ define('Core/PrimitiveType',[
22452
23061
  ], function(
22453
23062
  WebGLConstants,
22454
23063
  freezeObject) {
22455
- "use strict";
23064
+ 'use strict';
22456
23065
 
22457
23066
  /**
22458
23067
  * The type of a geometric primitive, i.e., points, lines, and triangles.
@@ -22550,7 +23159,7 @@ define('Core/Geometry',[
22550
23159
  DeveloperError,
22551
23160
  GeometryType,
22552
23161
  PrimitiveType) {
22553
- "use strict";
23162
+ 'use strict';
22554
23163
 
22555
23164
  /**
22556
23165
  * A geometry representation with attributes forming vertices and optional index data
@@ -22743,7 +23352,7 @@ define('Core/GeometryAttribute',[
22743
23352
  defaultValue,
22744
23353
  defined,
22745
23354
  DeveloperError) {
22746
- "use strict";
23355
+ 'use strict';
22747
23356
 
22748
23357
  /**
22749
23358
  * Values and type information for geometry attributes. A {@link Geometry}
@@ -22880,7 +23489,7 @@ define('Core/GeometryAttributes',[
22880
23489
  './defaultValue'
22881
23490
  ], function(
22882
23491
  defaultValue) {
22883
- "use strict";
23492
+ 'use strict';
22884
23493
 
22885
23494
  /**
22886
23495
  * Attributes, which make up a geometry's vertices. Each property in this object corresponds to a
@@ -22984,7 +23593,7 @@ define('Core/IndexDatatype',[
22984
23593
  DeveloperError,
22985
23594
  freezeObject,
22986
23595
  CesiumMath) {
22987
- "use strict";
23596
+ 'use strict';
22988
23597
 
22989
23598
  /**
22990
23599
  * Constants for WebGL index datatypes. These corresponds to the
@@ -23117,21 +23726,1265 @@ define('Core/IndexDatatype',[
23117
23726
  return freezeObject(IndexDatatype);
23118
23727
  });
23119
23728
 
23120
- /*global define*/
23121
- define('Core/VertexFormat',[
23122
- './defaultValue',
23123
- './defined',
23124
- './DeveloperError',
23125
- './freezeObject'
23126
- ], function(
23127
- defaultValue,
23128
- defined,
23129
- DeveloperError,
23130
- freezeObject) {
23131
- "use strict";
23729
+ (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define('ThirdParty/earcut-2.1.1',[],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.earcut = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
23730
+ 'use strict';
23132
23731
 
23133
- /**
23134
- * A vertex format defines what attributes make up a vertex. A VertexFormat can be provided
23732
+ module.exports = earcut;
23733
+
23734
+ function earcut(data, holeIndices, dim) {
23735
+
23736
+ dim = dim || 2;
23737
+
23738
+ var hasHoles = holeIndices && holeIndices.length,
23739
+ outerLen = hasHoles ? holeIndices[0] * dim : data.length,
23740
+ outerNode = linkedList(data, 0, outerLen, dim, true),
23741
+ triangles = [];
23742
+
23743
+ if (!outerNode) return triangles;
23744
+
23745
+ var minX, minY, maxX, maxY, x, y, size;
23746
+
23747
+ if (hasHoles) outerNode = eliminateHoles(data, holeIndices, outerNode, dim);
23748
+
23749
+ // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
23750
+ if (data.length > 80 * dim) {
23751
+ minX = maxX = data[0];
23752
+ minY = maxY = data[1];
23753
+
23754
+ for (var i = dim; i < outerLen; i += dim) {
23755
+ x = data[i];
23756
+ y = data[i + 1];
23757
+ if (x < minX) minX = x;
23758
+ if (y < minY) minY = y;
23759
+ if (x > maxX) maxX = x;
23760
+ if (y > maxY) maxY = y;
23761
+ }
23762
+
23763
+ // minX, minY and size are later used to transform coords into integers for z-order calculation
23764
+ size = Math.max(maxX - minX, maxY - minY);
23765
+ }
23766
+
23767
+ earcutLinked(outerNode, triangles, dim, minX, minY, size);
23768
+
23769
+ return triangles;
23770
+ }
23771
+
23772
+ // create a circular doubly linked list from polygon points in the specified winding order
23773
+ function linkedList(data, start, end, dim, clockwise) {
23774
+ var i, last;
23775
+
23776
+ if (clockwise === (signedArea(data, start, end, dim) > 0)) {
23777
+ for (i = start; i < end; i += dim) last = insertNode(i, data[i], data[i + 1], last);
23778
+ } else {
23779
+ for (i = end - dim; i >= start; i -= dim) last = insertNode(i, data[i], data[i + 1], last);
23780
+ }
23781
+
23782
+ if (last && equals(last, last.next)) {
23783
+ removeNode(last);
23784
+ last = last.next;
23785
+ }
23786
+
23787
+ return last;
23788
+ }
23789
+
23790
+ // eliminate colinear or duplicate points
23791
+ function filterPoints(start, end) {
23792
+ if (!start) return start;
23793
+ if (!end) end = start;
23794
+
23795
+ var p = start,
23796
+ again;
23797
+ do {
23798
+ again = false;
23799
+
23800
+ if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) {
23801
+ removeNode(p);
23802
+ p = end = p.prev;
23803
+ if (p === p.next) return null;
23804
+ again = true;
23805
+
23806
+ } else {
23807
+ p = p.next;
23808
+ }
23809
+ } while (again || p !== end);
23810
+
23811
+ return end;
23812
+ }
23813
+
23814
+ // main ear slicing loop which triangulates a polygon (given as a linked list)
23815
+ function earcutLinked(ear, triangles, dim, minX, minY, size, pass) {
23816
+ if (!ear) return;
23817
+
23818
+ // interlink polygon nodes in z-order
23819
+ if (!pass && size) indexCurve(ear, minX, minY, size);
23820
+
23821
+ var stop = ear,
23822
+ prev, next;
23823
+
23824
+ // iterate through ears, slicing them one by one
23825
+ while (ear.prev !== ear.next) {
23826
+ prev = ear.prev;
23827
+ next = ear.next;
23828
+
23829
+ if (size ? isEarHashed(ear, minX, minY, size) : isEar(ear)) {
23830
+ // cut off the triangle
23831
+ triangles.push(prev.i / dim);
23832
+ triangles.push(ear.i / dim);
23833
+ triangles.push(next.i / dim);
23834
+
23835
+ removeNode(ear);
23836
+
23837
+ // skipping the next vertice leads to less sliver triangles
23838
+ ear = next.next;
23839
+ stop = next.next;
23840
+
23841
+ continue;
23842
+ }
23843
+
23844
+ ear = next;
23845
+
23846
+ // if we looped through the whole remaining polygon and can't find any more ears
23847
+ if (ear === stop) {
23848
+ // try filtering points and slicing again
23849
+ if (!pass) {
23850
+ earcutLinked(filterPoints(ear), triangles, dim, minX, minY, size, 1);
23851
+
23852
+ // if this didn't work, try curing all small self-intersections locally
23853
+ } else if (pass === 1) {
23854
+ ear = cureLocalIntersections(ear, triangles, dim);
23855
+ earcutLinked(ear, triangles, dim, minX, minY, size, 2);
23856
+
23857
+ // as a last resort, try splitting the remaining polygon into two
23858
+ } else if (pass === 2) {
23859
+ splitEarcut(ear, triangles, dim, minX, minY, size);
23860
+ }
23861
+
23862
+ break;
23863
+ }
23864
+ }
23865
+ }
23866
+
23867
+ // check whether a polygon node forms a valid ear with adjacent nodes
23868
+ function isEar(ear) {
23869
+ var a = ear.prev,
23870
+ b = ear,
23871
+ c = ear.next;
23872
+
23873
+ if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
23874
+
23875
+ // now make sure we don't have other points inside the potential ear
23876
+ var p = ear.next.next;
23877
+
23878
+ while (p !== ear.prev) {
23879
+ if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
23880
+ area(p.prev, p, p.next) >= 0) return false;
23881
+ p = p.next;
23882
+ }
23883
+
23884
+ return true;
23885
+ }
23886
+
23887
+ function isEarHashed(ear, minX, minY, size) {
23888
+ var a = ear.prev,
23889
+ b = ear,
23890
+ c = ear.next;
23891
+
23892
+ if (area(a, b, c) >= 0) return false; // reflex, can't be an ear
23893
+
23894
+ // triangle bbox; min & max are calculated like this for speed
23895
+ var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x),
23896
+ minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y),
23897
+ maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x),
23898
+ maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y);
23899
+
23900
+ // z-order range for the current triangle bbox;
23901
+ var minZ = zOrder(minTX, minTY, minX, minY, size),
23902
+ maxZ = zOrder(maxTX, maxTY, minX, minY, size);
23903
+
23904
+ // first look for points inside the triangle in increasing z-order
23905
+ var p = ear.nextZ;
23906
+
23907
+ while (p && p.z <= maxZ) {
23908
+ if (p !== ear.prev && p !== ear.next &&
23909
+ pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
23910
+ area(p.prev, p, p.next) >= 0) return false;
23911
+ p = p.nextZ;
23912
+ }
23913
+
23914
+ // then look for points in decreasing z-order
23915
+ p = ear.prevZ;
23916
+
23917
+ while (p && p.z >= minZ) {
23918
+ if (p !== ear.prev && p !== ear.next &&
23919
+ pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) &&
23920
+ area(p.prev, p, p.next) >= 0) return false;
23921
+ p = p.prevZ;
23922
+ }
23923
+
23924
+ return true;
23925
+ }
23926
+
23927
+ // go through all polygon nodes and cure small local self-intersections
23928
+ function cureLocalIntersections(start, triangles, dim) {
23929
+ var p = start;
23930
+ do {
23931
+ var a = p.prev,
23932
+ b = p.next.next;
23933
+
23934
+ if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) {
23935
+
23936
+ triangles.push(a.i / dim);
23937
+ triangles.push(p.i / dim);
23938
+ triangles.push(b.i / dim);
23939
+
23940
+ // remove two nodes involved
23941
+ removeNode(p);
23942
+ removeNode(p.next);
23943
+
23944
+ p = start = b;
23945
+ }
23946
+ p = p.next;
23947
+ } while (p !== start);
23948
+
23949
+ return p;
23950
+ }
23951
+
23952
+ // try splitting polygon into two and triangulate them independently
23953
+ function splitEarcut(start, triangles, dim, minX, minY, size) {
23954
+ // look for a valid diagonal that divides the polygon into two
23955
+ var a = start;
23956
+ do {
23957
+ var b = a.next.next;
23958
+ while (b !== a.prev) {
23959
+ if (a.i !== b.i && isValidDiagonal(a, b)) {
23960
+ // split the polygon in two by the diagonal
23961
+ var c = splitPolygon(a, b);
23962
+
23963
+ // filter colinear points around the cuts
23964
+ a = filterPoints(a, a.next);
23965
+ c = filterPoints(c, c.next);
23966
+
23967
+ // run earcut on each half
23968
+ earcutLinked(a, triangles, dim, minX, minY, size);
23969
+ earcutLinked(c, triangles, dim, minX, minY, size);
23970
+ return;
23971
+ }
23972
+ b = b.next;
23973
+ }
23974
+ a = a.next;
23975
+ } while (a !== start);
23976
+ }
23977
+
23978
+ // link every hole into the outer loop, producing a single-ring polygon without holes
23979
+ function eliminateHoles(data, holeIndices, outerNode, dim) {
23980
+ var queue = [],
23981
+ i, len, start, end, list;
23982
+
23983
+ for (i = 0, len = holeIndices.length; i < len; i++) {
23984
+ start = holeIndices[i] * dim;
23985
+ end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
23986
+ list = linkedList(data, start, end, dim, false);
23987
+ if (list === list.next) list.steiner = true;
23988
+ queue.push(getLeftmost(list));
23989
+ }
23990
+
23991
+ queue.sort(compareX);
23992
+
23993
+ // process holes from left to right
23994
+ for (i = 0; i < queue.length; i++) {
23995
+ eliminateHole(queue[i], outerNode);
23996
+ outerNode = filterPoints(outerNode, outerNode.next);
23997
+ }
23998
+
23999
+ return outerNode;
24000
+ }
24001
+
24002
+ function compareX(a, b) {
24003
+ return a.x - b.x;
24004
+ }
24005
+
24006
+ // find a bridge between vertices that connects hole with an outer ring and and link it
24007
+ function eliminateHole(hole, outerNode) {
24008
+ outerNode = findHoleBridge(hole, outerNode);
24009
+ if (outerNode) {
24010
+ var b = splitPolygon(outerNode, hole);
24011
+ filterPoints(b, b.next);
24012
+ }
24013
+ }
24014
+
24015
+ // David Eberly's algorithm for finding a bridge between hole and outer polygon
24016
+ function findHoleBridge(hole, outerNode) {
24017
+ var p = outerNode,
24018
+ hx = hole.x,
24019
+ hy = hole.y,
24020
+ qx = -Infinity,
24021
+ m;
24022
+
24023
+ // find a segment intersected by a ray from the hole's leftmost point to the left;
24024
+ // segment's endpoint with lesser x will be potential connection point
24025
+ do {
24026
+ if (hy <= p.y && hy >= p.next.y) {
24027
+ var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y);
24028
+ if (x <= hx && x > qx) {
24029
+ qx = x;
24030
+ if (x === hx) {
24031
+ if (hy === p.y) return p;
24032
+ if (hy === p.next.y) return p.next;
24033
+ }
24034
+ m = p.x < p.next.x ? p : p.next;
24035
+ }
24036
+ }
24037
+ p = p.next;
24038
+ } while (p !== outerNode);
24039
+
24040
+ if (!m) return null;
24041
+
24042
+ if (hx === qx) return m.prev; // hole touches outer segment; pick lower endpoint
24043
+
24044
+ // look for points inside the triangle of hole point, segment intersection and endpoint;
24045
+ // if there are no points found, we have a valid connection;
24046
+ // otherwise choose the point of the minimum angle with the ray as connection point
24047
+
24048
+ var stop = m,
24049
+ mx = m.x,
24050
+ my = m.y,
24051
+ tanMin = Infinity,
24052
+ tan;
24053
+
24054
+ p = m.next;
24055
+
24056
+ while (p !== stop) {
24057
+ if (hx >= p.x && p.x >= mx &&
24058
+ pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) {
24059
+
24060
+ tan = Math.abs(hy - p.y) / (hx - p.x); // tangential
24061
+
24062
+ if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) {
24063
+ m = p;
24064
+ tanMin = tan;
24065
+ }
24066
+ }
24067
+
24068
+ p = p.next;
24069
+ }
24070
+
24071
+ return m;
24072
+ }
24073
+
24074
+ // interlink polygon nodes in z-order
24075
+ function indexCurve(start, minX, minY, size) {
24076
+ var p = start;
24077
+ do {
24078
+ if (p.z === null) p.z = zOrder(p.x, p.y, minX, minY, size);
24079
+ p.prevZ = p.prev;
24080
+ p.nextZ = p.next;
24081
+ p = p.next;
24082
+ } while (p !== start);
24083
+
24084
+ p.prevZ.nextZ = null;
24085
+ p.prevZ = null;
24086
+
24087
+ sortLinked(p);
24088
+ }
24089
+
24090
+ // Simon Tatham's linked list merge sort algorithm
24091
+ // http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html
24092
+ function sortLinked(list) {
24093
+ var i, p, q, e, tail, numMerges, pSize, qSize,
24094
+ inSize = 1;
24095
+
24096
+ do {
24097
+ p = list;
24098
+ list = null;
24099
+ tail = null;
24100
+ numMerges = 0;
24101
+
24102
+ while (p) {
24103
+ numMerges++;
24104
+ q = p;
24105
+ pSize = 0;
24106
+ for (i = 0; i < inSize; i++) {
24107
+ pSize++;
24108
+ q = q.nextZ;
24109
+ if (!q) break;
24110
+ }
24111
+
24112
+ qSize = inSize;
24113
+
24114
+ while (pSize > 0 || (qSize > 0 && q)) {
24115
+
24116
+ if (pSize === 0) {
24117
+ e = q;
24118
+ q = q.nextZ;
24119
+ qSize--;
24120
+ } else if (qSize === 0 || !q) {
24121
+ e = p;
24122
+ p = p.nextZ;
24123
+ pSize--;
24124
+ } else if (p.z <= q.z) {
24125
+ e = p;
24126
+ p = p.nextZ;
24127
+ pSize--;
24128
+ } else {
24129
+ e = q;
24130
+ q = q.nextZ;
24131
+ qSize--;
24132
+ }
24133
+
24134
+ if (tail) tail.nextZ = e;
24135
+ else list = e;
24136
+
24137
+ e.prevZ = tail;
24138
+ tail = e;
24139
+ }
24140
+
24141
+ p = q;
24142
+ }
24143
+
24144
+ tail.nextZ = null;
24145
+ inSize *= 2;
24146
+
24147
+ } while (numMerges > 1);
24148
+
24149
+ return list;
24150
+ }
24151
+
24152
+ // z-order of a point given coords and size of the data bounding box
24153
+ function zOrder(x, y, minX, minY, size) {
24154
+ // coords are transformed into non-negative 15-bit integer range
24155
+ x = 32767 * (x - minX) / size;
24156
+ y = 32767 * (y - minY) / size;
24157
+
24158
+ x = (x | (x << 8)) & 0x00FF00FF;
24159
+ x = (x | (x << 4)) & 0x0F0F0F0F;
24160
+ x = (x | (x << 2)) & 0x33333333;
24161
+ x = (x | (x << 1)) & 0x55555555;
24162
+
24163
+ y = (y | (y << 8)) & 0x00FF00FF;
24164
+ y = (y | (y << 4)) & 0x0F0F0F0F;
24165
+ y = (y | (y << 2)) & 0x33333333;
24166
+ y = (y | (y << 1)) & 0x55555555;
24167
+
24168
+ return x | (y << 1);
24169
+ }
24170
+
24171
+ // find the leftmost node of a polygon ring
24172
+ function getLeftmost(start) {
24173
+ var p = start,
24174
+ leftmost = start;
24175
+ do {
24176
+ if (p.x < leftmost.x) leftmost = p;
24177
+ p = p.next;
24178
+ } while (p !== start);
24179
+
24180
+ return leftmost;
24181
+ }
24182
+
24183
+ // check if a point lies within a convex triangle
24184
+ function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) {
24185
+ return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 &&
24186
+ (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 &&
24187
+ (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0;
24188
+ }
24189
+
24190
+ // check if a diagonal between two polygon nodes is valid (lies in polygon interior)
24191
+ function isValidDiagonal(a, b) {
24192
+ return a.next.i !== b.i && a.prev.i !== b.i && !intersectsPolygon(a, b) &&
24193
+ locallyInside(a, b) && locallyInside(b, a) && middleInside(a, b);
24194
+ }
24195
+
24196
+ // signed area of a triangle
24197
+ function area(p, q, r) {
24198
+ return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y);
24199
+ }
24200
+
24201
+ // check if two points are equal
24202
+ function equals(p1, p2) {
24203
+ return p1.x === p2.x && p1.y === p2.y;
24204
+ }
24205
+
24206
+ // check if two segments intersect
24207
+ function intersects(p1, q1, p2, q2) {
24208
+ if ((equals(p1, q1) && equals(p2, q2)) ||
24209
+ (equals(p1, q2) && equals(p2, q1))) return true;
24210
+ return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 &&
24211
+ area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0;
24212
+ }
24213
+
24214
+ // check if a polygon diagonal intersects any polygon segments
24215
+ function intersectsPolygon(a, b) {
24216
+ var p = a;
24217
+ do {
24218
+ if (p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&
24219
+ intersects(p, p.next, a, b)) return true;
24220
+ p = p.next;
24221
+ } while (p !== a);
24222
+
24223
+ return false;
24224
+ }
24225
+
24226
+ // check if a polygon diagonal is locally inside the polygon
24227
+ function locallyInside(a, b) {
24228
+ return area(a.prev, a, a.next) < 0 ?
24229
+ area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 :
24230
+ area(a, b, a.prev) < 0 || area(a, a.next, b) < 0;
24231
+ }
24232
+
24233
+ // check if the middle point of a polygon diagonal is inside the polygon
24234
+ function middleInside(a, b) {
24235
+ var p = a,
24236
+ inside = false,
24237
+ px = (a.x + b.x) / 2,
24238
+ py = (a.y + b.y) / 2;
24239
+ do {
24240
+ if (((p.y > py) !== (p.next.y > py)) && (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x))
24241
+ inside = !inside;
24242
+ p = p.next;
24243
+ } while (p !== a);
24244
+
24245
+ return inside;
24246
+ }
24247
+
24248
+ // link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two;
24249
+ // if one belongs to the outer ring and another to a hole, it merges it into a single ring
24250
+ function splitPolygon(a, b) {
24251
+ var a2 = new Node(a.i, a.x, a.y),
24252
+ b2 = new Node(b.i, b.x, b.y),
24253
+ an = a.next,
24254
+ bp = b.prev;
24255
+
24256
+ a.next = b;
24257
+ b.prev = a;
24258
+
24259
+ a2.next = an;
24260
+ an.prev = a2;
24261
+
24262
+ b2.next = a2;
24263
+ a2.prev = b2;
24264
+
24265
+ bp.next = b2;
24266
+ b2.prev = bp;
24267
+
24268
+ return b2;
24269
+ }
24270
+
24271
+ // create a node and optionally link it with previous one (in a circular doubly linked list)
24272
+ function insertNode(i, x, y, last) {
24273
+ var p = new Node(i, x, y);
24274
+
24275
+ if (!last) {
24276
+ p.prev = p;
24277
+ p.next = p;
24278
+
24279
+ } else {
24280
+ p.next = last.next;
24281
+ p.prev = last;
24282
+ last.next.prev = p;
24283
+ last.next = p;
24284
+ }
24285
+ return p;
24286
+ }
24287
+
24288
+ function removeNode(p) {
24289
+ p.next.prev = p.prev;
24290
+ p.prev.next = p.next;
24291
+
24292
+ if (p.prevZ) p.prevZ.nextZ = p.nextZ;
24293
+ if (p.nextZ) p.nextZ.prevZ = p.prevZ;
24294
+ }
24295
+
24296
+ function Node(i, x, y) {
24297
+ // vertice index in coordinates array
24298
+ this.i = i;
24299
+
24300
+ // vertex coordinates
24301
+ this.x = x;
24302
+ this.y = y;
24303
+
24304
+ // previous and next vertice nodes in a polygon ring
24305
+ this.prev = null;
24306
+ this.next = null;
24307
+
24308
+ // z-order curve value
24309
+ this.z = null;
24310
+
24311
+ // previous and next nodes in z-order
24312
+ this.prevZ = null;
24313
+ this.nextZ = null;
24314
+
24315
+ // indicates whether this is a steiner point
24316
+ this.steiner = false;
24317
+ }
24318
+
24319
+ // return a percentage difference between the polygon area and its triangulation area;
24320
+ // used to verify correctness of triangulation
24321
+ earcut.deviation = function (data, holeIndices, dim, triangles) {
24322
+ var hasHoles = holeIndices && holeIndices.length;
24323
+ var outerLen = hasHoles ? holeIndices[0] * dim : data.length;
24324
+
24325
+ var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim));
24326
+ if (hasHoles) {
24327
+ for (var i = 0, len = holeIndices.length; i < len; i++) {
24328
+ var start = holeIndices[i] * dim;
24329
+ var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length;
24330
+ polygonArea -= Math.abs(signedArea(data, start, end, dim));
24331
+ }
24332
+ }
24333
+
24334
+ var trianglesArea = 0;
24335
+ for (i = 0; i < triangles.length; i += 3) {
24336
+ var a = triangles[i] * dim;
24337
+ var b = triangles[i + 1] * dim;
24338
+ var c = triangles[i + 2] * dim;
24339
+ trianglesArea += Math.abs(
24340
+ (data[a] - data[c]) * (data[b + 1] - data[a + 1]) -
24341
+ (data[a] - data[b]) * (data[c + 1] - data[a + 1]));
24342
+ }
24343
+
24344
+ return polygonArea === 0 && trianglesArea === 0 ? 0 :
24345
+ Math.abs((trianglesArea - polygonArea) / polygonArea);
24346
+ };
24347
+
24348
+ function signedArea(data, start, end, dim) {
24349
+ var sum = 0;
24350
+ for (var i = start, j = end - dim; i < end; i += dim) {
24351
+ sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]);
24352
+ j = i;
24353
+ }
24354
+ return sum;
24355
+ }
24356
+
24357
+ // turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts
24358
+ earcut.flatten = function (data) {
24359
+ var dim = data[0][0].length,
24360
+ result = {vertices: [], holes: [], dimensions: dim},
24361
+ holeIndex = 0;
24362
+
24363
+ for (var i = 0; i < data.length; i++) {
24364
+ for (var j = 0; j < data[i].length; j++) {
24365
+ for (var d = 0; d < dim; d++) result.vertices.push(data[i][j][d]);
24366
+ }
24367
+ if (i > 0) {
24368
+ holeIndex += data[i - 1].length;
24369
+ result.holes.push(holeIndex);
24370
+ }
24371
+ }
24372
+ return result;
24373
+ };
24374
+
24375
+ },{}]},{},[1])(1)
24376
+ });
24377
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyaWZ5L25vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzcmMvZWFyY3V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FDQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6ImdlbmVyYXRlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIoZnVuY3Rpb24gZSh0LG4scil7ZnVuY3Rpb24gcyhvLHUpe2lmKCFuW29dKXtpZighdFtvXSl7dmFyIGE9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtpZighdSYmYSlyZXR1cm4gYShvLCEwKTtpZihpKXJldHVybiBpKG8sITApO3ZhciBmPW5ldyBFcnJvcihcIkNhbm5vdCBmaW5kIG1vZHVsZSAnXCIrbytcIidcIik7dGhyb3cgZi5jb2RlPVwiTU9EVUxFX05PVF9GT1VORFwiLGZ9dmFyIGw9bltvXT17ZXhwb3J0czp7fX07dFtvXVswXS5jYWxsKGwuZXhwb3J0cyxmdW5jdGlvbihlKXt2YXIgbj10W29dWzFdW2VdO3JldHVybiBzKG4/bjplKX0sbCxsLmV4cG9ydHMsZSx0LG4scil9cmV0dXJuIG5bb10uZXhwb3J0c312YXIgaT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2Zvcih2YXIgbz0wO288ci5sZW5ndGg7bysrKXMocltvXSk7cmV0dXJuIHN9KSIsIid1c2Ugc3RyaWN0JztcclxuXHJcbm1vZHVsZS5leHBvcnRzID0gZWFyY3V0O1xyXG5cclxuZnVuY3Rpb24gZWFyY3V0KGRhdGEsIGhvbGVJbmRpY2VzLCBkaW0pIHtcclxuXHJcbiAgICBkaW0gPSBkaW0gfHwgMjtcclxuXHJcbiAgICB2YXIgaGFzSG9sZXMgPSBob2xlSW5kaWNlcyAmJiBob2xlSW5kaWNlcy5sZW5ndGgsXHJcbiAgICAgICAgb3V0ZXJMZW4gPSBoYXNIb2xlcyA/IGhvbGVJbmRpY2VzWzBdICogZGltIDogZGF0YS5sZW5ndGgsXHJcbiAgICAgICAgb3V0ZXJOb2RlID0gbGlua2VkTGlzdChkYXRhLCAwLCBvdXRlckxlbiwgZGltLCB0cnVlKSxcclxuICAgICAgICB0cmlhbmdsZXMgPSBbXTtcclxuXHJcbiAgICBpZiAoIW91dGVyTm9kZSkgcmV0dXJuIHRyaWFuZ2xlcztcclxuXHJcbiAgICB2YXIgbWluWCwgbWluWSwgbWF4WCwgbWF4WSwgeCwgeSwgc2l6ZTtcclxuXHJcbiAgICBpZiAoaGFzSG9sZXMpIG91dGVyTm9kZSA9IGVsaW1pbmF0ZUhvbGVzKGRhdGEsIGhvbGVJbmRpY2VzLCBvdXRlck5vZGUsIGRpbSk7XHJcblxyXG4gICAgLy8gaWYgdGhlIHNoYXBlIGlzIG5vdCB0b28gc2ltcGxlLCB3ZSdsbCB1c2Ugei1vcmRlciBjdXJ2ZSBoYXNoIGxhdGVyOyBjYWxjdWxhdGUgcG9seWdvbiBiYm94XHJcbiAgICBpZiAoZGF0YS5sZW5ndGggPiA4MCAqIGRpbSkge1xyXG4gICAgICAgIG1pblggPSBtYXhYID0gZGF0YVswXTtcclxuICAgICAgICBtaW5ZID0gbWF4WSA9IGRhdGFbMV07XHJcblxyXG4gICAgICAgIGZvciAodmFyIGkgPSBkaW07IGkgPCBvdXRlckxlbjsgaSArPSBkaW0pIHtcclxuICAgICAgICAgICAgeCA9IGRhdGFbaV07XHJcbiAgICAgICAgICAgIHkgPSBkYXRhW2kgKyAxXTtcclxuICAgICAgICAgICAgaWYgKHggPCBtaW5YKSBtaW5YID0geDtcclxuICAgICAgICAgICAgaWYgKHkgPCBtaW5ZKSBtaW5ZID0geTtcclxuICAgICAgICAgICAgaWYgKHggPiBtYXhYKSBtYXhYID0geDtcclxuICAgICAgICAgICAgaWYgKHkgPiBtYXhZKSBtYXhZID0geTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIG1pblgsIG1pblkgYW5kIHNpemUgYXJlIGxhdGVyIHVzZWQgdG8gdHJhbnNmb3JtIGNvb3JkcyBpbnRvIGludGVnZXJzIGZvciB6LW9yZGVyIGNhbGN1bGF0aW9uXHJcbiAgICAgICAgc2l6ZSA9IE1hdGgubWF4KG1heFggLSBtaW5YLCBtYXhZIC0gbWluWSk7XHJcbiAgICB9XHJcblxyXG4gICAgZWFyY3V0TGlua2VkKG91dGVyTm9kZSwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpO1xyXG5cclxuICAgIHJldHVybiB0cmlhbmdsZXM7XHJcbn1cclxuXHJcbi8vIGNyZWF0ZSBhIGNpcmN1bGFyIGRvdWJseSBsaW5rZWQgbGlzdCBmcm9tIHBvbHlnb24gcG9pbnRzIGluIHRoZSBzcGVjaWZpZWQgd2luZGluZyBvcmRlclxyXG5mdW5jdGlvbiBsaW5rZWRMaXN0KGRhdGEsIHN0YXJ0LCBlbmQsIGRpbSwgY2xvY2t3aXNlKSB7XHJcbiAgICB2YXIgaSwgbGFzdDtcclxuXHJcbiAgICBpZiAoY2xvY2t3aXNlID09PSAoc2lnbmVkQXJlYShkYXRhLCBzdGFydCwgZW5kLCBkaW0pID4gMCkpIHtcclxuICAgICAgICBmb3IgKGkgPSBzdGFydDsgaSA8IGVuZDsgaSArPSBkaW0pIGxhc3QgPSBpbnNlcnROb2RlKGksIGRhdGFbaV0sIGRhdGFbaSArIDFdLCBsYXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZm9yIChpID0gZW5kIC0gZGltOyBpID49IHN0YXJ0OyBpIC09IGRpbSkgbGFzdCA9IGluc2VydE5vZGUoaSwgZGF0YVtpXSwgZGF0YVtpICsgMV0sIGxhc3QpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChsYXN0ICYmIGVxdWFscyhsYXN0LCBsYXN0Lm5leHQpKSB7XHJcbiAgICAgICAgcmVtb3ZlTm9kZShsYXN0KTtcclxuICAgICAgICBsYXN0ID0gbGFzdC5uZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBsYXN0O1xyXG59XHJcblxyXG4vLyBlbGltaW5hdGUgY29saW5lYXIgb3IgZHVwbGljYXRlIHBvaW50c1xyXG5mdW5jdGlvbiBmaWx0ZXJQb2ludHMoc3RhcnQsIGVuZCkge1xyXG4gICAgaWYgKCFzdGFydCkgcmV0dXJuIHN0YXJ0O1xyXG4gICAgaWYgKCFlbmQpIGVuZCA9IHN0YXJ0O1xyXG5cclxuICAgIHZhciBwID0gc3RhcnQsXHJcbiAgICAgICAgYWdhaW47XHJcbiAgICBkbyB7XHJcbiAgICAgICAgYWdhaW4gPSBmYWxzZTtcclxuXHJcbiAgICAgICAgaWYgKCFwLnN0ZWluZXIgJiYgKGVxdWFscyhwLCBwLm5leHQpIHx8IGFyZWEocC5wcmV2LCBwLCBwLm5leHQpID09PSAwKSkge1xyXG4gICAgICAgICAgICByZW1vdmVOb2RlKHApO1xyXG4gICAgICAgICAgICBwID0gZW5kID0gcC5wcmV2O1xyXG4gICAgICAgICAgICBpZiAocCA9PT0gcC5uZXh0KSByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgYWdhaW4gPSB0cnVlO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgICAgIH1cclxuICAgIH0gd2hpbGUgKGFnYWluIHx8IHAgIT09IGVuZCk7XHJcblxyXG4gICAgcmV0dXJuIGVuZDtcclxufVxyXG5cclxuLy8gbWFpbiBlYXIgc2xpY2luZyBsb29wIHdoaWNoIHRyaWFuZ3VsYXRlcyBhIHBvbHlnb24gKGdpdmVuIGFzIGEgbGlua2VkIGxpc3QpXHJcbmZ1bmN0aW9uIGVhcmN1dExpbmtlZChlYXIsIHRyaWFuZ2xlcywgZGltLCBtaW5YLCBtaW5ZLCBzaXplLCBwYXNzKSB7XHJcbiAgICBpZiAoIWVhcikgcmV0dXJuO1xyXG5cclxuICAgIC8vIGludGVybGluayBwb2x5Z29uIG5vZGVzIGluIHotb3JkZXJcclxuICAgIGlmICghcGFzcyAmJiBzaXplKSBpbmRleEN1cnZlKGVhciwgbWluWCwgbWluWSwgc2l6ZSk7XHJcblxyXG4gICAgdmFyIHN0b3AgPSBlYXIsXHJcbiAgICAgICAgcHJldiwgbmV4dDtcclxuXHJcbiAgICAvLyBpdGVyYXRlIHRocm91Z2ggZWFycywgc2xpY2luZyB0aGVtIG9uZSBieSBvbmVcclxuICAgIHdoaWxlIChlYXIucHJldiAhPT0gZWFyLm5leHQpIHtcclxuICAgICAgICBwcmV2ID0gZWFyLnByZXY7XHJcbiAgICAgICAgbmV4dCA9IGVhci5uZXh0O1xyXG5cclxuICAgICAgICBpZiAoc2l6ZSA/IGlzRWFySGFzaGVkKGVhciwgbWluWCwgbWluWSwgc2l6ZSkgOiBpc0VhcihlYXIpKSB7XHJcbiAgICAgICAgICAgIC8vIGN1dCBvZmYgdGhlIHRyaWFuZ2xlXHJcbiAgICAgICAgICAgIHRyaWFuZ2xlcy5wdXNoKHByZXYuaSAvIGRpbSk7XHJcbiAgICAgICAgICAgIHRyaWFuZ2xlcy5wdXNoKGVhci5pIC8gZGltKTtcclxuICAgICAgICAgICAgdHJpYW5nbGVzLnB1c2gobmV4dC5pIC8gZGltKTtcclxuXHJcbiAgICAgICAgICAgIHJlbW92ZU5vZGUoZWFyKTtcclxuXHJcbiAgICAgICAgICAgIC8vIHNraXBwaW5nIHRoZSBuZXh0IHZlcnRpY2UgbGVhZHMgdG8gbGVzcyBzbGl2ZXIgdHJpYW5nbGVzXHJcbiAgICAgICAgICAgIGVhciA9IG5leHQubmV4dDtcclxuICAgICAgICAgICAgc3RvcCA9IG5leHQubmV4dDtcclxuXHJcbiAgICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWFyID0gbmV4dDtcclxuXHJcbiAgICAgICAgLy8gaWYgd2UgbG9vcGVkIHRocm91Z2ggdGhlIHdob2xlIHJlbWFpbmluZyBwb2x5Z29uIGFuZCBjYW4ndCBmaW5kIGFueSBtb3JlIGVhcnNcclxuICAgICAgICBpZiAoZWFyID09PSBzdG9wKSB7XHJcbiAgICAgICAgICAgIC8vIHRyeSBmaWx0ZXJpbmcgcG9pbnRzIGFuZCBzbGljaW5nIGFnYWluXHJcbiAgICAgICAgICAgIGlmICghcGFzcykge1xyXG4gICAgICAgICAgICAgICAgZWFyY3V0TGlua2VkKGZpbHRlclBvaW50cyhlYXIpLCB0cmlhbmdsZXMsIGRpbSwgbWluWCwgbWluWSwgc2l6ZSwgMSk7XHJcblxyXG4gICAgICAgICAgICAvLyBpZiB0aGlzIGRpZG4ndCB3b3JrLCB0cnkgY3VyaW5nIGFsbCBzbWFsbCBzZWxmLWludGVyc2VjdGlvbnMgbG9jYWxseVxyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhc3MgPT09IDEpIHtcclxuICAgICAgICAgICAgICAgIGVhciA9IGN1cmVMb2NhbEludGVyc2VjdGlvbnMoZWFyLCB0cmlhbmdsZXMsIGRpbSk7XHJcbiAgICAgICAgICAgICAgICBlYXJjdXRMaW5rZWQoZWFyLCB0cmlhbmdsZXMsIGRpbSwgbWluWCwgbWluWSwgc2l6ZSwgMik7XHJcblxyXG4gICAgICAgICAgICAvLyBhcyBhIGxhc3QgcmVzb3J0LCB0cnkgc3BsaXR0aW5nIHRoZSByZW1haW5pbmcgcG9seWdvbiBpbnRvIHR3b1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhc3MgPT09IDIpIHtcclxuICAgICAgICAgICAgICAgIHNwbGl0RWFyY3V0KGVhciwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIGNoZWNrIHdoZXRoZXIgYSBwb2x5Z29uIG5vZGUgZm9ybXMgYSB2YWxpZCBlYXIgd2l0aCBhZGphY2VudCBub2Rlc1xyXG5mdW5jdGlvbiBpc0VhcihlYXIpIHtcclxuICAgIHZhciBhID0gZWFyLnByZXYsXHJcbiAgICAgICAgYiA9IGVhcixcclxuICAgICAgICBjID0gZWFyLm5leHQ7XHJcblxyXG4gICAgaWYgKGFyZWEoYSwgYiwgYykgPj0gMCkgcmV0dXJuIGZhbHNlOyAvLyByZWZsZXgsIGNhbid0IGJlIGFuIGVhclxyXG5cclxuICAgIC8vIG5vdyBtYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBvdGhlciBwb2ludHMgaW5zaWRlIHRoZSBwb3RlbnRpYWwgZWFyXHJcbiAgICB2YXIgcCA9IGVhci5uZXh0Lm5leHQ7XHJcblxyXG4gICAgd2hpbGUgKHAgIT09IGVhci5wcmV2KSB7XHJcbiAgICAgICAgaWYgKHBvaW50SW5UcmlhbmdsZShhLngsIGEueSwgYi54LCBiLnksIGMueCwgYy55LCBwLngsIHAueSkgJiZcclxuICAgICAgICAgICAgYXJlYShwLnByZXYsIHAsIHAubmV4dCkgPj0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHAgPSBwLm5leHQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRydWU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzRWFySGFzaGVkKGVhciwgbWluWCwgbWluWSwgc2l6ZSkge1xyXG4gICAgdmFyIGEgPSBlYXIucHJldixcclxuICAgICAgICBiID0gZWFyLFxyXG4gICAgICAgIGMgPSBlYXIubmV4dDtcclxuXHJcbiAgICBpZiAoYXJlYShhLCBiLCBjKSA+PSAwKSByZXR1cm4gZmFsc2U7IC8vIHJlZmxleCwgY2FuJ3QgYmUgYW4gZWFyXHJcblxyXG4gICAgLy8gdHJpYW5nbGUgYmJveDsgbWluICYgbWF4IGFyZSBjYWxjdWxhdGVkIGxpa2UgdGhpcyBmb3Igc3BlZWRcclxuICAgIHZhciBtaW5UWCA9IGEueCA8IGIueCA/IChhLnggPCBjLnggPyBhLnggOiBjLngpIDogKGIueCA8IGMueCA/IGIueCA6IGMueCksXHJcbiAgICAgICAgbWluVFkgPSBhLnkgPCBiLnkgPyAoYS55IDwgYy55ID8gYS55IDogYy55KSA6IChiLnkgPCBjLnkgPyBiLnkgOiBjLnkpLFxyXG4gICAgICAgIG1heFRYID0gYS54ID4gYi54ID8gKGEueCA+IGMueCA/IGEueCA6IGMueCkgOiAoYi54ID4gYy54ID8gYi54IDogYy54KSxcclxuICAgICAgICBtYXhUWSA9IGEueSA+IGIueSA/IChhLnkgPiBjLnkgPyBhLnkgOiBjLnkpIDogKGIueSA+IGMueSA/IGIueSA6IGMueSk7XHJcblxyXG4gICAgLy8gei1vcmRlciByYW5nZSBmb3IgdGhlIGN1cnJlbnQgdHJpYW5nbGUgYmJveDtcclxuICAgIHZhciBtaW5aID0gek9yZGVyKG1pblRYLCBtaW5UWSwgbWluWCwgbWluWSwgc2l6ZSksXHJcbiAgICAgICAgbWF4WiA9IHpPcmRlcihtYXhUWCwgbWF4VFksIG1pblgsIG1pblksIHNpemUpO1xyXG5cclxuICAgIC8vIGZpcnN0IGxvb2sgZm9yIHBvaW50cyBpbnNpZGUgdGhlIHRyaWFuZ2xlIGluIGluY3JlYXNpbmcgei1vcmRlclxyXG4gICAgdmFyIHAgPSBlYXIubmV4dFo7XHJcblxyXG4gICAgd2hpbGUgKHAgJiYgcC56IDw9IG1heFopIHtcclxuICAgICAgICBpZiAocCAhPT0gZWFyLnByZXYgJiYgcCAhPT0gZWFyLm5leHQgJiZcclxuICAgICAgICAgICAgcG9pbnRJblRyaWFuZ2xlKGEueCwgYS55LCBiLngsIGIueSwgYy54LCBjLnksIHAueCwgcC55KSAmJlxyXG4gICAgICAgICAgICBhcmVhKHAucHJldiwgcCwgcC5uZXh0KSA+PSAwKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgcCA9IHAubmV4dFo7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGhlbiBsb29rIGZvciBwb2ludHMgaW4gZGVjcmVhc2luZyB6LW9yZGVyXHJcbiAgICBwID0gZWFyLnByZXZaO1xyXG5cclxuICAgIHdoaWxlIChwICYmIHAueiA+PSBtaW5aKSB7XHJcbiAgICAgICAgaWYgKHAgIT09IGVhci5wcmV2ICYmIHAgIT09IGVhci5uZXh0ICYmXHJcbiAgICAgICAgICAgIHBvaW50SW5UcmlhbmdsZShhLngsIGEueSwgYi54LCBiLnksIGMueCwgYy55LCBwLngsIHAueSkgJiZcclxuICAgICAgICAgICAgYXJlYShwLnByZXYsIHAsIHAubmV4dCkgPj0gMCkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIHAgPSBwLnByZXZaO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0cnVlO1xyXG59XHJcblxyXG4vLyBnbyB0aHJvdWdoIGFsbCBwb2x5Z29uIG5vZGVzIGFuZCBjdXJlIHNtYWxsIGxvY2FsIHNlbGYtaW50ZXJzZWN0aW9uc1xyXG5mdW5jdGlvbiBjdXJlTG9jYWxJbnRlcnNlY3Rpb25zKHN0YXJ0LCB0cmlhbmdsZXMsIGRpbSkge1xyXG4gICAgdmFyIHAgPSBzdGFydDtcclxuICAgIGRvIHtcclxuICAgICAgICB2YXIgYSA9IHAucHJldixcclxuICAgICAgICAgICAgYiA9IHAubmV4dC5uZXh0O1xyXG5cclxuICAgICAgICBpZiAoIWVxdWFscyhhLCBiKSAmJiBpbnRlcnNlY3RzKGEsIHAsIHAubmV4dCwgYikgJiYgbG9jYWxseUluc2lkZShhLCBiKSAmJiBsb2NhbGx5SW5zaWRlKGIsIGEpKSB7XHJcblxyXG4gICAgICAgICAgICB0cmlhbmdsZXMucHVzaChhLmkgLyBkaW0pO1xyXG4gICAgICAgICAgICB0cmlhbmdsZXMucHVzaChwLmkgLyBkaW0pO1xyXG4gICAgICAgICAgICB0cmlhbmdsZXMucHVzaChiLmkgLyBkaW0pO1xyXG5cclxuICAgICAgICAgICAgLy8gcmVtb3ZlIHR3byBub2RlcyBpbnZvbHZlZFxyXG4gICAgICAgICAgICByZW1vdmVOb2RlKHApO1xyXG4gICAgICAgICAgICByZW1vdmVOb2RlKHAubmV4dCk7XHJcblxyXG4gICAgICAgICAgICBwID0gc3RhcnQgPSBiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgfSB3aGlsZSAocCAhPT0gc3RhcnQpO1xyXG5cclxuICAgIHJldHVybiBwO1xyXG59XHJcblxyXG4vLyB0cnkgc3BsaXR0aW5nIHBvbHlnb24gaW50byB0d28gYW5kIHRyaWFuZ3VsYXRlIHRoZW0gaW5kZXBlbmRlbnRseVxyXG5mdW5jdGlvbiBzcGxpdEVhcmN1dChzdGFydCwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpIHtcclxuICAgIC8vIGxvb2sgZm9yIGEgdmFsaWQgZGlhZ29uYWwgdGhhdCBkaXZpZGVzIHRoZSBwb2x5Z29uIGludG8gdHdvXHJcbiAgICB2YXIgYSA9IHN0YXJ0O1xyXG4gICAgZG8ge1xyXG4gICAgICAgIHZhciBiID0gYS5uZXh0Lm5leHQ7XHJcbiAgICAgICAgd2hpbGUgKGIgIT09IGEucHJldikge1xyXG4gICAgICAgICAgICBpZiAoYS5pICE9PSBiLmkgJiYgaXNWYWxpZERpYWdvbmFsKGEsIGIpKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBzcGxpdCB0aGUgcG9seWdvbiBpbiB0d28gYnkgdGhlIGRpYWdvbmFsXHJcbiAgICAgICAgICAgICAgICB2YXIgYyA9IHNwbGl0UG9seWdvbihhLCBiKTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBmaWx0ZXIgY29saW5lYXIgcG9pbnRzIGFyb3VuZCB0aGUgY3V0c1xyXG4gICAgICAgICAgICAgICAgYSA9IGZpbHRlclBvaW50cyhhLCBhLm5leHQpO1xyXG4gICAgICAgICAgICAgICAgYyA9IGZpbHRlclBvaW50cyhjLCBjLm5leHQpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIHJ1biBlYXJjdXQgb24gZWFjaCBoYWxmXHJcbiAgICAgICAgICAgICAgICBlYXJjdXRMaW5rZWQoYSwgdHJpYW5nbGVzLCBkaW0sIG1pblgsIG1pblksIHNpemUpO1xyXG4gICAgICAgICAgICAgICAgZWFyY3V0TGlua2VkKGMsIHRyaWFuZ2xlcywgZGltLCBtaW5YLCBtaW5ZLCBzaXplKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiID0gYi5uZXh0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhID0gYS5uZXh0O1xyXG4gICAgfSB3aGlsZSAoYSAhPT0gc3RhcnQpO1xyXG59XHJcblxyXG4vLyBsaW5rIGV2ZXJ5IGhvbGUgaW50byB0aGUgb3V0ZXIgbG9vcCwgcHJvZHVjaW5nIGEgc2luZ2xlLXJpbmcgcG9seWdvbiB3aXRob3V0IGhvbGVzXHJcbmZ1bmN0aW9uIGVsaW1pbmF0ZUhvbGVzKGRhdGEsIGhvbGVJbmRpY2VzLCBvdXRlck5vZGUsIGRpbSkge1xyXG4gICAgdmFyIHF1ZXVlID0gW10sXHJcbiAgICAgICAgaSwgbGVuLCBzdGFydCwgZW5kLCBsaXN0O1xyXG5cclxuICAgIGZvciAoaSA9IDAsIGxlbiA9IGhvbGVJbmRpY2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgc3RhcnQgPSBob2xlSW5kaWNlc1tpXSAqIGRpbTtcclxuICAgICAgICBlbmQgPSBpIDwgbGVuIC0gMSA/IGhvbGVJbmRpY2VzW2kgKyAxXSAqIGRpbSA6IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgIGxpc3QgPSBsaW5rZWRMaXN0KGRhdGEsIHN0YXJ0LCBlbmQsIGRpbSwgZmFsc2UpO1xyXG4gICAgICAgIGlmIChsaXN0ID09PSBsaXN0Lm5leHQpIGxpc3Quc3RlaW5lciA9IHRydWU7XHJcbiAgICAgICAgcXVldWUucHVzaChnZXRMZWZ0bW9zdChsaXN0KSk7XHJcbiAgICB9XHJcblxyXG4gICAgcXVldWUuc29ydChjb21wYXJlWCk7XHJcblxyXG4gICAgLy8gcHJvY2VzcyBob2xlcyBmcm9tIGxlZnQgdG8gcmlnaHRcclxuICAgIGZvciAoaSA9IDA7IGkgPCBxdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGVsaW1pbmF0ZUhvbGUocXVldWVbaV0sIG91dGVyTm9kZSk7XHJcbiAgICAgICAgb3V0ZXJOb2RlID0gZmlsdGVyUG9pbnRzKG91dGVyTm9kZSwgb3V0ZXJOb2RlLm5leHQpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvdXRlck5vZGU7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGNvbXBhcmVYKGEsIGIpIHtcclxuICAgIHJldHVybiBhLnggLSBiLng7XHJcbn1cclxuXHJcbi8vIGZpbmQgYSBicmlkZ2UgYmV0d2VlbiB2ZXJ0aWNlcyB0aGF0IGNvbm5lY3RzIGhvbGUgd2l0aCBhbiBvdXRlciByaW5nIGFuZCBhbmQgbGluayBpdFxyXG5mdW5jdGlvbiBlbGltaW5hdGVIb2xlKGhvbGUsIG91dGVyTm9kZSkge1xyXG4gICAgb3V0ZXJOb2RlID0gZmluZEhvbGVCcmlkZ2UoaG9sZSwgb3V0ZXJOb2RlKTtcclxuICAgIGlmIChvdXRlck5vZGUpIHtcclxuICAgICAgICB2YXIgYiA9IHNwbGl0UG9seWdvbihvdXRlck5vZGUsIGhvbGUpO1xyXG4gICAgICAgIGZpbHRlclBvaW50cyhiLCBiLm5leHQpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBEYXZpZCBFYmVybHkncyBhbGdvcml0aG0gZm9yIGZpbmRpbmcgYSBicmlkZ2UgYmV0d2VlbiBob2xlIGFuZCBvdXRlciBwb2x5Z29uXHJcbmZ1bmN0aW9uIGZpbmRIb2xlQnJpZGdlKGhvbGUsIG91dGVyTm9kZSkge1xyXG4gICAgdmFyIHAgPSBvdXRlck5vZGUsXHJcbiAgICAgICAgaHggPSBob2xlLngsXHJcbiAgICAgICAgaHkgPSBob2xlLnksXHJcbiAgICAgICAgcXggPSAtSW5maW5pdHksXHJcbiAgICAgICAgbTtcclxuXHJcbiAgICAvLyBmaW5kIGEgc2VnbWVudCBpbnRlcnNlY3RlZCBieSBhIHJheSBmcm9tIHRoZSBob2xlJ3MgbGVmdG1vc3QgcG9pbnQgdG8gdGhlIGxlZnQ7XHJcbiAgICAvLyBzZWdtZW50J3MgZW5kcG9pbnQgd2l0aCBsZXNzZXIgeCB3aWxsIGJlIHBvdGVudGlhbCBjb25uZWN0aW9uIHBvaW50XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKGh5IDw9IHAueSAmJiBoeSA+PSBwLm5leHQueSkge1xyXG4gICAgICAgICAgICB2YXIgeCA9IHAueCArIChoeSAtIHAueSkgKiAocC5uZXh0LnggLSBwLngpIC8gKHAubmV4dC55IC0gcC55KTtcclxuICAgICAgICAgICAgaWYgKHggPD0gaHggJiYgeCA+IHF4KSB7XHJcbiAgICAgICAgICAgICAgICBxeCA9IHg7XHJcbiAgICAgICAgICAgICAgICBpZiAoeCA9PT0gaHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaHkgPT09IHAueSkgcmV0dXJuIHA7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGh5ID09PSBwLm5leHQueSkgcmV0dXJuIHAubmV4dDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIG0gPSBwLnggPCBwLm5leHQueCA/IHAgOiBwLm5leHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IG91dGVyTm9kZSk7XHJcblxyXG4gICAgaWYgKCFtKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgICBpZiAoaHggPT09IHF4KSByZXR1cm4gbS5wcmV2OyAvLyBob2xlIHRvdWNoZXMgb3V0ZXIgc2VnbWVudDsgcGljayBsb3dlciBlbmRwb2ludFxyXG5cclxuICAgIC8vIGxvb2sgZm9yIHBvaW50cyBpbnNpZGUgdGhlIHRyaWFuZ2xlIG9mIGhvbGUgcG9pbnQsIHNlZ21lbnQgaW50ZXJzZWN0aW9uIGFuZCBlbmRwb2ludDtcclxuICAgIC8vIGlmIHRoZXJlIGFyZSBubyBwb2ludHMgZm91bmQsIHdlIGhhdmUgYSB2YWxpZCBjb25uZWN0aW9uO1xyXG4gICAgLy8gb3RoZXJ3aXNlIGNob29zZSB0aGUgcG9pbnQgb2YgdGhlIG1pbmltdW0gYW5nbGUgd2l0aCB0aGUgcmF5IGFzIGNvbm5lY3Rpb24gcG9pbnRcclxuXHJcbiAgICB2YXIgc3RvcCA9IG0sXHJcbiAgICAgICAgbXggPSBtLngsXHJcbiAgICAgICAgbXkgPSBtLnksXHJcbiAgICAgICAgdGFuTWluID0gSW5maW5pdHksXHJcbiAgICAgICAgdGFuO1xyXG5cclxuICAgIHAgPSBtLm5leHQ7XHJcblxyXG4gICAgd2hpbGUgKHAgIT09IHN0b3ApIHtcclxuICAgICAgICBpZiAoaHggPj0gcC54ICYmIHAueCA+PSBteCAmJlxyXG4gICAgICAgICAgICAgICAgcG9pbnRJblRyaWFuZ2xlKGh5IDwgbXkgPyBoeCA6IHF4LCBoeSwgbXgsIG15LCBoeSA8IG15ID8gcXggOiBoeCwgaHksIHAueCwgcC55KSkge1xyXG5cclxuICAgICAgICAgICAgdGFuID0gTWF0aC5hYnMoaHkgLSBwLnkpIC8gKGh4IC0gcC54KTsgLy8gdGFuZ2VudGlhbFxyXG5cclxuICAgICAgICAgICAgaWYgKCh0YW4gPCB0YW5NaW4gfHwgKHRhbiA9PT0gdGFuTWluICYmIHAueCA+IG0ueCkpICYmIGxvY2FsbHlJbnNpZGUocCwgaG9sZSkpIHtcclxuICAgICAgICAgICAgICAgIG0gPSBwO1xyXG4gICAgICAgICAgICAgICAgdGFuTWluID0gdGFuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBtO1xyXG59XHJcblxyXG4vLyBpbnRlcmxpbmsgcG9seWdvbiBub2RlcyBpbiB6LW9yZGVyXHJcbmZ1bmN0aW9uIGluZGV4Q3VydmUoc3RhcnQsIG1pblgsIG1pblksIHNpemUpIHtcclxuICAgIHZhciBwID0gc3RhcnQ7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKHAueiA9PT0gbnVsbCkgcC56ID0gek9yZGVyKHAueCwgcC55LCBtaW5YLCBtaW5ZLCBzaXplKTtcclxuICAgICAgICBwLnByZXZaID0gcC5wcmV2O1xyXG4gICAgICAgIHAubmV4dFogPSBwLm5leHQ7XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IHN0YXJ0KTtcclxuXHJcbiAgICBwLnByZXZaLm5leHRaID0gbnVsbDtcclxuICAgIHAucHJldlogPSBudWxsO1xyXG5cclxuICAgIHNvcnRMaW5rZWQocCk7XHJcbn1cclxuXHJcbi8vIFNpbW9uIFRhdGhhbSdzIGxpbmtlZCBsaXN0IG1lcmdlIHNvcnQgYWxnb3JpdGhtXHJcbi8vIGh0dHA6Ly93d3cuY2hpYXJrLmdyZWVuZW5kLm9yZy51ay9+c2d0YXRoYW0vYWxnb3JpdGhtcy9saXN0c29ydC5odG1sXHJcbmZ1bmN0aW9uIHNvcnRMaW5rZWQobGlzdCkge1xyXG4gICAgdmFyIGksIHAsIHEsIGUsIHRhaWwsIG51bU1lcmdlcywgcFNpemUsIHFTaXplLFxyXG4gICAgICAgIGluU2l6ZSA9IDE7XHJcblxyXG4gICAgZG8ge1xyXG4gICAgICAgIHAgPSBsaXN0O1xyXG4gICAgICAgIGxpc3QgPSBudWxsO1xyXG4gICAgICAgIHRhaWwgPSBudWxsO1xyXG4gICAgICAgIG51bU1lcmdlcyA9IDA7XHJcblxyXG4gICAgICAgIHdoaWxlIChwKSB7XHJcbiAgICAgICAgICAgIG51bU1lcmdlcysrO1xyXG4gICAgICAgICAgICBxID0gcDtcclxuICAgICAgICAgICAgcFNpemUgPSAwO1xyXG4gICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgaW5TaXplOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIHBTaXplKys7XHJcbiAgICAgICAgICAgICAgICBxID0gcS5uZXh0WjtcclxuICAgICAgICAgICAgICAgIGlmICghcSkgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHFTaXplID0gaW5TaXplO1xyXG5cclxuICAgICAgICAgICAgd2hpbGUgKHBTaXplID4gMCB8fCAocVNpemUgPiAwICYmIHEpKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKHBTaXplID09PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHE7XHJcbiAgICAgICAgICAgICAgICAgICAgcSA9IHEubmV4dFo7XHJcbiAgICAgICAgICAgICAgICAgICAgcVNpemUtLTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAocVNpemUgPT09IDAgfHwgIXEpIHtcclxuICAgICAgICAgICAgICAgICAgICBlID0gcDtcclxuICAgICAgICAgICAgICAgICAgICBwID0gcC5uZXh0WjtcclxuICAgICAgICAgICAgICAgICAgICBwU2l6ZS0tO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwLnogPD0gcS56KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHA7XHJcbiAgICAgICAgICAgICAgICAgICAgcCA9IHAubmV4dFo7XHJcbiAgICAgICAgICAgICAgICAgICAgcFNpemUtLTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZSA9IHE7XHJcbiAgICAgICAgICAgICAgICAgICAgcSA9IHEubmV4dFo7XHJcbiAgICAgICAgICAgICAgICAgICAgcVNpemUtLTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGFpbCkgdGFpbC5uZXh0WiA9IGU7XHJcbiAgICAgICAgICAgICAgICBlbHNlIGxpc3QgPSBlO1xyXG5cclxuICAgICAgICAgICAgICAgIGUucHJldlogPSB0YWlsO1xyXG4gICAgICAgICAgICAgICAgdGFpbCA9IGU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAgPSBxO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGFpbC5uZXh0WiA9IG51bGw7XHJcbiAgICAgICAgaW5TaXplICo9IDI7XHJcblxyXG4gICAgfSB3aGlsZSAobnVtTWVyZ2VzID4gMSk7XHJcblxyXG4gICAgcmV0dXJuIGxpc3Q7XHJcbn1cclxuXHJcbi8vIHotb3JkZXIgb2YgYSBwb2ludCBnaXZlbiBjb29yZHMgYW5kIHNpemUgb2YgdGhlIGRhdGEgYm91bmRpbmcgYm94XHJcbmZ1bmN0aW9uIHpPcmRlcih4LCB5LCBtaW5YLCBtaW5ZLCBzaXplKSB7XHJcbiAgICAvLyBjb29yZHMgYXJlIHRyYW5zZm9ybWVkIGludG8gbm9uLW5lZ2F0aXZlIDE1LWJpdCBpbnRlZ2VyIHJhbmdlXHJcbiAgICB4ID0gMzI3NjcgKiAoeCAtIG1pblgpIC8gc2l6ZTtcclxuICAgIHkgPSAzMjc2NyAqICh5IC0gbWluWSkgLyBzaXplO1xyXG5cclxuICAgIHggPSAoeCB8ICh4IDw8IDgpKSAmIDB4MDBGRjAwRkY7XHJcbiAgICB4ID0gKHggfCAoeCA8PCA0KSkgJiAweDBGMEYwRjBGO1xyXG4gICAgeCA9ICh4IHwgKHggPDwgMikpICYgMHgzMzMzMzMzMztcclxuICAgIHggPSAoeCB8ICh4IDw8IDEpKSAmIDB4NTU1NTU1NTU7XHJcblxyXG4gICAgeSA9ICh5IHwgKHkgPDwgOCkpICYgMHgwMEZGMDBGRjtcclxuICAgIHkgPSAoeSB8ICh5IDw8IDQpKSAmIDB4MEYwRjBGMEY7XHJcbiAgICB5ID0gKHkgfCAoeSA8PCAyKSkgJiAweDMzMzMzMzMzO1xyXG4gICAgeSA9ICh5IHwgKHkgPDwgMSkpICYgMHg1NTU1NTU1NTtcclxuXHJcbiAgICByZXR1cm4geCB8ICh5IDw8IDEpO1xyXG59XHJcblxyXG4vLyBmaW5kIHRoZSBsZWZ0bW9zdCBub2RlIG9mIGEgcG9seWdvbiByaW5nXHJcbmZ1bmN0aW9uIGdldExlZnRtb3N0KHN0YXJ0KSB7XHJcbiAgICB2YXIgcCA9IHN0YXJ0LFxyXG4gICAgICAgIGxlZnRtb3N0ID0gc3RhcnQ7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKHAueCA8IGxlZnRtb3N0LngpIGxlZnRtb3N0ID0gcDtcclxuICAgICAgICBwID0gcC5uZXh0O1xyXG4gICAgfSB3aGlsZSAocCAhPT0gc3RhcnQpO1xyXG5cclxuICAgIHJldHVybiBsZWZ0bW9zdDtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgYSBwb2ludCBsaWVzIHdpdGhpbiBhIGNvbnZleCB0cmlhbmdsZVxyXG5mdW5jdGlvbiBwb2ludEluVHJpYW5nbGUoYXgsIGF5LCBieCwgYnksIGN4LCBjeSwgcHgsIHB5KSB7XHJcbiAgICByZXR1cm4gKGN4IC0gcHgpICogKGF5IC0gcHkpIC0gKGF4IC0gcHgpICogKGN5IC0gcHkpID49IDAgJiZcclxuICAgICAgICAgICAoYXggLSBweCkgKiAoYnkgLSBweSkgLSAoYnggLSBweCkgKiAoYXkgLSBweSkgPj0gMCAmJlxyXG4gICAgICAgICAgIChieCAtIHB4KSAqIChjeSAtIHB5KSAtIChjeCAtIHB4KSAqIChieSAtIHB5KSA+PSAwO1xyXG59XHJcblxyXG4vLyBjaGVjayBpZiBhIGRpYWdvbmFsIGJldHdlZW4gdHdvIHBvbHlnb24gbm9kZXMgaXMgdmFsaWQgKGxpZXMgaW4gcG9seWdvbiBpbnRlcmlvcilcclxuZnVuY3Rpb24gaXNWYWxpZERpYWdvbmFsKGEsIGIpIHtcclxuICAgIHJldHVybiBhLm5leHQuaSAhPT0gYi5pICYmIGEucHJldi5pICE9PSBiLmkgJiYgIWludGVyc2VjdHNQb2x5Z29uKGEsIGIpICYmXHJcbiAgICAgICAgICAgbG9jYWxseUluc2lkZShhLCBiKSAmJiBsb2NhbGx5SW5zaWRlKGIsIGEpICYmIG1pZGRsZUluc2lkZShhLCBiKTtcclxufVxyXG5cclxuLy8gc2lnbmVkIGFyZWEgb2YgYSB0cmlhbmdsZVxyXG5mdW5jdGlvbiBhcmVhKHAsIHEsIHIpIHtcclxuICAgIHJldHVybiAocS55IC0gcC55KSAqIChyLnggLSBxLngpIC0gKHEueCAtIHAueCkgKiAoci55IC0gcS55KTtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgdHdvIHBvaW50cyBhcmUgZXF1YWxcclxuZnVuY3Rpb24gZXF1YWxzKHAxLCBwMikge1xyXG4gICAgcmV0dXJuIHAxLnggPT09IHAyLnggJiYgcDEueSA9PT0gcDIueTtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgdHdvIHNlZ21lbnRzIGludGVyc2VjdFxyXG5mdW5jdGlvbiBpbnRlcnNlY3RzKHAxLCBxMSwgcDIsIHEyKSB7XHJcbiAgICBpZiAoKGVxdWFscyhwMSwgcTEpICYmIGVxdWFscyhwMiwgcTIpKSB8fFxyXG4gICAgICAgIChlcXVhbHMocDEsIHEyKSAmJiBlcXVhbHMocDIsIHExKSkpIHJldHVybiB0cnVlO1xyXG4gICAgcmV0dXJuIGFyZWEocDEsIHExLCBwMikgPiAwICE9PSBhcmVhKHAxLCBxMSwgcTIpID4gMCAmJlxyXG4gICAgICAgICAgIGFyZWEocDIsIHEyLCBwMSkgPiAwICE9PSBhcmVhKHAyLCBxMiwgcTEpID4gMDtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgYSBwb2x5Z29uIGRpYWdvbmFsIGludGVyc2VjdHMgYW55IHBvbHlnb24gc2VnbWVudHNcclxuZnVuY3Rpb24gaW50ZXJzZWN0c1BvbHlnb24oYSwgYikge1xyXG4gICAgdmFyIHAgPSBhO1xyXG4gICAgZG8ge1xyXG4gICAgICAgIGlmIChwLmkgIT09IGEuaSAmJiBwLm5leHQuaSAhPT0gYS5pICYmIHAuaSAhPT0gYi5pICYmIHAubmV4dC5pICE9PSBiLmkgJiZcclxuICAgICAgICAgICAgICAgIGludGVyc2VjdHMocCwgcC5uZXh0LCBhLCBiKSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IGEpO1xyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgYSBwb2x5Z29uIGRpYWdvbmFsIGlzIGxvY2FsbHkgaW5zaWRlIHRoZSBwb2x5Z29uXHJcbmZ1bmN0aW9uIGxvY2FsbHlJbnNpZGUoYSwgYikge1xyXG4gICAgcmV0dXJuIGFyZWEoYS5wcmV2LCBhLCBhLm5leHQpIDwgMCA/XHJcbiAgICAgICAgYXJlYShhLCBiLCBhLm5leHQpID49IDAgJiYgYXJlYShhLCBhLnByZXYsIGIpID49IDAgOlxyXG4gICAgICAgIGFyZWEoYSwgYiwgYS5wcmV2KSA8IDAgfHwgYXJlYShhLCBhLm5leHQsIGIpIDwgMDtcclxufVxyXG5cclxuLy8gY2hlY2sgaWYgdGhlIG1pZGRsZSBwb2ludCBvZiBhIHBvbHlnb24gZGlhZ29uYWwgaXMgaW5zaWRlIHRoZSBwb2x5Z29uXHJcbmZ1bmN0aW9uIG1pZGRsZUluc2lkZShhLCBiKSB7XHJcbiAgICB2YXIgcCA9IGEsXHJcbiAgICAgICAgaW5zaWRlID0gZmFsc2UsXHJcbiAgICAgICAgcHggPSAoYS54ICsgYi54KSAvIDIsXHJcbiAgICAgICAgcHkgPSAoYS55ICsgYi55KSAvIDI7XHJcbiAgICBkbyB7XHJcbiAgICAgICAgaWYgKCgocC55ID4gcHkpICE9PSAocC5uZXh0LnkgPiBweSkpICYmIChweCA8IChwLm5leHQueCAtIHAueCkgKiAocHkgLSBwLnkpIC8gKHAubmV4dC55IC0gcC55KSArIHAueCkpXHJcbiAgICAgICAgICAgIGluc2lkZSA9ICFpbnNpZGU7XHJcbiAgICAgICAgcCA9IHAubmV4dDtcclxuICAgIH0gd2hpbGUgKHAgIT09IGEpO1xyXG5cclxuICAgIHJldHVybiBpbnNpZGU7XHJcbn1cclxuXHJcbi8vIGxpbmsgdHdvIHBvbHlnb24gdmVydGljZXMgd2l0aCBhIGJyaWRnZTsgaWYgdGhlIHZlcnRpY2VzIGJlbG9uZyB0byB0aGUgc2FtZSByaW5nLCBpdCBzcGxpdHMgcG9seWdvbiBpbnRvIHR3bztcclxuLy8gaWYgb25lIGJlbG9uZ3MgdG8gdGhlIG91dGVyIHJpbmcgYW5kIGFub3RoZXIgdG8gYSBob2xlLCBpdCBtZXJnZXMgaXQgaW50byBhIHNpbmdsZSByaW5nXHJcbmZ1bmN0aW9uIHNwbGl0UG9seWdvbihhLCBiKSB7XHJcbiAgICB2YXIgYTIgPSBuZXcgTm9kZShhLmksIGEueCwgYS55KSxcclxuICAgICAgICBiMiA9IG5ldyBOb2RlKGIuaSwgYi54LCBiLnkpLFxyXG4gICAgICAgIGFuID0gYS5uZXh0LFxyXG4gICAgICAgIGJwID0gYi5wcmV2O1xyXG5cclxuICAgIGEubmV4dCA9IGI7XHJcbiAgICBiLnByZXYgPSBhO1xyXG5cclxuICAgIGEyLm5leHQgPSBhbjtcclxuICAgIGFuLnByZXYgPSBhMjtcclxuXHJcbiAgICBiMi5uZXh0ID0gYTI7XHJcbiAgICBhMi5wcmV2ID0gYjI7XHJcblxyXG4gICAgYnAubmV4dCA9IGIyO1xyXG4gICAgYjIucHJldiA9IGJwO1xyXG5cclxuICAgIHJldHVybiBiMjtcclxufVxyXG5cclxuLy8gY3JlYXRlIGEgbm9kZSBhbmQgb3B0aW9uYWxseSBsaW5rIGl0IHdpdGggcHJldmlvdXMgb25lIChpbiBhIGNpcmN1bGFyIGRvdWJseSBsaW5rZWQgbGlzdClcclxuZnVuY3Rpb24gaW5zZXJ0Tm9kZShpLCB4LCB5LCBsYXN0KSB7XHJcbiAgICB2YXIgcCA9IG5ldyBOb2RlKGksIHgsIHkpO1xyXG5cclxuICAgIGlmICghbGFzdCkge1xyXG4gICAgICAgIHAucHJldiA9IHA7XHJcbiAgICAgICAgcC5uZXh0ID0gcDtcclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIHAubmV4dCA9IGxhc3QubmV4dDtcclxuICAgICAgICBwLnByZXYgPSBsYXN0O1xyXG4gICAgICAgIGxhc3QubmV4dC5wcmV2ID0gcDtcclxuICAgICAgICBsYXN0Lm5leHQgPSBwO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHA7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlbW92ZU5vZGUocCkge1xyXG4gICAgcC5uZXh0LnByZXYgPSBwLnByZXY7XHJcbiAgICBwLnByZXYubmV4dCA9IHAubmV4dDtcclxuXHJcbiAgICBpZiAocC5wcmV2WikgcC5wcmV2Wi5uZXh0WiA9IHAubmV4dFo7XHJcbiAgICBpZiAocC5uZXh0WikgcC5uZXh0Wi5wcmV2WiA9IHAucHJldlo7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIE5vZGUoaSwgeCwgeSkge1xyXG4gICAgLy8gdmVydGljZSBpbmRleCBpbiBjb29yZGluYXRlcyBhcnJheVxyXG4gICAgdGhpcy5pID0gaTtcclxuXHJcbiAgICAvLyB2ZXJ0ZXggY29vcmRpbmF0ZXNcclxuICAgIHRoaXMueCA9IHg7XHJcbiAgICB0aGlzLnkgPSB5O1xyXG5cclxuICAgIC8vIHByZXZpb3VzIGFuZCBuZXh0IHZlcnRpY2Ugbm9kZXMgaW4gYSBwb2x5Z29uIHJpbmdcclxuICAgIHRoaXMucHJldiA9IG51bGw7XHJcbiAgICB0aGlzLm5leHQgPSBudWxsO1xyXG5cclxuICAgIC8vIHotb3JkZXIgY3VydmUgdmFsdWVcclxuICAgIHRoaXMueiA9IG51bGw7XHJcblxyXG4gICAgLy8gcHJldmlvdXMgYW5kIG5leHQgbm9kZXMgaW4gei1vcmRlclxyXG4gICAgdGhpcy5wcmV2WiA9IG51bGw7XHJcbiAgICB0aGlzLm5leHRaID0gbnVsbDtcclxuXHJcbiAgICAvLyBpbmRpY2F0ZXMgd2hldGhlciB0aGlzIGlzIGEgc3RlaW5lciBwb2ludFxyXG4gICAgdGhpcy5zdGVpbmVyID0gZmFsc2U7XHJcbn1cclxuXHJcbi8vIHJldHVybiBhIHBlcmNlbnRhZ2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBwb2x5Z29uIGFyZWEgYW5kIGl0cyB0cmlhbmd1bGF0aW9uIGFyZWE7XHJcbi8vIHVzZWQgdG8gdmVyaWZ5IGNvcnJlY3RuZXNzIG9mIHRyaWFuZ3VsYXRpb25cclxuZWFyY3V0LmRldmlhdGlvbiA9IGZ1bmN0aW9uIChkYXRhLCBob2xlSW5kaWNlcywgZGltLCB0cmlhbmdsZXMpIHtcclxuICAgIHZhciBoYXNIb2xlcyA9IGhvbGVJbmRpY2VzICYmIGhvbGVJbmRpY2VzLmxlbmd0aDtcclxuICAgIHZhciBvdXRlckxlbiA9IGhhc0hvbGVzID8gaG9sZUluZGljZXNbMF0gKiBkaW0gOiBkYXRhLmxlbmd0aDtcclxuXHJcbiAgICB2YXIgcG9seWdvbkFyZWEgPSBNYXRoLmFicyhzaWduZWRBcmVhKGRhdGEsIDAsIG91dGVyTGVuLCBkaW0pKTtcclxuICAgIGlmIChoYXNIb2xlcykge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBob2xlSW5kaWNlcy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xyXG4gICAgICAgICAgICB2YXIgc3RhcnQgPSBob2xlSW5kaWNlc1tpXSAqIGRpbTtcclxuICAgICAgICAgICAgdmFyIGVuZCA9IGkgPCBsZW4gLSAxID8gaG9sZUluZGljZXNbaSArIDFdICogZGltIDogZGF0YS5sZW5ndGg7XHJcbiAgICAgICAgICAgIHBvbHlnb25BcmVhIC09IE1hdGguYWJzKHNpZ25lZEFyZWEoZGF0YSwgc3RhcnQsIGVuZCwgZGltKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhciB0cmlhbmdsZXNBcmVhID0gMDtcclxuICAgIGZvciAoaSA9IDA7IGkgPCB0cmlhbmdsZXMubGVuZ3RoOyBpICs9IDMpIHtcclxuICAgICAgICB2YXIgYSA9IHRyaWFuZ2xlc1tpXSAqIGRpbTtcclxuICAgICAgICB2YXIgYiA9IHRyaWFuZ2xlc1tpICsgMV0gKiBkaW07XHJcbiAgICAgICAgdmFyIGMgPSB0cmlhbmdsZXNbaSArIDJdICogZGltO1xyXG4gICAgICAgIHRyaWFuZ2xlc0FyZWEgKz0gTWF0aC5hYnMoXHJcbiAgICAgICAgICAgIChkYXRhW2FdIC0gZGF0YVtjXSkgKiAoZGF0YVtiICsgMV0gLSBkYXRhW2EgKyAxXSkgLVxyXG4gICAgICAgICAgICAoZGF0YVthXSAtIGRhdGFbYl0pICogKGRhdGFbYyArIDFdIC0gZGF0YVthICsgMV0pKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9seWdvbkFyZWEgPT09IDAgJiYgdHJpYW5nbGVzQXJlYSA9PT0gMCA/IDAgOlxyXG4gICAgICAgIE1hdGguYWJzKCh0cmlhbmdsZXNBcmVhIC0gcG9seWdvbkFyZWEpIC8gcG9seWdvbkFyZWEpO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gc2lnbmVkQXJlYShkYXRhLCBzdGFydCwgZW5kLCBkaW0pIHtcclxuICAgIHZhciBzdW0gPSAwO1xyXG4gICAgZm9yICh2YXIgaSA9IHN0YXJ0LCBqID0gZW5kIC0gZGltOyBpIDwgZW5kOyBpICs9IGRpbSkge1xyXG4gICAgICAgIHN1bSArPSAoZGF0YVtqXSAtIGRhdGFbaV0pICogKGRhdGFbaSArIDFdICsgZGF0YVtqICsgMV0pO1xyXG4gICAgICAgIGogPSBpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1bTtcclxufVxyXG5cclxuLy8gdHVybiBhIHBvbHlnb24gaW4gYSBtdWx0aS1kaW1lbnNpb25hbCBhcnJheSBmb3JtIChlLmcuIGFzIGluIEdlb0pTT04pIGludG8gYSBmb3JtIEVhcmN1dCBhY2NlcHRzXHJcbmVhcmN1dC5mbGF0dGVuID0gZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgIHZhciBkaW0gPSBkYXRhWzBdWzBdLmxlbmd0aCxcclxuICAgICAgICByZXN1bHQgPSB7dmVydGljZXM6IFtdLCBob2xlczogW10sIGRpbWVuc2lvbnM6IGRpbX0sXHJcbiAgICAgICAgaG9sZUluZGV4ID0gMDtcclxuXHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGRhdGFbaV0ubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgZm9yICh2YXIgZCA9IDA7IGQgPCBkaW07IGQrKykgcmVzdWx0LnZlcnRpY2VzLnB1c2goZGF0YVtpXVtqXVtkXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpID4gMCkge1xyXG4gICAgICAgICAgICBob2xlSW5kZXggKz0gZGF0YVtpIC0gMV0ubGVuZ3RoO1xyXG4gICAgICAgICAgICByZXN1bHQuaG9sZXMucHVzaChob2xlSW5kZXgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbn07XHJcbiJdfQ==
24378
+ ;
24379
+ /*global define*/
24380
+ define('Core/barycentricCoordinates',[
24381
+ './Cartesian2',
24382
+ './Cartesian3',
24383
+ './defined',
24384
+ './DeveloperError'
24385
+ ], function(
24386
+ Cartesian2,
24387
+ Cartesian3,
24388
+ defined,
24389
+ DeveloperError) {
24390
+ 'use strict';
24391
+
24392
+ var scratchCartesian1 = new Cartesian3();
24393
+ var scratchCartesian2 = new Cartesian3();
24394
+ var scratchCartesian3 = new Cartesian3();
24395
+
24396
+ /**
24397
+ * Computes the barycentric coordinates for a point with respect to a triangle.
24398
+ *
24399
+ * @exports barycentricCoordinates
24400
+ *
24401
+ * @param {Cartesian2|Cartesian3} point The point to test.
24402
+ * @param {Cartesian2|Cartesian3} p0 The first point of the triangle, corresponding to the barycentric x-axis.
24403
+ * @param {Cartesian2|Cartesian3} p1 The second point of the triangle, corresponding to the barycentric y-axis.
24404
+ * @param {Cartesian2|Cartesian3} p2 The third point of the triangle, corresponding to the barycentric z-axis.
24405
+ * @param {Cartesian3} [result] The object onto which to store the result.
24406
+ * @returns {Cartesian3} The modified result parameter or a new Cartesian3 instance if one was not provided.
24407
+ *
24408
+ * @example
24409
+ * // Returns Cartesian3.UNIT_X
24410
+ * var p = new Cesium.Cartesian3(-1.0, 0.0, 0.0);
24411
+ * var b = Cesium.barycentricCoordinates(p,
24412
+ * new Cesium.Cartesian3(-1.0, 0.0, 0.0),
24413
+ * new Cesium.Cartesian3( 1.0, 0.0, 0.0),
24414
+ * new Cesium.Cartesian3( 0.0, 1.0, 1.0));
24415
+ */
24416
+ function barycentricCoordinates(point, p0, p1, p2, result) {
24417
+ if (!defined(point) || !defined(p0) || !defined(p1) || !defined(p2)) {
24418
+ throw new DeveloperError('point, p0, p1, and p2 are required.');
24419
+ }
24420
+
24421
+
24422
+ if (!defined(result)) {
24423
+ result = new Cartesian3();
24424
+ }
24425
+
24426
+ // Implementation based on http://www.blackpawn.com/texts/pointinpoly/default.html.
24427
+ var v0, v1, v2;
24428
+ var dot00, dot01, dot02, dot11, dot12;
24429
+
24430
+ if(!defined(p0.z)) {
24431
+ v0 = Cartesian2.subtract(p1, p0, scratchCartesian1);
24432
+ v1 = Cartesian2.subtract(p2, p0, scratchCartesian2);
24433
+ v2 = Cartesian2.subtract(point, p0, scratchCartesian3);
24434
+
24435
+ dot00 = Cartesian2.dot(v0, v0);
24436
+ dot01 = Cartesian2.dot(v0, v1);
24437
+ dot02 = Cartesian2.dot(v0, v2);
24438
+ dot11 = Cartesian2.dot(v1, v1);
24439
+ dot12 = Cartesian2.dot(v1, v2);
24440
+ } else {
24441
+ v0 = Cartesian3.subtract(p1, p0, scratchCartesian1);
24442
+ v1 = Cartesian3.subtract(p2, p0, scratchCartesian2);
24443
+ v2 = Cartesian3.subtract(point, p0, scratchCartesian3);
24444
+
24445
+ dot00 = Cartesian3.dot(v0, v0);
24446
+ dot01 = Cartesian3.dot(v0, v1);
24447
+ dot02 = Cartesian3.dot(v0, v2);
24448
+ dot11 = Cartesian3.dot(v1, v1);
24449
+ dot12 = Cartesian3.dot(v1, v2);
24450
+ }
24451
+
24452
+ var q = 1.0 / (dot00 * dot11 - dot01 * dot01);
24453
+ result.y = (dot11 * dot02 - dot01 * dot12) * q;
24454
+ result.z = (dot00 * dot12 - dot01 * dot02) * q;
24455
+ result.x = 1.0 - result.y - result.z;
24456
+ return result;
24457
+ }
24458
+
24459
+ return barycentricCoordinates;
24460
+ });
24461
+
24462
+ /*global define*/
24463
+ define('Core/pointInsideTriangle',[
24464
+ './barycentricCoordinates',
24465
+ './Cartesian3'
24466
+ ], function(
24467
+ barycentricCoordinates,
24468
+ Cartesian3) {
24469
+ 'use strict';
24470
+
24471
+ var coords = new Cartesian3();
24472
+
24473
+ /**
24474
+ * Determines if a point is inside a triangle.
24475
+ *
24476
+ * @exports pointInsideTriangle
24477
+ *
24478
+ * @param {Cartesian2|Cartesian3} point The point to test.
24479
+ * @param {Cartesian2|Cartesian3} p0 The first point of the triangle.
24480
+ * @param {Cartesian2|Cartesian3} p1 The second point of the triangle.
24481
+ * @param {Cartesian2|Cartesian3} p2 The third point of the triangle.
24482
+ * @returns {Boolean} <code>true</code> if the point is inside the triangle; otherwise, <code>false</code>.
24483
+ *
24484
+ * @example
24485
+ * // Returns true
24486
+ * var p = new Cesium.Cartesian2(0.25, 0.25);
24487
+ * var b = Cesium.pointInsideTriangle(p,
24488
+ * new Cesium.Cartesian2(0.0, 0.0),
24489
+ * new Cesium.Cartesian2(1.0, 0.0),
24490
+ * new Cesium.Cartesian2(0.0, 1.0));
24491
+ */
24492
+ function pointInsideTriangle(point, p0, p1, p2) {
24493
+ barycentricCoordinates(point, p0, p1, p2, coords);
24494
+ return (coords.x > 0.0) && (coords.y > 0.0) && (coords.z > 0);
24495
+ }
24496
+
24497
+ return pointInsideTriangle;
24498
+ });
24499
+
24500
+ /*global define*/
24501
+ define('Core/Queue',[
24502
+ '../Core/defineProperties'
24503
+ ], function(
24504
+ defineProperties) {
24505
+ 'use strict';
24506
+
24507
+ /**
24508
+ * A queue that can enqueue items at the end, and dequeue items from the front.
24509
+ *
24510
+ * @alias Queue
24511
+ * @constructor
24512
+ */
24513
+ function Queue() {
24514
+ this._array = [];
24515
+ this._offset = 0;
24516
+ this._length = 0;
24517
+ }
24518
+
24519
+ defineProperties(Queue.prototype, {
24520
+ /**
24521
+ * The length of the queue.
24522
+ *
24523
+ * @memberof Queue.prototype
24524
+ *
24525
+ * @type {Number}
24526
+ * @readonly
24527
+ */
24528
+ length : {
24529
+ get : function() {
24530
+ return this._length;
24531
+ }
24532
+ }
24533
+ });
24534
+
24535
+ /**
24536
+ * Enqueues the specified item.
24537
+ *
24538
+ * @param {Object} item The item to enqueue.
24539
+ */
24540
+ Queue.prototype.enqueue = function(item) {
24541
+ this._array.push(item);
24542
+ this._length++;
24543
+ };
24544
+
24545
+ /**
24546
+ * Dequeues an item. Returns undefined if the queue is empty.
24547
+ *
24548
+ * @returns {Object} The the dequeued item.
24549
+ */
24550
+ Queue.prototype.dequeue = function() {
24551
+ if (this._length === 0) {
24552
+ return undefined;
24553
+ }
24554
+
24555
+ var array = this._array;
24556
+ var offset = this._offset;
24557
+ var item = array[offset];
24558
+ array[offset] = undefined;
24559
+
24560
+ offset++;
24561
+ if ((offset > 10) && (offset * 2 > array.length)) {
24562
+ //compact array
24563
+ this._array = array.slice(offset);
24564
+ offset = 0;
24565
+ }
24566
+
24567
+ this._offset = offset;
24568
+ this._length--;
24569
+
24570
+ return item;
24571
+ };
24572
+
24573
+ /**
24574
+ * Returns the item at the front of the queue. Returns undefined if the queue is empty.
24575
+ *
24576
+ * @returns {Object} The item at the front of the queue.
24577
+ */
24578
+ Queue.prototype.peek = function() {
24579
+ if (this._length === 0) {
24580
+ return undefined;
24581
+ }
24582
+
24583
+ return this._array[this._offset];
24584
+ };
24585
+
24586
+ /**
24587
+ * Check whether this queue contains the specified item.
24588
+ *
24589
+ * @param {Object} item The item to search for.
24590
+ */
24591
+ Queue.prototype.contains = function(item) {
24592
+ return this._array.indexOf(item) !== -1;
24593
+ };
24594
+
24595
+ /**
24596
+ * Remove all items from the queue.
24597
+ */
24598
+ Queue.prototype.clear = function() {
24599
+ this._array.length = this._offset = this._length = 0;
24600
+ };
24601
+
24602
+ /**
24603
+ * Sort the items in the queue in-place.
24604
+ *
24605
+ * @param {Queue~Comparator} compareFunction A function that defines the sort order.
24606
+ */
24607
+ Queue.prototype.sort = function(compareFunction) {
24608
+ if (this._offset > 0) {
24609
+ //compact array
24610
+ this._array = this._array.slice(this._offset);
24611
+ this._offset = 0;
24612
+ }
24613
+
24614
+ this._array.sort(compareFunction);
24615
+ };
24616
+
24617
+ /**
24618
+ * A function used to compare two items while sorting a queue.
24619
+ * @callback Queue~Comparator
24620
+ *
24621
+ * @param {Object} a An item in the array.
24622
+ * @param {Object} b An item in the array.
24623
+ * @returns {Number} Returns a negative value if <code>a</code> is less than <code>b</code>,
24624
+ * a positive value if <code>a</code> is greater than <code>b</code>, or
24625
+ * 0 if <code>a</code> is equal to <code>b</code>.
24626
+ *
24627
+ * @example
24628
+ * function compareNumbers(a, b) {
24629
+ * return a - b;
24630
+ * }
24631
+ */
24632
+
24633
+ return Queue;
24634
+ });
24635
+
24636
+ /*global define*/
24637
+ define('Core/WindingOrder',[
24638
+ '../Renderer/WebGLConstants',
24639
+ './freezeObject'
24640
+ ], function(
24641
+ WebGLConstants,
24642
+ freezeObject) {
24643
+ 'use strict';
24644
+
24645
+ /**
24646
+ * Winding order defines the order of vertices for a triangle to be considered front-facing.
24647
+ *
24648
+ * @exports WindingOrder
24649
+ */
24650
+ var WindingOrder = {
24651
+ /**
24652
+ * Vertices are in clockwise order.
24653
+ *
24654
+ * @type {Number}
24655
+ * @constant
24656
+ */
24657
+ CLOCKWISE : WebGLConstants.CW,
24658
+
24659
+ /**
24660
+ * Vertices are in counter-clockwise order.
24661
+ *
24662
+ * @type {Number}
24663
+ * @constant
24664
+ */
24665
+ COUNTER_CLOCKWISE : WebGLConstants.CCW,
24666
+
24667
+ /**
24668
+ * @private
24669
+ */
24670
+ validate : function(windingOrder) {
24671
+ return windingOrder === WindingOrder.CLOCKWISE ||
24672
+ windingOrder === WindingOrder.COUNTER_CLOCKWISE;
24673
+ }
24674
+ };
24675
+
24676
+ return freezeObject(WindingOrder);
24677
+ });
24678
+ /*global define*/
24679
+ define('Core/PolygonPipeline',[
24680
+ '../ThirdParty/earcut-2.1.1',
24681
+ './Cartesian2',
24682
+ './Cartesian3',
24683
+ './ComponentDatatype',
24684
+ './defaultValue',
24685
+ './defined',
24686
+ './DeveloperError',
24687
+ './Ellipsoid',
24688
+ './EllipsoidTangentPlane',
24689
+ './Geometry',
24690
+ './GeometryAttribute',
24691
+ './Math',
24692
+ './pointInsideTriangle',
24693
+ './PrimitiveType',
24694
+ './Queue',
24695
+ './WindingOrder'
24696
+ ], function(
24697
+ earcut,
24698
+ Cartesian2,
24699
+ Cartesian3,
24700
+ ComponentDatatype,
24701
+ defaultValue,
24702
+ defined,
24703
+ DeveloperError,
24704
+ Ellipsoid,
24705
+ EllipsoidTangentPlane,
24706
+ Geometry,
24707
+ GeometryAttribute,
24708
+ CesiumMath,
24709
+ pointInsideTriangle,
24710
+ PrimitiveType,
24711
+ Queue,
24712
+ WindingOrder) {
24713
+ 'use strict';
24714
+
24715
+ var scaleToGeodeticHeightN = new Cartesian3();
24716
+ var scaleToGeodeticHeightP = new Cartesian3();
24717
+
24718
+ /**
24719
+ * @private
24720
+ */
24721
+ var PolygonPipeline = {};
24722
+
24723
+ /**
24724
+ * @exception {DeveloperError} At least three positions are required.
24725
+ */
24726
+ PolygonPipeline.computeArea2D = function(positions) {
24727
+ if (!defined(positions)) {
24728
+ throw new DeveloperError('positions is required.');
24729
+ }
24730
+ if (positions.length < 3) {
24731
+ throw new DeveloperError('At least three positions are required.');
24732
+ }
24733
+
24734
+ var length = positions.length;
24735
+ var area = 0.0;
24736
+
24737
+ for ( var i0 = length - 1, i1 = 0; i1 < length; i0 = i1++) {
24738
+ var v0 = positions[i0];
24739
+ var v1 = positions[i1];
24740
+
24741
+ area += (v0.x * v1.y) - (v1.x * v0.y);
24742
+ }
24743
+
24744
+ return area * 0.5;
24745
+ };
24746
+
24747
+ /**
24748
+ * @returns {WindingOrder} The winding order.
24749
+ *
24750
+ * @exception {DeveloperError} At least three positions are required.
24751
+ */
24752
+ PolygonPipeline.computeWindingOrder2D = function(positions) {
24753
+ var area = PolygonPipeline.computeArea2D(positions);
24754
+ return (area > 0.0) ? WindingOrder.COUNTER_CLOCKWISE : WindingOrder.CLOCKWISE;
24755
+ };
24756
+
24757
+ /**
24758
+ * Triangulate a polygon.
24759
+ *
24760
+ * @param {Cartesian2[]} positions Cartesian2 array containing the vertices of the polygon
24761
+ * @param {Number[]} [holes] An array of the staring indices of the holes.
24762
+ * @returns {Number[]} Index array representing triangles that fill the polygon
24763
+ */
24764
+ PolygonPipeline.triangulate = function(positions, holes) {
24765
+ if (!defined(positions)) {
24766
+ throw new DeveloperError('positions is required.');
24767
+ }
24768
+
24769
+ var flattenedPositions = Cartesian2.packArray(positions);
24770
+ return earcut(flattenedPositions, holes, 2);
24771
+ };
24772
+
24773
+ var subdivisionV0Scratch = new Cartesian3();
24774
+ var subdivisionV1Scratch = new Cartesian3();
24775
+ var subdivisionV2Scratch = new Cartesian3();
24776
+ var subdivisionS0Scratch = new Cartesian3();
24777
+ var subdivisionS1Scratch = new Cartesian3();
24778
+ var subdivisionS2Scratch = new Cartesian3();
24779
+ var subdivisionMidScratch = new Cartesian3();
24780
+
24781
+ /**
24782
+ * Subdivides positions and raises points to the surface of the ellipsoid.
24783
+ *
24784
+ * @param {Ellipsoid} ellipsoid The ellipsoid the polygon in on.
24785
+ * @param {Cartesian3[]} positions An array of {@link Cartesian3} positions of the polygon.
24786
+ * @param {Number[]} indices An array of indices that determines the triangles in the polygon.
24787
+ * @param {Number} [granularity=CesiumMath.RADIANS_PER_DEGREE] The distance, in radians, between each latitude and longitude. Determines the number of positions in the buffer.
24788
+ *
24789
+ * @exception {DeveloperError} At least three indices are required.
24790
+ * @exception {DeveloperError} The number of indices must be divisable by three.
24791
+ * @exception {DeveloperError} Granularity must be greater than zero.
24792
+ */
24793
+ PolygonPipeline.computeSubdivision = function(ellipsoid, positions, indices, granularity) {
24794
+ granularity = defaultValue(granularity, CesiumMath.RADIANS_PER_DEGREE);
24795
+
24796
+ if (!defined(ellipsoid)) {
24797
+ throw new DeveloperError('ellipsoid is required.');
24798
+ }
24799
+ if (!defined(positions)) {
24800
+ throw new DeveloperError('positions is required.');
24801
+ }
24802
+ if (!defined(indices)) {
24803
+ throw new DeveloperError('indices is required.');
24804
+ }
24805
+ if (indices.length < 3) {
24806
+ throw new DeveloperError('At least three indices are required.');
24807
+ }
24808
+ if (indices.length % 3 !== 0) {
24809
+ throw new DeveloperError('The number of indices must be divisable by three.');
24810
+ }
24811
+ if (granularity <= 0.0) {
24812
+ throw new DeveloperError('granularity must be greater than zero.');
24813
+ }
24814
+
24815
+ // triangles that need (or might need) to be subdivided.
24816
+ var triangles = indices.slice(0);
24817
+
24818
+ // New positions due to edge splits are appended to the positions list.
24819
+ var i;
24820
+ var length = positions.length;
24821
+ var subdividedPositions = new Array(length * 3);
24822
+ var q = 0;
24823
+ for (i = 0; i < length; i++) {
24824
+ var item = positions[i];
24825
+ subdividedPositions[q++] = item.x;
24826
+ subdividedPositions[q++] = item.y;
24827
+ subdividedPositions[q++] = item.z;
24828
+ }
24829
+
24830
+ var subdividedIndices = [];
24831
+
24832
+ // Used to make sure shared edges are not split more than once.
24833
+ var edges = {};
24834
+
24835
+ var radius = ellipsoid.maximumRadius;
24836
+ var minDistance = CesiumMath.chordLength(granularity, radius);
24837
+ var minDistanceSqrd = minDistance * minDistance;
24838
+
24839
+ while (triangles.length > 0) {
24840
+ var i2 = triangles.pop();
24841
+ var i1 = triangles.pop();
24842
+ var i0 = triangles.pop();
24843
+
24844
+ var v0 = Cartesian3.fromArray(subdividedPositions, i0 * 3, subdivisionV0Scratch);
24845
+ var v1 = Cartesian3.fromArray(subdividedPositions, i1 * 3, subdivisionV1Scratch);
24846
+ var v2 = Cartesian3.fromArray(subdividedPositions, i2 * 3, subdivisionV2Scratch);
24847
+
24848
+ var s0 = Cartesian3.multiplyByScalar(Cartesian3.normalize(v0, subdivisionS0Scratch), radius, subdivisionS0Scratch);
24849
+ var s1 = Cartesian3.multiplyByScalar(Cartesian3.normalize(v1, subdivisionS1Scratch), radius, subdivisionS1Scratch);
24850
+ var s2 = Cartesian3.multiplyByScalar(Cartesian3.normalize(v2, subdivisionS2Scratch), radius, subdivisionS2Scratch);
24851
+
24852
+ var g0 = Cartesian3.magnitudeSquared(Cartesian3.subtract(s0, s1, subdivisionMidScratch));
24853
+ var g1 = Cartesian3.magnitudeSquared(Cartesian3.subtract(s1, s2, subdivisionMidScratch));
24854
+ var g2 = Cartesian3.magnitudeSquared(Cartesian3.subtract(s2, s0, subdivisionMidScratch));
24855
+
24856
+ var max = Math.max(g0, g1, g2);
24857
+ var edge;
24858
+ var mid;
24859
+
24860
+ // if the max length squared of a triangle edge is greater than the chord length of squared
24861
+ // of the granularity, subdivide the triangle
24862
+ if (max > minDistanceSqrd) {
24863
+ if (g0 === max) {
24864
+ edge = Math.min(i0, i1) + ' ' + Math.max(i0, i1);
24865
+
24866
+ i = edges[edge];
24867
+ if (!defined(i)) {
24868
+ mid = Cartesian3.add(v0, v1, subdivisionMidScratch);
24869
+ Cartesian3.multiplyByScalar(mid, 0.5, mid);
24870
+ subdividedPositions.push(mid.x, mid.y, mid.z);
24871
+ i = subdividedPositions.length / 3 - 1;
24872
+ edges[edge] = i;
24873
+ }
24874
+
24875
+ triangles.push(i0, i, i2);
24876
+ triangles.push(i, i1, i2);
24877
+ } else if (g1 === max) {
24878
+ edge = Math.min(i1, i2) + ' ' + Math.max(i1, i2);
24879
+
24880
+ i = edges[edge];
24881
+ if (!defined(i)) {
24882
+ mid = Cartesian3.add(v1, v2, subdivisionMidScratch);
24883
+ Cartesian3.multiplyByScalar(mid, 0.5, mid);
24884
+ subdividedPositions.push(mid.x, mid.y, mid.z);
24885
+ i = subdividedPositions.length / 3 - 1;
24886
+ edges[edge] = i;
24887
+ }
24888
+
24889
+ triangles.push(i1, i, i0);
24890
+ triangles.push(i, i2, i0);
24891
+ } else if (g2 === max) {
24892
+ edge = Math.min(i2, i0) + ' ' + Math.max(i2, i0);
24893
+
24894
+ i = edges[edge];
24895
+ if (!defined(i)) {
24896
+ mid = Cartesian3.add(v2, v0, subdivisionMidScratch);
24897
+ Cartesian3.multiplyByScalar(mid, 0.5, mid);
24898
+ subdividedPositions.push(mid.x, mid.y, mid.z);
24899
+ i = subdividedPositions.length / 3 - 1;
24900
+ edges[edge] = i;
24901
+ }
24902
+
24903
+ triangles.push(i2, i, i1);
24904
+ triangles.push(i, i0, i1);
24905
+ }
24906
+ } else {
24907
+ subdividedIndices.push(i0);
24908
+ subdividedIndices.push(i1);
24909
+ subdividedIndices.push(i2);
24910
+ }
24911
+ }
24912
+
24913
+ return new Geometry({
24914
+ attributes : {
24915
+ position : new GeometryAttribute({
24916
+ componentDatatype : ComponentDatatype.DOUBLE,
24917
+ componentsPerAttribute : 3,
24918
+ values : subdividedPositions
24919
+ })
24920
+ },
24921
+ indices : subdividedIndices,
24922
+ primitiveType : PrimitiveType.TRIANGLES
24923
+ });
24924
+ };
24925
+
24926
+ /**
24927
+ * Scales each position of a geometry's position attribute to a height, in place.
24928
+ *
24929
+ * @param {Number[]} positions The array of numbers representing the positions to be scaled
24930
+ * @param {Number} [height=0.0] The desired height to add to the positions
24931
+ * @param {Ellipsoid} [ellipsoid=Ellipsoid.WGS84] The ellipsoid on which the positions lie.
24932
+ * @param {Boolean} [scaleToSurface=true] <code>true</code> if the positions need to be scaled to the surface before the height is added.
24933
+ * @returns {Number[]} The input array of positions, scaled to height
24934
+ */
24935
+ PolygonPipeline.scaleToGeodeticHeight = function(positions, height, ellipsoid, scaleToSurface) {
24936
+ ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
24937
+
24938
+ var n = scaleToGeodeticHeightN;
24939
+ var p = scaleToGeodeticHeightP;
24940
+
24941
+ height = defaultValue(height, 0.0);
24942
+ scaleToSurface = defaultValue(scaleToSurface, true);
24943
+
24944
+ if (defined(positions)) {
24945
+ var length = positions.length;
24946
+
24947
+ for ( var i = 0; i < length; i += 3) {
24948
+ Cartesian3.fromArray(positions, i, p);
24949
+
24950
+ if (scaleToSurface) {
24951
+ p = ellipsoid.scaleToGeodeticSurface(p, p);
24952
+ }
24953
+
24954
+ if (height !== 0) {
24955
+ n = ellipsoid.geodeticSurfaceNormal(p, n);
24956
+
24957
+ Cartesian3.multiplyByScalar(n, height, n);
24958
+ Cartesian3.add(p, n, p);
24959
+ }
24960
+
24961
+ positions[i] = p.x;
24962
+ positions[i + 1] = p.y;
24963
+ positions[i + 2] = p.z;
24964
+ }
24965
+ }
24966
+
24967
+ return positions;
24968
+ };
24969
+
24970
+ return PolygonPipeline;
24971
+ });
24972
+
24973
+ /*global define*/
24974
+ define('Core/VertexFormat',[
24975
+ './defaultValue',
24976
+ './defined',
24977
+ './DeveloperError',
24978
+ './freezeObject'
24979
+ ], function(
24980
+ defaultValue,
24981
+ defined,
24982
+ DeveloperError,
24983
+ freezeObject) {
24984
+ 'use strict';
24985
+
24986
+ /**
24987
+ * A vertex format defines what attributes make up a vertex. A VertexFormat can be provided
23135
24988
  * to a {@link Geometry} to request that certain properties be computed, e.g., just position,
23136
24989
  * position and normal, etc.
23137
24990
  *
@@ -23422,13 +25275,16 @@ define('Core/VertexFormat',[
23422
25275
 
23423
25276
  /*global define*/
23424
25277
  define('Core/CorridorGeometry',[
25278
+ './arrayRemoveDuplicates',
23425
25279
  './BoundingSphere',
23426
25280
  './Cartesian3',
25281
+ './Cartographic',
23427
25282
  './ComponentDatatype',
23428
25283
  './CornerType',
23429
25284
  './CorridorGeometryLibrary',
23430
25285
  './defaultValue',
23431
25286
  './defined',
25287
+ './defineProperties',
23432
25288
  './DeveloperError',
23433
25289
  './Ellipsoid',
23434
25290
  './Geometry',
@@ -23436,17 +25292,21 @@ define('Core/CorridorGeometry',[
23436
25292
  './GeometryAttributes',
23437
25293
  './IndexDatatype',
23438
25294
  './Math',
23439
- './PolylinePipeline',
25295
+ './PolygonPipeline',
23440
25296
  './PrimitiveType',
25297
+ './Rectangle',
23441
25298
  './VertexFormat'
23442
25299
  ], function(
25300
+ arrayRemoveDuplicates,
23443
25301
  BoundingSphere,
23444
25302
  Cartesian3,
25303
+ Cartographic,
23445
25304
  ComponentDatatype,
23446
25305
  CornerType,
23447
25306
  CorridorGeometryLibrary,
23448
25307
  defaultValue,
23449
25308
  defined,
25309
+ defineProperties,
23450
25310
  DeveloperError,
23451
25311
  Ellipsoid,
23452
25312
  Geometry,
@@ -23454,10 +25314,11 @@ define('Core/CorridorGeometry',[
23454
25314
  GeometryAttributes,
23455
25315
  IndexDatatype,
23456
25316
  CesiumMath,
23457
- PolylinePipeline,
25317
+ PolygonPipeline,
23458
25318
  PrimitiveType,
25319
+ Rectangle,
23459
25320
  VertexFormat) {
23460
- "use strict";
25321
+ 'use strict';
23461
25322
 
23462
25323
  var cartesian1 = new Cartesian3();
23463
25324
  var cartesian2 = new Cartesian3();
@@ -23995,9 +25856,9 @@ define('Core/CorridorGeometry',[
23995
25856
  extrudedPositions.set(positions);
23996
25857
  var wallPositions = new Float64Array(length * 4);
23997
25858
 
23998
- positions = CorridorGeometryLibrary.scaleToGeodeticHeight(positions, height, ellipsoid, positions);
25859
+ positions = PolygonPipeline.scaleToGeodeticHeight(positions, height, ellipsoid);
23999
25860
  wallPositions = addWallPositions(positions, 0, wallPositions);
24000
- extrudedPositions = CorridorGeometryLibrary.scaleToGeodeticHeight(extrudedPositions, extrudedHeight, ellipsoid, extrudedPositions);
25861
+ extrudedPositions = PolygonPipeline.scaleToGeodeticHeight(extrudedPositions, extrudedHeight, ellipsoid);
24001
25862
  wallPositions = addWallPositions(extrudedPositions, length * 2, wallPositions);
24002
25863
  newPositions.set(positions);
24003
25864
  newPositions.set(extrudedPositions, length);
@@ -24042,6 +25903,120 @@ define('Core/CorridorGeometry',[
24042
25903
  };
24043
25904
  }
24044
25905
 
25906
+ var scratchCartesian1 = new Cartesian3();
25907
+ var scratchCartesian2 = new Cartesian3();
25908
+ var scratchCartographic = new Cartographic();
25909
+
25910
+ function computeOffsetPoints(position1, position2, ellipsoid, halfWidth, min, max) {
25911
+ // Compute direction of offset the point
25912
+ var direction = Cartesian3.subtract(position2, position1, scratchCartesian1);
25913
+ Cartesian3.normalize(direction, direction);
25914
+ var normal = ellipsoid.geodeticSurfaceNormal(position1, scratchCartesian2);
25915
+ var offsetDirection = Cartesian3.cross(direction, normal, scratchCartesian1);
25916
+ Cartesian3.multiplyByScalar(offsetDirection, halfWidth, offsetDirection);
25917
+
25918
+ var minLat = min.latitude;
25919
+ var minLon = min.longitude;
25920
+ var maxLat = max.latitude;
25921
+ var maxLon = max.longitude;
25922
+
25923
+ // Compute 2 offset points
25924
+ Cartesian3.add(position1, offsetDirection, scratchCartesian2);
25925
+ ellipsoid.cartesianToCartographic(scratchCartesian2, scratchCartographic);
25926
+
25927
+ var lat = scratchCartographic.latitude;
25928
+ var lon = scratchCartographic.longitude;
25929
+ minLat = Math.min(minLat, lat);
25930
+ minLon = Math.min(minLon, lon);
25931
+ maxLat = Math.max(maxLat, lat);
25932
+ maxLon = Math.max(maxLon, lon);
25933
+
25934
+ Cartesian3.subtract(position1, offsetDirection, scratchCartesian2);
25935
+ ellipsoid.cartesianToCartographic(scratchCartesian2, scratchCartographic);
25936
+
25937
+ lat = scratchCartographic.latitude;
25938
+ lon = scratchCartographic.longitude;
25939
+ minLat = Math.min(minLat, lat);
25940
+ minLon = Math.min(minLon, lon);
25941
+ maxLat = Math.max(maxLat, lat);
25942
+ maxLon = Math.max(maxLon, lon);
25943
+
25944
+ min.latitude = minLat;
25945
+ min.longitude = minLon;
25946
+ max.latitude = maxLat;
25947
+ max.longitude = maxLon;
25948
+ }
25949
+
25950
+ var scratchCartesianOffset = new Cartesian3();
25951
+ var scratchCartesianEnds = new Cartesian3();
25952
+ var scratchCartographicMin = new Cartographic();
25953
+ var scratchCartographicMax = new Cartographic();
25954
+
25955
+ function computeRectangle(positions, ellipsoid, width, cornerType) {
25956
+ var length = positions.length - 1;
25957
+ if (length === 0) {
25958
+ return new Rectangle();
25959
+ }
25960
+ var halfWidth = width * 0.5;
25961
+
25962
+ scratchCartographicMin.latitude = Number.POSITIVE_INFINITY;
25963
+ scratchCartographicMin.longitude = Number.POSITIVE_INFINITY;
25964
+ scratchCartographicMax.latitude = Number.NEGATIVE_INFINITY;
25965
+ scratchCartographicMax.longitude = Number.NEGATIVE_INFINITY;
25966
+
25967
+ var lat, lon;
25968
+ if (cornerType === CornerType.ROUNDED) {
25969
+ // Compute start cap
25970
+ var first = positions[0];
25971
+ Cartesian3.subtract(first, positions[1], scratchCartesianOffset);
25972
+ Cartesian3.normalize(scratchCartesianOffset, scratchCartesianOffset);
25973
+ Cartesian3.multiplyByScalar(scratchCartesianOffset, halfWidth, scratchCartesianOffset);
25974
+ Cartesian3.add(first, scratchCartesianOffset, scratchCartesianEnds);
25975
+
25976
+ ellipsoid.cartesianToCartographic(scratchCartesianEnds, scratchCartographic);
25977
+ lat = scratchCartographic.latitude;
25978
+ lon = scratchCartographic.longitude;
25979
+ scratchCartographicMin.latitude = Math.min(scratchCartographicMin.latitude, lat);
25980
+ scratchCartographicMin.longitude = Math.min(scratchCartographicMin.longitude, lon);
25981
+ scratchCartographicMax.latitude = Math.max(scratchCartographicMax.latitude, lat);
25982
+ scratchCartographicMax.longitude = Math.max(scratchCartographicMax.longitude, lon);
25983
+ }
25984
+
25985
+ // Compute the rest
25986
+ for (var i = 0; i < length; ++i) {
25987
+ computeOffsetPoints(positions[i], positions[i+1], ellipsoid, halfWidth,
25988
+ scratchCartographicMin, scratchCartographicMax);
25989
+ }
25990
+
25991
+ // Compute ending point
25992
+ var last = positions[length];
25993
+ Cartesian3.subtract(last, positions[length-1], scratchCartesianOffset);
25994
+ Cartesian3.normalize(scratchCartesianOffset, scratchCartesianOffset);
25995
+ Cartesian3.multiplyByScalar(scratchCartesianOffset, halfWidth, scratchCartesianOffset);
25996
+ Cartesian3.add(last, scratchCartesianOffset, scratchCartesianEnds);
25997
+ computeOffsetPoints(last, scratchCartesianEnds, ellipsoid, halfWidth,
25998
+ scratchCartographicMin, scratchCartographicMax);
25999
+
26000
+ if (cornerType === CornerType.ROUNDED) {
26001
+ // Compute end cap
26002
+ ellipsoid.cartesianToCartographic(scratchCartesianEnds, scratchCartographic);
26003
+ lat = scratchCartographic.latitude;
26004
+ lon = scratchCartographic.longitude;
26005
+ scratchCartographicMin.latitude = Math.min(scratchCartographicMin.latitude, lat);
26006
+ scratchCartographicMin.longitude = Math.min(scratchCartographicMin.longitude, lon);
26007
+ scratchCartographicMax.latitude = Math.max(scratchCartographicMax.latitude, lat);
26008
+ scratchCartographicMax.longitude = Math.max(scratchCartographicMax.longitude, lon);
26009
+ }
26010
+
26011
+ var rectangle = new Rectangle();
26012
+ rectangle.north = scratchCartographicMax.latitude;
26013
+ rectangle.south = scratchCartographicMin.latitude;
26014
+ rectangle.east = scratchCartographicMax.longitude;
26015
+ rectangle.west = scratchCartographicMin.longitude;
26016
+
26017
+ return rectangle;
26018
+ }
26019
+
24045
26020
  /**
24046
26021
  * A description of a corridor. Corridor geometry can be rendered with both {@link Primitive} and {@link GroundPrimitive}.
24047
26022
  *
@@ -24091,12 +26066,13 @@ define('Core/CorridorGeometry',[
24091
26066
  this._cornerType = defaultValue(options.cornerType, CornerType.ROUNDED);
24092
26067
  this._granularity = defaultValue(options.granularity, CesiumMath.RADIANS_PER_DEGREE);
24093
26068
  this._workerName = 'createCorridorGeometry';
26069
+ this._rectangle = computeRectangle(positions, this._ellipsoid, width, this._cornerType);
24094
26070
 
24095
26071
  /**
24096
26072
  * The number of elements used to pack the object into an array.
24097
26073
  * @type {Number}
24098
26074
  */
24099
- this.packedLength = 1 + positions.length * Cartesian3.packedLength + Ellipsoid.packedLength + VertexFormat.packedLength + 5;
26075
+ this.packedLength = 1 + positions.length * Cartesian3.packedLength + Ellipsoid.packedLength + VertexFormat.packedLength + Rectangle.packedLength + 5;
24100
26076
  }
24101
26077
 
24102
26078
  /**
@@ -24130,6 +26106,9 @@ define('Core/CorridorGeometry',[
24130
26106
  VertexFormat.pack(value._vertexFormat, array, startingIndex);
24131
26107
  startingIndex += VertexFormat.packedLength;
24132
26108
 
26109
+ Rectangle.pack(value._rectangle, array, startingIndex);
26110
+ startingIndex += Rectangle.packedLength;
26111
+
24133
26112
  array[startingIndex++] = value._width;
24134
26113
  array[startingIndex++] = value._height;
24135
26114
  array[startingIndex++] = value._extrudedHeight;
@@ -24139,6 +26118,7 @@ define('Core/CorridorGeometry',[
24139
26118
 
24140
26119
  var scratchEllipsoid = Ellipsoid.clone(Ellipsoid.UNIT_SPHERE);
24141
26120
  var scratchVertexFormat = new VertexFormat();
26121
+ var scratchRectangle = new Rectangle();
24142
26122
  var scratchOptions = {
24143
26123
  positions : undefined,
24144
26124
  ellipsoid : scratchEllipsoid,
@@ -24178,6 +26158,9 @@ define('Core/CorridorGeometry',[
24178
26158
  var vertexFormat = VertexFormat.unpack(array, startingIndex, scratchVertexFormat);
24179
26159
  startingIndex += VertexFormat.packedLength;
24180
26160
 
26161
+ var rectangle = Rectangle.unpack(array, startingIndex, scratchRectangle);
26162
+ startingIndex += Rectangle.packedLength;
26163
+
24181
26164
  var width = array[startingIndex++];
24182
26165
  var height = array[startingIndex++];
24183
26166
  var extrudedHeight = array[startingIndex++];
@@ -24202,6 +26185,7 @@ define('Core/CorridorGeometry',[
24202
26185
  result._extrudedHeight = extrudedHeight;
24203
26186
  result._cornerType = cornerType;
24204
26187
  result._granularity = granularity;
26188
+ result._rectangle = Rectangle.clone(rectangle);
24205
26189
 
24206
26190
  return result;
24207
26191
  };
@@ -24215,13 +26199,14 @@ define('Core/CorridorGeometry',[
24215
26199
  CorridorGeometry.createGeometry = function(corridorGeometry) {
24216
26200
  var positions = corridorGeometry._positions;
24217
26201
  var height = corridorGeometry._height;
26202
+ var width = corridorGeometry._width;
24218
26203
  var extrudedHeight = corridorGeometry._extrudedHeight;
24219
26204
  var extrude = (height !== extrudedHeight);
24220
26205
 
24221
- var cleanPositions = PolylinePipeline.removeDuplicates(positions);
26206
+ var cleanPositions = arrayRemoveDuplicates(positions, Cartesian3.equalsEpsilon);
24222
26207
 
24223
- if (cleanPositions.length < 2) {
24224
- return undefined;
26208
+ if ((cleanPositions.length < 2) || (width <= 0)) {
26209
+ return;
24225
26210
  }
24226
26211
 
24227
26212
  var ellipsoid = corridorGeometry._ellipsoid;
@@ -24229,7 +26214,7 @@ define('Core/CorridorGeometry',[
24229
26214
  var params = {
24230
26215
  ellipsoid : ellipsoid,
24231
26216
  positions : cleanPositions,
24232
- width : corridorGeometry._width,
26217
+ width : width,
24233
26218
  cornerType : corridorGeometry._cornerType,
24234
26219
  granularity : corridorGeometry._granularity,
24235
26220
  saveAttributes: true
@@ -24245,7 +26230,7 @@ define('Core/CorridorGeometry',[
24245
26230
  } else {
24246
26231
  var computedPositions = CorridorGeometryLibrary.computePositions(params);
24247
26232
  attr = combine(computedPositions, vertexFormat, ellipsoid);
24248
- attr.attributes.position.values = CorridorGeometryLibrary.scaleToGeodeticHeight(attr.attributes.position.values, height, ellipsoid, attr.attributes.position.values);
26233
+ attr.attributes.position.values = PolygonPipeline.scaleToGeodeticHeight(attr.attributes.position.values, height, ellipsoid);
24249
26234
  }
24250
26235
  var attributes = attr.attributes;
24251
26236
  var boundingSphere = BoundingSphere.fromVertices(attributes.position.values, undefined, 3);
@@ -24283,6 +26268,17 @@ define('Core/CorridorGeometry',[
24283
26268
  });
24284
26269
  };
24285
26270
 
26271
+ defineProperties(CorridorGeometry.prototype, {
26272
+ /**
26273
+ * @private
26274
+ */
26275
+ rectangle : {
26276
+ get : function() {
26277
+ return this._rectangle;
26278
+ }
26279
+ }
26280
+ });
26281
+
24286
26282
  return CorridorGeometry;
24287
26283
  });
24288
26284
 
@@ -24295,7 +26291,7 @@ define('Workers/createCorridorGeometry',[
24295
26291
  CorridorGeometry,
24296
26292
  defined,
24297
26293
  Ellipsoid) {
24298
- "use strict";
26294
+ 'use strict';
24299
26295
 
24300
26296
  function createCorridorGeometry(corridorGeometry, offset) {
24301
26297
  if (defined(offset)) {