WooCommerce Gutenberg Products Block - Version 2.5.0

Version Description

  • 2019-11-19 =

  • Feature: Introduce an All Products block, a new block listing products using client side rendering. Requires WordPress 5.3.

  • Feature: Introduce a Filter Products by Price block. Allow customers to filter the All Products block by price. Requires WordPress 5.3.

  • Feature: Introduce a Filter Products by Attribute block which works alongside the new "All products" block. Requires WordPress 5.3.

  • Feature: Introduce an Active Filters block that lists all currently used filters. Requires WordPress 5.3.

  • Show a friendly error message in the frontend if blocks throw a JS error.

  • Show a message in the editor if no products are found rather than show nothing.

  • Show previews for all included blocks in the block inserter. Requires WordPress 5.3.

  • Products on Sale, Products Tag and Product Search blocks have new icons.

  • Officialy deprecate NPM package @woocommerce/block-library.

  • Use Server Side Rendering for Product Category List block to remove the need to pass large amounts of data around when not needed.

  • RTL fixes to several blocks.

  • All block icons are displayed gray in the editor shortcuts inserter.

  • Make it easier for themes to style the Product Categories List block: new class names allow writing simpler selectors and it's now possible to remove the parentheses around the count number.

Download this release

Release Info

Developer assassinateur
Plugin Icon 128x128 WooCommerce Gutenberg Products Block
Version 2.5.0
Comparing to
See all releases

Code changes from version 2.4.4 to 2.5.0

Files changed (445) hide show
  1. assets/css/abstracts/_mixins.scss +5 -3
  2. assets/css/editor.scss +5 -15
  3. assets/css/style.scss +1 -206
  4. assets/img/block-error.svg +2727 -0
  5. assets/img/grid.svg +50 -0
  6. assets/img/no-matching-products.svg +1 -0
  7. assets/img/no-products.svg +1 -0
  8. assets/js/atomic/blocks/product/button/index.js +39 -0
  9. assets/js/atomic/blocks/product/image/index.js +145 -0
  10. assets/js/atomic/blocks/product/index.js +7 -0
  11. assets/js/atomic/blocks/product/price/index.js +34 -0
  12. assets/js/atomic/blocks/product/rating/index.js +34 -0
  13. assets/js/atomic/blocks/product/sale-badge/index.js +37 -0
  14. assets/js/atomic/blocks/product/summary/index.js +34 -0
  15. assets/js/atomic/blocks/product/title/index.js +98 -0
  16. assets/js/atomic/components/product/button/index.js +162 -0
  17. assets/js/atomic/components/product/image/index.js +105 -0
  18. assets/js/atomic/components/product/index.js +7 -0
  19. assets/js/atomic/components/product/price/index.js +75 -0
  20. assets/js/atomic/components/product/rating/index.js +51 -0
  21. assets/js/atomic/components/product/sale-badge/index.js +32 -0
  22. assets/js/atomic/components/product/summary/index.js +32 -0
  23. assets/js/atomic/components/product/title/index.js +47 -0
  24. assets/js/base/components/block-error-boundary/block-error.js +64 -0
  25. assets/js/base/components/block-error-boundary/index.js +68 -0
  26. assets/js/base/components/block-error-boundary/style.scss +30 -0
  27. assets/js/base/components/checkbox-list/index.js +166 -0
  28. assets/js/base/components/checkbox-list/style.scss +29 -0
  29. assets/js/base/components/label/index.js +13 -15
  30. assets/js/base/components/label/test/__snapshots__/index.js.snap +2 -2
  31. assets/js/base/components/label/test/index.js +1 -3
  32. assets/js/base/components/load-more-button/index.js +2 -5
  33. assets/js/base/components/pagination/index.js +191 -0
  34. assets/js/base/components/pagination/style.scss +44 -0
  35. assets/js/base/components/pagination/test/index.js +40 -0
  36. assets/js/base/components/pagination/utils.js +34 -0
  37. assets/js/base/components/price-slider/index.js +370 -0
  38. assets/js/base/components/price-slider/price-input.js +70 -0
  39. assets/js/base/components/price-slider/price-label.js +34 -0
  40. assets/js/base/components/price-slider/style.scss +281 -0
  41. assets/js/base/components/price-slider/submit-button.js +36 -0
  42. assets/js/base/components/price-slider/utils.js +40 -0
  43. assets/js/base/components/product-list-item/index.js +43 -0
  44. assets/js/base/components/product-list-item/utils.js +56 -0
  45. assets/js/base/components/product-list/container.js +59 -0
  46. assets/js/base/components/product-list/index.js +203 -0
  47. assets/js/base/components/product-list/no-matching-products.js +37 -0
  48. assets/js/base/components/product-list/no-products.js +34 -0
  49. assets/js/base/components/product-list/style.scss +371 -0
  50. assets/js/base/components/product-sort-select/index.js +89 -0
  51. assets/js/base/components/product-sort-select/style.scss +4 -0
  52. assets/js/base/components/read-more/index.js +17 -11
  53. assets/js/base/components/read-more/test/index.js +6 -2
  54. assets/js/base/components/read-more/utils.js +16 -5
  55. assets/js/base/components/review-list-item/index.js +106 -24
  56. assets/js/base/components/review-list/index.js +21 -13
  57. assets/js/base/components/review-order-select/index.js +0 -39
  58. assets/js/base/components/review-order-select/style.scss +0 -3
  59. assets/js/base/components/review-sort-select/index.js +65 -0
  60. assets/js/base/components/review-sort-select/style.scss +3 -0
  61. assets/js/base/components/{order-select → sort-select}/index.js +26 -14
  62. assets/js/base/components/{order-select → sort-select}/style.scss +2 -2
  63. assets/js/base/context/inner-block-configuration-context.js +42 -0
  64. assets/js/base/context/product-layout-context.js +42 -0
  65. assets/js/base/context/query-state-context.js +19 -0
  66. assets/js/base/context/test/utils.js +42 -0
  67. assets/js/base/context/utils.js +61 -0
  68. assets/js/base/hocs/test/with-component-id.js +36 -0
  69. assets/js/base/hocs/test/with-products.js +140 -0
  70. assets/js/base/hocs/test/with-query-string-values.js +123 -0
  71. assets/js/base/hocs/test/with-reviews.js +60 -27
  72. assets/js/base/hocs/utils.js +28 -0
  73. assets/js/base/hocs/with-component-id.js +17 -21
  74. assets/js/base/hocs/with-products.js +110 -0
  75. assets/js/base/hocs/with-query-string-values.js +97 -0
  76. assets/js/base/hocs/with-reviews.js +95 -67
  77. assets/js/base/hocs/with-scroll-to-top/index.js +75 -0
  78. assets/js/base/hocs/with-scroll-to-top/style.scss +4 -0
  79. assets/js/base/hocs/with-scroll-to-top/test/index.js +81 -0
  80. assets/js/base/hooks/index.js +6 -0
  81. assets/js/base/hooks/test/use-collection.js +297 -0
  82. assets/js/base/hooks/test/use-previous.js +89 -0
  83. assets/js/base/hooks/test/use-query-state.js +257 -0
  84. assets/js/base/hooks/test/use-shallow-equal.js +54 -0
  85. assets/js/base/hooks/test/use-store-products.js +109 -0
  86. assets/js/base/hooks/use-collection-header.js +90 -0
  87. assets/js/base/hooks/use-collection.js +95 -0
  88. assets/js/base/hooks/use-previous.js +25 -0
  89. assets/js/base/hooks/use-query-state.js +127 -0
  90. assets/js/base/hooks/use-shallow-equal.js +25 -0
  91. assets/js/base/hooks/use-store-products.js +44 -0
  92. assets/js/base/utils/errors.js +30 -0
  93. assets/js/base/utils/index.js +2 -0
  94. assets/js/base/utils/price.js +33 -0
  95. assets/js/base/utils/test/errors.js +42 -0
  96. assets/js/blocks-registry/get-registered-inner-blocks.js +19 -0
  97. assets/js/blocks-registry/index.js +2 -0
  98. assets/js/blocks-registry/register-inner-block.js +43 -0
  99. assets/js/blocks-registry/registered-blocks-init.js +3 -0
  100. assets/js/blocks-registry/test/index.js +43 -0
  101. assets/js/blocks/active-filters/active-attribute-filters.js +56 -0
  102. assets/js/blocks/active-filters/block.js +118 -0
  103. assets/js/blocks/active-filters/edit.js +97 -0
  104. assets/js/blocks/active-filters/frontend.js +17 -0
  105. assets/js/blocks/active-filters/index.js +63 -0
  106. assets/js/blocks/active-filters/style.scss +90 -0
  107. assets/js/blocks/active-filters/utils.js +64 -0
  108. assets/js/blocks/attribute-filter/block.js +272 -0
  109. assets/js/blocks/attribute-filter/edit.js +348 -0
  110. assets/js/blocks/attribute-filter/editor.scss +42 -0
  111. assets/js/blocks/attribute-filter/frontend.js +19 -0
  112. assets/js/blocks/attribute-filter/index.js +91 -0
  113. assets/js/blocks/attribute-filter/style.scss +24 -0
  114. assets/js/blocks/featured-category/block.js +113 -48
  115. assets/js/blocks/featured-category/example.js +18 -0
  116. assets/js/blocks/featured-category/index.js +11 -1
  117. assets/js/blocks/featured-category/utils.js +9 -4
  118. assets/js/blocks/featured-product/block.js +126 -51
  119. assets/js/blocks/featured-product/example.js +18 -0
  120. assets/js/blocks/featured-product/index.js +10 -0
  121. assets/js/blocks/featured-product/utils.js +4 -6
  122. assets/js/blocks/handpicked-products/block.js +51 -26
  123. assets/js/blocks/handpicked-products/index.js +17 -2
  124. assets/js/blocks/price-filter/block.js +178 -0
  125. assets/js/blocks/price-filter/edit.js +173 -0
  126. assets/js/blocks/price-filter/editor.scss +48 -0
  127. assets/js/blocks/price-filter/frontend.js +20 -0
  128. assets/js/blocks/price-filter/index.js +73 -0
  129. assets/js/blocks/product-best-sellers/block.js +15 -9
  130. assets/js/blocks/product-best-sellers/index.js +20 -7
  131. assets/js/blocks/product-categories/block.js +159 -111
  132. assets/js/blocks/product-categories/edit.js +0 -88
  133. assets/js/blocks/product-categories/frontend.js +0 -31
  134. assets/js/blocks/product-categories/get-categories.js +0 -21
  135. assets/js/blocks/product-categories/hierarchy.js +0 -31
  136. assets/js/blocks/product-categories/index.js +98 -45
  137. assets/js/blocks/product-categories/style.scss +11 -0
  138. assets/js/blocks/product-category/block.js +60 -26
  139. assets/js/blocks/product-category/index.js +19 -6
  140. assets/js/blocks/product-new/block.js +15 -9
  141. assets/js/blocks/product-new/index.js +10 -2
  142. assets/js/blocks/product-on-sale/block.js +16 -10
  143. assets/js/blocks/product-on-sale/index.js +7 -2
  144. assets/js/blocks/product-search/block.js +61 -16
  145. assets/js/blocks/product-search/index.js +27 -9
  146. assets/js/blocks/product-search/style.scss +3 -0
  147. assets/js/blocks/product-tag/block.js +62 -28
  148. assets/js/blocks/product-tag/index.js +15 -1
  149. assets/js/blocks/product-top-rated/block.js +15 -10
  150. assets/js/blocks/product-top-rated/index.js +10 -5
  151. assets/js/blocks/products-by-attribute/block.js +40 -22
  152. assets/js/blocks/products-by-attribute/index.js +13 -0
  153. assets/js/blocks/products/all-products/block.js +57 -0
  154. assets/js/blocks/products/all-products/edit.js +322 -0
  155. assets/js/blocks/products/all-products/frontend.js +11 -0
  156. assets/js/blocks/products/all-products/index.js +72 -0
  157. assets/js/blocks/products/attributes.js +69 -0
  158. assets/js/blocks/products/base-utils.js +66 -0
  159. assets/js/blocks/products/edit.js +93 -0
  160. assets/js/blocks/products/editor.scss +122 -0
  161. assets/js/blocks/products/utils.js +64 -0
  162. assets/js/blocks/reviews/all-reviews/edit.js +28 -10
  163. assets/js/blocks/reviews/all-reviews/index.js +12 -4
  164. assets/js/blocks/reviews/all-reviews/no-reviews-placeholder.js +5 -6
  165. assets/js/blocks/reviews/attributes.js +5 -0
  166. assets/js/blocks/reviews/edit-utils.js +104 -30
  167. assets/js/blocks/reviews/editor-block.js +37 -30
  168. assets/js/blocks/reviews/editor-container-block.js +25 -9
  169. assets/js/blocks/reviews/example.js +22 -0
  170. assets/js/blocks/reviews/frontend-block.js +28 -25
  171. assets/js/blocks/reviews/frontend-container-block.js +11 -5
  172. assets/js/blocks/reviews/frontend.js +10 -16
  173. assets/js/blocks/reviews/reviews-by-category/edit.js +54 -22
  174. assets/js/blocks/reviews/reviews-by-category/editor.scss +3 -0
  175. assets/js/blocks/reviews/reviews-by-category/index.js +16 -6
  176. assets/js/blocks/reviews/reviews-by-category/no-reviews-placeholder.js +12 -8
  177. assets/js/blocks/reviews/reviews-by-product/edit.js +40 -14
  178. assets/js/blocks/reviews/reviews-by-product/editor.scss +13 -0
  179. assets/js/blocks/reviews/reviews-by-product/index.js +13 -4
  180. assets/js/blocks/reviews/reviews-by-product/no-reviews-placeholder.js +18 -17
  181. assets/js/blocks/reviews/save.js +14 -2
  182. assets/js/blocks/reviews/utils.js +29 -18
  183. assets/js/components/error-placeholder/error-message.js +65 -0
  184. assets/js/components/{api-error-placeholder → error-placeholder}/index.js +18 -34
  185. assets/js/components/error-placeholder/style.scss +18 -0
  186. assets/js/components/grid-content-control/index.js +40 -19
  187. assets/js/components/grid-layout-control/index.js +37 -27
  188. assets/js/components/heading-toolbar/heading-level-icon.js +29 -0
  189. assets/js/components/heading-toolbar/index.js +52 -0
  190. assets/js/components/icons/all-reviews.js +8 -5
  191. assets/js/components/icons/external.js +25 -0
  192. assets/js/components/icons/folder-star.js +4 -1
  193. assets/js/components/icons/folder.js +4 -1
  194. assets/js/components/icons/index.js +5 -0
  195. assets/js/components/icons/money.js +24 -0
  196. assets/js/components/icons/product-on-sale.js +20 -0
  197. assets/js/components/icons/product-search.js +17 -0
  198. assets/js/components/icons/product-tag.js +28 -0
  199. assets/js/components/icons/radio-selected.js +4 -1
  200. assets/js/components/icons/reviews-by-category.js +15 -6
  201. assets/js/components/icons/reviews-by-product.js +14 -5
  202. assets/js/components/icons/woo.js +9 -2
  203. assets/js/components/product-attribute-control/index.js +0 -268
  204. assets/js/components/product-attribute-term-control/index.js +220 -0
  205. assets/js/components/{product-attribute-control → product-attribute-term-control}/style.scss +0 -0
  206. assets/js/components/product-category-control/index.js +145 -106
  207. assets/js/components/product-control/index.js +128 -186
  208. assets/js/components/product-orderby-control/index.js +24 -6
  209. assets/js/components/product-preview/index.js +13 -6
  210. assets/js/components/product-preview/test/index.js +6 -2
  211. assets/js/components/product-tag-control/index.js +34 -15
  212. assets/js/components/products-control/index.js +11 -6
  213. assets/js/components/toggle-button-control/index.js +17 -10
  214. assets/js/components/utils/index.js +72 -13
  215. assets/js/data/collections/action-types.js +4 -0
  216. assets/js/data/collections/actions.js +101 -0
  217. assets/js/data/collections/constants.js +2 -0
  218. assets/js/data/collections/controls.js +41 -0
  219. assets/js/data/collections/index.js +25 -0
  220. assets/js/data/collections/reducers.js +49 -0
  221. assets/js/data/collections/resolvers.js +71 -0
  222. assets/js/data/collections/selectors.js +116 -0
  223. assets/js/data/collections/test/reducers.js +99 -0
  224. assets/js/data/collections/test/resolvers.js +159 -0
  225. assets/js/data/collections/test/selectors.js +117 -0
  226. assets/js/data/constants.js +6 -0
  227. assets/js/data/index.js +4 -0
  228. assets/js/data/query-state/action-types.js +4 -0
  229. assets/js/data/query-state/actions.js +38 -0
  230. assets/js/data/query-state/constants.js +1 -0
  231. assets/js/data/query-state/index.js +20 -0
  232. assets/js/data/query-state/reducers.js +50 -0
  233. assets/js/data/query-state/selectors.js +51 -0
  234. assets/js/data/query-state/test/reducers.js +136 -0
  235. assets/js/data/query-state/test/selectors.js +63 -0
  236. assets/js/data/query-state/utils.js +3 -0
  237. assets/js/data/schema/action-types.js +3 -0
  238. assets/js/data/schema/actions.js +22 -0
  239. assets/js/data/schema/constants.js +5 -0
  240. assets/js/data/schema/index.js +24 -0
  241. assets/js/data/schema/reducers.js +57 -0
  242. assets/js/data/schema/resolvers.js +38 -0
  243. assets/js/data/schema/selectors.js +160 -0
  244. assets/js/data/schema/test/reducers.js +73 -0
  245. assets/js/data/schema/test/resolvers.js +55 -0
  246. assets/js/data/schema/test/selectors.js +104 -0
  247. assets/js/data/schema/test/utils.js +59 -0
  248. assets/js/data/schema/utils.js +65 -0
  249. assets/js/data/utils/has-in-state.js +16 -0
  250. assets/js/data/utils/index.js +2 -0
  251. assets/js/data/utils/update-state.js +17 -0
  252. assets/js/hocs/index.js +7 -1
  253. assets/js/hocs/test/with-attributes.js +157 -0
  254. assets/js/hocs/test/with-categories.js +106 -0
  255. assets/js/hocs/test/with-category.js +130 -0
  256. assets/js/hocs/test/with-product-variations.js +181 -0
  257. assets/js/hocs/test/with-product.js +61 -36
  258. assets/js/hocs/test/with-searched-products.js +37 -35
  259. assets/js/hocs/test/with-transform-single-select-to-multiple-select.js +34 -0
  260. assets/js/hocs/with-attributes.js +168 -0
  261. assets/js/hocs/with-categories.js +68 -0
  262. assets/js/hocs/with-category.js +55 -45
  263. assets/js/hocs/with-product-variations.js +188 -0
  264. assets/js/hocs/with-product.js +47 -45
  265. assets/js/hocs/with-searched-products.js +79 -63
  266. assets/js/hocs/with-transform-single-select-to-multiple-select.js +37 -0
  267. assets/js/previews/categories.js +32 -0
  268. assets/js/previews/grid-block.js +16 -0
  269. assets/js/previews/index.js +4 -0
  270. assets/js/previews/products.js +57 -0
  271. assets/js/previews/reviews.js +58 -0
  272. assets/js/settings/blocks/constants.js +25 -0
  273. assets/js/settings/blocks/index.js +1 -24
  274. assets/js/settings/shared/currency.js +0 -16
  275. assets/js/settings/shared/default-constants.js +13 -0
  276. assets/js/settings/shared/get-setting.js +26 -0
  277. assets/js/settings/shared/index.js +36 -2
  278. assets/js/settings/shared/set-setting.js +19 -0
  279. assets/js/settings/shared/settings-init.js +42 -0
  280. assets/js/settings/shared/test/compare-with-wp-version.js +24 -0
  281. assets/js/settings/shared/test/get-setting.js +17 -0
  282. assets/js/settings/shared/test/set-setting.js +20 -0
  283. assets/js/utils/attributes-query.js +80 -0
  284. assets/js/utils/attributes.js +77 -0
  285. assets/js/utils/deprecations.js +1 -4
  286. assets/js/utils/get-query.js +7 -7
  287. assets/js/utils/get-shortcode.js +10 -6
  288. assets/js/utils/render-frontend.js +31 -0
  289. assets/js/utils/shared-attributes.js +8 -0
  290. build/active-filters-frontend.deps.json +1 -0
  291. build/active-filters-frontend.js +6 -0
  292. build/active-filters.deps.json +1 -0
  293. build/active-filters.js +1 -0
  294. build/all-products-frontend.deps.json +1 -0
  295. build/all-products-frontend.js +6 -0
  296. build/all-products.deps.json +1 -0
  297. build/all-products.js +1 -0
  298. build/all-reviews-legacy.deps.json +1 -0
  299. build/all-reviews-legacy.js +1 -0
  300. build/all-reviews.deps.json +1 -1
  301. build/all-reviews.js +1 -1
  302. build/attribute-filter-frontend.deps.json +1 -0
  303. build/attribute-filter-frontend.js +6 -0
  304. build/attribute-filter.deps.json +1 -0
  305. build/attribute-filter.js +1 -0
  306. build/blocks-legacy.deps.json +1 -0
  307. build/blocks-legacy.js +1 -0
  308. build/blocks.js +1 -1
  309. build/editor-legacy-rtl.css +1 -0
  310. build/editor-legacy.css +1 -0
  311. build/editor-rtl.css +1 -0
  312. build/editor.css +1 -11
  313. build/featured-category-legacy.deps.json +1 -0
  314. build/featured-category-legacy.js +1 -0
  315. build/featured-category.deps.json +1 -1
  316. build/featured-category.js +1 -1
  317. build/featured-product-legacy.deps.json +1 -0
  318. build/featured-product-legacy.js +1 -0
  319. build/featured-product.deps.json +1 -1
  320. build/featured-product.js +1 -1
  321. build/handpicked-products-legacy.deps.json +1 -0
  322. build/handpicked-products-legacy.js +1 -0
  323. build/handpicked-products.deps.json +1 -1
  324. build/handpicked-products.js +1 -1
  325. build/price-filter-frontend.deps.json +1 -0
  326. build/price-filter-frontend.js +6 -0
  327. build/price-filter.deps.json +1 -0
  328. build/price-filter.js +1 -0
  329. build/product-best-sellers-legacy.deps.json +1 -0
  330. build/product-best-sellers-legacy.js +1 -0
  331. build/product-best-sellers.deps.json +1 -1
  332. build/product-best-sellers.js +1 -1
  333. build/product-categories-frontend.deps.json +0 -1
  334. build/product-categories-frontend.js +0 -6
  335. build/product-categories-legacy.deps.json +1 -0
  336. build/product-categories-legacy.js +1 -0
  337. build/product-categories.deps.json +1 -1
  338. build/product-categories.js +1 -1
  339. build/product-category-legacy.deps.json +1 -0
  340. build/product-category-legacy.js +1 -0
  341. build/product-category.deps.json +1 -1
  342. build/product-category.js +1 -1
  343. build/product-new-legacy.deps.json +1 -0
  344. build/product-new-legacy.js +1 -0
  345. build/product-new.deps.json +1 -1
  346. build/product-new.js +1 -1
  347. build/product-on-sale-legacy.deps.json +1 -0
  348. build/product-on-sale-legacy.js +1 -0
  349. build/product-on-sale.deps.json +1 -1
  350. build/product-on-sale.js +1 -1
  351. build/product-search-legacy.deps.json +1 -0
  352. build/product-search-legacy.js +1 -0
  353. build/product-search.deps.json +1 -1
  354. build/product-search.js +1 -1
  355. build/product-tag-legacy.deps.json +1 -0
  356. build/product-tag-legacy.js +1 -0
  357. build/product-tag.deps.json +1 -1
  358. build/product-tag.js +1 -1
  359. build/product-top-rated-legacy.deps.json +1 -0
  360. build/product-top-rated-legacy.js +1 -0
  361. build/product-top-rated.deps.json +1 -1
  362. build/product-top-rated.js +1 -1
  363. build/products-by-attribute-legacy.deps.json +1 -0
  364. build/products-by-attribute-legacy.js +1 -0
  365. build/products-by-attribute.deps.json +1 -1
  366. build/products-by-attribute.js +1 -1
  367. build/reviews-by-category-legacy.deps.json +1 -0
  368. build/reviews-by-category-legacy.js +1 -0
  369. build/reviews-by-category.deps.json +1 -1
  370. build/reviews-by-category.js +1 -1
  371. build/reviews-by-product-legacy.deps.json +1 -0
  372. build/reviews-by-product-legacy.js +1 -0
  373. build/reviews-by-product.deps.json +1 -1
  374. build/reviews-by-product.js +1 -1
  375. build/reviews-frontend-legacy.deps.json +1 -0
  376. build/reviews-frontend-legacy.js +6 -0
  377. build/reviews-frontend.deps.json +1 -1
  378. build/reviews-frontend.js +2 -2
  379. build/style-legacy-rtl.css +1 -0
  380. build/style-legacy.css +1 -0
  381. build/style-rtl.css +1 -0
  382. build/style.css +1 -15
  383. build/vendors-legacy.js +26 -0
  384. build/vendors.js +14 -6
  385. build/wc-block-settings.js +0 -1
  386. build/wc-blocks-data.deps.json +1 -0
  387. build/wc-blocks-data.js +1 -0
  388. build/{wc-block-settings.deps.json → wc-blocks-registry.deps.json} +0 -0
  389. build/wc-blocks-registry.js +1 -0
  390. build/{wc-shared-settings.deps.json → wc-settings.deps.json} +0 -0
  391. build/wc-settings.js +1 -0
  392. build/wc-shared-settings.js +0 -1
  393. readme.txt +30 -15
  394. src/Assets.php +89 -125
  395. src/Assets/Api.php +150 -0
  396. src/Assets/AssetDataRegistry.php +269 -0
  397. src/Assets/BackCompatAssetDataRegistry.php +79 -0
  398. src/BlockTypes/AbstractProductGrid.php +15 -18
  399. src/BlockTypes/ActiveFilters.php +51 -0
  400. src/BlockTypes/AllProducts.php +51 -0
  401. src/BlockTypes/AttributeFilter.php +51 -0
  402. src/BlockTypes/PriceFilter.php +51 -0
  403. src/BlockTypes/ProductCategories.php +249 -13
  404. src/Domain/Bootstrap.php +156 -0
  405. src/Domain/Package.php +95 -0
  406. src/Library.php +9 -0
  407. src/Package.php +54 -73
  408. src/Registry/AbstractDependencyType.php +60 -0
  409. src/Registry/Container.php +104 -0
  410. src/Registry/FactoryType.php +27 -0
  411. src/Registry/SharedType.php +38 -0
  412. src/RestApi.php +38 -7
  413. src/RestApi/Controllers/Cart.php +331 -0
  414. src/RestApi/Controllers/ProductAttributes.php +1 -1
  415. src/RestApi/Controllers/ProductCategories.php +55 -9
  416. src/RestApi/Controllers/Products.php +84 -37
  417. src/RestApi/StoreApi/Controllers/Cart.php +114 -0
  418. src/RestApi/StoreApi/Controllers/CartItems.php +259 -0
  419. src/RestApi/StoreApi/Controllers/ProductAttributeTerms.php +175 -0
  420. src/RestApi/StoreApi/Controllers/ProductAttributes.php +152 -0
  421. src/RestApi/StoreApi/Controllers/ProductCollectionData.php +210 -0
  422. src/RestApi/StoreApi/Controllers/Products.php +476 -0
  423. src/RestApi/StoreApi/Schemas/AbstractSchema.php +66 -0
  424. src/RestApi/StoreApi/Schemas/CartItemSchema.php +249 -0
  425. src/RestApi/StoreApi/Schemas/CartSchema.php +94 -0
  426. src/RestApi/StoreApi/Schemas/ProductAttributeSchema.php +87 -0
  427. src/RestApi/StoreApi/Schemas/ProductSchema.php +362 -0
  428. src/RestApi/StoreApi/Schemas/TermSchema.php +80 -0
  429. src/RestApi/StoreApi/Utilities/CartController.php +358 -0
  430. src/RestApi/StoreApi/Utilities/Pagination.php +81 -0
  431. src/RestApi/StoreApi/Utilities/ProductFiltering.php +146 -0
  432. src/RestApi/StoreApi/Utilities/ProductQuery.php +340 -0
  433. src/RestApi/StoreApi/Utilities/TermQuery.php +45 -0
  434. src/RestApi/Utilities/ProductImages.php +58 -0
  435. src/Utils/BlocksWpQuery.php +78 -0
  436. vendor/autoload.php +1 -1
  437. vendor/autoload_packages.php +18 -3
  438. vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php +19 -5
  439. vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php +2 -2
  440. vendor/automattic/jetpack-autoloader/src/autoload.php +3 -1
  441. vendor/composer/autoload_classmap_package.php +163 -31
  442. vendor/composer/autoload_real.php +4 -4
  443. vendor/composer/autoload_static.php +3 -3
  444. vendor/composer/installed.json +6 -6
  445. woocommerce-gutenberg-products-block.php +47 -3
assets/css/abstracts/_mixins.scss CHANGED
@@ -28,10 +28,12 @@
28
}
29
30
// Adds animation to placeholder section
31
- @mixin placeholder( $lighten-percentage: 30% ) {
32
- animation: loading-fade 1.6s ease-in-out infinite;
33
- background-color: $core-grey-light-500;
34
color: transparent;
35
36
&::after {
37
content: "\00a0";
28
}
29
30
// Adds animation to placeholder section
31
+ @mixin placeholder() {
32
+ animation: loading-fade 1.2s ease-in-out infinite;
33
+ background-color: $core-grey-light-500 !important;
34
color: transparent;
35
+ border: 0;
36
+ box-shadow: none;
37
38
&::after {
39
content: "\00a0";
assets/css/editor.scss CHANGED
@@ -18,11 +18,15 @@
18
.wc-block-grid {
19
.wc-block-grid__products {
20
list-style: none;
21
- margin: 0;
22
23
.wp-block-button__link {
24
color: inherit;
25
}
26
}
27
28
&.components-placeholder {
@@ -35,17 +39,3 @@
35
}
36
}
37
}
38
-
39
- .wc-block-api-error {
40
- .components-placeholder__fieldset {
41
- display: block;
42
- margin: 0;
43
- padding: 0;
44
- }
45
- .wc-block-error__message {
46
- margin-bottom: 16px;
47
- }
48
- .components-spinner {
49
- float: none;
50
- }
51
- }
18
.wc-block-grid {
19
.wc-block-grid__products {
20
list-style: none;
21
+ margin: 0 (-$gap/2) $gap;
22
23
.wp-block-button__link {
24
color: inherit;
25
}
26
+
27
+ .wc-block-grid__product {
28
+ margin: 0 0 $gap-large 0;
29
+ }
30
}
31
32
&.components-placeholder {
39
}
40
}
41
}
assets/css/style.scss CHANGED
@@ -1,206 +1 @@
1
- .wc-block-grid__products {
2
- display: flex;
3
- flex-wrap: wrap;
4
- list-style: none;
5
- padding: 0;
6
- margin: 0 0 $gap-large;
7
- }
8
-
9
- .wc-block-grid__product {
10
- box-sizing: border-box;
11
- padding: 0 $gap 0 0;
12
- margin: 0 0 $gap-large 0;
13
- float: none;
14
- width: auto;
15
- position: relative;
16
- text-align: center;
17
- }
18
-
19
- .wc-block-grid__product-link {
20
- text-decoration: none;
21
- border: 0;
22
- }
23
-
24
- .wc-block-grid__product-image {
25
- text-decoration: none;
26
- margin-bottom: $gap;
27
- display: block;
28
-
29
- img {
30
- vertical-align: middle;
31
- margin-left: auto;
32
- margin-right: auto;
33
- }
34
- }
35
-
36
- .wc-block-grid__product-title {
37
- line-height: 1.2;
38
- font-weight: 700;
39
- }
40
-
41
- .wc-block-grid__product-title,
42
- .wc-block-grid__product-price,
43
- .wc-block-grid__product-rating {
44
- margin-bottom: $gap-small;
45
- display: block;
46
- }
47
-
48
- .wc-block-grid__product-add-to-cart {
49
- margin: 0;
50
- word-break: break-word;
51
- white-space: normal;
52
-
53
- a {
54
- word-break: break-word;
55
- white-space: normal;
56
- margin: 0;
57
-
58
- &.loading {
59
- opacity: 0.25;
60
- padding-right: 2.618em;
61
-
62
- &::after {
63
- font-family: WooCommerce; /* stylelint-disable-line */
64
- content: "\e01c";
65
- vertical-align: top;
66
- font-weight: 400;
67
- position: absolute;
68
- top: 0.618em;
69
- right: 1em;
70
- animation: spin 2s linear infinite;
71
- }
72
- }
73
-
74
- &.added::after {
75
- font-family: WooCommerce; /* stylelint-disable-line */
76
- content: "\e017";
77
- margin-left: 0.53em;
78
- vertical-align: bottom;
79
- }
80
- }
81
-
82
- .added_to_cart {
83
- text-align: center;
84
- }
85
- }
86
-
87
- .wc-block-grid__product-onsale {
88
- font-weight: 700;
89
- position: absolute;
90
- text-align: center;
91
- top: 0;
92
- left: 0;
93
- margin: 0;
94
- background-color: #000;
95
- color: #fff;
96
- display: inline-block;
97
- font-size: 0.75em;
98
- padding: 0.5em;
99
- z-index: 9;
100
- text-transform: uppercase;
101
- }
102
-
103
- .wc-block-grid__product-rating {
104
-
105
- .star-rating {
106
- overflow: hidden;
107
- position: relative;
108
- width: 5.3em;
109
- height: 1.618em;
110
- line-height: 1.618;
111
- font-size: 1em;
112
- font-family: star; /* stylelint-disable-line */
113
- font-weight: 400;
114
- display: inline-block;
115
- margin: 0 auto;
116
- text-align: left;
117
-
118
- &::before {
119
- content: "\53\53\53\53\53";
120
- top: 0;
121
- left: 0;
122
- right: 0;
123
- position: absolute;
124
- opacity: 0.5;
125
- color: #aaa;
126
- }
127
-
128
- span {
129
- overflow: hidden;
130
- top: 0;
131
- left: 0;
132
- right: 0;
133
- position: absolute;
134
- padding-top: 1.5em;
135
- }
136
-
137
- span::before {
138
- content: "\53\53\53\53\53";
139
- top: 0;
140
- left: 0;
141
- right: 0;
142
- position: absolute;
143
- color: #000;
144
- }
145
- }
146
- }
147
-
148
- .wc-block-grid {
149
- &.has-aligned-buttons {
150
- .wc-block-grid__product {
151
- display: flex;
152
- flex-direction: column;
153
- }
154
- .wc-block-grid__product-add-to-cart {
155
- margin-top: auto !important;
156
- }
157
- }
158
- &.has-1-columns {
159
-
160
- .wc-block-grid__products {
161
- display: block;
162
- }
163
-
164
- .wc-block-grid__product {
165
- margin-left: auto;
166
- margin-right: auto;
167
- }
168
- }
169
- @for $i from 2 to 9 {
170
- &.has-#{$i}-columns .wc-block-grid__product {
171
- flex: 1 0 calc(#{ 100% / $i });
172
- max-width: 100% / $i;
173
- }
174
- }
175
- &.has-4-columns:not(.alignwide):not(.alignfull),
176
- &.has-5-columns:not(.alignfull),
177
- &.has-6-columns:not(.alignfull),
178
- &.has-7-columns,
179
- &.has-8-columns {
180
- .wc-block-grid__product {
181
- font-size: 0.8em;
182
- }
183
- }
184
- }
185
-
186
- .theme-twentysixteen {
187
- .wc-block-grid {
188
- // Prevent white theme styles.
189
- .price ins {
190
- color: #77a464;
191
- }
192
- }
193
- }
194
- .theme-twentynineteen {
195
- .wc-block-grid__product {
196
- font-size: 0.88889em;
197
- }
198
- // Change the title font to match headings.
199
- .wc-block-grid__product-title,
200
- .wc-block-grid__product-onsale {
201
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
202
- }
203
- .wc-block-grid__product-onsale {
204
- line-height: 1;
205
- }
206
- }
1
+ /* Moved */
assets/img/block-error.svg ADDED
@@ -0,0 +1,2727 @@
1
+ <svg
2
+ width="208.5"
3
+ height="92"
4
+ viewBox="0 0 834 368"
5
+ xmlns="http://www.w3.org/2000/svg"
6
+ >
7
+ <g>
8
+ <g>
9
+ <path
10
+ fill="#DCDDDE"
11
+ d="M77.3,290.2h0.3l0.3,0.1l0.2,0.1l0.4,0.1h0.1l0.4,0.2h0.1l0.2,0.2l0.3,0.2l0,0l0.3,0.3l0.2,0.3l0,0h0.4l2,0.1
12
+ l2,0.1l2.1,0.2l1.1,0.1l1.1,0.1l1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1.1,0.1l1,0.1l1.1,0.2l1,0.2l1,0.2l1,0.2l0.9,0.2
13
+ l0.9,0.2l0.9,0.2l0.9,0.2l0.9,0.2l0.8,0.2l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2
14
+ l0.4,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.2,0.3l0.2,0.2h0.2h1.4h0.6l0,0
15
+ l-0.2-0.3v-0.1l-0.2-0.3v-0.1l-0.1-0.3v-0.1l-0.1-0.3v-0.1l-0.1-0.4v-0.1l0.1-0.3v-0.1l0.1-0.3v-0.1l0.1-0.3l0.1-0.1l0.1-0.2
16
+ l0.1-0.2l0.2-0.3l0.2-0.3l0.2-0.3l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1
17
+ l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.1l0.5-0.1h0.4h0.5h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.7,0.1l0.7,0.1l0.7,0.1
18
+ h0.3h0.3h0.3h0.2h0.2h0.2h0.3h0.4h0.8h0.8l0.9-0.1l0.9-0.1l1-0.1l2.2-0.2l2.3-0.2l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.3-0.1
19
+ l1.2-0.1l1.3-0.1h1.2h0.7h0.7h0.7h0.6h0.7h0.6h0.7h0.6h0.7h0.6h0.6l0.6,0.1l0.6,0.1l0.5,0.1l0.6,0.1l0.5,0.1l0.6,0.1l0.5,0.1
20
+ l0.5,0.1l0.5,0.1l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.5,0.2l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.2l0.2,0.1l0.2,0.2l0.2,0.2
21
+ l0.1,0.1l0.2,0.2v0.1l0.2,0.3l0,0l0.2,0.5l0,0l0.1,0.5l0,0l0.1,0.6l0,0l-0.1,0.6l0,0l-0.2,0.5h-0.1l-0.2,0.4h-0.1l-0.1,0.1
22
+ l1.9,0.3l2.3,0.4l2.2,0.4h1.1l2.5,0.1l2.2,0.1l0.7-0.1l0.6-0.1l0.5-0.1h0.5h0.5h0.6h0.6h0.6h0.6h0.6h0.6h1.1h1.1h1.1h1.1h1.1h5.2
23
+ h0.4l4-0.2l2-0.1l2-0.1l1.2-0.1l0.1-0.2l0.4-0.4l0.5-0.3l0,0l0.3-0.1l0.4-0.1l0,0l0.4-0.1h0.2h0.4h0.4h2.4h2.4h2.4h2.4h4.8
24
+ l4.8,0.1l9.5,0.1l4.8,0.1l4.7,0.1h4.8h2.4h2.4h2.4h2.4h2.4h2.4h2.4h2.4h2.4h2.4l2.4-0.1l2.4-0.1l2.4-0.1l2.4-0.1h1.2h1.2h1.2h1.2
25
+ h1.2h1.2h1.2h1.2h2.5h2.4h2.4h1.2h1.2h0.2h0.2h0.5h0.5l0.5-0.1l0.7-0.1l0.7-0.1l1.4-0.2l1.4-0.2l0.8-0.1l0.7-0.1l0.8-0.1l0.7-0.1
26
+ l0.8-0.1h0.7h0.7h0.4h0.4h0.4h0.4h0.4h0.4h0.3h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2l0.2,0.2l0.2,0.1
27
+ l0.2,0.1l0.2,0.2l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.2v0.2
28
+ v0.2v0.2l-0.1,0.3l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.2l-0.2,0.2l-0.2,0.2
29
+ l-0.2,0.2l-0.2,0.2l-0.3,0.2l-0.2,0.1l-0.2,0.1l-0.3,0.1l-0.2,0.1l-0.1,0.1h0.1l0.5,0.1l0.2,0.1l0.3,0.1l0.2,0.1h0.1h0.2l0.7-0.1
30
+ l0.7-0.1l0.7-0.1l1.5-0.2l1.6-0.2l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1h0.1h0.1l0,0l0.2-0.4l0.4-0.4l0,0l0.3-0.2l0.3-0.2l0,0l0.4-0.2
31
+ h0.1l0.4-0.1h0.1l0.3-0.1h0.2h0.4h0.4h0.4h0.4h0.4h0.4h0.7l0.8,0.1l0.8,0.1l1.6,0.1l0.8,0.1h0.7h0.6h0.2h0.2h1.4h1.5h2.9h1.4h1.4
32
+ h0.7h0.7h0.7h0.7l1.9-0.1l1.9-0.1l1.8-0.1l1.9-0.1l1.9-0.1l1.9-0.1l3.8-0.3l3.7-0.3l2-0.1l1.9-0.1l1.9-0.1l1.9-0.1l2-0.1l1.9-0.1
33
+ h0.7h0.7h1.4h1.4h1.4h2.7h1.3h1.3h0.5h0.5h0.6h0.7l1.5-0.1l1.4-0.1h0.7h0.7h0.5h0.2h0.3h0.2h0.3h0.1l0.5,0.1h0.1l0.3,0.1l0.3,0.2
34
+ l0,0l0.5,0.4l0.4,0.5l0,0l0.2,0.5l0.2,0.5v0.5v0.5l0,0l-0.2,0.5L404,306l-0.2,0.4h-0.1l-0.2,0.3l-0.3,0.2l0,0l-0.5,0.3h-0.1
35
+ l-0.3,0.1l-0.2,0.1l-0.3,0.1l-1.3,0.4l-1.2,0.3l-1.3,0.3l-1.4,0.3l-1.3,0.3l-1.4,0.3l-1.3,0.3l-1.4,0.3l-1.3,0.3l-1.4,0.3
36
+ l-2.6,0.5l-5,1l-3.5,0.7h-0.2l2-0.1l2.1-0.1l2.1-0.1l2-0.1h1.8h1.6h0.8h0.6h0.2h0.6l0.9-0.1l1.1-0.1h0.7h0.7h0.7h0.7h0.8h0.8h0.8
37
+ h0.8h0.8l0.8,0.1l0.8,0.1h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1
38
+ l0.4,0.2l0.4,0.2l0.3,0.2l0.4,0.2l0.4,0.3l0.2,0.2l0.2,0.2l0.2,0.2l0.1,0.2l0.2,0.2l0.1,0.2l0.1,0.2l0.1,0.3l0.1,0.3l0.1,0.3
39
+ l0.1,0.3v0.3l0.1,0.3v0.3l-0.1,0.3v0.3l-0.1,0.4l-0.1,0.4l-0.1,0.4l-0.2,0.4l-0.2,0.4l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.3
40
+ l-0.2,0.3l-0.3,0.2l-0.3,0.2l-0.3,0.2L407,323l-0.4,0.2l-0.3,0.2l-0.3,0.2l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
41
+ l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.5,0.1l-0.8,0.1l-0.9,0.1
42
+ l-0.9,0.1l-0.9,0.1l-1,0.1h-0.9h-0.9h-1h-1h-1h-1h-1.1h-1h-1.1h-1h-1.1h-1l-1.1-0.1l-1-0.1l-1-0.1l-1.1-0.1l-1.2-0.1v0.1v0.3v0.1
43
+ l-0.1,0.3v0.1l-0.1,0.3l-0.1,0.2l-0.1,0.3l-0.1,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.2,0.3l-0.3,0.2l-0.2,0.2l-0.3,0.2
44
+ l-0.2,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.2l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.3,0.1l-0.4,0.1l-0.7,0.2
45
+ l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.6,0.1l-0.7,0.1l-0.5,0.1l-1.1,0.1
46
+ l-0.9,0.1l-0.8,0.1l-0.7,0.1h-0.5h-0.6h-0.7h-0.7h-0.8h-0.7h-0.8h-0.8h-0.8h-0.8h-0.9h-0.9H349h-0.9h-0.9h-0.9h-1l-0.9-0.1l-1-0.1
47
+ l-1.1-0.1l-1-0.1l-1-0.1l-1.1-0.1l-1.1-0.1l-1-0.1l-1.1-0.1l-1.1-0.1l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2l-1.1-0.2
48
+ l-1.1-0.2l-1.1-0.2l-1-0.2l-1.1-0.3l-1-0.3l-1.1-0.3l-1-0.3l-1-0.3l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
49
+ l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.5-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2
50
+ l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3l-0.4-0.3l-0.4-0.3
51
+ l-0.3-0.3l-0.3-0.3l-0.1-0.1l-0.6,0.1l-0.9,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1,0.1l-1.1,0.1l-1,0.1
52
+ h-0.9h-1h-1.2l-0.1,0.3l0,0l-0.3,0.4l-0.3,0.4l-0.4,0.3l0,0l-0.4,0.2l-0.3,0.2h-0.1l-0.5,0.1h-0.1h-0.4h-0.2h-0.3h-1.5h-1.5h-2.9
53
+ h-3l-2.9-0.1l-2.9-0.1l-2.9-0.1l-5.8-0.2l-5.7-0.2l-2.9-0.1l-2.9-0.1l-2.9-0.1h-2.8h-2.9h-1.4h-1.4h-2.1h-2.1h-2.1h-2.1h-2.1h-1.1
54
+ h-1.1h-1.1H225h-1.1h-1.1h-0.3h-0.3h-0.8h-1.8h-1h-1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.2-0.1l-0.2-0.1
55
+ l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.2-0.4
56
+ l-0.1-0.1l-0.2-0.4v-0.1l-0.2-0.5v-0.1l-0.1-0.5v-0.1l0.1-0.5v-0.1l0.1-0.4l0.1-0.1l0.1-0.4l0.1-0.1l0.1-0.3l0.1-0.1l0.2-0.2
57
+ l0.1-0.2l0.2-0.3l0.2-0.2l0.4-0.4l0.4-0.3l0.3-0.3h-0.2h-0.1l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.8,0.3l-0.8,0.3l-0.7,0.3l-0.8,0.3
58
+ l-0.8,0.3l-0.8,0.3l-0.8,0.3l-0.8,0.3l-0.8,0.3l-1.6,0.5l-1.7,0.5l-1.6,0.5l-1.7,0.5l-1.7,0.5l-1.7,0.5l-1.7,0.5l-1.7,0.4
59
+ l-1.6,0.4l-1.6,0.4l-1.6,0.4l-2.2,0.6l0.2,0.6l0.1,0.1l0.1,0.4l0.1,0.4v0.1v0.4v0.1l0.1,0.1l0.2,0.3l0.1,0.3l0.1,0.3l0.1,0.3
60
+ l0.1,0.3v0.3l0.1,0.3l-0.1,0.3v0.2v0.2l-0.1,0.2v0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2l-0.1,0.2
61
+ l-0.1,0.2l-0.1,0.2l-0.2,0.2l-0.1,0.2l-0.1,0.2l-0.3,0.3l-0.3,0.3l-0.3,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.2l-0.4,0.2l-0.4,0.2
62
+ l-0.4,0.2l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1H175h-0.4h-0.4h-0.4h-0.4H173h-0.8h-0.8h-0.8
63
+ h-0.8H169h-0.8l-1.5-0.1l-1.5-0.1h-0.7h-0.7h-0.6h-0.6H162h-0.2h-0.2l-6.1,0.5l-3.1,0.2l-3.1,0.2l-3.1,0.2l-3.1,0.2l-3.1,0.2
64
+ l-3.1,0.2l-3.1,0.2l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1l-1.5,0.1h-1.6h-1.5h-1.5h-1.5h-1.5h-1.5h-1.5h-0.4
65
+ h-0.4h-0.2l-0.4-0.1h-0.1l-0.5-0.2l0,0l-0.5-0.3l-0.4-0.4l-0.3-0.4l0,0l-0.3-0.6l-0.2-0.6v-0.6l0.1-0.6l0.2-0.6l0,0l0.2-0.4
66
+ l0.3-0.3l0.4-0.3l0,0l0.5-0.3l0,0l0.3-0.1l0.2-0.1l0.4-0.1l0.3-0.1l0.4-0.1l0.7-0.1l0.9-0.1l1-0.1l2.1-0.3l2.2-0.3l2-0.3l0.9-0.1
67
+ l0.7-0.1l1-0.1l0.9-0.1l0.9-0.1l1-0.1l1.9-0.2l1.9-0.2l1.9-0.2l1.9-0.2l1.9-0.2l0.9-0.1l0.9-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1
68
+ l0.6-0.2l1.2-0.3l1.2-0.3l1.2-0.3l1.2-0.3l1.1-0.3l-1.2-0.1l-2.2-0.2l-1.1-0.1l-1.1-0.1l-1.1-0.1l-0.9-0.1l-1-0.1l-0.9-0.1
69
+ l-0.9-0.1l-0.8-0.1l-0.8-0.1l-0.8-0.1l-0.7-0.1l-0.7-0.1l-0.5-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.2-0.1l-0.3-0.1
70
+ l-0.3-0.2l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.4-0.4l-0.1-0.1l-0.3-0.4l0,0l-0.2-0.3l0,0l-0.2-0.5l0,0l-0.1-0.5l0,0v-0.5l0,0l0.1-0.5
71
+ l0,0l0.2-0.4l0,0l0.2-0.4l0,0l0.3-0.4l0.1-0.1l0.3-0.3h-0.4h-0.7h-0.7h-0.7h-0.3h-0.3h-0.2h-0.3l-0.5-0.1l-0.5-0.1l-0.5-0.1
72
+ l-0.6-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.2-0.1l-0.3-0.2l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.4-0.4
73
+ l-0.1-0.1l-0.3-0.5h-0.1l-0.2-0.5l0,0l-0.1-0.4v-0.4l0,0V314l0.1-0.4l0,0l0,0h-0.4l-0.8,0.1l-0.7,0.1h-0.7h-0.7h-0.7h-0.7h-0.8
74
+ h-0.7h-1.4h-1.4h-1.4h-1.4h-1.4h-1.4l-2.7-0.1l-2.5-0.1h-1.2h-1.2h-1.1h-1.1H76.9h-0.2h-0.4h-0.8h-0.9h-0.9h-0.4h-0.4h-0.4h-0.4
75
+ h-0.3h-0.2l-0.4-0.1l-0.4-0.1l0,0l-0.5-0.3l-0.4-0.4l-0.4-0.5l0,0l-0.2-0.5l-0.2-0.6v-0.6l0.1-0.6l0,0l0.2-0.6l0.4-0.5l0.4-0.4
76
+ l0,0l0.4-0.2L71,308h0.1l0.3-0.1h0.1l0.2-0.1l0.7-0.2l0.7-0.2l0.7-0.1l0.2-0.1l-0.1-0.1l-0.3-0.5l0,0l-0.2-0.5l-0.1-0.5l-0.1-0.6
77
+ l0.1-0.6l0.2-0.5h0.1l0.3-0.5l0.5-0.5l0,0l0.5-0.3H75l0.4-0.2l0.2-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l-0.3-0.1
78
+ l-0.5-0.4l-0.5-0.4h-0.1h-0.9h-0.9h-0.9H73h-0.9l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.7-0.1l-0.5,0.1l-0.6,0.1h-0.5h-0.6h-0.5
79
+ h-0.6H64h-0.5h-0.6h-0.5h-0.6h-0.5h-1.1h-1.1h-1l-1.1-0.1l-1.9-0.1l-1.8-0.1h-0.8h-0.7h-0.7h-0.5h-0.4h-0.9l-2.8,0.1l-3.9,0.2
80
+ l-4.3,0.2l-2.2,0.1l-2.1,0.1l-2,0.1l-1.8,0.1h-0.8h-0.7H28h-0.6h-0.5h-0.5h-0.3h-0.2l-0.4-0.1l0,0l-0.4-0.1l-0.4-0.2l0,0l-0.4-0.3
81
+ L24,300l-0.3-0.4l0,0l-0.2-0.5l-0.1-0.5v-0.1v-0.3l-0.1-0.1v-0.3l0.1-0.1v-0.3l0.1-0.1l0.1-0.3v-0.1l0.1-0.3l0.1-0.1l0.1-0.3
82
+ l0.1-0.1l0.1-0.2l0.1-0.2l0.2-0.3l0.3-0.3l0.2-0.3l0.3-0.2l0.2-0.2l0.3-0.2L26,294l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0,0h-0.5h-0.6
83
+ h-0.3h-0.3h-0.3h-0.3l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.3-0.1l-0.4-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2
84
+ l-0.3-0.3l-0.2-0.3l-0.3-0.3l-0.2-0.3l-0.2-0.4l-0.2-0.4l-0.1-0.4l-0.1-0.4l-0.1-0.4v-0.4l-0.1-0.4l0.1-0.4v-0.4l0.1-0.4l0.1-0.3
85
+ l0.1-0.3l0.1-0.2l0.1-0.3l0.1-0.2l0.1-0.3l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.1-0.1l0.3-0.2l0.1-0.1l0.2-0.2
86
+ l0.2-0.1l0.4-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.3h0.4h0.3h0.4h0.3h0.4l0.3,0.1l0.4,0.1l0.7,0.1l0.7,0.2l0.7,0.2
87
+ l0.7,0.2l0.7,0.2l0.7,0.2l1.2,0.4l1.2,0.4l0.6,0.2l0.6,0.2l0.5,0.2l0.5,0.1l0.5,0.1l0.4,0.1h0.2h0.2h0.2h0.2l1.7,0.2l1.7,0.2
88
+ l1.8,0.2l1.8,0.2l3.8,0.5l4,0.5l3.9,0.5l2,0.2l1.8,0.2l1.8,0.2l1.8,0.2l1.7,0.2l1.5,0.1h0.4h0.7h0.5l0.5-0.1l1-0.2l1-0.2l1-0.2
89
+ l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1h0.5h0.4h0.4h0.4L77.3,290.2z M330.2,321.8l-0.7,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1
90
+ l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.8h-0.8h-0.8h-0.8h-0.8H316h-0.7h-0.7h-0.7h-0.1
91
+ l0.2,0.1l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2
92
+ l0.5,0.1l0.4,0.1l0.9,0.3l0.9,0.3l0.9,0.3l0.9,0.2l0.9,0.2l0.9,0.2l1,0.2l0.9,0.2l1,0.2l1,0.2l1,0.2l1,0.2l1,0.2l1,0.1l1,0.1
93
+ l1,0.1l1,0.1l1,0.1l1,0.1l1,0.1l0.9,0.1l0.9,0.1l1,0.1l0.9,0.1h0.9h0.9h0.9h0.9h0.9h0.8h0.8h0.8h0.8h0.8h0.8h0.7h0.7h0.6h0.7h0.5
94
+ h0.4l0.5-0.1l0.8-0.1l0.9-0.1l1-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.2
95
+ l0.5-0.2l0.5-0.2l0.2-0.1h-0.1l-0.3-0.1l-0.7-0.2l-0.7-0.2l-0.6-0.2l-0.7-0.2l-0.5-0.1h-0.1H363l-0.4-0.1l-0.5-0.1l-0.7-0.1
96
+ l-0.8-0.1l-0.9-0.1l-1-0.1h-0.2l-0.7-0.1h-0.2h-0.1h-0.8h-0.8h-0.8h0.2h-1.6H352h-1.7h-0.8h-0.9h-0.8h-0.9H346h-0.8h-0.3h-0.3
97
+ h-0.4h-0.4h-0.4H343l-0.9,0.1l-0.9,0.1l-1,0.1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.3h-0.2h-0.3h-0.2l-0.3-0.1l-0.3-0.1
98
+ l-0.2-0.1l-0.3-0.1l-0.3-0.1L334,326l-0.2-0.1l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.3-0.2l-0.2-0.3l-0.2-0.3l-0.2-0.2l-0.1-0.2l-0.2-0.2
99
+ l-0.1-0.2l-0.1-0.2l-0.1-0.2l-0.2-0.4l-0.1-0.4l-0.1-0.4V322L330.2,321.8z M172.4,323.5l-0.9,0.1l-1,0.1l-1,0.1h-0.9h-1h-0.9h-0.9
100
+ h-0.9H164h-1.7h-1.6h-1.4h-0.7h-0.5h-0.5h-0.4l-3.4,0.2h-0.1l2.2,0.2l4.7,0.4l3.6,0.3h0.2l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1
101
+ l0.7-0.1l0.7-0.1l0.7-0.1l0.6-0.1l0.8-0.2l1.2-0.3L172.4,323.5L172.4,323.5z M394.4,320.2h-0.7H393h-0.7h-0.6l-1.1,0.1h-0.8h-0.6
102
+ h-0.4h-0.5h-0.7h-1.5h-1.8l-2,0.1l-2,0.1l-2.2,0.1l-4.5,0.2l-3,0.1l0.6,0.1l1.9,0.2l1.9,0.2l2,0.1l1,0.1l1,0.1l1,0.1l1,0.1h1h1
103
+ h0.9h1h1h1h0.9h0.9h0.9h0.9h0.9h0.9l0.9-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.3-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.3-0.1l0.4-0.1
104
+ l0.3-0.1l0.3-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.2-0.1l0.2-0.1h0.1h-0.2h-0.3h-0.4h-0.3l-0.7-0.1h-0.7h-0.7h-0.7h-0.7H395h-0.6V320.2z
105
+ M185.1,311.1v0.5l-0.1,0.5l0,0l-0.2,0.5l-0.3,0.5l0,0l-0.2,0.3l-0.3,0.2l0,0l-0.2,0.2l0,0l0.4,0.4l0.1,0.1l0.2,0.3h0.1l0.2,0.3
106
+ l0,0l0.1,0.3h0.1l0.1,0.4l0,0l0.1,0.3l0,0l0.1,0.3l0,0l-0.1,0.4v0.1l-0.1,0.5v0.1l-0.2,0.4l-0.1,0.1l-0.2,0.3l-0.1,0.2l-0.2,0.3
107
+ l-0.2,0.3l-0.2,0.3l-0.3,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.3l-0.4,0.2l-0.4,0.2l1.4-0.4l1.5-0.4l1.6-0.4l1.6-0.4l1.7-0.4l1.6-0.4
108
+ l1.6-0.5l1.7-0.5l1.6-0.5l1.6-0.5l1.6-0.5l0,0h-0.2l-1.1-0.2l-1.1-0.3l-1-0.3l-1.1-0.3l-1-0.3l-1.1-0.3l-1-0.3l-0.5-0.2l-0.5-0.2
109
+ l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.4-0.2l-0.2-0.1l-0.2-0.2h-0.1l-0.3-0.2l0,0l-0.4-0.3l0,0l-0.2-0.3l-0.2-0.3h-0.1
110
+ l-0.1-0.3l-0.5-0.1l-0.8-0.2L185.1,311.1z M222.2,319.9h0.4h1.1h1h1.1h1h1.1l-0.4-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.5-0.2
111
+ l-0.4-0.2l0,0h-0.6h-0.2H224h-0.1l-0.4-0.1l-0.2-0.1h-0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1l-0.4,0.1
112
+ l-0.3,0.1l-0.4,0.1l-0.4,0.1l-0.3,0.2h-0.1h1.6h0.8L222.2,319.9z M297.2,316.3l-2.4,0.3l-2.4,0.3l-2.4,0.3l-4.8,0.6l-4.8,0.6
113
+ l-2.4,0.3l-2.4,0.3h1h2.9h1.6h1.7h1.7h1.8l1.8-0.1l2-0.1h0.9h0.9l1-0.1l0.9-0.1l1-0.1l0.9-0.1l0.9-0.1l1-0.1l0.9-0.1l0.9-0.1
114
+ l1-0.1l0.9-0.1l0,0v-0.1l-0.1-0.3v-0.1l-0.1-0.3v-0.1v-0.3v-0.1v-0.3l0,0h-0.8h-1.2L297.2,316.3z M345.5,317.8L343,318l-0.9,0.1
115
+ l1.2,0.1l1.4,0.1l1.4,0.1h0.1l-0.1-0.2l0,0v-0.4L345.5,317.8z M159.4,308.6l-1.8,0.1l-1.8,0.1l-1.8,0.1h-0.5h-0.9h-1.3h-0.8h-0.8
116
+ h-0.9h-1h-1h-1.1h-1.1l-1.1,0.1l-1.1,0.1h-0.2l-0.1,0.2l-0.4,0.5l-0.4,0.3h0.1h0.7h0.6h0.6h0.6h0.6h1.1h1.1l1.2-0.1l1.1-0.1
117
+ l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l1.2-0.1l2.4-0.2l2.4-0.2l2-0.2l-0.8-0.2L159.4,308.6z M219.2,306.9l-2,0.1l-1.6,0.1l0.2,0.1
118
+ l0.3,0.2l0.3,0.2l0.4,0.2l0.3,0.2l0.3,0.2l0.3,0.2l0.3,0.2h0.1h0.8l3,0.1l3,0.1l6,0.2l6,0.2l3.5,0.1l3.5,0.1l3.5,0.1h0.1h-0.2
119
+ l-0.3-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.1-0.1h-0.6l-2-0.1l-2-0.1l-2-0.1l-2-0.1l-2-0.1l-2-0.2l-2-0.2l-0.9-0.1l-0.9-0.1
120
+ l-0.9-0.1l-0.9-0.1l-1.8-0.2l-1.8-0.2l-1.8-0.2l-1.4-0.2H219.2z M288.8,304.3h-1.2h-0.8l1.2,0.1h0.2l2.5-0.1l2.4-0.1l0,0h-0.8
121
+ h-1.2h-1.2L288.8,304.3z"
122
+ />
123
+ <path
124
+ fill="#DCDDDE"
125
+ d="M582.2,247.8h2.8h1.4h1.4h1.4h1.4h1.4h0.7h0.7h0.7h0.7h0.7h0.7l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1l0.7-0.1
126
+ l0.7-0.1l0.7-0.1l0.7-0.1l0.5-0.1l0.6-0.1l1.1-0.2l1.2-0.1l1.1-0.1l2-0.2l0.8-0.1h0.6l0.5,0.1l0.5,0.2l0.5,0.3l0.4,0.4l0.3,0.5
127
+ l0.2,0.5l0.1,0.6v0.6l-0.1,0.6l-0.2,0.5l-0.3,0.5l-0.4,0.4l-0.5,0.3l-0.5,0.2l-0.4,0.1h1.2h1.9l0.7-0.1l1.7-0.2l0.9-0.1l0.9-0.1
128
+ l0.8-0.1l0.9-0.1h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.5h0.4l0.4,0.1l0.9,0.1l0.9,0.2l0.9,0.2l0.5,0.1l0.4,0.1l0.4,0.1
129
+ l0.4,0.1l0.2,0.1l0.2,0.1h0.1l0.3,0.2l0.3,0.2h0.1l0,0h0.2h0.5h0.5h0.5l0.5,0.1l0.5,0.1l0.5,0.1l1.1,0.1l1.1,0.2l1,0.2l1,0.1
130
+ l0.9,0.1h0.4h0.4h0.3h0.4l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l0.9,0.1l1.8,0.3h0.1l1-0.1
131
+ l1.4-0.1l1.4-0.1l0.9-0.1l-0.4-0.2l-0.8-0.4l-0.2-0.1l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2h-0.1l-0.2-0.3h-0.1l-0.3-0.5l0,0
132
+ l-0.1-0.3l-0.1-0.3l0,0l-0.1-0.4l-0.1-0.4l0,0l0.1-0.4l0.1-0.4l0,0l0.2-0.3l0.2-0.3l0,0l0.4-0.5l0,0l0.4-0.3h0.1l0.2-0.2l0.2-0.1
133
+ l0.2-0.1l0.3-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.8h0.8h0.8h0.8h0.7h0.7l0.6,0.1l0.7,0.1l0.7,0.1
134
+ l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.8,0.2h1.1h0.8h0.7h0.7h0.6l1.6,0.1l1.6,0.1l1.6,0.1l1.5,0.1l1.6,0.1l1.5,0.1l1.6,0.1l1.5,0.1
135
+ l3,0.3l2.6,0.2h0.3h1.8h2.2h1.1h1.1h1.1h1.1h1.1h1.1h1.1h1.1l1.1,0.1l1.1,0.1l1.1,0.1l1.2,0.1l0.4,0.1l0.5,0.1l0.5,0.1h0.1
136
+ l0.1-0.1l0.2-0.2h0.1l0.4-0.2h0.1l0.2-0.1l0.2-0.1l0.3-0.1l0.3-0.1h0.2h0.2h0.3h0.2h0.3h0.6h0.6l0.6,0.1l0.5,0.2l0.5,0.3l0.5,0.4
137
+ l0.4,0.4l0.2,0.5l0.2,0.6l0,0h0.2l0.6,0.2l0.6,0.1l1.2,0.1l1.8,0.1l3.6,0.2l1.8,0.1l1.7,0.1l1.8,0.1h0.9h0.8h0.1h0.1h0.1h0.1h0.3
138
+ h0.3l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1l0.9-0.2l0.9-0.2l1-0.2l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1h0.3h0.2h0.3h0.3
139
+ h0.2h0.3h0.3l0.4,0.1l0.3,0.1l0.3,0.1l0.4,0.1l0.4,0.2l0.2,0.1l0.2,0.1l0.1,0.1l0.2,0.2l0.1,0.1l0.2,0.2l0.1,0.1l0.2,0.2l0.1,0.1
140
+ l0.2,0.3l0.1,0.1l0.1,0.3l0.1,0.1l0.1,0.2l0.1,0.1l0.1,0.3l0.1,0.3l0.1,0.4l0.1,0.4v0.3v0.3v0.1l-0.1,0.4v0.1l-0.1,0.4v0.1
141
+ l-0.1,0.1h0.2h0.9h0.8h0.9h0.9h0.9h0.5h0.6h0.6l0.7,0.1l0.7,0.1l0.7,0.1l0.7,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.1l0.3,0.1l0.4,0.1
142
+ l0.4,0.1l0.4,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.3,0.2l0.2,0.2l0.1,0.1l0.2,0.2l0,0l0.2,0.3h0.1l0.2,0.3l0.5-0.2l0.9-0.3l0.9-0.3
143
+ l0.9-0.3l1.6-0.5l2-0.6l1.1-0.3l1.1-0.3l1.1-0.3l1.1-0.3l0.9-0.3l0.9-0.2l0.4-0.1l0.4-0.1l0.4-0.1l0.4-0.1h0.4h0.3h0.1h0.4h0.1
144
+ l0.3,0.1l0.3,0.1h0.1l0.4,0.2l0.4,0.2l0.3,0.3h0.1l0.4,0.4l0.2,0.5l0.2,0.5l0.1,0.5l0,0l-0.1,0.6l-0.1,0.5l-0.2,0.5h-0.1l-0.2,0.3
145
+ l-0.2,0.2h-0.1l-0.3,0.3l-0.1,0.1l-0.2,0.2l-0.4,0.2l-0.4,0.2l-0.6,0.3l-0.5,0.3l-0.5,0.3l-0.5,0.2l-0.6,0.2l-0.5,0.2l-0.6,0.2
146
+ l-0.5,0.2l-0.6,0.2l-0.6,0.2l-0.5,0.2l-0.6,0.2l-0.6,0.2l-0.6,0.2l-1.2,0.4l-1.2,0.4l-1.2,0.4l-1.2,0.3l-1.2,0.3l0.8,0.1h0.4h7.9
147
+ h4h3.9h1.9h1.2h1.5h1.5h0.8h0.8h0.8h0.9l0.9,0.1l0.9,0.1l0.8,0.1l0.9,0.1l0.9,0.1l0.8,0.1l0.9,0.1l0.8,0.1l0.8,0.1l0.4,0.1
148
+ l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.3,0.1l0.4,0.1l0.4,0.1l0.3,0.2l0.4,0.2l0.3,0.2l0.4,0.2
149
+ l0.3,0.2l0.3,0.3l0.2,0.2l0.2,0.2l0.2,0.3l0.1,0.2l0.2,0.3v0.1l0.1,0.3l0.1,0.1l0.1,0.5v0.1v0.6v0.1v0.3l-0.1,0.3v0.1l-0.1,0.3
150
+ l-0.2,0.3l0,0l-0.2,0.3l-0.2,0.3l0,0l-0.4,0.3l0,0l-0.4,0.3h-0.1l-0.3,0.1H804l-0.2,0.1l-0.2,0.1l-0.2,0.1h-0.2h-0.3h-0.4h-0.4
151
+ h-0.4h-0.4h-0.4h-0.4H800l-0.8-0.1l-0.9-0.1l-1.7-0.3l-0.8-0.1h-0.4H795h-0.3h-0.3h-0.2H794h-2.6h-2.5h-1.2h-1.2h-1.2h-1.2h-1.2
152
+ l-1.2-0.1H781h-0.6h-0.7h-0.6l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1
153
+ l-1.4-0.2l-1.4-0.3l-1.5-0.3l-3.3-0.6h-0.2h-3h-4h-3.9h-4h-4h-2h-2h-0.8l-0.4,0.1l-0.7,0.2l-1.4,0.5l-1.4,0.5l-0.8,0.2l-0.7,0.3
154
+ l-0.8,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.4,0.1l-0.4,0.1l-0.3,0.1l-0.3,0.1l-0.7,0.1l-0.7,0.1
155
+ l-0.7,0.1h-0.8H725h-0.4h-0.4h-0.4h-0.1l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.7,0.1l-0.7,0.1
156
+ l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-1.3,0.2l-1.4,0.1l-1.4,0.1
157
+ l-1.4,0.1l-1.4,0.1l-1.4,0.1l-1.4,0.1h-1.4h-1.4h-1.3h-1.4h-1.4h-1.4H691h-1.3h-1.4H687h-1.4h-1.3l-1.2-0.1l-1.1-0.1l-1.2-0.1
158
+ h-0.6l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.6-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-1.4-0.2l-0.7-0.1
159
+ l-0.8-0.1l-0.8-0.2l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.2-0.2l-0.2-0.1
160
+ l-0.2-0.2l-0.2-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.2l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.1-0.4l-0.1-0.1l-0.1-0.5v-0.1l-0.1-0.5v-0.1
161
+ l0.1-0.5v-0.1l0.1-0.5v-0.1l0.2-0.4l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.2-0.1l0.2-0.2l0.2-0.2l0.3-0.2l0.3-0.2
162
+ l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.4-0.1l0.7-0.3l0.7-0.3l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2l0.7-0.2
163
+ l0.7-0.2l0.7-0.2l0.8-0.2l0.7-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1l0.8-0.1h0.1v-0.1v-0.1l0.1-0.4V266l0.1-0.3v-0.1
164
+ l0.2-0.3v-0.1l0.1-0.1l-0.5-0.1l-0.8-0.1l-0.9-0.1l-0.8-0.2l-0.9-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.8-0.2l-0.6-0.2h-0.2h-0.5
165
+ h-0.5h-0.5l-0.9-0.1l-0.9-0.1l-0.8-0.1L670,263h-0.7l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1l-0.9-0.1h-0.1l-1.2,0.2
166
+ l-1.2,0.2l-1.2,0.2l-1.2,0.2l-1.3,0.2l-1.2,0.2l-1.2,0.2l-1.2,0.2l-0.6,0.1l-0.7,0.1l-0.6,0.1l-0.7,0.1l-0.6,0.1l-0.6,0.1h-0.7
167
+ H649h-0.6h-0.7h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6h-0.6l-0.6-0.1l-0.5-0.1l-0.6-0.1l-0.6-0.1l-0.5-0.1l-0.6-0.1l-0.5-0.1
168
+ l-0.6-0.1l-0.5-0.1l-0.5-0.2l-0.5-0.2l-0.5-0.2l-0.6-0.2l-0.4-0.2l-3.7,0.5l-2.8,0.3l-2.7,0.3l-0.9,0.1l-0.9,0.1l-0.9,0.1
169
+ l-0.9,0.1l-0.8,0.1l-0.9,0.1l-0.9,0.1l-0.8,0.1h-0.8h-0.9h-0.8h-0.8l-1.6,0.1H612h-1.6h-1.6h-1.7h-1l-0.5,0.2l-0.7,0.3l-0.7,0.3
170
+ l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.7,0.3l-0.8,0.2l-0.7,0.2l-0.7,0.2l-0.8,0.2l-0.7,0.2l-0.8,0.2l-0.7,0.2
171
+ l-0.8,0.2l-0.8,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.2l-1.5,0.3l-1.5,0.3l-1.5,0.3l-0.7,0.1l-1.1,0.4
172
+ l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.3,0.5l-1.4,0.5l-1.4,0.5l-1.3,0.5l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2
173
+ l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2L564,278l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.7,0.1l-0.4,0.1l-0.4,0.1l-0.9,0.2l-2.3,0.6
174
+ l-1.4,0.3l-0.7,0.2l-0.7,0.2l-0.7,0.2l-0.8,0.2l-0.8,0.2l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1l-0.8,0.1h-0.4h-0.4h-0.4
175
+ H545h-0.4h-0.4h-0.4h-0.4H543h-0.4h-0.4l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.1l-0.4-0.2l-0.4-0.2
176
+ l-0.4-0.2l-0.4-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.2-0.2l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.2-0.3l-0.1-0.1l-0.2-0.4v-0.1l-0.1-0.5
177
+ l-0.1-0.1V277v-0.1v-0.5l0.1-0.1l0.1-0.5v-0.1l0.2-0.4l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.1-0.1l0.2-0.2l0.2-0.2
178
+ l0.2-0.1l0.2-0.1l0.2-0.1l0.4-0.2l0.4-0.2l0.4-0.1l0.5-0.1l0.4-0.1l0.5-0.1l0.4-0.1l0.5-0.1l0.9-0.2l0.9-0.2l0.9-0.2l0.9-0.2
179
+ l0.8-0.2l0.7-0.2l0.2-0.1l0.3-0.1l1.3-0.4l0.7-0.2l0.6-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.4-0.1l0.4-0.1l0.8-0.1l0.8-0.1
180
+ l0.7-0.1l1.4-0.2l0.7-0.1l0.7-0.1l0.8-0.1l0.9-0.2l1.1-0.2l1.2-0.2l1.3-0.2l1.3-0.2l1.4-0.2l1.4-0.2l1.4-0.2l1.4-0.2l2.9-0.4
181
+ l3-0.5l1.5-0.2l1.5-0.2l1.5-0.2h0.2l0.8-0.4l2.5-1.1l2.5-1.1l-0.1-0.1h-9.7h-0.2h-0.2h-0.4h-0.5h-0.6l-1.2,0.1l-0.7,0.1l-0.6,0.1
182
+ h-0.7h-0.5h-0.3h-0.3h-0.3h-0.3h-0.2l-0.5-0.1h-0.1l-0.3-0.1l-0.3-0.2l0,0l-0.3-0.2l-0.2-0.2h-0.1l-0.1-0.1l-0.5,0.1l-0.7,0.1
183
+ l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1h-0.7h-0.7h-0.7H561h-0.7h-0.7h-0.7h-0.7h-0.7h-0.7l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1
184
+ l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-1-0.2l-2.4,0.6l-1.7,0.4l-1.8,0.4
185
+ l-2,0.4l-2,0.4L534,264l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2l-1.1,0.2L523,266l-1.1,0.2
186
+ l-1.1,0.2l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1l-1.1,0.1H512h-1.1h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5h-0.5
187
+ h-0.5h-0.5l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.5-0.1l-0.4-0.1l-0.5-0.1l-0.4-0.1l-0.4-0.1l-0.5-0.1
188
+ l-0.4-0.1l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.2l-0.4-0.3l-0.4-0.3l-0.4-0.3l-0.3-0.3
189
+ l-0.3-0.3l-0.3-0.3l-0.3-0.3l-0.2-0.4l-0.3-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.2-0.4l-0.1-0.3l-0.1-0.3l-0.1-0.2v-0.3v-0.2
190
+ l-0.1-0.3l0.1-0.2v-0.3v-0.2l0.1-0.3v-0.2l0.1-0.3l0.1-0.1l0.1-0.3l0.1-0.1l0.2-0.3l0.1-0.1l0.2-0.2l0.2-0.2l0.3-0.3l0.3-0.3
191
+ l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.2l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.3-0.1l0.6-0.1
192
+ l0.6-0.1l0.7-0.1l0.6-0.1h0.6h0.6h0.5h0.3v-0.1l-0.1-0.1l-0.1-0.2l-0.1-0.3l-0.1-0.3v-0.3v-0.3v-0.3l0.1-0.3l0.1-0.3l0.1-0.3
193
+ l0.1-0.3l0.1-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.1-0.2l0.2-0.2l0.2-0.2l0.4-0.3l0.4-0.3l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.2l0.4-0.1
194
+ l0.4-0.1l0.4-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.7-0.1l0.7-0.1l0.7-0.1h0.7h0.6h0.6h0.6h0.6
195
+ h0.6h0.6h1.1h2.2h1.1h1.1h8.9h0.3h0.2h0.2h0.2h0.2h0.2h0.3h0.3l0.5-0.1l0.6-0.1l0.7-0.1l0.6-0.1l0.7-0.1l0.7-0.2l1.4-0.3l0.7-0.2
196
+ l0.7-0.2l0.7-0.1l0.7-0.1l0.7-0.1l0.4-0.1h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4h0.4l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1
197
+ l0.4,0.1l0.4,0.1l0.4,0.2l0.4,0.2l0.4,0.2l0.4,0.2l0.3,0.2l0.4,0.3l0.3,0.3l0.4,0.3l0.3,0.3l0.2,0.3l0.3,0.3l0.1,0.2l0.1,0.2
198
+ l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2l0.1,0.2v0.2l0.5,0.1l1.5,0.2l1.4,0.2l0.7,0.1l0.6,0.1l0.6,0.1l0.5,0.1
199
+ l1,0.1l0.9,0.1l1,0.1l1,0.1l0.9,0.1h0.5l0,0l0.2-0.2l0.2-0.2l0.2-0.1l0.2-0.1l0.3-0.1l0.2-0.1l0.2-0.1l0.5-0.2l0.5-0.2l0.5-0.2
200
+ l0.5-0.2l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.6-0.1l0.5-0.1l0.6-0.1l0.5-0.1l0.5-0.1h0.5h0.5h0.5
201
+ h0.4h1.5L582.2,247.8z M689.3,272.3h-0.8h-0.8h-0.8h-0.8h-0.8l-0.8,0.1l-0.7,0.1l-0.8,0.1l-0.8,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1
202
+ l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.7,0.1l-0.5,0.1l0.4,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1l0.5,0.1
203
+ l0.5,0.1h0.5l1.1,0.1l1.1,0.1l1.1,0.1h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3h1.3l1.3-0.1l1.3-0.1l1.3-0.1l1.2-0.1l1.3-0.1
204
+ l1.3-0.1l1.3-0.1l0.6-0.1l0.7-0.1l0.7-0.1l0.6-0.1h0.2h-1.4h-1.5H706h-1.5H703h-1.5H700l-1.2-0.1l-1.2-0.1l-1.3-0.1h-0.7H695
205
+ l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.7-0.1l-0.6-0.1l-0.5-0.1L689.3,272.3z M504.5,259h-0.4h-0.5h-0.5h-0.5
206
+ h-0.5h-0.5l-0.4,0.1l-0.5,0.1l-0.4,0.1h-0.2H500l0.2,0.1l0.1,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1l0.2,0.1
207
+ l0.2,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.3,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1l0.4,0.1h0.4h0.4h0.4h0.4h0.4
208
+ h0.4h0.5h0.4h0.5h0.4h0.5h0.5h0.9h1l1-0.1l1-0.1l1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1.1-0.1l1-0.1l-1-0.1l-1.1-0.1l-1.1-0.1
209
+ l-2.1-0.2l-2.1-0.3l-2.1-0.2l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-1-0.1l-0.9-0.1h-0.2h-0.5h-0.7h-0.8L504.5,259L504.5,259z M624.9,258.1
210
+ l-0.1,0.2l1.5-0.2h0.1l0,0H624.9L624.9,258.1L624.9,258.1z M707.9,257.6l0.5,0.1l0.5,0.1l0.6,0.1l0.7,0.1l1.2,0.2l1.4,0.2h0.2
211
+ l0.3-0.1l0,0l-0.4-0.2l-0.4-0.2l0,0l-0.9-0.1l-2.3-0.1l-2-0.1h-0.2H707.9z"
212
+ />
213
+ </g>
214
+ <g transform="matrix(0.998358,0.0572833,-0.0572833,0.998358,15.545,-79.3702)">
215
+ <g>
216
+ <g>
217
+ <g transform="matrix(1,0,0,1,398.965,43.2222)">
218
+ <path
219
+ fill="#0096FF"
220
+ d="M73.8,141.4c0.7,0.2-1.1-1-1.5-1.6c-0.9-1.5,2.2-4.9,2.2-4.9c3.4-5.2,7.1-9.9,11-14.8
221
+ c1.8-2.2,2.9-7.9,5.5-6.6c2.4,1.2-12.2,20.2-13.7,21.9c-1.4,1.6-4.4,6.5-4.4,4.4c0-8.8,14.7-31.8,23-34.6
222
+ c1.9-0.6-1.5,3.8-2.7,5.5c-0.4,0.5-9.3,12.1-11.5,9.9c-1.4-1.4,1.7-7,2.2-7.7c4.6-7.2,10.6-13.6,17-19.2
223
+ c2.6-2.3,5.1-4.9,7.7-7.1c1.3-1.1,3.8-5,3.8-3.3c0,5-10.9,14.5-14.3,18.1c-1.6,1.7-3.8,6-5.5,4.4c-2.2-2.2,3.5-5.2,5.5-7.7
224
+ c5.4-6.7,11-13,17.6-18.7c2-1.7,5.3-4.6,7.7-6c2-1.2,6.5-6.5,5.5-4.