gina 0.6.22 → 0.6.23

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 (599) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +18 -16
  3. package/ROADMAP.md +13 -0
  4. package/framework/v0.6.23/VERSION +1 -0
  5. package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/js/gina.js +22 -5
  6. package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +249 -249
  7. package/framework/v0.6.23/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  8. package/framework/v0.6.23/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  9. package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.js +38 -8
  10. package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-nunjucks.js +6 -5
  11. package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-swig.js +10 -6
  12. package/framework/v0.6.23/core/controller/inline-script.js +108 -0
  13. package/framework/{v0.6.22 → v0.6.23}/core/server.isaac.js +13 -0
  14. package/framework/{v0.6.22 → v0.6.23}/core/server.js +129 -1
  15. package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/templates.json +3 -0
  16. package/framework/{v0.6.22 → v0.6.23}/core/template/conf/settings.json +63 -2
  17. package/framework/{v0.6.22 → v0.6.23}/core/template/conf/templates.json +1 -0
  18. package/framework/{v0.6.22 → v0.6.23}/lib/index.js +17 -0
  19. package/framework/{v0.6.22 → v0.6.23}/lib/merge/src/main.js +22 -5
  20. package/framework/v0.6.23/lib/security-headers-emitter/package.json +18 -0
  21. package/framework/v0.6.23/lib/security-headers-emitter/src/main.js +225 -0
  22. package/framework/v0.6.23/lib/sri/package.json +18 -0
  23. package/framework/v0.6.23/lib/sri/src/main.js +237 -0
  24. package/framework/{v0.6.22 → v0.6.23}/package.json +1 -1
  25. package/gna.js +4 -4
  26. package/llms.txt +2 -1
  27. package/package.json +3 -3
  28. package/schema/settings.json +47 -0
  29. package/types/index.d.ts +16 -0
  30. package/framework/v0.6.22/VERSION +0 -1
  31. package/framework/v0.6.22/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  32. package/framework/v0.6.22/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  33. /package/framework/{v0.6.22 → v0.6.23}/AUTHORS +0 -0
  34. /package/framework/{v0.6.22 → v0.6.23}/LICENSE +0 -0
  35. /package/framework/{v0.6.22 → v0.6.23}/core/asset/html/nolayout.html +0 -0
  36. /package/framework/{v0.6.22 → v0.6.23}/core/asset/html/static.html +0 -0
  37. /package/framework/{v0.6.22 → v0.6.23}/core/asset/img/android-chrome-192x192.png +0 -0
  38. /package/framework/{v0.6.22 → v0.6.23}/core/asset/img/android-chrome-512x512.png +0 -0
  39. /package/framework/{v0.6.22 → v0.6.23}/core/asset/img/apple-touch-icon.png +0 -0
  40. /package/framework/{v0.6.22 → v0.6.23}/core/asset/img/favicon-16x16.png +0 -0
  41. /package/framework/{v0.6.22 → v0.6.23}/core/asset/img/favicon-32x32.png +0 -0
  42. /package/framework/{v0.6.22 → v0.6.23}/core/asset/img/favicon.ico +0 -0
  43. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/README.md +0 -0
  44. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  45. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  46. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  47. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  48. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  49. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  50. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  51. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  52. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  53. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  54. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  55. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  56. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  57. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  58. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  59. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  60. /package/framework/{v0.6.22 → v0.6.23}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  61. /package/framework/{v0.6.22 → v0.6.23}/core/config.js +0 -0
  62. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/ai/index.js +0 -0
  63. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/ai/lib/connector.js +0 -0
  64. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/index.js +0 -0
  65. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/connector.js +0 -0
  66. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  67. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  68. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/n1ql.js +0 -0
  69. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/session-store.js +0 -0
  70. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  71. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  72. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/couchbase/lib/storage-store.js +0 -0
  73. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/duckdb/index.js +0 -0
  74. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/duckdb/lib/connector.js +0 -0
  75. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mongodb/index.js +0 -0
  76. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mongodb/lib/connector.js +0 -0
  77. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mongodb/lib/job-store.js +0 -0
  78. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  79. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mongodb/lib/session-store.js +0 -0
  80. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mysql/index.js +0 -0
  81. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/mysql/lib/connector.js +0 -0
  82. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/param-redact.js +0 -0
  83. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/postgresql/index.js +0 -0
  84. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/postgresql/lib/connector.js +0 -0
  85. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/redis/index.js +0 -0
  86. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/redis/lib/connector.js +0 -0
  87. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/redis/lib/job-store.js +0 -0
  88. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/redis/lib/kv-store.js +0 -0
  89. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/redis/lib/render-cache-store.js +0 -0
  90. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/redis/lib/session-store.js +0 -0
  91. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/scylladb/index.js +0 -0
  92. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/scylladb/lib/connector.js +0 -0
  93. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/scylladb/lib/session-store.js +0 -0
  94. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/settle-once.js +0 -0
  95. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/sql-parser.js +0 -0
  96. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/sqlite/index.js +0 -0
  97. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/sqlite/lib/connector.js +0 -0
  98. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/sqlite/lib/job-store.js +0 -0
  99. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/sqlite/lib/kv-store.js +0 -0
  100. /package/framework/{v0.6.22 → v0.6.23}/core/connectors/sqlite/lib/session-store.js +0 -0
  101. /package/framework/{v0.6.22 → v0.6.23}/core/content.encoding +0 -0
  102. /package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.framework.js +0 -0
  103. /package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-json.js +0 -0
  104. /package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-nunjucks-async.js +0 -0
  105. /package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-stream.js +0 -0
  106. /package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-swig-async.js +0 -0
  107. /package/framework/{v0.6.22 → v0.6.23}/core/controller/controller.render-v1.js +0 -0
  108. /package/framework/{v0.6.22 → v0.6.23}/core/controller/index.js +0 -0
  109. /package/framework/{v0.6.22 → v0.6.23}/core/controller/inspector-window-emit.js +0 -0
  110. /package/framework/{v0.6.22 → v0.6.23}/core/controller/release-banner.js +0 -0
  111. /package/framework/{v0.6.22 → v0.6.23}/core/dev/index.js +0 -0
  112. /package/framework/{v0.6.22 → v0.6.23}/core/dev/lib/class.js +0 -0
  113. /package/framework/{v0.6.22 → v0.6.23}/core/dev/lib/factory.js +0 -0
  114. /package/framework/{v0.6.22 → v0.6.23}/core/dev/lib/tools.js +0 -0
  115. /package/framework/{v0.6.22 → v0.6.23}/core/gna.js +0 -0
  116. /package/framework/{v0.6.22 → v0.6.23}/core/locales/README.md +0 -0
  117. /package/framework/{v0.6.22 → v0.6.23}/core/locales/currency.json +0 -0
  118. /package/framework/{v0.6.22 → v0.6.23}/core/locales/dist/language/en.json +0 -0
  119. /package/framework/{v0.6.22 → v0.6.23}/core/locales/dist/language/fr.json +0 -0
  120. /package/framework/{v0.6.22 → v0.6.23}/core/locales/dist/region/en.json +0 -0
  121. /package/framework/{v0.6.22 → v0.6.23}/core/locales/dist/region/fr.json +0 -0
  122. /package/framework/{v0.6.22 → v0.6.23}/core/locales/index.js +0 -0
  123. /package/framework/{v0.6.22 → v0.6.23}/core/mime.types +0 -0
  124. /package/framework/{v0.6.22 → v0.6.23}/core/model/entity.js +0 -0
  125. /package/framework/{v0.6.22 → v0.6.23}/core/model/index.js +0 -0
  126. /package/framework/{v0.6.22 → v0.6.23}/core/model/template/entityFactory.js +0 -0
  127. /package/framework/{v0.6.22 → v0.6.23}/core/model/template/index.js +0 -0
  128. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/README.md +0 -0
  129. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/index.js +0 -0
  130. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/csrf/README.md +0 -0
  131. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/csrf/package.json +0 -0
  132. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/csrf/src/main.js +0 -0
  133. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/README.md +0 -0
  134. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/coep/README.md +0 -0
  135. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/coep/package.json +0 -0
  136. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  137. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/coop/README.md +0 -0
  138. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/coop/package.json +0 -0
  139. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  140. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/corp/README.md +0 -0
  141. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/corp/package.json +0 -0
  142. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  143. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/csp/README.md +0 -0
  144. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/csp/package.json +0 -0
  145. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  146. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  147. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  148. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  149. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  150. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  151. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  152. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  153. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  154. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  155. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/package.json +0 -0
  156. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  157. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  158. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  159. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/src/main.js +0 -0
  160. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  161. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  162. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  163. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  164. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  165. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  166. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  167. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  168. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  169. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  170. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  171. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  172. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  173. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  174. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  175. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  176. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  177. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  178. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/session/README.md +0 -0
  179. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/session/package.json +0 -0
  180. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/session/src/main.js +0 -0
  181. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/storage/README.md +0 -0
  182. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/storage/build.json +0 -0
  183. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/storage/package.json +0 -0
  184. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/storage/src/main.js +0 -0
  185. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/validator/README.md +0 -0
  186. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/validator/build.json +0 -0
  187. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/validator/package.json +0 -0
  188. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/validator/src/form-validator.js +0 -0
  189. /package/framework/{v0.6.22 → v0.6.23}/core/plugins/lib/validator/src/main.js +0 -0
  190. /package/framework/{v0.6.22 → v0.6.23}/core/router.js +0 -0
  191. /package/framework/{v0.6.22 → v0.6.23}/core/server.express.js +0 -0
  192. /package/framework/{v0.6.22 → v0.6.23}/core/status.codes +0 -0
  193. /package/framework/{v0.6.22 → v0.6.23}/core/template/_gitignore +0 -0
  194. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/app.json +0 -0
  195. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  196. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/routing.json +0 -0
  197. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/settings.json +0 -0
  198. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  199. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  200. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  201. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  202. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  203. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/index.js +0 -0
  204. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle/locales/en.json +0 -0
  205. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  206. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  207. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  208. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  209. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  210. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
  211. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  212. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  213. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/readme.md +0 -0
  214. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_public/sw.js +0 -0
  215. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  216. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  217. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  218. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  219. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
  220. /package/framework/{v0.6.22 → v0.6.23}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  221. /package/framework/{v0.6.22 → v0.6.23}/core/template/command/gina.bat.tpl +0 -0
  222. /package/framework/{v0.6.22 → v0.6.23}/core/template/command/gina.tpl +0 -0
  223. /package/framework/{v0.6.22 → v0.6.23}/core/template/conf/env.json +0 -0
  224. /package/framework/{v0.6.22 → v0.6.23}/core/template/conf/manifest.json +0 -0
  225. /package/framework/{v0.6.22 → v0.6.23}/core/template/conf/package.json +0 -0
  226. /package/framework/{v0.6.22 → v0.6.23}/core/template/conf/statics.json +0 -0
  227. /package/framework/{v0.6.22 → v0.6.23}/core/template/error/client/json/401.json +0 -0
  228. /package/framework/{v0.6.22 → v0.6.23}/core/template/error/client/json/403.json +0 -0
  229. /package/framework/{v0.6.22 → v0.6.23}/core/template/error/client/json/404.json +0 -0
  230. /package/framework/{v0.6.22 → v0.6.23}/core/template/error/server/html/50x.html +0 -0
  231. /package/framework/{v0.6.22 → v0.6.23}/core/template/error/server/json/500.json +0 -0
  232. /package/framework/{v0.6.22 → v0.6.23}/core/template/error/server/json/503.json +0 -0
  233. /package/framework/{v0.6.22 → v0.6.23}/core/template/extensions/logger/config.json +0 -0
  234. /package/framework/{v0.6.22 → v0.6.23}/helpers/console.js +0 -0
  235. /package/framework/{v0.6.22 → v0.6.23}/helpers/context.js +0 -0
  236. /package/framework/{v0.6.22 → v0.6.23}/helpers/data/LICENSE +0 -0
  237. /package/framework/{v0.6.22 → v0.6.23}/helpers/data/README.md +0 -0
  238. /package/framework/{v0.6.22 → v0.6.23}/helpers/data/package.json +0 -0
  239. /package/framework/{v0.6.22 → v0.6.23}/helpers/data/src/main.js +0 -0
  240. /package/framework/{v0.6.22 → v0.6.23}/helpers/dateFormat.js +0 -0
  241. /package/framework/{v0.6.22 → v0.6.23}/helpers/index.js +0 -0
  242. /package/framework/{v0.6.22 → v0.6.23}/helpers/json/LICENSE +0 -0
  243. /package/framework/{v0.6.22 → v0.6.23}/helpers/json/README.md +0 -0
  244. /package/framework/{v0.6.22 → v0.6.23}/helpers/json/package.json +0 -0
  245. /package/framework/{v0.6.22 → v0.6.23}/helpers/json/src/main.js +0 -0
  246. /package/framework/{v0.6.22 → v0.6.23}/helpers/path.js +0 -0
  247. /package/framework/{v0.6.22 → v0.6.23}/helpers/plugins/README.md +0 -0
  248. /package/framework/{v0.6.22 → v0.6.23}/helpers/plugins/package.json +0 -0
  249. /package/framework/{v0.6.22 → v0.6.23}/helpers/plugins/src/api-error.js +0 -0
  250. /package/framework/{v0.6.22 → v0.6.23}/helpers/plugins/src/main.js +0 -0
  251. /package/framework/{v0.6.22 → v0.6.23}/helpers/prototypes.js +0 -0
  252. /package/framework/{v0.6.22 → v0.6.23}/helpers/task.js +0 -0
  253. /package/framework/{v0.6.22 → v0.6.23}/helpers/text.js +0 -0
  254. /package/framework/{v0.6.22 → v0.6.23}/lib/admin/package.json +0 -0
  255. /package/framework/{v0.6.22 → v0.6.23}/lib/admin/src/main.js +0 -0
  256. /package/framework/{v0.6.22 → v0.6.23}/lib/archiver/README.md +0 -0
  257. /package/framework/{v0.6.22 → v0.6.23}/lib/archiver/build.json +0 -0
  258. /package/framework/{v0.6.22 → v0.6.23}/lib/archiver/package.json +0 -0
  259. /package/framework/{v0.6.22 → v0.6.23}/lib/archiver/src/dep/jszip.min.js +0 -0
  260. /package/framework/{v0.6.22 → v0.6.23}/lib/archiver/src/main.js +0 -0
  261. /package/framework/{v0.6.22 → v0.6.23}/lib/async/package.json +0 -0
  262. /package/framework/{v0.6.22 → v0.6.23}/lib/async/src/main.js +0 -0
  263. /package/framework/{v0.6.22 → v0.6.23}/lib/audit/package.json +0 -0
  264. /package/framework/{v0.6.22 → v0.6.23}/lib/audit/src/main.js +0 -0
  265. /package/framework/{v0.6.22 → v0.6.23}/lib/audit-store.js +0 -0
  266. /package/framework/{v0.6.22 → v0.6.23}/lib/authn/package.json +0 -0
  267. /package/framework/{v0.6.22 → v0.6.23}/lib/authn/src/lockout.js +0 -0
  268. /package/framework/{v0.6.22 → v0.6.23}/lib/authn/src/main.js +0 -0
  269. /package/framework/{v0.6.22 → v0.6.23}/lib/authn/src/totp.js +0 -0
  270. /package/framework/{v0.6.22 → v0.6.23}/lib/authz-gate/package.json +0 -0
  271. /package/framework/{v0.6.22 → v0.6.23}/lib/authz-gate/src/main.js +0 -0
  272. /package/framework/{v0.6.22 → v0.6.23}/lib/cache/README.md +0 -0
  273. /package/framework/{v0.6.22 → v0.6.23}/lib/cache/build.json +0 -0
  274. /package/framework/{v0.6.22 → v0.6.23}/lib/cache/package.json +0 -0
  275. /package/framework/{v0.6.22 → v0.6.23}/lib/cache/src/main.js +0 -0
  276. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/aliases.json +0 -0
  277. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/audit/arguments.json +0 -0
  278. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/audit/help.txt +0 -0
  279. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/audit/verify.js +0 -0
  280. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/add.js +0 -0
  281. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/arguments.json +0 -0
  282. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/build.js +0 -0
  283. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/copy.js +0 -0
  284. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/cp.js +0 -0
  285. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/help.js +0 -0
  286. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/help.txt +0 -0
  287. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  288. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/list.js +0 -0
  289. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/man.js +0 -0
  290. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/mcp-start.js +0 -0
  291. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/mcp.js +0 -0
  292. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/oas.js +0 -0
  293. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/openapi.js +0 -0
  294. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/remove.js +0 -0
  295. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/rename.js +0 -0
  296. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/restart.js +0 -0
  297. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/rm.js +0 -0
  298. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/start.js +0 -0
  299. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/status.js +0 -0
  300. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/stop.js +0 -0
  301. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/bundle/types.js +0 -0
  302. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/cache/arguments.json +0 -0
  303. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/cache/clear.js +0 -0
  304. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/cache/help.txt +0 -0
  305. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/cache/stats.js +0 -0
  306. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/add.js +0 -0
  307. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/arguments.json +0 -0
  308. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/help.js +0 -0
  309. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/help.txt +0 -0
  310. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/infer.js +0 -0
  311. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/list.js +0 -0
  312. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/migrate.js +0 -0
  313. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/models.js +0 -0
  314. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/remove.js +0 -0
  315. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/rm.js +0 -0
  316. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/connector/test.js +0 -0
  317. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/container/arguments.json +0 -0
  318. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/container/help.js +0 -0
  319. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/container/help.txt +0 -0
  320. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/container/man.js +0 -0
  321. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/container/ps.js +0 -0
  322. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/container/stop.js +0 -0
  323. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/add.js +0 -0
  324. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/arguments.json +0 -0
  325. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/help.txt +0 -0
  326. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/inc/args.js +0 -0
  327. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/inc/namespace.js +0 -0
  328. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
  329. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/inc/reference-scan.js +0 -0
  330. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/inc/scaffold.js +0 -0
  331. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/remove.js +0 -0
  332. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/rename.js +0 -0
  333. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/controller/rm.js +0 -0
  334. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/add.js +0 -0
  335. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/get.js +0 -0
  336. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/help.js +0 -0
  337. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/help.txt +0 -0
  338. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/link-dev.js +0 -0
  339. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/list.js +0 -0
  340. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/remove.js +0 -0
  341. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/rm.js +0 -0
  342. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/set.js +0 -0
  343. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/unset.js +0 -0
  344. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/env/use.js +0 -0
  345. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/add.js +0 -0
  346. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/arguments.json +0 -0
  347. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/build.js +0 -0
  348. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/dot.js +0 -0
  349. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/get.js +0 -0
  350. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/help.js +0 -0
  351. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/help.txt +0 -0
  352. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/init.js +0 -0
  353. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/link-node-modules.js +0 -0
  354. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/link.js +0 -0
  355. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/list.js +0 -0
  356. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/man.js +0 -0
  357. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/msg.json +0 -0
  358. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/open.js +0 -0
  359. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/remove.js +0 -0
  360. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/reset.js +0 -0
  361. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/restart.js +0 -0
  362. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/set.js +0 -0
  363. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/start.js +0 -0
  364. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/status.js +0 -0
  365. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/stop.js +0 -0
  366. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/tail.js +0 -0
  367. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/update.js +0 -0
  368. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/framework/version.js +0 -0
  369. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/gina-dev.1.md +0 -0
  370. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/gina-framework.1.md +0 -0
  371. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/gina.1.md +0 -0
  372. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/helper.js +0 -0
  373. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/add.js +0 -0
  374. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/arguments.json +0 -0
  375. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/export.js +0 -0
  376. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/help.js +0 -0
  377. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/help.txt +0 -0
  378. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/import.js +0 -0
  379. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/i18n/scan.js +0 -0
  380. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/_host.js +0 -0
  381. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/arguments.json +0 -0
  382. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/build.js +0 -0
  383. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/help.js +0 -0
  384. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/help.txt +0 -0
  385. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/list.js +0 -0
  386. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/man.js +0 -0
  387. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/rm.js +0 -0
  388. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/image/run.js +0 -0
  389. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/index.js +0 -0
  390. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/inspector/help.js +0 -0
  391. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/inspector/help.txt +0 -0
  392. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/inspector/open.js +0 -0
  393. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/man-render.js +0 -0
  394. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/minion/arguments.json +0 -0
  395. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/minion/help.js +0 -0
  396. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/minion/help.txt +0 -0
  397. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/minion/kill.js +0 -0
  398. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/minion/list.js +0 -0
  399. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/msg.json +0 -0
  400. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/port/help.js +0 -0
  401. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/port/help.txt +0 -0
  402. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/port/inc/scan.js +0 -0
  403. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/port/list.js +0 -0
  404. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/port/reset.js +0 -0
  405. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/port/set.js +0 -0
  406. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/add.js +0 -0
  407. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/arguments.json +0 -0
  408. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/backup.js +0 -0
  409. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/build.js +0 -0
  410. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/help.js +0 -0
  411. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/help.txt +0 -0
  412. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/import.js +0 -0
  413. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/list.js +0 -0
  414. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/man.js +0 -0
  415. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/move.js +0 -0
  416. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/remove.js +0 -0
  417. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/rename.js +0 -0
  418. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/restart.js +0 -0
  419. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/restore.js +0 -0
  420. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/rm.js +0 -0
  421. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/start.js +0 -0
  422. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/status.js +0 -0
  423. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/project/stop.js +0 -0
  424. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/protocol/arguments.json +0 -0
  425. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/protocol/help.js +0 -0
  426. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/protocol/help.txt +0 -0
  427. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/protocol/list.js +0 -0
  428. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/protocol/remove.js +0 -0
  429. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/protocol/set.js +0 -0
  430. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/add.js +0 -0
  431. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/help.js +0 -0
  432. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/help.txt +0 -0
  433. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/link-local.js +0 -0
  434. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/link-production.js +0 -0
  435. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/list.js +0 -0
  436. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/remove.js +0 -0
  437. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/rm.js +0 -0
  438. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/scope/use.js +0 -0
  439. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/secrets/arguments.json +0 -0
  440. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/secrets/check.js +0 -0
  441. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/secrets/help.js +0 -0
  442. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/secrets/help.txt +0 -0
  443. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/secrets/scan.js +0 -0
  444. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/service/help.js +0 -0
  445. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/service/help.txt +0 -0
  446. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/service/list.js +0 -0
  447. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/service/man.js +0 -0
  448. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/service/start.js +0 -0
  449. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/storage/arguments.json +0 -0
  450. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/storage/gc.js +0 -0
  451. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/storage/help.txt +0 -0
  452. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/storage/stats.js +0 -0
  453. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/storage/verify.js +0 -0
  454. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd/view/add.js +0 -0
  455. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd-status-format/package.json +0 -0
  456. /package/framework/{v0.6.22 → v0.6.23}/lib/cmd-status-format/src/main.js +0 -0
  457. /package/framework/{v0.6.22 → v0.6.23}/lib/collection/README.md +0 -0
  458. /package/framework/{v0.6.22 → v0.6.23}/lib/collection/build.json +0 -0
  459. /package/framework/{v0.6.22 → v0.6.23}/lib/collection/package.json +0 -0
  460. /package/framework/{v0.6.22 → v0.6.23}/lib/collection/src/main.js +0 -0
  461. /package/framework/{v0.6.22 → v0.6.23}/lib/config.js +0 -0
  462. /package/framework/{v0.6.22 → v0.6.23}/lib/connector-config/package.json +0 -0
  463. /package/framework/{v0.6.22 → v0.6.23}/lib/connector-config/src/main.js +0 -0
  464. /package/framework/{v0.6.22 → v0.6.23}/lib/connector-error/package.json +0 -0
  465. /package/framework/{v0.6.22 → v0.6.23}/lib/connector-error/src/main.js +0 -0
  466. /package/framework/{v0.6.22 → v0.6.23}/lib/connector-registry/package.json +0 -0
  467. /package/framework/{v0.6.22 → v0.6.23}/lib/connector-registry/src/main.js +0 -0
  468. /package/framework/{v0.6.22 → v0.6.23}/lib/cron/README.md +0 -0
  469. /package/framework/{v0.6.22 → v0.6.23}/lib/cron/package.json +0 -0
  470. /package/framework/{v0.6.22 → v0.6.23}/lib/cron/src/main.js +0 -0
  471. /package/framework/{v0.6.22 → v0.6.23}/lib/domain/LICENSE +0 -0
  472. /package/framework/{v0.6.22 → v0.6.23}/lib/domain/README.md +0 -0
  473. /package/framework/{v0.6.22 → v0.6.23}/lib/domain/package.json +0 -0
  474. /package/framework/{v0.6.22 → v0.6.23}/lib/domain/src/main.js +0 -0
  475. /package/framework/{v0.6.22 → v0.6.23}/lib/dto/package.json +0 -0
  476. /package/framework/{v0.6.22 → v0.6.23}/lib/dto/src/main.js +0 -0
  477. /package/framework/{v0.6.22 → v0.6.23}/lib/dto-pipe/package.json +0 -0
  478. /package/framework/{v0.6.22 → v0.6.23}/lib/dto-pipe/src/main.js +0 -0
  479. /package/framework/{v0.6.22 → v0.6.23}/lib/dto-types/package.json +0 -0
  480. /package/framework/{v0.6.22 → v0.6.23}/lib/dto-types/src/main.js +0 -0
  481. /package/framework/{v0.6.22 → v0.6.23}/lib/generator/index.js +0 -0
  482. /package/framework/{v0.6.22 → v0.6.23}/lib/i18n/package.json +0 -0
  483. /package/framework/{v0.6.22 → v0.6.23}/lib/i18n/src/main.js +0 -0
  484. /package/framework/{v0.6.22 → v0.6.23}/lib/image-build/package.json +0 -0
  485. /package/framework/{v0.6.22 → v0.6.23}/lib/image-build/src/main.js +0 -0
  486. /package/framework/{v0.6.22 → v0.6.23}/lib/inherits/LICENSE +0 -0
  487. /package/framework/{v0.6.22 → v0.6.23}/lib/inherits/README.md +0 -0
  488. /package/framework/{v0.6.22 → v0.6.23}/lib/inherits/package.json +0 -0
  489. /package/framework/{v0.6.22 → v0.6.23}/lib/inherits/src/main.js +0 -0
  490. /package/framework/{v0.6.22 → v0.6.23}/lib/inspector-events/package.json +0 -0
  491. /package/framework/{v0.6.22 → v0.6.23}/lib/inspector-events/src/main.js +0 -0
  492. /package/framework/{v0.6.22 → v0.6.23}/lib/inspector-redact/package.json +0 -0
  493. /package/framework/{v0.6.22 → v0.6.23}/lib/inspector-redact/src/main.js +0 -0
  494. /package/framework/{v0.6.22 → v0.6.23}/lib/instrument/package.json +0 -0
  495. /package/framework/{v0.6.22 → v0.6.23}/lib/instrument/src/main.js +0 -0
  496. /package/framework/{v0.6.22 → v0.6.23}/lib/job/package.json +0 -0
  497. /package/framework/{v0.6.22 → v0.6.23}/lib/job/src/main.js +0 -0
  498. /package/framework/{v0.6.22 → v0.6.23}/lib/job-store.js +0 -0
  499. /package/framework/{v0.6.22 → v0.6.23}/lib/json-config-header/package.json +0 -0
  500. /package/framework/{v0.6.22 → v0.6.23}/lib/json-config-header/src/main.js +0 -0
  501. /package/framework/{v0.6.22 → v0.6.23}/lib/kv/package.json +0 -0
  502. /package/framework/{v0.6.22 → v0.6.23}/lib/kv/src/main.js +0 -0
  503. /package/framework/{v0.6.22 → v0.6.23}/lib/kv-store.js +0 -0
  504. /package/framework/{v0.6.22 → v0.6.23}/lib/loading-state/package.json +0 -0
  505. /package/framework/{v0.6.22 → v0.6.23}/lib/loading-state/src/main.js +0 -0
  506. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/README.md +0 -0
  507. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/package.json +0 -0
  508. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/default/index.js +0 -0
  509. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/file/index.js +0 -0
  510. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  511. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  512. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/mq/index.js +0 -0
  513. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/mq/listener.js +0 -0
  514. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/containers/mq/speaker.js +0 -0
  515. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/helper.js +0 -0
  516. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/main.js +0 -0
  517. /package/framework/{v0.6.22 → v0.6.23}/lib/logger/src/redact.js +0 -0
  518. /package/framework/{v0.6.22 → v0.6.23}/lib/maintenance/package.json +0 -0
  519. /package/framework/{v0.6.22 → v0.6.23}/lib/maintenance/src/main.js +0 -0
  520. /package/framework/{v0.6.22 → v0.6.23}/lib/math/index.js +0 -0
  521. /package/framework/{v0.6.22 → v0.6.23}/lib/mcp-dispatch/package.json +0 -0
  522. /package/framework/{v0.6.22 → v0.6.23}/lib/mcp-dispatch/src/main.js +0 -0
  523. /package/framework/{v0.6.22 → v0.6.23}/lib/mcp-http/package.json +0 -0
  524. /package/framework/{v0.6.22 → v0.6.23}/lib/mcp-http/src/main.js +0 -0
  525. /package/framework/{v0.6.22 → v0.6.23}/lib/mcp-server/package.json +0 -0
  526. /package/framework/{v0.6.22 → v0.6.23}/lib/mcp-server/src/main.js +0 -0
  527. /package/framework/{v0.6.22 → v0.6.23}/lib/merge/README.md +0 -0
  528. /package/framework/{v0.6.22 → v0.6.23}/lib/merge/package.json +0 -0
  529. /package/framework/{v0.6.22 → v0.6.23}/lib/metrics/package.json +0 -0
  530. /package/framework/{v0.6.22 → v0.6.23}/lib/metrics/src/main.js +0 -0
  531. /package/framework/{v0.6.22 → v0.6.23}/lib/model.js +0 -0
  532. /package/framework/{v0.6.22 → v0.6.23}/lib/net-locality/package.json +0 -0
  533. /package/framework/{v0.6.22 → v0.6.23}/lib/net-locality/src/main.js +0 -0
  534. /package/framework/{v0.6.22 → v0.6.23}/lib/nunjucks-filters/README.md +0 -0
  535. /package/framework/{v0.6.22 → v0.6.23}/lib/nunjucks-filters/package.json +0 -0
  536. /package/framework/{v0.6.22 → v0.6.23}/lib/nunjucks-filters/src/main.js +0 -0
  537. /package/framework/{v0.6.22 → v0.6.23}/lib/nunjucks-resolver/package.json +0 -0
  538. /package/framework/{v0.6.22 → v0.6.23}/lib/nunjucks-resolver/src/main.js +0 -0
  539. /package/framework/{v0.6.22 → v0.6.23}/lib/proc.js +0 -0
  540. /package/framework/{v0.6.22 → v0.6.23}/lib/push/package.json +0 -0
  541. /package/framework/{v0.6.22 → v0.6.23}/lib/push/src/main.js +0 -0
  542. /package/framework/{v0.6.22 → v0.6.23}/lib/rate-limit/package.json +0 -0
  543. /package/framework/{v0.6.22 → v0.6.23}/lib/rate-limit/src/main.js +0 -0
  544. /package/framework/{v0.6.22 → v0.6.23}/lib/release-watch/package.json +0 -0
  545. /package/framework/{v0.6.22 → v0.6.23}/lib/release-watch/src/main.js +0 -0
  546. /package/framework/{v0.6.22 → v0.6.23}/lib/render-cache/package.json +0 -0
  547. /package/framework/{v0.6.22 → v0.6.23}/lib/render-cache/src/main.js +0 -0
  548. /package/framework/{v0.6.22 → v0.6.23}/lib/render-cache-store.js +0 -0
  549. /package/framework/{v0.6.22 → v0.6.23}/lib/routing/README.md +0 -0
  550. /package/framework/{v0.6.22 → v0.6.23}/lib/routing/build.json +0 -0
  551. /package/framework/{v0.6.22 → v0.6.23}/lib/routing/package.json +0 -0
  552. /package/framework/{v0.6.22 → v0.6.23}/lib/routing/src/main.js +0 -0
  553. /package/framework/{v0.6.22 → v0.6.23}/lib/routing/src/radix.js +0 -0
  554. /package/framework/{v0.6.22 → v0.6.23}/lib/routing-introspect/package.json +0 -0
  555. /package/framework/{v0.6.22 → v0.6.23}/lib/routing-introspect/src/main.js +0 -0
  556. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/package.json +0 -0
  557. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/backends/env.js +0 -0
  558. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/backends/exec.js +0 -0
  559. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/backends/file.js +0 -0
  560. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/declaration.js +0 -0
  561. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/env-file.js +0 -0
  562. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/main.js +0 -0
  563. /package/framework/{v0.6.22 → v0.6.23}/lib/secrets/src/sources.js +0 -0
  564. /package/framework/{v0.6.22 → v0.6.23}/lib/session-store.js +0 -0
  565. /package/framework/{v0.6.22 → v0.6.23}/lib/shell.js +0 -0
  566. /package/framework/{v0.6.22 → v0.6.23}/lib/sqlite-driver.js +0 -0
  567. /package/framework/{v0.6.22 → v0.6.23}/lib/state.js +0 -0
  568. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/package.json +0 -0
  569. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/local-cas.js +0 -0
  570. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/local-stream.js +0 -0
  571. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/local.js +0 -0
  572. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/main.js +0 -0
  573. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/meta-store.js +0 -0
  574. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/s3.js +0 -0
  575. /package/framework/{v0.6.22 → v0.6.23}/lib/storage/src/util.js +0 -0
  576. /package/framework/{v0.6.22 → v0.6.23}/lib/storage-store.js +0 -0
  577. /package/framework/{v0.6.22 → v0.6.23}/lib/swig-filters/README.md +0 -0
  578. /package/framework/{v0.6.22 → v0.6.23}/lib/swig-filters/package.json +0 -0
  579. /package/framework/{v0.6.22 → v0.6.23}/lib/swig-filters/src/main.js +0 -0
  580. /package/framework/{v0.6.22 → v0.6.23}/lib/swig-resolver/package.json +0 -0
  581. /package/framework/{v0.6.22 → v0.6.23}/lib/swig-resolver/src/main.js +0 -0
  582. /package/framework/{v0.6.22 → v0.6.23}/lib/template-loaders/package.json +0 -0
  583. /package/framework/{v0.6.22 → v0.6.23}/lib/template-loaders/src/loaders/http.js +0 -0
  584. /package/framework/{v0.6.22 → v0.6.23}/lib/template-loaders/src/loaders/memory.js +0 -0
  585. /package/framework/{v0.6.22 → v0.6.23}/lib/template-loaders/src/main.js +0 -0
  586. /package/framework/{v0.6.22 → v0.6.23}/lib/url/README.md +0 -0
  587. /package/framework/{v0.6.22 → v0.6.23}/lib/url/index.js +0 -0
  588. /package/framework/{v0.6.22 → v0.6.23}/lib/url/routing.json +0 -0
  589. /package/framework/{v0.6.22 → v0.6.23}/lib/uuid/package.json +0 -0
  590. /package/framework/{v0.6.22 → v0.6.23}/lib/uuid/src/main.js +0 -0
  591. /package/framework/{v0.6.22 → v0.6.23}/lib/validator.js +0 -0
  592. /package/framework/{v0.6.22 → v0.6.23}/lib/watcher/package.json +0 -0
  593. /package/framework/{v0.6.22 → v0.6.23}/lib/watcher/src/main.js +0 -0
  594. /package/framework/{v0.6.22 → v0.6.23}/lib/ws-framing/package.json +0 -0
  595. /package/framework/{v0.6.22 → v0.6.23}/lib/ws-framing/src/main.js +0 -0
  596. /package/framework/{v0.6.22 → v0.6.23}/lib/ws-query/package.json +0 -0
  597. /package/framework/{v0.6.22 → v0.6.23}/lib/ws-query/src/main.js +0 -0
  598. /package/framework/{v0.6.22 → v0.6.23}/lib/ws-session/package.json +0 -0
  599. /package/framework/{v0.6.22 → v0.6.23}/lib/ws-session/src/main.js +0 -0
@@ -6,173 +6,173 @@
6
6
  Released under the MIT License.
7
7
  @source https://gist.github.com/eligrey/1129031 */
8
8
  var requirejs,require,define;
9
- (function(l,w){function I(va,za){return za||''}function N(va){return L.call(va)==='[object Function]'}function P(va){return L.call(va)==='[object Array]'}function J(va,za){if(va){var Oa;for(Oa=0;Oa<va.length&&(!va[Oa]||!za(va[Oa],Oa,va));Oa+=1);}}function C(va,za){if(va){var Oa;for(Oa=va.length-1;Oa>-1&&(!va[Oa]||!za(va[Oa],Oa,va));--Oa);}}function E(va,za){return la.call(va,za)}function K(va,za){return E(va,za)&&va[za]}function aa(va,za){for(var Oa in va)if(E(va,Oa)&&Fa.indexOf(Oa)==-1&&za(va[Oa],
10
- Oa))break}function p(va,za,Oa,qb){za&&aa(za,function(Wa,gb){if(Oa||!E(va,gb))!qb||typeof Wa!=='object'||!Wa||P(Wa)||N(Wa)||Wa instanceof RegExp?va[gb]=Wa:(va[gb]||(va[gb]={}),p(va[gb],Wa,Oa,qb))});return va}function r(va,za){return function(){return za.apply(va,arguments)}}function y(va){throw va;}function h(va){if(!va)return va;var za=l;J(va.split('.'),function(Oa){za=za[Oa]});return za}function ma(va,za,Oa,qb){za=Error(za+'\nhttps://requirejs.org/docs/errors.html#'+va);za.requireType=va;za.requireModules=
11
- qb;Oa&&(za.originalError=Oa);return za}function T(){if(u&&u.readyState==='interactive')return u;C(document.getElementsByTagName('script'),function(va){if(va.readyState==='interactive')return u=va});return u}var n,da,x,u,A,k,ja,Q=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,U=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,O=/\.js$/,Z=/^\.\//;var G=Object.prototype;var L=G.toString,la=G.hasOwnProperty,pa=!(typeof window==='undefined'||typeof navigator==='undefined'||!window.document),F=!pa&&typeof importScripts!==
9
+ (function(l,w){function I(va,za){return za||''}function N(va){return L.call(va)==='[object Function]'}function P(va){return L.call(va)==='[object Array]'}function J(va,za){if(va){var Oa;for(Oa=0;Oa<va.length&&(!va[Oa]||!za(va[Oa],Oa,va));Oa+=1);}}function C(va,za){if(va){var Oa;for(Oa=va.length-1;Oa>-1&&(!va[Oa]||!za(va[Oa],Oa,va));--Oa);}}function G(va,za){return la.call(va,za)}function K(va,za){return G(va,za)&&va[za]}function Z(va,za){for(var Oa in va)if(G(va,Oa)&&Fa.indexOf(Oa)==-1&&za(va[Oa],
10
+ Oa))break}function p(va,za,Oa,qb){za&&Z(za,function(Wa,gb){if(Oa||!G(va,gb))!qb||typeof Wa!=='object'||!Wa||P(Wa)||N(Wa)||Wa instanceof RegExp?va[gb]=Wa:(va[gb]||(va[gb]={}),p(va[gb],Wa,Oa,qb))});return va}function r(va,za){return function(){return za.apply(va,arguments)}}function y(va){throw va;}function h(va){if(!va)return va;var za=l;J(va.split('.'),function(Oa){za=za[Oa]});return za}function ma(va,za,Oa,qb){za=Error(za+'\nhttps://requirejs.org/docs/errors.html#'+va);za.requireType=va;za.requireModules=
11
+ qb;Oa&&(za.originalError=Oa);return za}function T(){if(u&&u.readyState==='interactive')return u;C(document.getElementsByTagName('script'),function(va){if(va.readyState==='interactive')return u=va});return u}var n,da,x,u,A,k,ja,Q=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/mg,U=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,O=/\.js$/,aa=/^\.\//;var F=Object.prototype;var L=F.toString,la=F.hasOwnProperty,pa=!(typeof window==='undefined'||typeof navigator==='undefined'||!window.document),E=!pa&&typeof importScripts!==
12
12
  'undefined',X=pa&&navigator.platform==='PLAYSTATION 3'?/^complete$/:/^(complete|loaded)$/,oa=typeof opera!=='undefined'&&opera.toString()==='[object Opera]',ha={},sa={},xa=[],ua=!1,Fa=['__proto__','constructor'];if(typeof define==='undefined'){if(typeof requirejs!=='undefined'){if(N(requirejs))return;sa=requirejs;requirejs=void 0}typeof require==='undefined'||N(require)||(sa=require,require=void 0);var ia=requirejs=function(va,za,Oa,qb){var Wa='_';if(!P(va)&&typeof va!=='string'){var gb=va;P(za)?
13
- (va=za,za=Oa,Oa=qb):va=[]}gb&&gb.context&&(Wa=gb.context);(qb=K(ha,Wa))||(qb=ha[Wa]=ia.s.newContext(Wa));gb&&qb.configure(gb);return qb.require(va,za,Oa)};ia.config=function(va){return ia(va)};ia.nextTick=typeof w!=='undefined'?function(va){w(va,4)}:function(va){va()};require||=ia;ia.version='2.3.7';ia.jsExtRegExp=/^\/|:|\?|\.js$/;ia.isBrowser=pa;G=ia.s={contexts:ha,newContext:function(va){function za(D,Aa,na){var ra;Aa=Aa&&Aa.split('/');var ta=ea.map,Pa=ta&&ta['*'];if(D){D=D.split('/');var $a=D.length-
13
+ (va=za,za=Oa,Oa=qb):va=[]}gb&&gb.context&&(Wa=gb.context);(qb=K(ha,Wa))||(qb=ha[Wa]=ia.s.newContext(Wa));gb&&qb.configure(gb);return qb.require(va,za,Oa)};ia.config=function(va){return ia(va)};ia.nextTick=typeof w!=='undefined'?function(va){w(va,4)}:function(va){va()};require||=ia;ia.version='2.3.7';ia.jsExtRegExp=/^\/|:|\?|\.js$/;ia.isBrowser=pa;F=ia.s={contexts:ha,newContext:function(va){function za(D,Aa,na){var ra;Aa=Aa&&Aa.split('/');var ta=ea.map,Pa=ta&&ta['*'];if(D){D=D.split('/');var $a=D.length-
14
14
  1;ea.nodeIdCompat&&O.test(D[$a])&&(D[$a]=D[$a].replace(O,''));D[0].charAt(0)==='.'&&Aa&&($a=Aa.slice(0,Aa.length-1),D=$a.concat(D));$a=D;for(ra=0;ra<$a.length;ra++){var hb=$a[ra];hb==='.'?($a.splice(ra,1),--ra):hb==='..'&&ra!==0&&(ra!==1||$a[2]!=='..')&&$a[ra-1]!=='..'&&ra>0&&($a.splice(ra-1,2),ra-=2)}D=D.join('/')}if(na&&ta&&(Aa||Pa)){$a=D.split('/');ra=$a.length;a:for(;ra>0;--ra){var ib=$a.slice(0,ra).join('/');if(Aa)for(hb=Aa.length;hb>0;--hb)if(na=K(ta,Aa.slice(0,hb).join('/')))if(na=K(na,ib)){var ob=
15
15
  na;var eb=ra;break a}if(!Ab&&Pa&&K(Pa,ib)){var Ab=K(Pa,ib);var ub=ra}}!ob&&Ab&&(ob=Ab,eb=ub);ob&&($a.splice(0,eb,ob),D=$a.join('/'))}return(ob=K(ea.pkgs,D))?ob:D}function Oa(D){pa&&J(document.getElementsByTagName('script'),function(Aa){if(Aa.getAttribute('data-requiremodule')===D&&Aa.getAttribute('data-requirecontext')===ya.contextName)return Aa.parentNode.removeChild(Aa),!0})}function qb(D){var Aa=K(ea.paths,D);if(Aa&&P(Aa)&&Aa.length>1)return Aa.shift(),ya.require.undef(D),ya.makeRequire(null,{skipMap:!0})([D]),
16
16
  !0}function Wa(D){var Aa=D?D.indexOf('!'):-1;if(Aa>-1){var na=D.substring(0,Aa);D=D.substring(Aa+1,D.length)}return[na,D]}function gb(D,Aa,na,ra){var ta=null,Pa=Aa?Aa.name:null,$a=D,hb=!0,ib='';D||(hb=!1,D='_@r'+(wa+=1));D=Wa(D);ta=D[0];D=D[1];if(ta){ta=za(ta,Pa,ra);var ob=K(z,ta)}if(D)if(ta)ib=na?D:ob&&ob.normalize?ob.normalize(D,function(Ab){return za(Ab,Pa,ra)}):D.indexOf('!')===-1?za(D,Pa,ra):D;else{ib=za(D,Pa,ra);D=Wa(ib);ta=D[0];ib=D[1];na=!0;var eb=ya.nameToUrl(ib)}na=!ta||ob||na?'':'_unnormalized'+
17
- (Ka+=1);return{prefix:ta,name:ib,parentMap:Aa,unnormalized:!!na,url:eb,originalName:$a,isDefine:hb,id:(ta?ta+'!'+ib:ib)+na}}function yb(D){var Aa=D.id,na=K(v,Aa);na||=v[Aa]=new ya.Module(D);return na}function mb(D,Aa,na){var ra=D.id,ta=K(v,ra);if(!E(z,ra)||ta&&!ta.defineEmitComplete)if(ta=yb(D),ta.error&&Aa==='error')na(ta.error);else ta.on(Aa,na);else Aa==='defined'&&na(z[ra])}function bb(D,Aa){var na=D.requireModules,ra=!1;if(Aa)Aa(D);else if(J(na,function(ta){if(ta=K(v,ta))ta.error=D,ta.events.error&&
17
+ (Ka+=1);return{prefix:ta,name:ib,parentMap:Aa,unnormalized:!!na,url:eb,originalName:$a,isDefine:hb,id:(ta?ta+'!'+ib:ib)+na}}function yb(D){var Aa=D.id,na=K(v,Aa);na||=v[Aa]=new ya.Module(D);return na}function mb(D,Aa,na){var ra=D.id,ta=K(v,ra);if(!G(z,ra)||ta&&!ta.defineEmitComplete)if(ta=yb(D),ta.error&&Aa==='error')na(ta.error);else ta.on(Aa,na);else Aa==='defined'&&na(z[ra])}function bb(D,Aa){var na=D.requireModules,ra=!1;if(Aa)Aa(D);else if(J(na,function(ta){if(ta=K(v,ta))ta.error=D,ta.events.error&&
18
18
  (ra=!0,ta.emit('error',D))}),!ra)ia.onError(D)}function Ha(){xa.length&&(J(xa,function(D){var Aa=D[0];typeof Aa==='string'&&(ya.defQueueMap[Aa]=!0);g.push(D)}),xa=[])}function Ib(D){delete v[D];delete Y[D]}function vb(D,Aa,na){var ra=D.map.id;D.error?D.emit('error',D.error):(Aa[ra]=!0,J(D.depMaps,function(ta,Pa){ta=ta.id;var $a=K(v,ta);!$a||D.depMatched[Pa]||na[ta]||(K(Aa,ta)?(D.defineDep(Pa,z[ta]),D.check()):vb($a,Aa,na))}),na[ra]=!0)}function Mb(){var D,Aa,na=(D=ea.waitSeconds*1E3)&&ya.startTime+
19
- D<(new Date).getTime(),ra=[],ta=[],Pa=!1,$a=!0;if(!W){W=!0;aa(Y,function(hb){var ib=hb.map,ob=ib.id;if(hb.enabled&&(ib.isDefine||ta.push(hb),!hb.error))if(!hb.inited&&na)qb(ob)?Pa=Aa=!0:(ra.push(ob),Oa(ob));else if(!hb.inited&&hb.fetched&&ib.isDefine&&(Pa=!0,!ib.prefix))return $a=!1});if(na&&ra.length)return D=ma('timeout','Load timeout for modules: '+ra,null,ra),D.contextName=ya.contextName,bb(D);$a&&J(ta,function(hb){vb(hb,{},{})});na&&!Aa||!Pa||!pa&&!F||qa||(qa=w(function(){qa=0;Mb()},50));W=!1}}
20
- function Hb(D){E(z,D[0])||yb(gb(D[0],null,!0)).init(D[1],D[2])}function Pb(D){D=D.currentTarget||D.srcElement;var Aa=ya.onScriptLoad;D.detachEvent&&!oa?D.detachEvent('onreadystatechange',Aa):D.removeEventListener('load',Aa,!1);Aa=ya.onScriptError;D.detachEvent&&!oa||D.removeEventListener('error',Aa,!1);return{node:D,id:D&&D.getAttribute('data-requiremodule')}}function Qb(){for(Ha();g.length;){var D=g.shift();if(D[0]===null)return bb(ma('mismatch','Mismatched anonymous define() module: '+D[D.length-
19
+ D<(new Date).getTime(),ra=[],ta=[],Pa=!1,$a=!0;if(!W){W=!0;Z(Y,function(hb){var ib=hb.map,ob=ib.id;if(hb.enabled&&(ib.isDefine||ta.push(hb),!hb.error))if(!hb.inited&&na)qb(ob)?Pa=Aa=!0:(ra.push(ob),Oa(ob));else if(!hb.inited&&hb.fetched&&ib.isDefine&&(Pa=!0,!ib.prefix))return $a=!1});if(na&&ra.length)return D=ma('timeout','Load timeout for modules: '+ra,null,ra),D.contextName=ya.contextName,bb(D);$a&&J(ta,function(hb){vb(hb,{},{})});na&&!Aa||!Pa||!pa&&!E||qa||(qa=w(function(){qa=0;Mb()},50));W=!1}}
20
+ function Hb(D){G(z,D[0])||yb(gb(D[0],null,!0)).init(D[1],D[2])}function Pb(D){D=D.currentTarget||D.srcElement;var Aa=ya.onScriptLoad;D.detachEvent&&!oa?D.detachEvent('onreadystatechange',Aa):D.removeEventListener('load',Aa,!1);Aa=ya.onScriptError;D.detachEvent&&!oa||D.removeEventListener('error',Aa,!1);return{node:D,id:D&&D.getAttribute('data-requiremodule')}}function Qb(){for(Ha();g.length;){var D=g.shift();if(D[0]===null)return bb(ma('mismatch','Mismatched anonymous define() module: '+D[D.length-
21
21
  1]));Hb(D)}ya.defQueueMap={}}var W,qa,ea={waitSeconds:7,baseUrl:'./',paths:{},bundles:{},pkgs:{},shim:{},config:{}},v={},Y={},e={},g=[],z={},ca={},S={},wa=1,Ka=1;var Qa={require:function(D){return D.require?D.require:D.require=ya.makeRequire(D.map)},exports:function(D){D.usingExports=!0;if(D.map.isDefine)return D.exports?z[D.map.id]=D.exports:D.exports=z[D.map.id]={}},module:function(D){return D.module?D.module:D.module={id:D.map.id,uri:D.map.url,config:function(){return K(ea.config,D.map.id)||{}},
22
22
  exports:D.exports||(D.exports={})}}};var Ma=function(D){this.events=K(e,D.id)||{};this.map=D;this.shim=K(ea.shim,D.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};Ma.prototype={init:function(D,Aa,na,ra){ra=ra||{};if(!this.inited){this.factory=Aa;if(na)this.on('error',na);else this.events.error&&(na=r(this,function(ta){this.emit('error',ta)}));this.depMaps=D&&D.slice(0);this.errback=na;this.inited=!0;this.ignore=ra.ignore;ra.enabled||this.enabled?this.enable():
23
23
  this.check()}},defineDep:function(D,Aa){this.depMatched[D]||(this.depMatched[D]=!0,--this.depCount,this.depExports[D]=Aa)},fetch:function(){if(!this.fetched){this.fetched=!0;ya.startTime=(new Date).getTime();var D=this.map;if(this.shim)ya.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],r(this,function(){return D.prefix?this.callPlugin():this.load()}));else return D.prefix?this.callPlugin():this.load()}},load:function(){var D=this.map.url;ca[D]||(ca[D]=!0,ya.load(this.map.id,D))},
24
- check:function(){if(this.enabled&&!this.enabling){var D=this.map.id;var Aa=this.depExports;var na=this.exports,ra=this.factory;if(!this.inited)E(ya.defQueueMap,D)||this.fetch();else if(this.error)this.emit('error',this.error);else if(!this.defining){this.defining=!0;if(this.depCount<1&&!this.defined){if(N(ra)){if(this.events.error&&this.map.isDefine||ia.onError!==y)try{na=ya.execCb(D,ra,Aa,na)}catch($a){var ta=$a}else na=ya.execCb(D,ra,Aa,na);this.map.isDefine&&na===void 0&&((Aa=this.module)?na=Aa.exports:
24
+ check:function(){if(this.enabled&&!this.enabling){var D=this.map.id;var Aa=this.depExports;var na=this.exports,ra=this.factory;if(!this.inited)G(ya.defQueueMap,D)||this.fetch();else if(this.error)this.emit('error',this.error);else if(!this.defining){this.defining=!0;if(this.depCount<1&&!this.defined){if(N(ra)){if(this.events.error&&this.map.isDefine||ia.onError!==y)try{na=ya.execCb(D,ra,Aa,na)}catch($a){var ta=$a}else na=ya.execCb(D,ra,Aa,na);this.map.isDefine&&na===void 0&&((Aa=this.module)?na=Aa.exports:
25
25
  this.usingExports&&(na=this.exports));if(ta)return ta.requireMap=this.map,ta.requireModules=this.map.isDefine?[this.map.id]:null,ta.requireType=this.map.isDefine?'define':'require',bb(this.error=ta)}else na=ra;this.exports=na;if(this.map.isDefine&&!this.ignore&&(z[D]=na,ia.onResourceLoad)){var Pa=[];J(this.depMaps,function($a){Pa.push($a.normalizedMap||$a)});ia.onResourceLoad(ya,this.map,Pa)}Ib(D);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit('defined',
26
26
  this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var D=this.map,Aa=D.id,na=gb(D.prefix);this.depMaps.push(na);mb(na,'defined',r(this,function(ra){var ta=K(S,this.map.id),Pa=this.map.name,$a=this.map.parentMap?this.map.parentMap.name:null,hb=ya.makeRequire(D.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){ra.normalize&&(Pa=ra.normalize(Pa,function(eb){return za(eb,$a,!0)})||'');var ib=gb(D.prefix+'!'+Pa,this.map.parentMap,!0);mb(ib,'defined',r(this,function(eb){this.map.normalizedMap=
27
- ib;this.init([],function(){return eb},null,{enabled:!0,ignore:!0})}));if(ra=K(v,ib.id)){this.depMaps.push(ib);if(this.events.error)ra.on('error',r(this,function(eb){this.emit('error',eb)}));ra.enable()}}else if(ta)this.map.url=ya.nameToUrl(ta),this.load();else{var ob=r(this,function(eb){this.init([],function(){return eb},null,{enabled:!0})});ob.error=r(this,function(eb){this.inited=!0;this.error=eb;eb.requireModules=[Aa];aa(v,function(Ab){Ab.map.id.indexOf(Aa+'_unnormalized')===0&&Ib(Ab.map.id)});
28
- bb(eb)});ob.fromText=r(this,function(eb,Ab){var ub=D.name,xb=gb(ub),Cb=ua;Ab&&(eb=Ab);Cb&&(ua=!1);yb(xb);E(ea.config,Aa)&&(ea.config[ub]=ea.config[Aa]);try{ia.exec(eb)}catch(Sb){return bb(ma('fromtexteval','fromText eval for '+Aa+' failed: '+Sb,Sb,[Aa]))}Cb&&(ua=!0);this.depMaps.push(xb);ya.completeLoad(ub);hb([ub],ob)});ra.load(D.name,hb,ob,ea)}}));ya.enable(na,this);this.pluginMaps[na.id]=na},enable:function(){Y[this.map.id]=this;this.enabling=this.enabled=!0;J(this.depMaps,r(this,function(D,Aa){var na;
29
- if(typeof D==='string'){D=gb(D,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[Aa]=D;if(na=K(Qa,D.id)){this.depExports[Aa]=na(this);return}this.depCount+=1;mb(D,'defined',r(this,function(ta){this.undefed||(this.defineDep(Aa,ta),this.check())}));this.errback?mb(D,'error',r(this,this.errback)):this.events.error&&mb(D,'error',r(this,function(ta){this.emit('error',ta)}))}na=D.id;var ra=v[na];E(Qa,na)||!ra||ra.enabled||ya.enable(D,this)}));aa(this.pluginMaps,r(this,function(D){var Aa=
27
+ ib;this.init([],function(){return eb},null,{enabled:!0,ignore:!0})}));if(ra=K(v,ib.id)){this.depMaps.push(ib);if(this.events.error)ra.on('error',r(this,function(eb){this.emit('error',eb)}));ra.enable()}}else if(ta)this.map.url=ya.nameToUrl(ta),this.load();else{var ob=r(this,function(eb){this.init([],function(){return eb},null,{enabled:!0})});ob.error=r(this,function(eb){this.inited=!0;this.error=eb;eb.requireModules=[Aa];Z(v,function(Ab){Ab.map.id.indexOf(Aa+'_unnormalized')===0&&Ib(Ab.map.id)});
28
+ bb(eb)});ob.fromText=r(this,function(eb,Ab){var ub=D.name,xb=gb(ub),Cb=ua;Ab&&(eb=Ab);Cb&&(ua=!1);yb(xb);G(ea.config,Aa)&&(ea.config[ub]=ea.config[Aa]);try{ia.exec(eb)}catch(Sb){return bb(ma('fromtexteval','fromText eval for '+Aa+' failed: '+Sb,Sb,[Aa]))}Cb&&(ua=!0);this.depMaps.push(xb);ya.completeLoad(ub);hb([ub],ob)});ra.load(D.name,hb,ob,ea)}}));ya.enable(na,this);this.pluginMaps[na.id]=na},enable:function(){Y[this.map.id]=this;this.enabling=this.enabled=!0;J(this.depMaps,r(this,function(D,Aa){var na;
29
+ if(typeof D==='string'){D=gb(D,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[Aa]=D;if(na=K(Qa,D.id)){this.depExports[Aa]=na(this);return}this.depCount+=1;mb(D,'defined',r(this,function(ta){this.undefed||(this.defineDep(Aa,ta),this.check())}));this.errback?mb(D,'error',r(this,this.errback)):this.events.error&&mb(D,'error',r(this,function(ta){this.emit('error',ta)}))}na=D.id;var ra=v[na];G(Qa,na)||!ra||ra.enabled||ya.enable(D,this)}));Z(this.pluginMaps,r(this,function(D){var Aa=
30
30
  K(v,D.id);Aa&&!Aa.enabled&&ya.enable(D,this)}));this.enabling=!1;this.check()},on:function(D,Aa){var na=this.events[D];na||=this.events[D]=[];na.push(Aa)},emit:function(D,Aa){J(this.events[D],function(na){na(Aa)});D==='error'&&delete this.events[D]}};var ya={config:ea,contextName:va,registry:v,defined:z,urlFetched:ca,defQueue:g,defQueueMap:{},Module:Ma,makeModuleMap:gb,nextTick:ia.nextTick,onError:bb,configure:function(D){D.baseUrl&&D.baseUrl.charAt(D.baseUrl.length-1)!=='/'&&(D.baseUrl+='/');if(typeof D.urlArgs===
31
- 'string'){var Aa=D.urlArgs;D.urlArgs=function(ta,Pa){return(Pa.indexOf('?')===-1?'?':'&')+Aa}}var na=ea.shim,ra={paths:!0,bundles:!0,config:!0,map:!0};aa(D,function(ta,Pa){ra[Pa]?(ea[Pa]||(ea[Pa]={}),p(ea[Pa],ta,!0,!0)):ea[Pa]=ta});D.bundles&&aa(D.bundles,function(ta,Pa){J(ta,function($a){$a!==Pa&&(S[$a]=Pa)})});D.shim&&(aa(D.shim,function(ta,Pa){P(ta)&&(ta={deps:ta});!ta.exports&&!ta.init||ta.exportsFn||(ta.exportsFn=ya.makeShimExports(ta));na[Pa]=ta}),ea.shim=na);D.packages&&J(D.packages,function(ta){ta=
32
- typeof ta==='string'?{name:ta}:ta;var Pa=ta.name;ta.location&&(ea.paths[Pa]=ta.location);ea.pkgs[Pa]=ta.name+'/'+(ta.main||'main').replace(Z,'').replace(O,'')});aa(v,function(ta,Pa){ta.inited||ta.map.unnormalized||(ta.map=gb(Pa,null,!0))});(D.deps||D.callback)&&ya.require(D.deps||[],D.callback)},makeShimExports:function(D){return function(){var Aa;D.init&&(Aa=D.init.apply(l,arguments));return Aa||D.exports&&h(D.exports)}},makeRequire:function(D,Aa){function na(ra,ta,Pa){var $a;Aa.enableBuildCallback&&
33
- ta&&N(ta)&&(ta.__requireJsBuild=!0);if(typeof ra==='string'){if(N(ta))return bb(ma('requireargs','Invalid require call'),Pa);if(D&&E(Qa,ra))return Qa[ra](v[D.id]);if(ia.get)return ia.get(ya,ra,D,na);var hb=gb(ra,D,!1,!0);hb=hb.id;return E(z,hb)?z[hb]:bb(ma('notloaded','Module name "'+hb+'" has not been loaded yet for context: '+va+(D?'':'. Use require([])')))}Qb();ya.nextTick(function(){Qb();$a=yb(gb(null,D));$a.skipMap=Aa.skipMap;$a.init(ra,ta,Pa,{enabled:!0});Mb()});return na}Aa=Aa||{};p(na,{isBrowser:pa,
34
- toUrl:function(ra){var ta=ra.lastIndexOf('.'),Pa=ra.split('/')[0];if(ta!==-1&&(Pa!=='.'&&Pa!=='..'||ta>1)){var $a=ra.substring(ta,ra.length);ra=ra.substring(0,ta)}return ya.nameToUrl(za(ra,D&&D.id,!0),$a,!0)},defined:function(ra){return E(z,gb(ra,D,!1,!0).id)},specified:function(ra){ra=gb(ra,D,!1,!0).id;return E(z,ra)||E(v,ra)}});D||(na.undef=function(ra){Ha();var ta=gb(ra,D,!0),Pa=K(v,ra);Pa.undefed=!0;Oa(ra);delete z[ra];delete ca[ta.url];delete e[ra];C(g,function($a,hb){$a[0]===ra&&g.splice(hb,
35
- 1)});delete ya.defQueueMap[ra];Pa&&(Pa.events.defined&&(e[ra]=Pa.events),Ib(ra))});return na},enable:function(D){K(v,D.id)&&yb(D).enable()},completeLoad:function(D){var Aa=K(ea.shim,D)||{},na=Aa.exports;for(Ha();g.length;){var ra=g.shift();if(ra[0]===null){ra[0]=D;if(ta)break;var ta=!0}else ra[0]===D&&(ta=!0);Hb(ra)}ya.defQueueMap={};ra=K(v,D);if(!ta&&!E(z,D)&&ra&&!ra.inited)if(!ea.enforceDefine||na&&h(na))Hb([D,Aa.deps||[],Aa.exportsFn]);else return qb(D)?void 0:bb(ma('nodefine','No define call for '+
31
+ 'string'){var Aa=D.urlArgs;D.urlArgs=function(ta,Pa){return(Pa.indexOf('?')===-1?'?':'&')+Aa}}var na=ea.shim,ra={paths:!0,bundles:!0,config:!0,map:!0};Z(D,function(ta,Pa){ra[Pa]?(ea[Pa]||(ea[Pa]={}),p(ea[Pa],ta,!0,!0)):ea[Pa]=ta});D.bundles&&Z(D.bundles,function(ta,Pa){J(ta,function($a){$a!==Pa&&(S[$a]=Pa)})});D.shim&&(Z(D.shim,function(ta,Pa){P(ta)&&(ta={deps:ta});!ta.exports&&!ta.init||ta.exportsFn||(ta.exportsFn=ya.makeShimExports(ta));na[Pa]=ta}),ea.shim=na);D.packages&&J(D.packages,function(ta){ta=
32
+ typeof ta==='string'?{name:ta}:ta;var Pa=ta.name;ta.location&&(ea.paths[Pa]=ta.location);ea.pkgs[Pa]=ta.name+'/'+(ta.main||'main').replace(aa,'').replace(O,'')});Z(v,function(ta,Pa){ta.inited||ta.map.unnormalized||(ta.map=gb(Pa,null,!0))});(D.deps||D.callback)&&ya.require(D.deps||[],D.callback)},makeShimExports:function(D){return function(){var Aa;D.init&&(Aa=D.init.apply(l,arguments));return Aa||D.exports&&h(D.exports)}},makeRequire:function(D,Aa){function na(ra,ta,Pa){var $a;Aa.enableBuildCallback&&
33
+ ta&&N(ta)&&(ta.__requireJsBuild=!0);if(typeof ra==='string'){if(N(ta))return bb(ma('requireargs','Invalid require call'),Pa);if(D&&G(Qa,ra))return Qa[ra](v[D.id]);if(ia.get)return ia.get(ya,ra,D,na);var hb=gb(ra,D,!1,!0);hb=hb.id;return G(z,hb)?z[hb]:bb(ma('notloaded','Module name "'+hb+'" has not been loaded yet for context: '+va+(D?'':'. Use require([])')))}Qb();ya.nextTick(function(){Qb();$a=yb(gb(null,D));$a.skipMap=Aa.skipMap;$a.init(ra,ta,Pa,{enabled:!0});Mb()});return na}Aa=Aa||{};p(na,{isBrowser:pa,
34
+ toUrl:function(ra){var ta=ra.lastIndexOf('.'),Pa=ra.split('/')[0];if(ta!==-1&&(Pa!=='.'&&Pa!=='..'||ta>1)){var $a=ra.substring(ta,ra.length);ra=ra.substring(0,ta)}return ya.nameToUrl(za(ra,D&&D.id,!0),$a,!0)},defined:function(ra){return G(z,gb(ra,D,!1,!0).id)},specified:function(ra){ra=gb(ra,D,!1,!0).id;return G(z,ra)||G(v,ra)}});D||(na.undef=function(ra){Ha();var ta=gb(ra,D,!0),Pa=K(v,ra);Pa.undefed=!0;Oa(ra);delete z[ra];delete ca[ta.url];delete e[ra];C(g,function($a,hb){$a[0]===ra&&g.splice(hb,
35
+ 1)});delete ya.defQueueMap[ra];Pa&&(Pa.events.defined&&(e[ra]=Pa.events),Ib(ra))});return na},enable:function(D){K(v,D.id)&&yb(D).enable()},completeLoad:function(D){var Aa=K(ea.shim,D)||{},na=Aa.exports;for(Ha();g.length;){var ra=g.shift();if(ra[0]===null){ra[0]=D;if(ta)break;var ta=!0}else ra[0]===D&&(ta=!0);Hb(ra)}ya.defQueueMap={};ra=K(v,D);if(!ta&&!G(z,D)&&ra&&!ra.inited)if(!ea.enforceDefine||na&&h(na))Hb([D,Aa.deps||[],Aa.exportsFn]);else return qb(D)?void 0:bb(ma('nodefine','No define call for '+
36
36
  D,null,[D]));Mb()},nameToUrl:function(D,Aa,na){var ra,ta;(ra=K(ea.pkgs,D))&&(D=ra);if(ra=K(S,D))return ya.nameToUrl(ra,Aa,na);if(ia.jsExtRegExp.test(D))ra=D+(Aa||'');else{ra=ea.paths;var Pa=D.split('/');for(ta=Pa.length;ta>0;--ta){var $a=Pa.slice(0,ta).join('/');if($a=K(ra,$a)){P($a)&&($a=$a[0]);Pa.splice(0,ta,$a);break}}ra=Pa.join('/');ra+=Aa||(/^data:|^blob:|\?/.test(ra)||na?'':'.js');ra=(ra.charAt(0)==='/'||ra.match(/^[\w\+\.\-]+:/)?'':ea.baseUrl)+ra}return ea.urlArgs&&!/^blob:/.test(ra)?ra+ea.urlArgs(D,
37
- ra):ra},load:function(D,Aa){ia.load(ya,D,Aa)},execCb:function(D,Aa,na,ra){return Aa.apply(ra,na)},onScriptLoad:function(D){if(D.type==='load'||X.test((D.currentTarget||D.srcElement).readyState))u=null,D=Pb(D),ya.completeLoad(D.id)},onScriptError:function(D){var Aa=Pb(D);if(!qb(Aa.id)){var na=[];aa(v,function(ra,ta){ta.indexOf('_@r')!==0&&J(ra.depMaps,function(Pa){if(Pa.id===Aa.id)return na.push(ta),!0})});return bb(ma('scripterror','Script error for "'+Aa.id+(na.length?'", needed by: '+na.join(', '):
38
- '"'),D,[Aa.id]))}}};ya.require=ya.makeRequire();return ya}};ia({});J(['toUrl','undef','defined','specified'],function(va){ia[va]=function(){var za=ha._;return za.require[va].apply(za,arguments)}});if(pa){var jb=G.head=document.getElementsByTagName('head')[0];if(n=document.getElementsByTagName('base')[0])jb=G.head=n.parentNode}ia.onError=y;ia.createNode=function(va,za,Oa){za=va.xhtml?document.createElementNS('http://www.w3.org/1999/xhtml','html:script'):document.createElement('script');za.type=va.scriptType||
37
+ ra):ra},load:function(D,Aa){ia.load(ya,D,Aa)},execCb:function(D,Aa,na,ra){return Aa.apply(ra,na)},onScriptLoad:function(D){if(D.type==='load'||X.test((D.currentTarget||D.srcElement).readyState))u=null,D=Pb(D),ya.completeLoad(D.id)},onScriptError:function(D){var Aa=Pb(D);if(!qb(Aa.id)){var na=[];Z(v,function(ra,ta){ta.indexOf('_@r')!==0&&J(ra.depMaps,function(Pa){if(Pa.id===Aa.id)return na.push(ta),!0})});return bb(ma('scripterror','Script error for "'+Aa.id+(na.length?'", needed by: '+na.join(', '):
38
+ '"'),D,[Aa.id]))}}};ya.require=ya.makeRequire();return ya}};ia({});J(['toUrl','undef','defined','specified'],function(va){ia[va]=function(){var za=ha._;return za.require[va].apply(za,arguments)}});if(pa){var jb=F.head=document.getElementsByTagName('head')[0];if(n=document.getElementsByTagName('base')[0])jb=F.head=n.parentNode}ia.onError=y;ia.createNode=function(va,za,Oa){za=va.xhtml?document.createElementNS('http://www.w3.org/1999/xhtml','html:script'):document.createElement('script');za.type=va.scriptType||
39
39
  'text/javascript';za.charset='utf-8';za.async=!0;return za};ia.load=function(va,za,Oa){var qb=va&&va.config||{};if(pa){var Wa=ia.createNode(qb,za,Oa);Wa.setAttribute('data-requirecontext',va.contextName);Wa.setAttribute('data-requiremodule',za);!Wa.attachEvent||Wa.attachEvent.toString&&Wa.attachEvent.toString().indexOf('[native code')<0||oa?(Wa.addEventListener('load',va.onScriptLoad,!1),Wa.addEventListener('error',va.onScriptError,!1)):(ua=!0,Wa.attachEvent('onreadystatechange',va.onScriptLoad));
40
- Wa.src=Oa;if(qb.onNodeCreated)qb.onNodeCreated(Wa,qb,za,Oa);A=Wa;n?jb.insertBefore(Wa,n):jb.appendChild(Wa);A=null;return Wa}if(F)try{w(function(){},0),importScripts(Oa),va.completeLoad(za)}catch(gb){va.onError(ma('importscripts','importScripts failed for '+za+' at '+Oa,gb,[za]))}};pa&&!sa.skipDataMain&&C(document.getElementsByTagName('script'),function(va){jb||(jb=va.parentNode);if(da=va.getAttribute('data-main'))return k=da,sa.baseUrl||k.indexOf('!')!==-1||(x=k.split('/'),k=x.pop(),ja=x.length?
40
+ Wa.src=Oa;if(qb.onNodeCreated)qb.onNodeCreated(Wa,qb,za,Oa);A=Wa;n?jb.insertBefore(Wa,n):jb.appendChild(Wa);A=null;return Wa}if(E)try{w(function(){},0),importScripts(Oa),va.completeLoad(za)}catch(gb){va.onError(ma('importscripts','importScripts failed for '+za+' at '+Oa,gb,[za]))}};pa&&!sa.skipDataMain&&C(document.getElementsByTagName('script'),function(va){jb||(jb=va.parentNode);if(da=va.getAttribute('data-main'))return k=da,sa.baseUrl||k.indexOf('!')!==-1||(x=k.split('/'),k=x.pop(),ja=x.length?
41
41
  x.join('/')+'/':'./',sa.baseUrl=ja),k=k.replace(O,''),ia.jsExtRegExp.test(k)&&(k=da),sa.deps=sa.deps?sa.deps.concat(k):[k],!0});define=function(va,za,Oa){var qb;typeof va!=='string'&&(Oa=za,za=va,va=null);P(za)||(Oa=za,za=null);!za&&N(Oa)&&(za=[],Oa.length&&(Oa.toString().replace(Q,I).replace(U,function(gb,yb){za.push(yb)}),za=(Oa.length===1?['require']:['require','exports','module']).concat(za)));if(ua&&(qb=A||T())){va||=qb.getAttribute('data-requiremodule');var Wa=ha[qb.getAttribute('data-requirecontext')]}Wa?
42
42
  (Wa.defQueue.push([va,za,Oa]),Wa.defQueueMap[va]=!0):xa.push([va,za,Oa])};define.amd={jQuery:!0};ia.exec=function(va){return eval(va)};ia(sa)}})(this,typeof setTimeout==='undefined'?void 0:setTimeout);define('requireLib',function(){});
43
- function Merge(){var l=function(C){return C==='__proto__'||C==='constructor'||C==='prototype'},w=[],I=!1,N=function(C,E){var K=C;I||(typeof C=='object'&&Array.isArray(C),I=!0);typeof K=='undefined'&&(K=typeof E!='undefined'&&Array.isArray(E)?[]:{});var aa=!1;typeof arguments[arguments.length-1]=='boolean'&&(aa=arguments[arguments.length-1]);var p=1,r=arguments.length,y,h;if(typeof K!=='object'&&typeof K!=='function')K=aa?typeof arguments[2]=='undefined'?arguments[1]:arguments[2]:typeof arguments[0]==
44
- 'undefined'?arguments[1]:arguments[0];else for(;p<r;++p)if(typeof arguments[p]!='boolean'&&(y=arguments[p])!=null){if(typeof y!='object'){K=y;break}if(Array.isArray(y)&&Array.isArray(K))K=P(y,K,aa);else for(var ma in y)if(!l(ma)){K||={name:null};var T=K[ma];var n=y[ma];if(K!==n&&(n===null||typeof n!='object'||T!==n))if(n&&(J(n)||(h=Array.isArray(n)))){var da=!1;if(h){h=!1;if(T&&Array.isArray(T))var x=T||[];else if(J(T)){x=T||{};K[ma]=x;continue}else x=[];w=x;x=P(n,x,aa);K[ma]=x}else{x=T&&J(T)?T:null;
45
- if(!x){da=!0;x={};for(var u in n)l(u)||(x[u]=n[u])}if(aa){for(u in n)l(u)||(typeof n[u]!='undefined'?Array.isArray(n[u])&&Array.isArray(x[u])?x[u]=P(n[u],x[u],aa):x[u]=n[u]:Array.isArray(n[u])&&Array.isArray(x[u])&&(x[u]=P(n[u],x[u],aa)));K[ma]=x}else{for(u in n)l(u)||(typeof x[u]=='undefined'?Array.isArray(n[u])&&Array.isArray(x[u])?x[u]=P(n[u],x[u],aa):x[u]=n[u]:da&&Array.isArray(n[u])&&Array.isArray(x[u])&&(x[u]=P(n[u],x[u],aa)));typeof T=='boolean'||da?da&&(K[ma]=x):K[ma]=N(x,n,aa)}}}else n!==
46
- void 0&&(K[ma]=typeof T=='undefined'||T==null||T===n||aa?n:T)}}w=[];I=!1;return K},P=function(C,E,K){w=[];var aa=[],p=N.getKeyComparison();if(/^true$/i.test(K)){if(typeof C[0]=='object'&&C[0]!=null&&typeof C[0][p]!='undefined'&&typeof E[0]=='object'&&E[0]!=null&&typeof E[0][p]!='undefined'){w=Array.isArray(E)?Array.from(E):JSON.clone(E);var r=0;for(K=w.length;r<K;++r)w[r]!=null&&aa.push(w[r][p]);K=JSON.clone(C);var y=0;r=0;C=K.length;for(var h=T||0,ma=E.length;h<ma;++h)if(E[h]!=null)a:for(r=r||0;r<
47
- C;++r)if(K[r]!=null)if(K[r][p]===E[h][p]){aa.indexOf(K[r][p])>-1?(w[y]=K[r],++y):aa.indexOf(K[r][p])==-1&&(aa.push(K[r][p]),w[y]=K[r],++y);break a}else aa.indexOf(K[r][p])==-1&&(aa.push(K[r][p]),w.push(K[r]));return w}return Array.isArray(C)&&C.length==0||typeof C=='undefined'?/^true$/i.test(K)?C:E:C}if(C.length==0&&E.length>0)return w=E;if(E.length==0&&C.length>0)for(r=0;r<C.length;++r)E.push(C[r]);if(w.length==0&&E.length>0)for(r=0;r<E.length;++r)typeof E[r]=='object'&&E[r]!==null||w.indexOf(E[r])!=
48
- -1||w.push(E[r]);if(E.length>0){if(typeof C[0]!='undefined'&&typeof C[0]=='object'&&C[0]!=null&&typeof C[0][p]!='undefined'&&typeof E[0]=='object'&&E[0]!=null&&typeof E[0][p]!='undefined'){w=Array.isArray(E)?Array.from(E):JSON.clone(E);K=JSON.clone(C);var T=null;r=0;for(C=w.length;r<C;++r)w[r]!=null&&aa.push(w[r][p]);for(r=0;r<C;++r)if(w[r]!=null)a:for(h=T||0,ma=K.length;h<ma;++h)if(K[h]!=null&&typeof K[h][p]!='undefined'&&K[h][p]!==w[r][p]){if(aa.indexOf(K[h][p])==-1){w.push(K[h]);aa.push(K[h][p]);
49
- T=h+1;C<ma&&++C;break a}}else if(K[h]!=null&&typeof K[h][p]!='undefined'&&K[h][p]===w[r][p])T=h+1;else break a;return w}for(r=0;r<C.length;++r)if(aa=null,typeof C=='undefined'||typeof C[r]!='object'||Array.isArray(C[r])||C[r]==null||(aa=Object.getOwnPropertyNames(C[r])),typeof aa!='undefined'&&aa!=null&&(aa=aa[0]||null),E.indexOf(C[r])>-1&&K)E.splice(E.indexOf(C[r]),1,C[r]);else if(typeof w[r]=='undefined'&&typeof C[r]=='object'&&C[r]!=null){if(w=E,typeof w[r]=='undefined'&&(w[r]={}),w[r]!==null&&
50
- typeof w[r]=='object')for(y in C[r])l(y)||w[r].hasOwnProperty(y)||(w[r][y]=C[r][y])}else{if(!K&&w.indexOf(C[r])>-1&&/number/i.test(typeof C[r])){for(ma=h=T=0;ma<=r;++ma)C[ma]===C[r]&&++T;for(ma=0;ma<w.length;++ma)w[ma]===C[r]&&++h;if(T>h){w.push(C[r]);continue}}typeof E[r]=='undefined'||/null/i.test(E[r])||typeof E[r][p]=='undefined'||typeof C[r]=='undefined'||C[r]==null||typeof C[r][p]=='undefined'||E[r][p]!=C[r][p]?w.indexOf(C[r])!=-1||typeof C[r]=='object'&&C[r]!==null?typeof E[r]=='undefined'||
51
- /null/i.test(E[r])||typeof E[r][aa]=='undefined'||typeof C[r]=='undefined'||C[r]==null||typeof C[r][aa]=='undefined'||E[r][aa]!=C[r][aa]||(w[r]=K?C[r]:E[r]):w.push(C[r]):w[r]=K?C[r]:E[r]}}if(w.length>0&&E.length>0||w.length==0&&E.length==0)return w};P.prototype.setKeyComparison=function(C){this.keyComparison=C};var J=function(C){if(!C||{}.toString.call(C)!=='[object Object]'||C.nodeType||C.setInterval)return!1;var E={}.hasOwnProperty,K=E.call(C,'constructor');E=typeof C.constructor!='undefined'?E.call(C.constructor.prototype,
52
- 'isPrototypeOf'):!1;return!C.constructor||K||E?!0:!1};N.setKeyComparison=function(C){P.keyComparison=C;return N};N.getKeyComparison=function(){var C=P.keyComparison||'id';P.keyComparison='id';return C};return N}typeof module!=='undefined'&&module.exports?(typeof JSON.clone=='undefined'&&(JSON.clone=require(__dirname+'/../../../../../utils/prototypes.json_clone')),module.exports=Merge()):typeof define==='function'&&define.amd&&define('lib/merge',[],function(){return Merge()});
43
+ function Merge(){var l=function(C){return C==='__proto__'||C==='constructor'||C==='prototype'},w=[],I=!1,N=function(C,G){var K=C;I||(typeof C=='object'&&Array.isArray(C),I=!0);typeof K=='undefined'&&(K=typeof G!='undefined'&&Array.isArray(G)?[]:{});var Z=!1;typeof arguments[arguments.length-1]=='boolean'&&(Z=arguments[arguments.length-1]);var p=1,r=arguments.length,y,h;if(typeof K!=='object'&&typeof K!=='function')K=Z?typeof arguments[2]=='undefined'?arguments[1]:arguments[2]:typeof arguments[0]==
44
+ 'undefined'?arguments[1]:arguments[0];else for(;p<r;++p)if(typeof arguments[p]!='boolean'&&(y=arguments[p])!=null){if(typeof y!='object'){K=y;break}if(Array.isArray(y)&&Array.isArray(K))K=P(y,K,Z);else for(var ma in y)if(!l(ma)){K||={name:null};var T=K[ma];var n=y[ma];if(K!==n&&(n===null||typeof n!='object'||T!==n))if(n&&(J(n)||(h=Array.isArray(n)))){var da=!1;if(h){h=!1;if(T&&Array.isArray(T))var x=T||[];else if(J(T)){x=T||{};K[ma]=x;continue}else x=[];w=x;x=P(n,x,Z);K[ma]=x}else{x=T&&J(T)?T:null;
45
+ if(!x){da=!0;x={};for(var u in n)l(u)||(x[u]=n[u])}if(Z){for(u in n)l(u)||(typeof n[u]!='undefined'?Array.isArray(n[u])&&Array.isArray(x[u])?x[u]=P(n[u],x[u],Z):x[u]=n[u]:Array.isArray(n[u])&&Array.isArray(x[u])&&(x[u]=P(n[u],x[u],Z)));K[ma]=x}else{for(u in n)l(u)||(typeof x[u]=='undefined'?Array.isArray(n[u])&&Array.isArray(x[u])?x[u]=P(n[u],x[u],Z):x[u]=n[u]:da&&Array.isArray(n[u])&&Array.isArray(x[u])&&(x[u]=P(n[u],x[u],Z)));typeof T=='boolean'||da?da&&(K[ma]=x):K[ma]=N(x,n,Z)}}}else n!==void 0&&
46
+ (K[ma]=typeof T=='undefined'||T==null||T===n||Z?n:T)}}w=[];I=!1;return K},P=function(C,G,K){w=[];var Z=[],p=N.getKeyComparison();if(/^true$/i.test(K)){if(typeof C[0]=='object'&&C[0]!=null&&typeof C[0][p]!='undefined'&&typeof G[0]=='object'&&G[0]!=null&&typeof G[0][p]!='undefined'){w=Array.isArray(G)?Array.from(G):JSON.clone(G);var r=0;for(K=w.length;r<K;++r)w[r]!=null&&Z.push(w[r][p]);K=JSON.clone(C);var y=0;r=0;C=K.length;for(var h=T||0,ma=G.length;h<ma;++h)if(G[h]!=null)a:for(r=r||0;r<C;++r)if(K[r]!=
47
+ null)if(K[r][p]===G[h][p]){Z.indexOf(K[r][p])>-1?(w[y]=K[r],++y):Z.indexOf(K[r][p])==-1&&(Z.push(K[r][p]),w[y]=K[r],++y);break a}else Z.indexOf(K[r][p])==-1&&(Z.push(K[r][p]),w.push(K[r]));return w}return Array.isArray(C)&&C.length==0||typeof C=='undefined'?/^true$/i.test(K)?C:G:C}if(C.length==0&&G.length>0)return w=G;if(G.length==0&&C.length>0)for(r=0;r<C.length;++r)G.push(C[r]);if(w.length==0&&G.length>0)for(r=0;r<G.length;++r)typeof G[r]=='object'&&G[r]!==null||w.indexOf(G[r])!=-1||w.push(G[r]);
48
+ if(G.length>0){if(typeof C[0]!='undefined'&&typeof C[0]=='object'&&C[0]!=null&&typeof C[0][p]!='undefined'&&typeof G[0]=='object'&&G[0]!=null&&typeof G[0][p]!='undefined'){w=Array.isArray(G)?Array.from(G):JSON.clone(G);K=JSON.clone(C);var T=null;r=0;for(C=w.length;r<C;++r)w[r]!=null&&Z.push(w[r][p]);for(r=0;r<C;++r)if(w[r]!=null)a:for(h=T||0,ma=K.length;h<ma;++h)if(K[h]!=null&&typeof K[h][p]!='undefined'&&K[h][p]!==w[r][p]){if(Z.indexOf(K[h][p])==-1){w.push(K[h]);Z.push(K[h][p]);T=h+1;C<ma&&++C;break a}}else if(K[h]!=
49
+ null&&typeof K[h][p]!='undefined'&&K[h][p]===w[r][p])T=h+1;else break a;return w}for(r=0;r<C.length;++r)if(Z=null,typeof C=='undefined'||typeof C[r]!='object'||Array.isArray(C[r])||C[r]==null||(Z=Object.getOwnPropertyNames(C[r])),typeof Z!='undefined'&&Z!=null&&(Z=Z[0]||null),G.indexOf(C[r])>-1&&K)G.splice(G.indexOf(C[r]),1,C[r]);else if(typeof w[r]=='undefined'&&typeof C[r]=='object'&&C[r]!=null){if(w=G,typeof w[r]=='undefined'&&(w[r]={}),w[r]!==null&&typeof w[r]=='object')for(y in C[r])l(y)||w[r].hasOwnProperty(y)||
50
+ (w[r][y]=C[r][y])}else{if(!K&&w.indexOf(C[r])>-1&&/number/i.test(typeof C[r])){for(ma=h=T=0;ma<=r;++ma)C[ma]===C[r]&&++T;for(ma=0;ma<w.length;++ma)w[ma]===C[r]&&++h;if(T>h){w.push(C[r]);continue}}typeof G[r]=='undefined'||/null/i.test(G[r])||typeof G[r][p]=='undefined'||typeof C[r]=='undefined'||C[r]==null||typeof C[r][p]=='undefined'||G[r][p]!=C[r][p]?w.indexOf(C[r])!=-1||typeof C[r]=='object'&&C[r]!==null?typeof G[r]=='undefined'||/null/i.test(G[r])||typeof G[r][Z]=='undefined'||typeof C[r]=='undefined'||
51
+ C[r]==null||typeof C[r][Z]=='undefined'||G[r][Z]!=C[r][Z]||(w[r]=K?C[r]:G[r]):w.push(C[r]):w[r]=K?C[r]:G[r]}}if(w.length>0&&G.length>0||w.length==0&&G.length==0)return w};P.prototype.setKeyComparison=function(C){this.keyComparison=C};var J=function(C){if(!C||{}.toString.call(C)!=='[object Object]'||C.nodeType||C.setInterval)return!1;var G={}.hasOwnProperty,K=G.call(C,'constructor'),Z=!1;K||typeof C.constructor=='undefined'||(Z=C.constructor.prototype?G.call(C.constructor.prototype,'isPrototypeOf'):
52
+ !1);return!C.constructor||K||Z?!0:!1};N.setKeyComparison=function(C){P.keyComparison=C;return N};N.getKeyComparison=function(){var C=P.keyComparison||'id';P.keyComparison='id';return C};return N}typeof module!=='undefined'&&module.exports?(typeof JSON.clone=='undefined'&&(JSON.clone=require(__dirname+'/../../../../../utils/prototypes.json_clone')),module.exports=Merge()):typeof define==='function'&&define.amd&&define('lib/merge',[],function(){return Merge()});
53
53
  var _alphabet='0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz',_mask=63,_step=7;function uuid(l){l=l||4;for(var w=l<=4?_step:Math.ceil(1.6*(_mask+1)*l/_alphabet.length),I='';;)for(var N=crypto.getRandomValues(new Uint8Array(w)),P=0;P<w;P++){var J=N[P]&_mask;if(J<62&&(I+=_alphabet[J],I.length===l))return I}}
54
- uuid.customAlphabet=function(l,w){w=w||4;for(var I=1;I<l.length-1;)I=I<<1|1;var N=Math.ceil(1.6*(I+1)*w/l.length);N<5&&(N=5);return function(P){P=P||w;for(var J='';;)for(var C=crypto.getRandomValues(new Uint8Array(N)),E=0;E<N;E++){var K=C[E]&I;if(K<l.length&&(J+=l[K],J.length===P))return J}}};
54
+ uuid.customAlphabet=function(l,w){w=w||4;for(var I=1;I<l.length-1;)I=I<<1|1;var N=Math.ceil(1.6*(I+1)*w/l.length);N<5&&(N=5);return function(P){P=P||w;for(var J='';;)for(var C=crypto.getRandomValues(new Uint8Array(N)),G=0;G<N;G++){var K=C[G]&I;if(K<l.length&&(J+=l[K],J.length===P))return J}}};
55
55
  if(typeof module!=='undefined'&&module.exports){if(typeof crypto==='undefined'||typeof crypto.getRandomValues!=='function'){var _webcrypto=require('crypto').webcrypto||require('crypto');typeof globalThis!=='undefined'?globalThis.crypto=_webcrypto:crypto=_webcrypto}module.exports=uuid}else typeof define==='function'&&define.amd&&define('lib/uuid',[],function(){return uuid});
56
- function FormValidatorUtil(l,w,I,N,P){var J=typeof module!=='undefined'&&module.exports?!1:!0,C=J?require('lib/merge'):require('../../../../../lib/merge');J||require('../../../../../helpers');J&&require('helpers/dateFormat');var E=J?require('lib/routing'):require('../../../../../lib/routing'),K=J?null:require('../../../../../lib/i18n'),aa=function(){if(typeof document==='undefined'||!document||typeof document.cookie!=='string')return null;var G=document.cookie||'';if(!G)return null;G=G.split(';');
57
- for(var L=0,la=G.length;L<la;++L){for(var pa=G[L];pa.charAt(0)===' '||pa.charAt(0)==='\t';)pa=pa.slice(1);var F=pa.indexOf('=');if(!(F<0)&&pa.slice(0,F)==='gina-csrf-token'){G=pa.slice(F+1);try{return decodeURIComponent(G)}catch(X){return G}}}return null},p=function(G){if(typeof G!=='string'||!G)return!1;G=G.toUpperCase();return G!=='GET'&&G!=='HEAD'&&G!=='OPTIONS'},r=function(){var G=!1,L=null;J?J&&typeof gina.forms!='undefined'&&(L=gina.forms):L=getContext('gina').forms||null;L&&typeof L.validators!=
58
- 'undefined'&&(G=!0);return G},y={errors:{},keys:{'%l':'label','%n':'name','%s':'size'},errorLabels:{},data:{},excluded:[]},h={is:'Condition not satisfied',isEmail:'A valid email is required',isRequired:'Cannot be left empty',isBoolean:'Must be a valid boolean',isNumber:'Must be a number: allowed values are integers or floats',isNumberLength:'Must contain %s characters',isNumberMinLength:'Should be at least %s characters',isNumberMaxLength:'Should not be more than %s characters',isInteger:'Must be an integer',
56
+ function FormValidatorUtil(l,w,I,N,P){var J=typeof module!=='undefined'&&module.exports?!1:!0,C=J?require('lib/merge'):require('../../../../../lib/merge');J||require('../../../../../helpers');J&&require('helpers/dateFormat');var G=J?require('lib/routing'):require('../../../../../lib/routing'),K=J?null:require('../../../../../lib/i18n'),Z=function(){if(typeof document==='undefined'||!document||typeof document.cookie!=='string')return null;var F=document.cookie||'';if(!F)return null;F=F.split(';');
57
+ for(var L=0,la=F.length;L<la;++L){for(var pa=F[L];pa.charAt(0)===' '||pa.charAt(0)==='\t';)pa=pa.slice(1);var E=pa.indexOf('=');if(!(E<0)&&pa.slice(0,E)==='gina-csrf-token'){F=pa.slice(E+1);try{return decodeURIComponent(F)}catch(X){return F}}}return null},p=function(F){if(typeof F!=='string'||!F)return!1;F=F.toUpperCase();return F!=='GET'&&F!=='HEAD'&&F!=='OPTIONS'},r=function(){var F=!1,L=null;J?J&&typeof gina.forms!='undefined'&&(L=gina.forms):L=getContext('gina').forms||null;L&&typeof L.validators!=
58
+ 'undefined'&&(F=!0);return F},y={errors:{},keys:{'%l':'label','%n':'name','%s':'size'},errorLabels:{},data:{},excluded:[]},h={is:'Condition not satisfied',isEmail:'A valid email is required',isRequired:'Cannot be left empty',isBoolean:'Must be a valid boolean',isNumber:'Must be a number: allowed values are integers or floats',isNumberLength:'Must contain %s characters',isNumberMinLength:'Should be at least %s characters',isNumberMaxLength:'Should not be more than %s characters',isInteger:'Must be an integer',
59
59
  isIntegerLength:'Must have %s characters',isIntegerMinLength:'Should be at least %s characters',isIntegerMaxLength:'Should not be more than %s characters',toInteger:'Could not be converted to integer',isFloat:'Must be a proper float',isFloatException:'Float exception found: %n',toFloat:'Could not be converted to float',toFloatNAN:'Value must be a valid number',isDate:'Must be a valid Date',isString:'Must be a string',isStringLength:'Must have %s characters',isStringMinLength:'Should be at least %s characters',
60
- isStringMaxLength:'Should not be more than %s characters',isJsonWebToken:'Must be a valid JSON Web Token',query:'Must be a valid response',isInList:'Must be one of: %s'},ma={},T=function(G){var L={toFloatNAN:'toFloat',isNumberMinLength:'isNumberLength',isNumberMaxLength:'isNumberLength',isIntegerMinLength:'isIntegerLength',isIntegerMaxLength:'isIntegerLength',isStringMinLength:'isStringLength',isStringMaxLength:'isStringLength'},la;for(la in L)typeof G[la]=='undefined'&&typeof G[L[la]]!='undefined'&&
61
- (G[la]=G[L[la]]);return G};y.errorLabels=h;if(!J&&K&&typeof P==='string'&&P){var n=getContext('bundle');if(n){P=K.walkFallback(P);for(var da=null,x=0;x<P.length;x++){var u=K.getCatalog(n,P[x]);if(u&&(u=K.resolveKey(u,'_validator'))&&typeof u==='object'){da=u;break}}da&&(da=T(JSON.clone(da)),y.errorLabels=C(JSON.clone(da),h))}}if(J&&typeof gina!='undefined'&&typeof gina.config!='undefined'){n=(K=gina.config.culture)&&K.indexOf('_')>0?K.substr(0,K.indexOf('_')):K;K=typeof gina.validator!='undefined'&&
60
+ isStringMaxLength:'Should not be more than %s characters',isJsonWebToken:'Must be a valid JSON Web Token',query:'Must be a valid response',isInList:'Must be one of: %s'},ma={},T=function(F){var L={toFloatNAN:'toFloat',isNumberMinLength:'isNumberLength',isNumberMaxLength:'isNumberLength',isIntegerMinLength:'isIntegerLength',isIntegerMaxLength:'isIntegerLength',isStringMinLength:'isStringLength',isStringMaxLength:'isStringLength'},la;for(la in L)typeof F[la]=='undefined'&&typeof F[L[la]]!='undefined'&&
61
+ (F[la]=F[L[la]]);return F};y.errorLabels=h;if(!J&&K&&typeof P==='string'&&P){var n=getContext('bundle');if(n){P=K.walkFallback(P);for(var da=null,x=0;x<P.length;x++){var u=K.getCatalog(n,P[x]);if(u&&(u=K.resolveKey(u,'_validator'))&&typeof u==='object'){da=u;break}}da&&(da=T(JSON.clone(da)),y.errorLabels=C(JSON.clone(da),h))}}if(J&&typeof gina!='undefined'&&typeof gina.config!='undefined'){n=(K=gina.config.culture)&&K.indexOf('_')>0?K.substr(0,K.indexOf('_')):K;K=typeof gina.validator!='undefined'&&
62
62
  gina.validator._errorLabelsByCulture&&K?gina.validator._errorLabelsByCulture[K]||(n?gina.validator._errorLabelsByCulture[n]:null)||null:null;n=null;if(gina.config.validatorLabels&&typeof gina.config.validatorLabels=='object')for(var A in gina.config.validatorLabels)if(gina.config.validatorLabels.hasOwnProperty(A)){n=gina.config.validatorLabels;break}n&&(n=T(JSON.clone(n)),y.errorLabels=C(JSON.clone(n),y.errorLabels));K&&(K=T(JSON.clone(K)),y.errorLabels=C(JSON.clone(K),y.errorLabels))}var k=null;
63
- if(l)k=C(JSON.clone(l),k),y.data=C(JSON.clone(l),y.data);else throw Error('missing data param');var ja=function(G,L){var la=null;for(let pa in N)if(N[pa].name===L){la=(new DOMParser).parseFromString(G.innerHTML,'text/html').getElementById(N[pa].id);break}if(la)return la;throw Error('Field `'+L+'` not found in fieldsSet');},Q=function(G){var L;var la='';var pa=G.length;for(L=0;L<pa;){var F=G[L++];switch(F>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:la+=String.fromCharCode(F);break;
64
- case 12:case 13:var X=G[L++];la+=String.fromCharCode((F&31)<<6|X&63);break;case 14:X=G[L++];var oa=G[L++];la+=String.fromCharCode((F&15)<<12|(X&63)<<6|(oa&63)<<0)}}return la};A=function(G,L){var la=k[this.name].errors||{},pa=this.target.id||this.target.getAttribute('id');if(k.isValid()){var F=this.target.dataset.ginaFormValidatorTestedValue;console.debug('[ '+this.name+' ]','TESTED VALUE -> '+this.value+' vs '+F);var X='asyncCompleted.'+pa,oa=this.target.form.getAttribute('id'),ha=typeof gina.validator!=
65
- 'undefined'&&typeof gina.validator.$forms[oa]!='undefined'&&typeof gina.validator.$forms[oa].cachedErrors!='undefined'?gina.validator.$forms[oa].cachedErrors:null;if(!F||typeof F=='undefined'||F!==this.value)this.target.dataset.ginaFormValidatorTestedValue=this.value,ha&&typeof ha[this.name]!='undefined'&&typeof ha[this.name].query!='undefined'&&(delete ha[this.name].query,typeof gina.validator.$forms[oa]!='undefined'&&typeof gina.validator.$forms[oa].errors!='undefined'&&delete gina.validator.$forms[oa].errors.query);
66
- else if(F===this.value){if(this.target&&this.target.dataset&&this.target.dataset.ginaFormValidatorQueryPending===this.value)return k[this.name];var sa=!1;ha&&typeof ha[this.name]!='undefined'&&typeof ha[this.name].query!='undefined'&&typeof ha[this.name].query[this.value]!='undefined'&&(this.error=L=ha[this.name].query[this.value].slice(0),sa=!0);la.query=Z(this.error||L||y.errorLabels.query,this,'query');console.debug('[2] potential cached error detected !! ',sa,ha,' vs ',la.query);sa&&(this.errors=
67
- la,this.valid=!1);if(typeof gina.events[X]!='undefined'){var xa=this.target,ua=this.name;queueMicrotask(function(){triggerEvent(gina,xa,X,k[ua])})}return k[this.name]}var Fa=null,ia=this;if(window.XMLHttpRequest)Fa=new XMLHttpRequest;else if(window.ActiveXObject)try{Fa=new ActiveXObject('Msxml2.XMLHTTP')}catch(mb){try{Fa=new ActiveXObject('Microsoft.XMLHTTP')}catch(bb){}}L={isSynchrone:!1,headers:{}};la=G.data||null;ha=null;F=/^true$/i.test(this.target.form.dataset.ginaFormLiveCheckEnabled)?!0:!1;
68
- ha=JSON.stringify(la);if(/\$/.test(ha)){la=ha.match(/\$[-_\[\]a-z 0-9]+/g)||[];var jb=oa=null;for(let mb=0,bb=la.length;mb<bb;mb++)jb=la[mb].replace(/\$/g,''),re=new RegExp('\\'+la[mb].replace(/\[|\]/g,'\\$&'),'g'),oa=y.data[jb]||null,!oa&&F&&(oa=ja(this.target.form,jb).value),ha=ha.replace(re,oa)}la=ha.replace(/\\"/g,'');var va=typeof G.validIf=='undefined'?!0:G.validIf;ha=G&&G.headers?G.headers['Content-Type']:null;L=C(L,G,I);delete L.data;delete L.validIf;F=L.headers['Content-Type'];ha&&ha!=''||
69
- typeof la!='string'||!/^[\[{]/.test(la.trim())||(F='application/json; charset=UTF-8');var za=null;pa=this.target.getAttribute('id');if(!/^http/.test(L.url)&&/@/.test(L.url))try{sa=E.getRoute(L.url),L.url=sa.toUrl()}catch(mb){throw mb;}if(L.withCredentials){if('withCredentials'in Fa)L.isSynchrone?Fa.open(L.method,L.url,L.isSynchrone):Fa.open(L.method,L.url);else if(typeof XDomainRequest!='undefined')Fa=new XDomainRequest,Fa.open(L.method,L.url);else throw Fa=null,za='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ',
70
- Error(za);Fa.responseType=typeof L.responseType!='undefined'?L.responseType:'';Fa.withCredentials=!0}else L.isSynchrone?Fa.open(L.method,L.url,L.isSynchrone):Fa.open(L.method,L.url);for(var Oa in L.headers)Oa=='Content-Type'&&typeof F!='undefined'&&F!=null&&F!=''||Fa.setRequestHeader(Oa,L.headers[Oa]);typeof F!='undefined'&&F!=null&&F!=''&&Fa.setRequestHeader('Content-Type',F);p(L.method)&&(sa=aa())&&Fa.setRequestHeader('X-Gina-CSRF-Token',sa);var qb=function(mb){console.warn('[ FormValidator ] `query` result handling failed for field `'+
63
+ if(l)k=C(JSON.clone(l),k),y.data=C(JSON.clone(l),y.data);else throw Error('missing data param');var ja=function(F,L){var la=null;for(let pa in N)if(N[pa].name===L){la=(new DOMParser).parseFromString(F.innerHTML,'text/html').getElementById(N[pa].id);break}if(la)return la;throw Error('Field `'+L+'` not found in fieldsSet');},Q=function(F){var L;var la='';var pa=F.length;for(L=0;L<pa;){var E=F[L++];switch(E>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:la+=String.fromCharCode(E);break;
64
+ case 12:case 13:var X=F[L++];la+=String.fromCharCode((E&31)<<6|X&63);break;case 14:X=F[L++];var oa=F[L++];la+=String.fromCharCode((E&15)<<12|(X&63)<<6|(oa&63)<<0)}}return la};A=function(F,L){var la=k[this.name].errors||{},pa=this.target.id||this.target.getAttribute('id');if(k.isValid()){var E=this.target.dataset.ginaFormValidatorTestedValue;console.debug('[ '+this.name+' ]','TESTED VALUE -> '+this.value+' vs '+E);var X='asyncCompleted.'+pa,oa=this.target.form.getAttribute('id'),ha=typeof gina.validator!=
65
+ 'undefined'&&typeof gina.validator.$forms[oa]!='undefined'&&typeof gina.validator.$forms[oa].cachedErrors!='undefined'?gina.validator.$forms[oa].cachedErrors:null;if(!E||typeof E=='undefined'||E!==this.value)this.target.dataset.ginaFormValidatorTestedValue=this.value,ha&&typeof ha[this.name]!='undefined'&&typeof ha[this.name].query!='undefined'&&(delete ha[this.name].query,typeof gina.validator.$forms[oa]!='undefined'&&typeof gina.validator.$forms[oa].errors!='undefined'&&delete gina.validator.$forms[oa].errors.query);
66
+ else if(E===this.value){if(this.target&&this.target.dataset&&this.target.dataset.ginaFormValidatorQueryPending===this.value)return k[this.name];var sa=!1;ha&&typeof ha[this.name]!='undefined'&&typeof ha[this.name].query!='undefined'&&typeof ha[this.name].query[this.value]!='undefined'&&(this.error=L=ha[this.name].query[this.value].slice(0),sa=!0);la.query=aa(this.error||L||y.errorLabels.query,this,'query');console.debug('[2] potential cached error detected !! ',sa,ha,' vs ',la.query);sa&&(this.errors=
67
+ la,this.valid=!1);if(typeof gina.events[X]!='undefined'){var xa=this.target,ua=this.name;queueMicrotask(function(){triggerEvent(gina,xa,X,k[ua])})}return k[this.name]}var Fa=null,ia=this;if(window.XMLHttpRequest)Fa=new XMLHttpRequest;else if(window.ActiveXObject)try{Fa=new ActiveXObject('Msxml2.XMLHTTP')}catch(mb){try{Fa=new ActiveXObject('Microsoft.XMLHTTP')}catch(bb){}}L={isSynchrone:!1,headers:{}};la=F.data||null;ha=null;E=/^true$/i.test(this.target.form.dataset.ginaFormLiveCheckEnabled)?!0:!1;
68
+ ha=JSON.stringify(la);if(/\$/.test(ha)){la=ha.match(/\$[-_\[\]a-z 0-9]+/g)||[];var jb=oa=null;for(let mb=0,bb=la.length;mb<bb;mb++)jb=la[mb].replace(/\$/g,''),re=new RegExp('\\'+la[mb].replace(/\[|\]/g,'\\$&'),'g'),oa=y.data[jb]||null,!oa&&E&&(oa=ja(this.target.form,jb).value),ha=ha.replace(re,oa)}la=ha.replace(/\\"/g,'');var va=typeof F.validIf=='undefined'?!0:F.validIf;ha=F&&F.headers?F.headers['Content-Type']:null;L=C(L,F,I);delete L.data;delete L.validIf;E=L.headers['Content-Type'];ha&&ha!=''||
69
+ typeof la!='string'||!/^[\[{]/.test(la.trim())||(E='application/json; charset=UTF-8');var za=null;pa=this.target.getAttribute('id');if(!/^http/.test(L.url)&&/@/.test(L.url))try{sa=G.getRoute(L.url),L.url=sa.toUrl()}catch(mb){throw mb;}if(L.withCredentials){if('withCredentials'in Fa)L.isSynchrone?Fa.open(L.method,L.url,L.isSynchrone):Fa.open(L.method,L.url);else if(typeof XDomainRequest!='undefined')Fa=new XDomainRequest,Fa.open(L.method,L.url);else throw Fa=null,za='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ',
70
+ Error(za);Fa.responseType=typeof L.responseType!='undefined'?L.responseType:'';Fa.withCredentials=!0}else L.isSynchrone?Fa.open(L.method,L.url,L.isSynchrone):Fa.open(L.method,L.url);for(var Oa in L.headers)Oa=='Content-Type'&&typeof E!='undefined'&&E!=null&&E!=''||Fa.setRequestHeader(Oa,L.headers[Oa]);typeof E!='undefined'&&E!=null&&E!=''&&Fa.setRequestHeader('Content-Type',E);p(L.method)&&(sa=Z())&&Fa.setRequestHeader('X-Gina-CSRF-Token',sa);var qb=function(mb){console.warn('[ FormValidator ] `query` result handling failed for field `'+
71
71
  (ia&&ia.name)+'`: '+(mb&&mb.message||mb));try{ia.target&&ia.target.dataset&&ia.target.dataset.ginaFormValidatorQueryPending===String(ia.value)&&delete ia.target.dataset.ginaFormValidatorQueryPending}catch(Ha){}try{var bb=ia.target&&(ia.target.id||ia.target.getAttribute('id'));bb&&triggerEvent(gina,ia.target,'asyncCompleted.'+bb,k[ia.name])}catch(Ha){}},Wa=function(mb){try{ia.target&&ia.target.dataset&&ia.target.dataset.ginaFormValidatorQueryPending===String(ia.value)&&delete ia.target.dataset.ginaFormValidatorQueryPending;
72
- ia.value=y.data[ia.name]=ia.value&&typeof ia.value=='string'?ia.value.toLowerCase():ia.value;var bb=mb.isValid||!1;bb=va!=bb?!1:!0;k[ia.name].valid=bb;var Ha=k[ia.name].errors||{},Ib=typeof mb.error!='undefined'&&typeof mb.fields!='undefined'?mb.fields:{};if(Ib.count()>0&&!bb||!bb){if(!bb){var vb=null;if(typeof Ib[ia.name]!='undefined'){if(typeof Ib[ia.name]==='string'){var Mb=y.errorLabels;var Hb=Ib[ia.name],Pb=G.data;if(typeof Hb=='string'){var Qb=Hb.match(/\{\{([^{{}}]+)\}\}/g);if(Qb)for(let g=
72
+ ia.value=y.data[ia.name]=ia.value&&typeof ia.value=='string'?ia.value.toLowerCase():ia.value;var bb=mb.isValid||!1;bb=va!=bb?!1:!0;k[ia.name].valid=bb;var Ha=k[ia.name].errors||{},Ib=typeof mb.error!='undefined'&&typeof mb.fields!='undefined'?mb.fields:{};if(Ib.count()>0&&!bb||!bb){if(!bb){var vb=null;if(typeof Ib[ia.name]!='undefined'){if(typeof Ib[ia.name]==='string'){var Mb=y.errorLabels;var Hb=Ib[ia.name],Pb=F.data;if(typeof Hb=='string'){var Qb=Hb.match(/\{\{([^{{}}]+)\}\}/g);if(Qb)for(let g=
73
73
  0,z=Qb.length;g<z;g++){let ca=Qb[g].replace(/\[/g,'["').replace(/\]/g,'"]').replace(/\{|\}/g,'').trim();try{var W=ca;let S=[],wa=W.match(/^([A-Za-z_$][\w$]*)/);if(!wa)throw Error('Invalid property path: `'+ca+'`');S.push(wa[1]);for(W=W.slice(wa[0].length);W.length>0;)if(wa=W.match(/^\.([A-Za-z_$][\w$]*)/))S.push(wa[1]),W=W.slice(wa[0].length);else if(wa=W.match(/^\["([^"\]]*)"\]/))S.push(wa[1]),W=W.slice(wa[0].length);else throw Error('Invalid property path: `'+ca+'`');W=Pb;for(let Ka=0;W!=null&&
74
- Ka<S.length;Ka++)W=W[S[Ka]];ca=W.replace(/^"|"$/g,'');Hb=Hb.replace(new RegExp(Qb[g].replace(/\{|\[|\]|\}/g,'\\$&'),'g'),ca)}catch(S){}}}var qa=Hb;Mb.query=qa}}else typeof mb.error!='undefined'&&/^5/.test(mb.status)&&(vb=mb.error);var ea=typeof G.error!='undefined'?G.error:null;Ha.query=Z(vb||ia.error||ea||y.errorLabels.query,ia,'query');console.debug('[1] query error detected !! ',mb,Ib,Ha.query)}Ha.query||ia.value!=''||(bb=!0)}bb&&typeof Ha.query!='undefined'&&delete Ha.query;ia.valid=bb;var v=
74
+ Ka<S.length;Ka++)W=W[S[Ka]];ca=W.replace(/^"|"$/g,'');Hb=Hb.replace(new RegExp(Qb[g].replace(/\{|\[|\]|\}/g,'\\$&'),'g'),ca)}catch(S){}}}var qa=Hb;Mb.query=qa}}else typeof mb.error!='undefined'&&/^5/.test(mb.status)&&(vb=mb.error);var ea=typeof F.error!='undefined'?F.error:null;Ha.query=aa(vb||ia.error||ea||y.errorLabels.query,ia,'query');console.debug('[1] query error detected !! ',mb,Ib,Ha.query)}Ha.query||ia.value!=''||(bb=!0)}bb&&typeof Ha.query!='undefined'&&delete Ha.query;ia.valid=bb;var v=
75
75
  gina.validator.$forms[ia.target.form.getAttribute('id')].cachedErrors||{};if(Ha.count()>0){ia.errors=Ha;typeof k[ia.name].errors=='undefined'&&(k[ia.name].errors={});k[ia.name].errors=C(k[ia.name].errors,Ha);typeof Ha.query!='undefined'&&Ha.query&&(typeof v[ia.name]=='undefined'&&(v[ia.name]={}),typeof v[ia.name].query=='undefined'&&(v[ia.name].query={}),v[ia.name].query[ia.value]=Ha.query.slice(0));var Y=ia.target.getAttribute('data-gina-form-errors');/query/.test(Y)||ia.target.setAttribute('data-gina-form-errors',
76
76
  Y&&Y!=''?Y+' query':'query')}else typeof v[ia.name]!='undefined'&&typeof v[ia.name].query!='undefined'&&typeof v[ia.name].query[ia.value]!='undefined'&&delete v[ia.name].query[ia.value];var e=ia.target.id||ia.target.getAttribute('id');console.debug('prematurely completed event `asyncCompleted.'+e+'`');return triggerEvent(gina,ia.target,'asyncCompleted.'+e,k[ia.name])}catch(g){return qb(g)}};Fa&&(Fa.onerror=function(mb,bb){try{var Ha={status:Fa.status,error:'Transaction error: might be due to the server CORS settings.\nPlease, check the console for more details.'};
77
77
  console.debug('query error [2] detected !! ',bb,'Transaction error: might be due to the server CORS settings.\nPlease, check the console for more details.');isOnException=!0;Ha=this.responseText;var Ib=this.getResponseHeader('Content-Type');if(/\/json/.test(Ib))Ha=JSON.parse(this.responseText),typeof Ha.status=='undefined'&&(Ha.status=this.status);else if(Ha={status:Fa.status,message:''},/^(\{|\[)/.test(Fa.responseText))try{Ha=C(Ha,JSON.parse(Fa.responseText))}catch(vb){Ha=C(Ha,vb)}return Wa(Ha)}catch(vb){return qb(vb)}},
78
78
  Fa.onload=function(){try{za=this.responseText;var mb=this.getResponseHeader('Content-Type');if(/\/json/.test(mb))za=JSON.parse(this.responseText),typeof za.status=='undefined'&&(za.status=this.status);else if(za={status:Fa.status,message:''},/^(\{|\[)/.test(Fa.responseText))try{za=C(za,JSON.parse(Fa.responseText))}catch(bb){za=C(za,bb)}return Wa(za)}catch(bb){return qb(bb)}},ia.target&&ia.target.dataset&&(ia.target.dataset.ginaFormValidatorQueryPending=ia.value),l?Fa.send(la):Fa.send())}else{console.debug('stopping on errors ...');
79
- var gb=this.target,yb=this.name;queueMicrotask(function(){triggerEvent(gina,gb,'asyncCompleted.'+pa,k[yb])})}};K=async function(G,L,la,pa){var F=(new (require(_(GINA_FRAMEWORK_DIR+'/core/config.js',!0)))).getInstance(),X=null,oa=null,ha=null,sa=getContext('bundle');if(/@/.test(G.url)){var xa=G.url.split(/@/);oa=xa[0];ha=xa[1];getConfig(sa,'app');try{F.bundle!==ha&&(X=getConfig(sa,'app').proxy[ha])}catch(va){throw Error('Could not retrieve `proxy` configuration for bundle `'+ha+'`. Please check your `/config/app.json`.\n'+
80
- va.stack);}xa=null}else throw Error('external url/domain not handled at this moment, please contact us if you need support for it.');xa=JSON.clone(E.getRoute(G.url,G.data));var ua=F[ha][F.env],Fa=ua.content.server;typeof Fa._cached=='undefined'&&(Fa._cached=new Map);typeof Fa._cachedPath=='undefined'&&(Fa._cachePath=Fa.cache.path);typeof Fa._cacheIsEnabled=='undefined'&&(Fa._cacheIsEnabled=Fa.cache.enable);X||(F.bundle==ha&&(X=getConfig(sa,'settings').server.credentials,G.ca=X.ca||null,G.hostname=
81
- ua.server.scheme+'://'+ua.host,G.port=ua.port[ua.server.protocol][ua.server.scheme],G.protocol=ua.server.protocol,G.rejectUnauthorized=!1),X={ca:G.ca,hostname:G.hostname,port:G.port,path:G.path},typeof G.protocol!='undefined'&&(X.protocol=G.protocol),typeof G.rejectUnauthorized!='undefined'&&(X.rejectUnauthorized=G.rejectUnauthorized));oa={method:xa.method,requirements:xa.requirements,namespace:xa.namespace||void 0,url:decodeURI(xa.url),rule:oa+'@'+ha,param:JSON.clone(xa.param),middleware:JSON.clone(xa.middleware),
79
+ var gb=this.target,yb=this.name;queueMicrotask(function(){triggerEvent(gina,gb,'asyncCompleted.'+pa,k[yb])})}};K=async function(F,L,la,pa){var E=(new (require(_(GINA_FRAMEWORK_DIR+'/core/config.js',!0)))).getInstance(),X=null,oa=null,ha=null,sa=getContext('bundle');if(/@/.test(F.url)){var xa=F.url.split(/@/);oa=xa[0];ha=xa[1];getConfig(sa,'app');try{E.bundle!==ha&&(X=getConfig(sa,'app').proxy[ha])}catch(va){throw Error('Could not retrieve `proxy` configuration for bundle `'+ha+'`. Please check your `/config/app.json`.\n'+
80
+ va.stack);}xa=null}else throw Error('external url/domain not handled at this moment, please contact us if you need support for it.');xa=JSON.clone(G.getRoute(F.url,F.data));var ua=E[ha][E.env],Fa=ua.content.server;typeof Fa._cached=='undefined'&&(Fa._cached=new Map);typeof Fa._cachedPath=='undefined'&&(Fa._cachePath=Fa.cache.path);typeof Fa._cacheIsEnabled=='undefined'&&(Fa._cacheIsEnabled=Fa.cache.enable);X||(E.bundle==ha&&(X=getConfig(sa,'settings').server.credentials,F.ca=X.ca||null,F.hostname=
81
+ ua.server.scheme+'://'+ua.host,F.port=ua.port[ua.server.protocol][ua.server.scheme],F.protocol=ua.server.protocol,F.rejectUnauthorized=!1),X={ca:F.ca,hostname:F.hostname,port:F.port,path:F.path},typeof F.protocol!='undefined'&&(X.protocol=F.protocol),typeof F.rejectUnauthorized!='undefined'&&(X.rejectUnauthorized=F.rejectUnauthorized));oa={method:xa.method,requirements:xa.requirements,namespace:xa.namespace||void 0,url:decodeURI(xa.url),rule:oa+'@'+ha,param:JSON.clone(xa.param),middleware:JSON.clone(xa.middleware),
82
82
  bundle:xa.bundle,isXMLRequest:L.isXMLRequest,isWithCredentials:L.isWithCredentials};ha=oa.rule.replace('@'+ha,'')||'_common';ha={template:typeof ua.content.templates!='undefined'?ua.content.templates[ha]||ua.content.templates._common:void 0,isCacheless:ua.isCacheless};ha=C(ha,oa);ua=JSON.clone(ua);ha.conf=ua;ha.conf.content.routing[ha.rule].param=oa.param;ha.template&&typeof ha.template.ginaLoader=='undefined'&&(ha.template.ginaLoader=ha.conf.content.templates._common.ginaLoader);ha.conf.content.routing[ha.rule].param=
83
- oa.param;delete ha.middleware;delete ha.param;delete ha.requirements;ua=new (require(_(GINA_FRAMEWORK_DIR+'/core/controller/controller.js'),!0))(ha);ua.name=xa.param.control;ua.serverInstance=process.gina&&process.gina._serverInstance?process.gina._serverInstance:Fa;ua.setOptions(L,la,pa,ha);L=typeof G.data=='object'&&G.data.count()>0?G.data:{};if(/^get|delete|put$/i.test(G.method)){la=0;for(let va in L)typeof L[va]=='object'&&encodeRFC5987ValueChars(JSON.stringify(L[va])),la++}X.method=G.method;
84
- X.path=xa.url;G=require('util').promisify;var ia={isValid:!1},jb=!1;await G(ua.query)(X,L).then(function(va){ia=va}).catch(function(va){jb=va});jb&&(console.error(jb),ia.error=jb);return ia};var U=null;U=J?A:K;var O=function(G,L){var la=null,pa=null;typeof k[G]=='undefined'&&typeof L!='undefined'&&(k[G]=la=L);if(typeof k[G]=='object')try{la=JSON.parse(JSON.stringify(k[G]))}catch(F){la=k[G]}else la=k[G];pa='';J&&typeof w!='undefined'&&(pa=w[G].getAttribute('data-gina-form-field-label')||'');k[G]={target:J&&
85
- typeof w!='undefined'?w[G]:null,name:G,value:la,valid:!1,label:pa,exclude:!1};k[G].is=function(F,X,oa){var ha=!1,sa=typeof window!='undefined'?window:typeof global!='undefined'?global:null,xa=sa&&typeof sa._currentValidatorAlias!='undefined'?sa._currentValidatorAlias:'is';sa&&sa._currentValidatorAlias&&delete sa._currentValidatorAlias;sa=k[this.name].errors||{};y.data[this.name]=k[this.name].value;this.value===''&&(ha=!0);if(!ha&&/^(true|false)$/i.test(F))ha=F;else if(!ha){var ua=null,Fa=null;if(/[!=>><a-z 0-9]+/i.test(F)){if((Fa=
86
- F.match(/\${0}[-_,.\[\]a-z0-9]+/ig))&&Fa.length>0){for(var ia=0,jb=Fa.length;ia<jb;++ia)typeof k[Fa[ia]]!='undefined'&&Fa[ia]&&(ua=new RegExp('\\$'+Fa[ia]+'(?!\\S+)','g'),F=k[Fa[ia]].value==''?F.replace(ua,'""'):typeof k[Fa[ia]].value=='string'?F.replace(ua,'"'+k[Fa[ia]].value+'"'):F.replace(ua,k[Fa[ia]].value));try{if(/^\//.test(F)){var va=F.match(/^\/(.+)\/([a-z]*)$/);if(!va)throw Error('Invalid regex literal: `'+F+'`');ha=(new RegExp(va[1],va[2])).test(this.value)}else{F=F.replace(/(\(|\)|return)/g,
87
- '');va=/^\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/;var za=typeof F=='string'?F.match(va):null;if(za){va=function(gb){var yb=gb.replace(/^\s+|\s+$/g,'');if(yb==='null')return null;if(yb!=='undefined'){if(yb==='true')return!0;if(yb==='false')return!1;if(/^"[^"]*"$/.test(yb))return yb.slice(1,-1);var mb=Number(yb);if(!isNaN(mb)&&yb!=='')return mb;throw Error('Invalid operand: `'+gb+'`');}};var Oa=va(za[1]),
88
- qb=za[2],Wa=va(za[3]);switch(qb){case '===':ha=Oa===Wa;break;case '!==':ha=Oa!==Wa;break;case '==':ha=Oa==Wa;break;case '!=':ha=Oa!=Wa;break;case '<':ha=Oa<Wa;break;case '>':ha=Oa>Wa;break;case '<=':ha=Oa<=Wa;break;case '>=':ha=Oa>=Wa}}else console.warn('[FormValidator] Could not evaluate condition `'+F+'` - treating field as invalid.\n(grammar: <operand><op><operand>; operand \u2208 number | "string" | true | false | null | undefined; op \u2208 === !== == != < > <= >=)'),ha=!1}}catch(gb){throw Error(gb.stack||
89
- gb.message);}}}else if(F instanceof RegExp)ha=F.test(this.value)?!0:!1;else if(typeof F=='boolean')ha=F?!0:!1;else try{if(/\/(.*)\//.test(F))ua=F.match(/\/(.*)\//).pop(),Fa=F.replace('/'+ua+'/',''),ha=(new RegExp(ua,Fa)).test(this.value);else throw Error('[FormValidator] Unsupported condition shape \u2014 supported: binary comparison (a OP b), RegExp, boolean, /regex/flags literal. Got: `'+F+'`');}catch(gb){throw Error(gb.stack||gb.message);}}ha?ha&&typeof sa[xa]!='undefined'&&delete sa[xa]:(sa[xa]=
90
- Z(this.error||X||y.errorLabels[xa]||y.errorLabels.is,this,xa),typeof oa!='undefined'&&(sa.stack=oa));this.valid=ha&&!sa.isRequired;sa.count()>0&&(this.errors=sa);return k[this.name]};k[G].set=function(F){this.value=y.data[this.name]=F;J&&this.target&&this.target.setAttribute('value',F);return k[this.name]};k[G].isEmail=function(){this.value=y.data[this.name]=this.value&&typeof this.value=='string'?this.value.toLowerCase():this.value;J&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&
91
- (this.target.value=this.value);var F=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(this.value)?!0:!1,X=k[this.name].errors||{};this.value===''&&(F=!0);F?F&&typeof X.isEmail!='undefined'&&delete X.isEmail:X.isEmail=Z(this.error||y.errorLabels.isEmail,this,'isEmail');this.valid=F&&!X.isRequired;X.count()>0&&(this.errors=X);return k[this.name]};k[G].isJsonWebToken=function(){this.value=y.data[this.name]=
92
- this.value&&typeof this.value=='string'?this.value.toLowerCase():this.value;J&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&(this.target.value=this.value);var F=/^[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/.test(this.value)?!0:!1,X=k[this.name].errors||{};this.value===''&&(F=!0);F?F&&typeof X.isJsonWebToken!='undefined'&&delete X.isJsonWebToken:X.isJsonWebToken=Z(this.error||y.errorLabels.isJsonWebToken,this,'isJsonWebToken');this.valid=F&&!X.isRequired;X.count()>
93
- 0&&(this.errors=X);return k[this.name]};k[G].isBoolean=function(){var F=null,X=k[this.name].errors||{};if(this.value==='')var oa=!0;else{switch(this.value){case 'true':case !0:case 1:F=this.value=y.data[this.name]=!0;break;case 'false':case !1:case 0:F=this.value=y.data[this.name]=!1}oa=F!==null?!0:!1;F!==null&&X.isRequired&&delete X.isRequired}oa?oa&&typeof X.isBoolean!='undefined'&&delete X.isBoolean:X.isBoolean=Z(this.error||y.errorLabels.isBoolean,this,'isBoolean');this.valid=oa&&!X.isRequired;
94
- X.count()>0&&(this.errors=X);return k[this.name]};k[G].isNumber=function(F,X){var oa=this.value,ha=!1,sa=!0,xa=!0,ua=k[this.name].errors||{};try{typeof oa=='string'&&/,|\./g.test(oa)?oa=y.data[this.name]=this.value=parseFloat(oa.replace(/,/g,'.').replace(/\s+/g,'')):typeof oa=='string'&&oa!=''&&(oa=y.data[this.name]=this.value=parseInt(oa.replace(/\s+/g,'')))}catch(ia){ua.isNumber=Z(this.error||y.errorLabels.isNumber,this,'isNumber'),this.valid=!1,ua.count()>0&&(this.errors=ua)}if(+oa===+oa&&(ha=
95
- !0,!ua.isRequired&&oa!=='')){var Fa=oa.toString().length;F&&typeof F=='number'&&Fa<F&&(sa=!1,this.size=F);X&&typeof X=='number'&&Fa>X&&(xa=!1,this.size=X)}ha&&sa&&xa||(ha||(ua.isNumber=Z(this.error||y.errorLabels.isNumber,this,'isNumber')),sa&&xa||(sa||(ua.isNumberLength=Z(this.error||y.errorLabels.isNumberMinLength,this,'isNumberMinLength')),xa||(ua.isNumberLength=Z(this.error||y.errorLabels.isNumberMaxLength,this,'isNumberMaxLength')),F===X&&(ua.isNumberLength=Z(this.error||y.errorLabels.isNumberLength,
96
- this,'isNumberLength'))),ha=!1);ha&&typeof ua.isNumberLength!='undefined'&&delete ua.isNumberLength;this.valid=ha;this.value=y.data[this.name]=oa!=''?Number(oa):oa;ua.count()>0&&(this.errors=ua);return k[this.name]};k[G].toInteger=function(){var F=this.value,X=k[this.name].errors||{};if(F)try{this.value=y.data[this.name]=Math.round(F)}catch(oa){X.toInteger=Z(this.error||y.errorLabels.toInteger,this,'toInteger'),this.valid=!1,X.count()>0&&(this.errors=X)}return k[this.name]};k[G].isInteger=function(F,
97
- X){var oa=this.value,ha=!1,sa=!0,xa=!0,ua=k[this.name].errors||{};+oa===+oa&&oa%1===0&&(ha=!0,ua.isRequired||oa===''||(F&&typeof F=='number'&&oa.toString().length<F&&(sa=!1,this.size=F),X&&typeof X=='number'&&oa.toString().length>X&&(xa=!1,this.size=X)));ha&&sa&&xa||(ha||(ua.isInteger=Z(this.error||y.errorLabels.isInteger,this,'isInteger')),sa&&xa||(sa||(ua.isIntegerLength=Z(this.error||y.errorLabels.isIntegerMinLength,this,'isIntegerMinLength'),ha=!1),xa||(ua.isIntegerLength=Z(this.error||y.errorLabels.isIntegerMaxLength,
98
- this,'isIntegerMaxLength'),ha=!1),F===X&&(ua.isIntegerLength=Z(this.error||y.errorLabels.isIntegerLength,this,'isIntegerLength'),ha=!1)));this.valid=ha;this.value=y.data[this.name]=Number(oa);ua.count()>0&&(this.errors=ua);return k[this.name]};k[G].toFloat=function(F){var X=null,oa=!1;this.target&&typeof document!=='undefined'&&document&&typeof document.getElementById==='function'&&(X=document.getElementById(this.target.getAttribute('id')));X=X&&typeof X.value!='undefined'?X.value||this.value:this.value;
99
- typeof X=='string'&&(X=X.replace(/\s+/g,''),/,/.test(X)&&/\./.test(X)?X=X.replace(/,/g,''):/,/.test(X)&&(X=X.replace(/,/g,'.'),oa=!0));y.data[this.name]=X;var ha=k[this.name].errors||{},sa=!0;F?this.decimals=parseInt(F):typeof this.decimals=='undefined'&&(this.decimals=2);if(X)if(this.isNumber().valid)try{Number.isFinite(X)||(X=new Number(parseFloat(X.match(/[0-9.,]+/g).join('').replace(/,/,'.'))))}catch(xa){sa=!1,ha.toFloat=Z(this.error||y.errorLabels.toFloat,this,'toFloat'),this.valid=!1,ha.count()>
100
- 0&&(this.errors=ha)}else sa=!1,ha.toFloat=Z(this.error||y.errorLabels.toFloatNAN,this,'toFloatNAN');else return k[this.name];this.decimals&&X&&!ha.toFloat&&(X=parseFloat(X.toFixed(this.decimals)));this.value=y.data[this.name]=X;J&&(oa&&(X=(''+X).replace(/\./g,',')),this.target.setAttribute('value',X));this.valid=sa;ha.count()>0&&(this.errors=ha);return k[this.name]};k[G].isFloat=function(F){typeof this.value=='string'&&(this.value=this.value.replace(/\s+/g,''));var X=y.data[this.name]=this.value;
101
- F=k[this.name].errors||{};typeof X=='string'&&/\./.test(X)&&Number.isFinite(Number(X));typeof X=='string'&&/,/g.test(X)&&(X=this.value=y.data[this.name]=Number(X.replace(/,/g,'.')));X=Number(X);Number.isFinite(X)&&X%1!==0?(this.value=y.data[this.name]=X,X=!0):X=!1;this.value===''&&(X=!0);X||(F.isFloat=Z(this.error||y.errorLabels.isFloat,this,'isFloat'));this.valid=X&&!F.isRequired;F.count()>0&&(this.errors=F);return k[this.name]};k[G].isRequired=function(F){if(typeof F=='boolean'&&!F)return this.valid=
102
- !0,F=y.excluded.indexOf(this.name),F>-1&&y.excluded.splice(F,1),k[this.name];if(J&&this.target&&this.target.tagName=='INPUT'&&typeof this.target.type!='undefined'&&this.target.type=='radio'){var X=this.target;F=document.getElementsByName(this.name);F=Array.prototype.filter.call(F,function(sa){return sa.form===X.form});for(var oa=0,ha=F.length;oa<ha;++oa)if(F[oa].checked){/true|false/.test(F[oa].value)?this.value=y.data[this.name]=/true/.test(F[oa].value)?!0:!1:this.value=y.data[this.name]=F[oa].value;
103
- this.valid=!0;break}}F=typeof this.value=='undefined'||this.value==null||this.value==''||/^\s+$/.test(this.value)?!1:!0;oa=k[this.name].errors||{};F?F&&typeof oa.isRequired!='undefined'&&delete oa.isRequired:oa.isRequired=Z(this.error||y.errorLabels.isRequired,this,'isRequired');this.valid=F;oa.count()>0&&(this.errors=oa);return k[this.name]};k[G].isString=function(F,X){var oa=y.data[this.name]=this.value,ha=!1,sa=!0,xa=!0,ua=k[this.name].errors||{};typeof oa!='string'||ua.isRequired||oa==''||(ha=
104
- !0,F&&typeof F=='number'&&oa.length<F&&(sa=!1,this.size=F),X&&typeof X=='number'&&oa.length>X&&(xa=!1,this.size=X));ha&&sa&&xa||(!ha&&ua.isRequired&&oa==''?ha=!1:ha||ua.isRequired||(ha=!0),sa&&xa||(ha=!1,sa||(ua.isStringLength=Z(this.error||y.errorLabels.isStringMinLength,this,'isStringMinLength')),xa||(ua.isStringLength=Z(this.error||y.errorLabels.isStringMaxLength,this,'isStringMaxLength')),F===X&&(ua.isStringLength=Z(this.error||y.errorLabels.isStringLength,this,'isStringLength'))));this.valid=
105
- ha;ua.count()>0&&(this.errors=ua);return k[this.name]};k[G].isDate=function(F){var X=this.value,oa=!1,ha=k[this.name].errors||{},sa=null;if(!X||X==''||/NaN|Invalid Date/i.test(X))return/NaN|Invalid Date/i.test(X)&&(console.warn('[FormValidator::isDate] Provided value for field `'+this.name+'` is not allowed: `'+X+'`'),ha.isDate=Z(this.error||y.errorLabels.isDate,this,'isDate')),this.valid=oa,ha.count()>0&&(this.errors=ha),k[this.name];if(typeof F=='undefined'||typeof F!='undefined'&&/true/i.test(F))F=
106
- 'yyyy-mm-dd';if(X instanceof Date)X.format(F);else{try{sa=F.match(/[^\/\- ]+/g)}catch(Oa){throw Error('[FormValidator::isDate] Provided mask not allowed: `'+F+'`');}var xa={},ua,Fa=null,ia=F=NaN,jb=NaN;try{Fa=X.match(/[^\/\- ]+/g);var va=0;for(ua=sa.length;va<ua;++va)xa[sa[va]]=Fa[va]}catch(Oa){throw Error('[FormValidator::isDate] Provided value not allowed: `'+X+'`'+Oa);}for(var za in xa)/y/i.test(za)?F=parseInt(xa[za],10):/m/i.test(za)?ia=parseInt(xa[za],10):/d/i.test(za)&&(jb=parseInt(xa[za],10));
107
- if(!Number.isFinite(F)||!Number.isFinite(ia)||!Number.isFinite(jb)||ia<1||ia>12||jb<1||jb>31)X=this.value=y.data[this.name]=new Date(NaN);else{X=new Date(F,ia-1,jb);if(X.getFullYear()!==F||X.getMonth()!==ia-1||X.getDate()!==jb)X=new Date(NaN);this.value=y.data[this.name]=X}if(/Invalid Date/i.test(X)||X instanceof Date===!1)return ha.isRequired||this.value!=''?ha.isDate=Z(this.error||y.errorLabels.isDate,this,'isDate'):oa=!0,this.valid=oa,ha.count()>0&&(this.errors=ha),k[this.name];oa=!0}this.valid=
108
- oa;return k[this.name]};k[G].isInList=function(){for(var F=k[this.name].errors||{},X=[],oa=0,ha=arguments.length;oa<ha;++oa){var sa=typeof arguments[oa];if(sa!=='string'&&sa!=='number'&&sa!=='boolean')throw Error('`isInList` requires an array of allowed primitive values; got '+sa+' at position '+oa+'. Use `isInList: ["a", "b", "c"]` form.');X.push(arguments[oa])}oa=y.data[this.name]=this.value;ha=!1;oa===''||oa==null?ha=!0:X.indexOf(oa)>-1&&(ha=!0);ha?typeof F.isInList!='undefined'&&delete F.isInList:
109
- (this.size=X.join(', '),F.isInList=Z(this.error||y.errorLabels.isInList,this,'isInList'));this.valid=ha&&!F.isRequired;F.count()>0&&(this.errors=F);return k[this.name]};k[G].format=function(F,X){var oa=this.value;if(!oa)return k[this.name];if(typeof oa.format!=='function')throw Error('[FormValidator::format] field `'+this.name+'`: value is not a Date - apply isDate(mask) before format(mask)');return oa.format(F,X)};k[G].setFlash=function(F,X){typeof X!='undefined'&&X!=''&&(this.error=X);return k[this.name]};
110
- k[G].setLabel=function(F){typeof F!='undefined'&&F!=''&&(this.label=F);return k[this.name]};k[G].trim=function(F){if(typeof F=='boolean'&&F)return typeof this.value=='string'&&(this.value=this.value.replace(/^\s+|\s+$/g,''),y.data[this.name]=y.data[this.name]=this.value),k[this.name]};k[G].exclude=function(F){if(typeof F=='boolean'&&!F)return/^true|false$/i.test(this.value)&&(this.value=/^true$/i.test(this.value)?!0:!1,y.data[this.name]=this.value),k[this.name];this.isExcluded=!1;y.excluded.indexOf(this.name)<
111
- 0&&(y.excluded.push(this.name),this.isExcluded=!0);return k[this.name]};k[G].query=U;k[G].getValidationContext=function(){return{isGFFCtx:J,self:k,local:y,replace:Z}};if(r()){la=L=null;try{for(let F in gina.forms.validators)la='/validators/'+F+'/main.js',typeof y.errorLabels[F]=='undefined'&&(y.errorLabels[F]='Condition not satisfied'),J?(L=Q(gina.forms.validators[F].data),L=L.replace(/(\)\s+\{|\)\{){1}/,'$&\n\tvar validationContext = this.getValidationContext(),isGFFCtx = validationContext.isGFFCtx,self = validationContext.self,local = validationContext.local,replace = validationContext.replace;')):
112
- L=gina.forms.validators[F].toString(),k[G][F]=eval('('+L+')\n//# sourceURL='+F+'.js')}catch(F){throw Error('[UserFormValidator] Could not evaluate: `'+la+'`\n'+F.stack);}}};for(let G in k)O(G,k[G]);k.addField=function(G,L){typeof k[G]=='undefined'&&O(G,L)};k.isValid=function(){return k.getErrors().count()>0?!1:!0};k.setErrors=function(G){if(!G)return{};for(var L in k)if(typeof k[L]=='object'){for(var la in k[L])typeof G[L]=='object'&&typeof G[L][la]!='undefined'&&(typeof k[L].valid!='undefined'&&
113
- /^true$/i.test(k[L].valid)?delete G[L][la]:(typeof k[L].errors=='undefined'&&(k[L].errors={}),k[L].errors[la]=G[L][la]));(typeof k[L].errors=='undefined'&&typeof G[L]!='undefined'||typeof k[L].errors!='undefined'&&k[L].errors.count()==0&&typeof G[L]!='undefined')&&delete G[L]}return G};k.getErrors=function(G){var L={};if(typeof G!='undefined')return typeof k[G]!='undefined'&&k[G]&&typeof k[G].errors!='undefined'&&k[G].errors.count()>0&&(L[G]=k[G].errors),L;for(var la in k)typeof k[la]=='object'&&
114
- typeof k[la].errors!='undefined'&&k[la].errors.count()>0&&(L[la]=k[la].errors);return L};k.toData=function(){if(y.excluded.length>0)for(var G=0,L=y.excluded.length;G<L;++G)typeof y.data[y.excluded[G]]!='undefined'&&delete y.data[y.excluded[G]];return y.data};var Z=function(G,L,la){if(typeof G!=='string'){var pa=la&&typeof y.errorLabels[la]==='string'?y.errorLabels[la]:la&&typeof h[la]==='string'?h[la]:'';la=la||'(unknown rule)';ma[la]||(ma[la]=!0,console.warn('[FormValidator] error label for rule `'+
115
- la+'` must be a string \u2014 got '+(G===null?'null':typeof G)+'. Falling back to '+(pa?'`'+pa+'`':'an empty message')+". Check the bundle catalog's `_validator` node, `setErrorLabels()`, the rule's `errorMessage` argument, and the field's `error`."));G=pa}if(pa=G.match(/%[a-z]+/gi)){la=0;for(var F=pa.length;la<F;++la)G=G.replace(new RegExp(pa[la],'g'),L[y.keys[pa[la]]])}return G};k.setErrorLabels=function(G){typeof G!='undefined'&&(T(G),y.errorLabels=C(G,y.errorLabels))};return k}
83
+ oa.param;delete ha.middleware;delete ha.param;delete ha.requirements;ua=new (require(_(GINA_FRAMEWORK_DIR+'/core/controller/controller.js'),!0))(ha);ua.name=xa.param.control;ua.serverInstance=process.gina&&process.gina._serverInstance?process.gina._serverInstance:Fa;ua.setOptions(L,la,pa,ha);L=typeof F.data=='object'&&F.data.count()>0?F.data:{};if(/^get|delete|put$/i.test(F.method)){la=0;for(let va in L)typeof L[va]=='object'&&encodeRFC5987ValueChars(JSON.stringify(L[va])),la++}X.method=F.method;
84
+ X.path=xa.url;F=require('util').promisify;var ia={isValid:!1},jb=!1;await F(ua.query)(X,L).then(function(va){ia=va}).catch(function(va){jb=va});jb&&(console.error(jb),ia.error=jb);return ia};var U=null;U=J?A:K;var O=function(F,L){var la=null,pa=null;typeof k[F]=='undefined'&&typeof L!='undefined'&&(k[F]=la=L);if(typeof k[F]=='object')try{la=JSON.parse(JSON.stringify(k[F]))}catch(E){la=k[F]}else la=k[F];pa='';J&&typeof w!='undefined'&&(pa=w[F].getAttribute('data-gina-form-field-label')||'');k[F]={target:J&&
85
+ typeof w!='undefined'?w[F]:null,name:F,value:la,valid:!1,label:pa,exclude:!1};k[F].is=function(E,X,oa){var ha=!1,sa=typeof window!='undefined'?window:typeof global!='undefined'?global:null,xa=sa&&typeof sa._currentValidatorAlias!='undefined'?sa._currentValidatorAlias:'is';sa&&sa._currentValidatorAlias&&delete sa._currentValidatorAlias;sa=k[this.name].errors||{};y.data[this.name]=k[this.name].value;this.value===''&&(ha=!0);if(!ha&&/^(true|false)$/i.test(E))ha=E;else if(!ha){var ua=null,Fa=null;if(/[!=>><a-z 0-9]+/i.test(E)){if((Fa=
86
+ E.match(/\${0}[-_,.\[\]a-z0-9]+/ig))&&Fa.length>0){for(var ia=0,jb=Fa.length;ia<jb;++ia)typeof k[Fa[ia]]!='undefined'&&Fa[ia]&&(ua=new RegExp('\\$'+Fa[ia]+'(?!\\S+)','g'),E=k[Fa[ia]].value==''?E.replace(ua,'""'):typeof k[Fa[ia]].value=='string'?E.replace(ua,'"'+k[Fa[ia]].value+'"'):E.replace(ua,k[Fa[ia]].value));try{if(/^\//.test(E)){var va=E.match(/^\/(.+)\/([a-z]*)$/);if(!va)throw Error('Invalid regex literal: `'+E+'`');ha=(new RegExp(va[1],va[2])).test(this.value)}else{E=E.replace(/(\(|\)|return)/g,
87
+ '');va=/^\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(null|undefined|true|false|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/;var za=typeof E=='string'?E.match(va):null;if(za){va=function(gb){var yb=gb.replace(/^\s+|\s+$/g,'');if(yb==='null')return null;if(yb!=='undefined'){if(yb==='true')return!0;if(yb==='false')return!1;if(/^"[^"]*"$/.test(yb))return yb.slice(1,-1);var mb=Number(yb);if(!isNaN(mb)&&yb!=='')return mb;throw Error('Invalid operand: `'+gb+'`');}};var Oa=va(za[1]),
88
+ qb=za[2],Wa=va(za[3]);switch(qb){case '===':ha=Oa===Wa;break;case '!==':ha=Oa!==Wa;break;case '==':ha=Oa==Wa;break;case '!=':ha=Oa!=Wa;break;case '<':ha=Oa<Wa;break;case '>':ha=Oa>Wa;break;case '<=':ha=Oa<=Wa;break;case '>=':ha=Oa>=Wa}}else console.warn('[FormValidator] Could not evaluate condition `'+E+'` - treating field as invalid.\n(grammar: <operand><op><operand>; operand \u2208 number | "string" | true | false | null | undefined; op \u2208 === !== == != < > <= >=)'),ha=!1}}catch(gb){throw Error(gb.stack||
89
+ gb.message);}}}else if(E instanceof RegExp)ha=E.test(this.value)?!0:!1;else if(typeof E=='boolean')ha=E?!0:!1;else try{if(/\/(.*)\//.test(E))ua=E.match(/\/(.*)\//).pop(),Fa=E.replace('/'+ua+'/',''),ha=(new RegExp(ua,Fa)).test(this.value);else throw Error('[FormValidator] Unsupported condition shape \u2014 supported: binary comparison (a OP b), RegExp, boolean, /regex/flags literal. Got: `'+E+'`');}catch(gb){throw Error(gb.stack||gb.message);}}ha?ha&&typeof sa[xa]!='undefined'&&delete sa[xa]:(sa[xa]=
90
+ aa(this.error||X||y.errorLabels[xa]||y.errorLabels.is,this,xa),typeof oa!='undefined'&&(sa.stack=oa));this.valid=ha&&!sa.isRequired;sa.count()>0&&(this.errors=sa);return k[this.name]};k[F].set=function(E){this.value=y.data[this.name]=E;J&&this.target&&this.target.setAttribute('value',E);return k[this.name]};k[F].isEmail=function(){this.value=y.data[this.name]=this.value&&typeof this.value=='string'?this.value.toLowerCase():this.value;J&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&
91
+ (this.target.value=this.value);var E=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(this.value)?!0:!1,X=k[this.name].errors||{};this.value===''&&(E=!0);E?E&&typeof X.isEmail!='undefined'&&delete X.isEmail:X.isEmail=aa(this.error||y.errorLabels.isEmail,this,'isEmail');this.valid=E&&!X.isRequired;X.count()>0&&(this.errors=X);return k[this.name]};k[F].isJsonWebToken=function(){this.value=y.data[this.name]=
92
+ this.value&&typeof this.value=='string'?this.value.toLowerCase():this.value;J&&this.target&&this.target.value!=''&&/[A-Z]+/.test(this.target.value)&&(this.target.value=this.value);var E=/^[A-Za-z0-9-_=]+\.[A-Za-z0-9-_=]+\.?[A-Za-z0-9-_.+/=]*$/.test(this.value)?!0:!1,X=k[this.name].errors||{};this.value===''&&(E=!0);E?E&&typeof X.isJsonWebToken!='undefined'&&delete X.isJsonWebToken:X.isJsonWebToken=aa(this.error||y.errorLabels.isJsonWebToken,this,'isJsonWebToken');this.valid=E&&!X.isRequired;X.count()>
93
+ 0&&(this.errors=X);return k[this.name]};k[F].isBoolean=function(){var E=null,X=k[this.name].errors||{};if(this.value==='')var oa=!0;else{switch(this.value){case 'true':case !0:case 1:E=this.value=y.data[this.name]=!0;break;case 'false':case !1:case 0:E=this.value=y.data[this.name]=!1}oa=E!==null?!0:!1;E!==null&&X.isRequired&&delete X.isRequired}oa?oa&&typeof X.isBoolean!='undefined'&&delete X.isBoolean:X.isBoolean=aa(this.error||y.errorLabels.isBoolean,this,'isBoolean');this.valid=oa&&!X.isRequired;
94
+ X.count()>0&&(this.errors=X);return k[this.name]};k[F].isNumber=function(E,X){var oa=this.value,ha=!1,sa=!0,xa=!0,ua=k[this.name].errors||{};try{typeof oa=='string'&&/,|\./g.test(oa)?oa=y.data[this.name]=this.value=parseFloat(oa.replace(/,/g,'.').replace(/\s+/g,'')):typeof oa=='string'&&oa!=''&&(oa=y.data[this.name]=this.value=parseInt(oa.replace(/\s+/g,'')))}catch(ia){ua.isNumber=aa(this.error||y.errorLabels.isNumber,this,'isNumber'),this.valid=!1,ua.count()>0&&(this.errors=ua)}if(+oa===+oa&&(ha=
95
+ !0,!ua.isRequired&&oa!=='')){var Fa=oa.toString().length;E&&typeof E=='number'&&Fa<E&&(sa=!1,this.size=E);X&&typeof X=='number'&&Fa>X&&(xa=!1,this.size=X)}ha&&sa&&xa||(ha||(ua.isNumber=aa(this.error||y.errorLabels.isNumber,this,'isNumber')),sa&&xa||(sa||(ua.isNumberLength=aa(this.error||y.errorLabels.isNumberMinLength,this,'isNumberMinLength')),xa||(ua.isNumberLength=aa(this.error||y.errorLabels.isNumberMaxLength,this,'isNumberMaxLength')),E===X&&(ua.isNumberLength=aa(this.error||y.errorLabels.isNumberLength,
96
+ this,'isNumberLength'))),ha=!1);ha&&typeof ua.isNumberLength!='undefined'&&delete ua.isNumberLength;this.valid=ha;this.value=y.data[this.name]=oa!=''?Number(oa):oa;ua.count()>0&&(this.errors=ua);return k[this.name]};k[F].toInteger=function(){var E=this.value,X=k[this.name].errors||{};if(E)try{this.value=y.data[this.name]=Math.round(E)}catch(oa){X.toInteger=aa(this.error||y.errorLabels.toInteger,this,'toInteger'),this.valid=!1,X.count()>0&&(this.errors=X)}return k[this.name]};k[F].isInteger=function(E,
97
+ X){var oa=this.value,ha=!1,sa=!0,xa=!0,ua=k[this.name].errors||{};+oa===+oa&&oa%1===0&&(ha=!0,ua.isRequired||oa===''||(E&&typeof E=='number'&&oa.toString().length<E&&(sa=!1,this.size=E),X&&typeof X=='number'&&oa.toString().length>X&&(xa=!1,this.size=X)));ha&&sa&&xa||(ha||(ua.isInteger=aa(this.error||y.errorLabels.isInteger,this,'isInteger')),sa&&xa||(sa||(ua.isIntegerLength=aa(this.error||y.errorLabels.isIntegerMinLength,this,'isIntegerMinLength'),ha=!1),xa||(ua.isIntegerLength=aa(this.error||y.errorLabels.isIntegerMaxLength,
98
+ this,'isIntegerMaxLength'),ha=!1),E===X&&(ua.isIntegerLength=aa(this.error||y.errorLabels.isIntegerLength,this,'isIntegerLength'),ha=!1)));this.valid=ha;this.value=y.data[this.name]=Number(oa);ua.count()>0&&(this.errors=ua);return k[this.name]};k[F].toFloat=function(E){var X=null,oa=!1;this.target&&typeof document!=='undefined'&&document&&typeof document.getElementById==='function'&&(X=document.getElementById(this.target.getAttribute('id')));X=X&&typeof X.value!='undefined'?X.value||this.value:this.value;
99
+ typeof X=='string'&&(X=X.replace(/\s+/g,''),/,/.test(X)&&/\./.test(X)?X=X.replace(/,/g,''):/,/.test(X)&&(X=X.replace(/,/g,'.'),oa=!0));y.data[this.name]=X;var ha=k[this.name].errors||{},sa=!0;E?this.decimals=parseInt(E):typeof this.decimals=='undefined'&&(this.decimals=2);if(X)if(this.isNumber().valid)try{Number.isFinite(X)||(X=new Number(parseFloat(X.match(/[0-9.,]+/g).join('').replace(/,/,'.'))))}catch(xa){sa=!1,ha.toFloat=aa(this.error||y.errorLabels.toFloat,this,'toFloat'),this.valid=!1,ha.count()>
100
+ 0&&(this.errors=ha)}else sa=!1,ha.toFloat=aa(this.error||y.errorLabels.toFloatNAN,this,'toFloatNAN');else return k[this.name];this.decimals&&X&&!ha.toFloat&&(X=parseFloat(X.toFixed(this.decimals)));this.value=y.data[this.name]=X;J&&(oa&&(X=(''+X).replace(/\./g,',')),this.target.setAttribute('value',X));this.valid=sa;ha.count()>0&&(this.errors=ha);return k[this.name]};k[F].isFloat=function(E){typeof this.value=='string'&&(this.value=this.value.replace(/\s+/g,''));var X=y.data[this.name]=this.value;
101
+ E=k[this.name].errors||{};typeof X=='string'&&/\./.test(X)&&Number.isFinite(Number(X));typeof X=='string'&&/,/g.test(X)&&(X=this.value=y.data[this.name]=Number(X.replace(/,/g,'.')));X=Number(X);Number.isFinite(X)&&X%1!==0?(this.value=y.data[this.name]=X,X=!0):X=!1;this.value===''&&(X=!0);X||(E.isFloat=aa(this.error||y.errorLabels.isFloat,this,'isFloat'));this.valid=X&&!E.isRequired;E.count()>0&&(this.errors=E);return k[this.name]};k[F].isRequired=function(E){if(typeof E=='boolean'&&!E)return this.valid=
102
+ !0,E=y.excluded.indexOf(this.name),E>-1&&y.excluded.splice(E,1),k[this.name];if(J&&this.target&&this.target.tagName=='INPUT'&&typeof this.target.type!='undefined'&&this.target.type=='radio'){var X=this.target;E=document.getElementsByName(this.name);E=Array.prototype.filter.call(E,function(sa){return sa.form===X.form});for(var oa=0,ha=E.length;oa<ha;++oa)if(E[oa].checked){/true|false/.test(E[oa].value)?this.value=y.data[this.name]=/true/.test(E[oa].value)?!0:!1:this.value=y.data[this.name]=E[oa].value;
103
+ this.valid=!0;break}}E=typeof this.value=='undefined'||this.value==null||this.value==''||/^\s+$/.test(this.value)?!1:!0;oa=k[this.name].errors||{};E?E&&typeof oa.isRequired!='undefined'&&delete oa.isRequired:oa.isRequired=aa(this.error||y.errorLabels.isRequired,this,'isRequired');this.valid=E;oa.count()>0&&(this.errors=oa);return k[this.name]};k[F].isString=function(E,X){var oa=y.data[this.name]=this.value,ha=!1,sa=!0,xa=!0,ua=k[this.name].errors||{};typeof oa!='string'||ua.isRequired||oa==''||(ha=
104
+ !0,E&&typeof E=='number'&&oa.length<E&&(sa=!1,this.size=E),X&&typeof X=='number'&&oa.length>X&&(xa=!1,this.size=X));ha&&sa&&xa||(!ha&&ua.isRequired&&oa==''?ha=!1:ha||ua.isRequired||(ha=!0),sa&&xa||(ha=!1,sa||(ua.isStringLength=aa(this.error||y.errorLabels.isStringMinLength,this,'isStringMinLength')),xa||(ua.isStringLength=aa(this.error||y.errorLabels.isStringMaxLength,this,'isStringMaxLength')),E===X&&(ua.isStringLength=aa(this.error||y.errorLabels.isStringLength,this,'isStringLength'))));this.valid=
105
+ ha;ua.count()>0&&(this.errors=ua);return k[this.name]};k[F].isDate=function(E){var X=this.value,oa=!1,ha=k[this.name].errors||{},sa=null;if(!X||X==''||/NaN|Invalid Date/i.test(X))return/NaN|Invalid Date/i.test(X)&&(console.warn('[FormValidator::isDate] Provided value for field `'+this.name+'` is not allowed: `'+X+'`'),ha.isDate=aa(this.error||y.errorLabels.isDate,this,'isDate')),this.valid=oa,ha.count()>0&&(this.errors=ha),k[this.name];if(typeof E=='undefined'||typeof E!='undefined'&&/true/i.test(E))E=
106
+ 'yyyy-mm-dd';if(X instanceof Date)X.format(E);else{try{sa=E.match(/[^\/\- ]+/g)}catch(Oa){throw Error('[FormValidator::isDate] Provided mask not allowed: `'+E+'`');}var xa={},ua,Fa=null,ia=E=NaN,jb=NaN;try{Fa=X.match(/[^\/\- ]+/g);var va=0;for(ua=sa.length;va<ua;++va)xa[sa[va]]=Fa[va]}catch(Oa){throw Error('[FormValidator::isDate] Provided value not allowed: `'+X+'`'+Oa);}for(var za in xa)/y/i.test(za)?E=parseInt(xa[za],10):/m/i.test(za)?ia=parseInt(xa[za],10):/d/i.test(za)&&(jb=parseInt(xa[za],10));
107
+ if(!Number.isFinite(E)||!Number.isFinite(ia)||!Number.isFinite(jb)||ia<1||ia>12||jb<1||jb>31)X=this.value=y.data[this.name]=new Date(NaN);else{X=new Date(E,ia-1,jb);if(X.getFullYear()!==E||X.getMonth()!==ia-1||X.getDate()!==jb)X=new Date(NaN);this.value=y.data[this.name]=X}if(/Invalid Date/i.test(X)||X instanceof Date===!1)return ha.isRequired||this.value!=''?ha.isDate=aa(this.error||y.errorLabels.isDate,this,'isDate'):oa=!0,this.valid=oa,ha.count()>0&&(this.errors=ha),k[this.name];oa=!0}this.valid=
108
+ oa;return k[this.name]};k[F].isInList=function(){for(var E=k[this.name].errors||{},X=[],oa=0,ha=arguments.length;oa<ha;++oa){var sa=typeof arguments[oa];if(sa!=='string'&&sa!=='number'&&sa!=='boolean')throw Error('`isInList` requires an array of allowed primitive values; got '+sa+' at position '+oa+'. Use `isInList: ["a", "b", "c"]` form.');X.push(arguments[oa])}oa=y.data[this.name]=this.value;ha=!1;oa===''||oa==null?ha=!0:X.indexOf(oa)>-1&&(ha=!0);ha?typeof E.isInList!='undefined'&&delete E.isInList:
109
+ (this.size=X.join(', '),E.isInList=aa(this.error||y.errorLabels.isInList,this,'isInList'));this.valid=ha&&!E.isRequired;E.count()>0&&(this.errors=E);return k[this.name]};k[F].format=function(E,X){var oa=this.value;if(!oa)return k[this.name];if(typeof oa.format!=='function')throw Error('[FormValidator::format] field `'+this.name+'`: value is not a Date - apply isDate(mask) before format(mask)');return oa.format(E,X)};k[F].setFlash=function(E,X){typeof X!='undefined'&&X!=''&&(this.error=X);return k[this.name]};
110
+ k[F].setLabel=function(E){typeof E!='undefined'&&E!=''&&(this.label=E);return k[this.name]};k[F].trim=function(E){if(typeof E=='boolean'&&E)return typeof this.value=='string'&&(this.value=this.value.replace(/^\s+|\s+$/g,''),y.data[this.name]=y.data[this.name]=this.value),k[this.name]};k[F].exclude=function(E){if(typeof E=='boolean'&&!E)return/^true|false$/i.test(this.value)&&(this.value=/^true$/i.test(this.value)?!0:!1,y.data[this.name]=this.value),k[this.name];this.isExcluded=!1;y.excluded.indexOf(this.name)<
111
+ 0&&(y.excluded.push(this.name),this.isExcluded=!0);return k[this.name]};k[F].query=U;k[F].getValidationContext=function(){return{isGFFCtx:J,self:k,local:y,replace:aa}};if(r()){la=L=null;try{for(let E in gina.forms.validators)la='/validators/'+E+'/main.js',typeof y.errorLabels[E]=='undefined'&&(y.errorLabels[E]='Condition not satisfied'),J?(L=Q(gina.forms.validators[E].data),L=L.replace(/(\)\s+\{|\)\{){1}/,'$&\n\tvar validationContext = this.getValidationContext(),isGFFCtx = validationContext.isGFFCtx,self = validationContext.self,local = validationContext.local,replace = validationContext.replace;')):
112
+ L=gina.forms.validators[E].toString(),k[F][E]=eval('('+L+')\n//# sourceURL='+E+'.js')}catch(E){throw Error('[UserFormValidator] Could not evaluate: `'+la+'`\n'+E.stack);}}};for(let F in k)O(F,k[F]);k.addField=function(F,L){typeof k[F]=='undefined'&&O(F,L)};k.isValid=function(){return k.getErrors().count()>0?!1:!0};k.setErrors=function(F){if(!F)return{};for(var L in k)if(typeof k[L]=='object'){for(var la in k[L])typeof F[L]=='object'&&typeof F[L][la]!='undefined'&&(typeof k[L].valid!='undefined'&&
113
+ /^true$/i.test(k[L].valid)?delete F[L][la]:(typeof k[L].errors=='undefined'&&(k[L].errors={}),k[L].errors[la]=F[L][la]));(typeof k[L].errors=='undefined'&&typeof F[L]!='undefined'||typeof k[L].errors!='undefined'&&k[L].errors.count()==0&&typeof F[L]!='undefined')&&delete F[L]}return F};k.getErrors=function(F){var L={};if(typeof F!='undefined')return typeof k[F]!='undefined'&&k[F]&&typeof k[F].errors!='undefined'&&k[F].errors.count()>0&&(L[F]=k[F].errors),L;for(var la in k)typeof k[la]=='object'&&
114
+ typeof k[la].errors!='undefined'&&k[la].errors.count()>0&&(L[la]=k[la].errors);return L};k.toData=function(){if(y.excluded.length>0)for(var F=0,L=y.excluded.length;F<L;++F)typeof y.data[y.excluded[F]]!='undefined'&&delete y.data[y.excluded[F]];return y.data};var aa=function(F,L,la){if(typeof F!=='string'){var pa=la&&typeof y.errorLabels[la]==='string'?y.errorLabels[la]:la&&typeof h[la]==='string'?h[la]:'';la=la||'(unknown rule)';ma[la]||(ma[la]=!0,console.warn('[FormValidator] error label for rule `'+
115
+ la+'` must be a string \u2014 got '+(F===null?'null':typeof F)+'. Falling back to '+(pa?'`'+pa+'`':'an empty message')+". Check the bundle catalog's `_validator` node, `setErrorLabels()`, the rule's `errorMessage` argument, and the field's `error`."));F=pa}if(pa=F.match(/%[a-z]+/gi)){la=0;for(var E=pa.length;la<E;++la)F=F.replace(new RegExp(pa[la],'g'),L[y.keys[pa[la]]])}return F};k.setErrorLabels=function(F){typeof F!='undefined'&&(T(F),y.errorLabels=C(F,y.errorLabels))};return k}
116
116
  typeof module!=='undefined'&&module.exports?module.exports=FormValidatorUtil:typeof define==='function'&&define.amd&&define('lib/form-validator',[],function(){return FormValidatorUtil});
117
117
  function Routing(){var l=typeof module!=='undefined'&&module.exports?!1:!0,w={allowedMethods:['get','post','put','delete'],reservedParams:['controle','file','title','namespace','path'],notFound:{},getInstance:function(p){return Routing.instance}};if(typeof Routing.initialized=='undefined')Routing.initialized=!0,Routing.instance=w,Routing._cached=[],Routing._cachedRoutes={},Routing._tries={};else return w=w.getInstance();w.allowedMethodsString=w.allowedMethods.join(',');var I=null,N=null,P=null;l?
118
118
  (N&&typeof N=='function'||(N=require('lib/merge')),P&&typeof P=='function'||(P=require('lib/form-validator'))):(require('fs'),require('util'),require('../../inherits'),N=require('../../merge'),I=require(__dirname+'/../../../core/plugins')||getContext('gina').plugins,P=I.Validator);w.getUrlProps=function(p,r){var y={};if(l){var h=window.gina.config;y.hostname=h.hostname;typeof p!='undefined'&&(p=this.getRoute('webroot@'+p),y.hostname=p.hostname,y.host=p.host,y.webroot=p.webroot)}else h=getContext('gina').config,
119
119
  typeof getContext('argvFilename')!='undefined'&&(h.getRouting=getContext('gina').Config.instance.getRouting),typeof p=='undefined'&&(p=h.bundle),typeof r=='undefined'&&(r=h.env),y.hostname=h.envConf[p][r].hostname,y.host=h.envConf[p][r].host,y.webroot=h.envConf[p][r].server.webroot;return y};w.cache=function(p,r,y,h,ma){Routing._cached.indexOf(p)==-1&&(Routing._cached.length>=5E3&&w.invalidateCached(Routing._cached[0]),Routing._cached.push(p),Routing._cachedRoutes[p]={name:r,routing:y,params:h,methodParams:ma})};
120
120
  w.getCached=function(p,r){if(Routing._cached.indexOf(p)>-1){var y=Routing._cachedRoutes[p],h=r.method.toLowerCase();p=JSON.clone(y.routing);y={method:h,requirements:p.requirements,namespace:p.namespace||void 0,url:safeDecodeURI(r.url),rule:p.originalRule||y.name,param:p.param,middleware:p.middleware,bundle:p.bundle,isXMLRequest:r.isXMLRequest,isWithCredentials:r.isWithCredentials};typeof p.rule=='undefined'&&typeof y.rule!='undefined'&&(p.rule=y.rule);typeof p.cache!='undefined'&&(y.cache=p.cache);
121
121
  typeof p.csrfExempt!='undefined'&&(y.csrfExempt=p.csrfExempt);typeof p.culturePrefix!='undefined'&&(y.culturePrefix=p.culturePrefix);typeof p.queryTimeout!='undefined'&&(y.queryTimeout=parseTimeout(p.queryTimeout));typeof p.negotiate!='undefined'&&(y.negotiate=p.negotiate);typeof p.rateLimit!='undefined'&&(y.rateLimit=p.rateLimit);return w.compareUrls(y,p.url,r)}return null};w.invalidateCached=function(p){Routing._cached.indexOf(p)>-1&&(Routing._cached.splice(Routing._cached.indexOf(p),1),delete Routing._cachedRoutes[p])};
122
- w.compareUrls=async function(p,r,y,h,ma){typeof y=='undefined'&&(y={routing:{}});if(/,/.test(r)){var T=0;r=r.split(/,/g);for(var n=r.length,da={past:!1,request:y};T<n&&!da.past;)da=await J(p,r[T],y,h,ma),++T;return da}return await J(p,r,y,h,ma)};var J=async function(p,r,y,h,ma){var T=null;try{T=p.url.split(/\//)}catch(G){console.warn(G),T=['']}r=r.split(/\//);var n=0,da=0,x=r.length,u=0,A={},k=0,ja=y.method.toLowerCase(),Q='get';try{Q=p.method.toLowerCase()}catch(G){}var U=!1;if(typeof p.requirements!=
123
- 'undefined'&&/get|delete/i.test(ja)&&typeof y[ja]!='undefined'||typeof p.requirements!='undefined'&&/get/i.test(ja)&&/delete/i.test(Q)){/get/i.test(ja)&&/delete/i.test(Q)&&(ja=Q);if(/^(delete)$/i.test(ja)&&T.length===r.length){typeof y[ja]=='undefined'&&(y[ja]={});for(let G=0,L=r.length;G<L;G++){if(T[G]===r[G]){++u;continue}Q=r[G].substring(1);if(typeof p.requirements[Q]=='undefined')continue;Q=p.requirements[Q];U='';if(/^\//.test(Q))U=Q.substring(Q.lastIndexOf('/')+1),Q=Q.substring(1,Q.lastIndexOf('/'));
124
- else if(/^validator::/.test(Q)&&await C(r[G],T[G],p,y,h,ma)){++u;continue}/^:/.test(r[G])&&typeof Q!='undefined'&&(new RegExp(Q,U)).test(T[G])&&(++u,y[ja][r[G].substring(1)]=T[G])}U=!0}for(var O in y[ja])typeof p.requirements[O]!='undefined'&&r.indexOf(':'+O)<0&&(r[da]=':'+O,++da,T[n]=y[ja][O],++n,U||T.length!==r.length||++x)}if(!U&&T.length===r.length)for(;k<x;++k)T[k]===r[k]?++u:u==k&&/:/.test(r[k])&&await C(r[k],T[k],p,y,h,ma)&&++u;if(typeof p.requirements!='undefined'&&ja==p.method.toLowerCase()&&
125
- !U&&u>=x)for(O=Object.getOwnPropertyNames(p.requirements),n=0,r.join(',').match(/:[-_a-z0-9]+/g);n<O.length;){da=O[n];if(typeof p.param[da]=='undefined'&&/^validator::/i.test(p.requirements[da])){if(r.length!=T.length)break;var Z=r.join(',').match(/:[-_a-z0-9]+/g);let G=p.requirements[da];k={};Q={};U={};try{Q=JSON.parse(G.split(/::/).splice(1)[0].replace(/([^:"\s+](\w+)):/g,'"$1":').replace(/([^:"\s+](\w+))\s+:/g,'"$1":'))}catch(L){throw L;}if(typeof Q.query!='undefined'&&typeof Q.query.data!='undefined'){k=
126
- Q.query.data;for(let L in k)Z.indexOf(k[L])<0&&delete k[L];for(let L=0,la=r.length;L<la;L++){if(!/^:/.test(r[L]))continue;Z=r[L].replace(/^:/,'');Z!=''&&typeof T[L]!='undefined'&&(k[Z]=T[L],typeof y.params[Z]=='undefined'&&(y.params[Z]=T[L]))}}k=N(k,JSON.clone(y[ja])||{});typeof k[da]=='undefined'&&(k[da]=null);U[da]=Q;_validator=l?new P(k):new P('routing',k,null,U);if(Q.count()==0){console.error('Route validation failed '+p.rule);--u;n++;continue}for(let L in Q)if(typeof Q[L].data!='undefined'&&
122
+ w.compareUrls=async function(p,r,y,h,ma){typeof y=='undefined'&&(y={routing:{}});if(/,/.test(r)){var T=0;r=r.split(/,/g);for(var n=r.length,da={past:!1,request:y};T<n&&!da.past;)da=await J(p,r[T],y,h,ma),++T;return da}return await J(p,r,y,h,ma)};var J=async function(p,r,y,h,ma){var T=null;try{T=p.url.split(/\//)}catch(F){console.warn(F),T=['']}r=r.split(/\//);var n=0,da=0,x=r.length,u=0,A={},k=0,ja=y.method.toLowerCase(),Q='get';try{Q=p.method.toLowerCase()}catch(F){}var U=!1;if(typeof p.requirements!=
123
+ 'undefined'&&/get|delete/i.test(ja)&&typeof y[ja]!='undefined'||typeof p.requirements!='undefined'&&/get/i.test(ja)&&/delete/i.test(Q)){/get/i.test(ja)&&/delete/i.test(Q)&&(ja=Q);if(/^(delete)$/i.test(ja)&&T.length===r.length){typeof y[ja]=='undefined'&&(y[ja]={});for(let F=0,L=r.length;F<L;F++){if(T[F]===r[F]){++u;continue}Q=r[F].substring(1);if(typeof p.requirements[Q]=='undefined')continue;Q=p.requirements[Q];U='';if(/^\//.test(Q))U=Q.substring(Q.lastIndexOf('/')+1),Q=Q.substring(1,Q.lastIndexOf('/'));
124
+ else if(/^validator::/.test(Q)&&await C(r[F],T[F],p,y,h,ma)){++u;continue}/^:/.test(r[F])&&typeof Q!='undefined'&&(new RegExp(Q,U)).test(T[F])&&(++u,y[ja][r[F].substring(1)]=T[F])}U=!0}for(var O in y[ja])typeof p.requirements[O]!='undefined'&&r.indexOf(':'+O)<0&&(r[da]=':'+O,++da,T[n]=y[ja][O],++n,U||T.length!==r.length||++x)}if(!U&&T.length===r.length)for(;k<x;++k)T[k]===r[k]?++u:u==k&&/:/.test(r[k])&&await C(r[k],T[k],p,y,h,ma)&&++u;if(typeof p.requirements!='undefined'&&ja==p.method.toLowerCase()&&
125
+ !U&&u>=x)for(O=Object.getOwnPropertyNames(p.requirements),n=0,r.join(',').match(/:[-_a-z0-9]+/g);n<O.length;){da=O[n];if(typeof p.param[da]=='undefined'&&/^validator::/i.test(p.requirements[da])){if(r.length!=T.length)break;var aa=r.join(',').match(/:[-_a-z0-9]+/g);let F=p.requirements[da];k={};Q={};U={};try{Q=JSON.parse(F.split(/::/).splice(1)[0].replace(/([^:"\s+](\w+)):/g,'"$1":').replace(/([^:"\s+](\w+))\s+:/g,'"$1":'))}catch(L){throw L;}if(typeof Q.query!='undefined'&&typeof Q.query.data!='undefined'){k=
126
+ Q.query.data;for(let L in k)aa.indexOf(k[L])<0&&delete k[L];for(let L=0,la=r.length;L<la;L++){if(!/^:/.test(r[L]))continue;aa=r[L].replace(/^:/,'');aa!=''&&typeof T[L]!='undefined'&&(k[aa]=T[L],typeof y.params[aa]=='undefined'&&(y.params[aa]=T[L]))}}k=N(k,JSON.clone(y[ja])||{});typeof k[da]=='undefined'&&(k[da]=null);U[da]=Q;_validator=l?new P(k):new P('routing',k,null,U);if(Q.count()==0){console.error('Route validation failed '+p.rule);--u;n++;continue}for(let L in Q)if(typeof Q[L].data!='undefined'&&
127
127
  (Q[L].data=k),U=Array.isArray(Q[L])?await _validator[da][L].apply(_validator[da],Q[L]):await _validator[da][L](Q[L],y,h,ma),!U.isValid&&(--u,typeof U.error!='undefined'))throw U.error;}n++}A.past=u===x?!0:!1;A.past&&(y.routing=K(p,y[ja]),A.request=y);return A},C=async function(p,r,y,h,ma,T){var n=-1,da=p.match(/:\w+/g);n=new RegExp(p,'g');var x=null,u=null,A=null;x=!1;var k=x=u=u=null,ja=null,Q=h.method.toLowerCase();if(!da.length)return!1;y.param.path&&n.test(y.param.path)&&(y.param.path=y.param.path.replace(n,
128
- r));y.param.namespace&&n.test(y.param.namespace)&&(y.param.namespace=y.param.namespace.replace(n,r));typeof y.param.file!='undefined'&&/:/.test(y.param.file)&&(x=new RegExp('(:'+p+'/|:'+p+'$)','g'),E.variable=r,y.param.file=y.param.file.replace(x,E),x=null);y.param.title&&n.test(y.param.title)&&(y.param.title=y.param.title.replace(n,r));if(da.length==1){x=new RegExp(da[0]);n=da.indexOf(p)>-1?da.indexOf(p):!1;n===!1&&p.match(x)&&(n=0);if(n===!1)return n;if(y.method.toLowerCase()!==Q)return!1;typeof h[Q]==
128
+ r));y.param.namespace&&n.test(y.param.namespace)&&(y.param.namespace=y.param.namespace.replace(n,r));typeof y.param.file!='undefined'&&/:/.test(y.param.file)&&(x=new RegExp('(:'+p+'/|:'+p+'$)','g'),G.variable=r,y.param.file=y.param.file.replace(x,G),x=null);y.param.title&&n.test(y.param.title)&&(y.param.title=y.param.title.replace(n,r));if(da.length==1){x=new RegExp(da[0]);n=da.indexOf(p)>-1?da.indexOf(p):!1;n===!1&&p.match(x)&&(n=0);if(n===!1)return n;if(y.method.toLowerCase()!==Q)return!1;typeof h[Q]==
129
129
  'undefined'&&(h[Q]={});A=da[n].substring(1);if(typeof y.requirements=='undefined'||typeof y.requirements[A]=='undefined')return typeof y.param[A]!='undefined'&&typeof h.params!='undefined'&&r?(h.params[A]=r,typeof h[Q][A]=='undefined'&&(h[Q][A]=r),!0):!1;n=y.requirements[A];if(/^\//.test(n))x=n.match(/\/(.*)\//).pop(),u=n.replace('/'+x+'/',''),x=(new RegExp(x,u)).test(r);else if(/^validator::/.test(n)&&r){u={};x={};k={};ja='';p.replace(new RegExp('[^'+A+']','g'),function(){ja+=arguments[0]});u[A]=
130
130
  r.replace(new RegExp(ja,'g'),'');try{x=JSON.parse(n.split(/::/).splice(1)[0].replace(/([^:"\s+](\w+)):/g,'"$1":').replace(/([^:"\s+](\w+))\s+:/g,'"$1":'))}catch(L){throw L;}typeof x.query!='undefined'&&typeof x.query.data!='undefined'&&p==x.query.data[Object.keys(x.query.data)[0]]&&(x.query.data[Object.keys(x.query.data)[0]]=u[A],h.params[A]=u[A]);k[A]=x;u=new P('routing',u,null,k);if(x.count()==0)return console.error('Route validation failed '+y.rule),!1;for(var U in x)Array.isArray(x[U])?await u[A][U].apply(u[A],
131
- x[U]):await u[A][U](x[U],h,ma,T);x=u.isValid()}else x=(new RegExp(y.requirements[A])).test(r);if(typeof y.param[A]!='undefined'&&typeof y.requirements!='undefined'&&typeof y.requirements[A]!='undefined'&&typeof h.params!='undefined'&&x){h.params[A]=r;if(typeof h[Q][A]=='undefined'){switch(r){case 'null':r=null;break;case 'false':r=!1;break;case 'true':r=!0}h[Q][A]=r}return!0}}else{if(typeof y.requirements=='undefined')return!1;ma=y.url;T=h.url;Q={};k='';var O=!1,Z=0;U=0;for(var G=T.length;U<G;++U)if(T.charAt(U)!=
132
- ma.charAt(Z)||O){if(k=='')O=!0,k+=T.charAt(U);else if(U>ma.indexOf(da[0])+da[0].length){n=y.requirements[da[0]];r=k.substring(0,k.length);if(/^\//.test(n))x=n.match(/\/(.*)\//).pop(),u=n.replace('/'+x+'/',''),x=(new RegExp(x,u)).test(r);else if(/^validator::/.test(n)){u={};x={};k={};ja='';p.replace(new RegExp('[^'+A[0]+']','g'),function(){ja+=arguments[0]});u[A[0]]=r.replace(new RegExp(ja,'g'),'');x=JSON.parse(n.split(/::/).splice(1)[0].replace(/([^\W+ true false])+(\w+)/g,'"$&"'));k[A[0]]=x;u=new P('routing',
133
- u,null,k);for(let L in x)if(Array.isArray(x[L]))u[A[0]][L].apply(u[A[0]],x[L]);else u[A[0]][L](x[L]);x=u.isValid()}else x=(new RegExp(y.requirements[A[0]])).test(r);if(x)Q[da[0].substring(1)]=r;else return!1;k='';O=!1;Z=ma.indexOf(da[0])+da[0].length;--U;da.splice(0,1)}else k+=T.charAt(U),++Z;if(U==G-1)if(n=y.requirements[da[0]],r=k.substring(0,k.length),/^\//.test(n)?(x=n.match(/\/(.*)\//).pop(),u=n.replace('/'+x+'/',''),x=(new RegExp(x,u)).test(r)):x=(new RegExp(y.requirements[A])).test(r),x)Q[da[0].substring(1)]=
134
- r;else return!1}else++Z;if(Q.count()==da.length){A=null;for(A in Q){switch(Q[A]){case 'null':Q[A]=null;break;case 'false':Q[A]=!1;break;case 'true':Q[A]=!0}h.params[A]=Q[A]}return!0}}return!1},E=function(p){return/\/$/.test(p)?E.variable+'/':E.variable},K=function(p,r){var y=null,h,ma=p.url,T=null;for(T in p.param)if((typeof r=='undefined'||typeof r[T]!='undefined')&&/^:/.test(p.param[T])){var n=p.param[T].substring(1);if(typeof r!='undefined'&&typeof r[n]!='undefined'){var da=new RegExp('(:'+n+'/|:'+
135
- n+'$)','g');typeof p.param.path!='undefined'&&/:/.test(p.param.path)&&(p.param.path=p.param.path.replace(da,r[n]));typeof p.param.title!='undefined'&&/:/.test(p.param.title)&&(p.param.title=p.param.title.replace(da,r[n]));typeof p.param.namespace!='undefined'&&/:/.test(p.param.namespace)&&(p.param.namespace=p.param.namespace.replace(da,r[n]));typeof p.param.file!='undefined'&&/:/.test(p.param.file)&&(E.variable=r[n],p.param.file=p.param.file.replace(da,E));if(/,/.test(p.url)){y=p.url.split(/,/g);
136
- var x=0;for(h=y.length;x<h;++x)E.variable=r[n],y[x]=y[x].replace(da,E);p.url=y.join(',')}else E.variable=r[n],p.url=p.url.replace(da,E)}}if(y){x=0;h=y.length;ma=ma.split(/,/g);var u=0;for(p.urlIndex=0;x<h;++x)if(y=0,da=ma[0].match(/:[-_a-z0-9]+/ig)){T=0;for(n=da.length;T<n;T++){var A=da[T].substring(1);typeof r[A]!='undefined'&&r[A]&&y++}y>u&&(u=y,p.urlIndex=x)}}return p},aa=!1;w.getRoute=function(p,r,y){var h=null,ma=!1;l?(window.location.port||window.location.hostname!=window.gina.config.hostname.replace(/^(https|http|wss|ws):\/\//,
131
+ x[U]):await u[A][U](x[U],h,ma,T);x=u.isValid()}else x=(new RegExp(y.requirements[A])).test(r);if(typeof y.param[A]!='undefined'&&typeof y.requirements!='undefined'&&typeof y.requirements[A]!='undefined'&&typeof h.params!='undefined'&&x){h.params[A]=r;if(typeof h[Q][A]=='undefined'){switch(r){case 'null':r=null;break;case 'false':r=!1;break;case 'true':r=!0}h[Q][A]=r}return!0}}else{if(typeof y.requirements=='undefined')return!1;ma=y.url;T=h.url;Q={};k='';var O=!1,aa=0;U=0;for(var F=T.length;U<F;++U)if(T.charAt(U)!=
132
+ ma.charAt(aa)||O){if(k=='')O=!0,k+=T.charAt(U);else if(U>ma.indexOf(da[0])+da[0].length){n=y.requirements[da[0]];r=k.substring(0,k.length);if(/^\//.test(n))x=n.match(/\/(.*)\//).pop(),u=n.replace('/'+x+'/',''),x=(new RegExp(x,u)).test(r);else if(/^validator::/.test(n)){u={};x={};k={};ja='';p.replace(new RegExp('[^'+A[0]+']','g'),function(){ja+=arguments[0]});u[A[0]]=r.replace(new RegExp(ja,'g'),'');x=JSON.parse(n.split(/::/).splice(1)[0].replace(/([^\W+ true false])+(\w+)/g,'"$&"'));k[A[0]]=x;u=new P('routing',
133
+ u,null,k);for(let L in x)if(Array.isArray(x[L]))u[A[0]][L].apply(u[A[0]],x[L]);else u[A[0]][L](x[L]);x=u.isValid()}else x=(new RegExp(y.requirements[A[0]])).test(r);if(x)Q[da[0].substring(1)]=r;else return!1;k='';O=!1;aa=ma.indexOf(da[0])+da[0].length;--U;da.splice(0,1)}else k+=T.charAt(U),++aa;if(U==F-1)if(n=y.requirements[da[0]],r=k.substring(0,k.length),/^\//.test(n)?(x=n.match(/\/(.*)\//).pop(),u=n.replace('/'+x+'/',''),x=(new RegExp(x,u)).test(r)):x=(new RegExp(y.requirements[A])).test(r),x)Q[da[0].substring(1)]=
134
+ r;else return!1}else++aa;if(Q.count()==da.length){A=null;for(A in Q){switch(Q[A]){case 'null':Q[A]=null;break;case 'false':Q[A]=!1;break;case 'true':Q[A]=!0}h.params[A]=Q[A]}return!0}}return!1},G=function(p){return/\/$/.test(p)?G.variable+'/':G.variable},K=function(p,r){var y=null,h,ma=p.url,T=null;for(T in p.param)if((typeof r=='undefined'||typeof r[T]!='undefined')&&/^:/.test(p.param[T])){var n=p.param[T].substring(1);if(typeof r!='undefined'&&typeof r[n]!='undefined'){var da=new RegExp('(:'+n+
135
+ '/|:'+n+'$)','g');typeof p.param.path!='undefined'&&/:/.test(p.param.path)&&(p.param.path=p.param.path.replace(da,r[n]));typeof p.param.title!='undefined'&&/:/.test(p.param.title)&&(p.param.title=p.param.title.replace(da,r[n]));typeof p.param.namespace!='undefined'&&/:/.test(p.param.namespace)&&(p.param.namespace=p.param.namespace.replace(da,r[n]));typeof p.param.file!='undefined'&&/:/.test(p.param.file)&&(G.variable=r[n],p.param.file=p.param.file.replace(da,G));if(/,/.test(p.url)){y=p.url.split(/,/g);
136
+ var x=0;for(h=y.length;x<h;++x)G.variable=r[n],y[x]=y[x].replace(da,G);p.url=y.join(',')}else G.variable=r[n],p.url=p.url.replace(da,G)}}if(y){x=0;h=y.length;ma=ma.split(/,/g);var u=0;for(p.urlIndex=0;x<h;++x)if(y=0,da=ma[0].match(/:[-_a-z0-9]+/ig)){T=0;for(n=da.length;T<n;T++){var A=da[T].substring(1);typeof r[A]!='undefined'&&r[A]&&y++}y>u&&(u=y,p.urlIndex=x)}}return p},Z=!1;w.getRoute=function(p,r,y){var h=null,ma=!1;l?(window.location.port||window.location.hostname!=window.gina.config.hostname.replace(/^(https|http|wss|ws):\/\//,
137
137
  '').replace(/:\d+$/,'')||(ma=!0,window.gina.config.hostname=window.gina.config.hostname.replace(/^(https|http|wss|ws):\/\//,'').replace(/:\d+$/,'')),h=window.gina.config):(h=getContext('gina').config,typeof getContext('argvFilename')!='undefined'&&(h.getRouting=getContext('gina').Config.instance.getRouting),ma=getContext('isProxyHost'));var T=h.env||GINA_ENV,n=null,da=h.bundle;/@/.test(p)||typeof da=='undefined'||da==null||(p=p.toLowerCase(),p+='@'+da);if(/@/.test(p)){var x=p.replace(/(.*):\/\//,
138
138
  '').split(/@/);da=x[1];/\/(.*)$/.test(p)&&(n=p.replace(/(.*):\/\//,'').split(/\/(.*)$/)[1],da=da.replace(/\/(.*)$/,''),T=n||T);p=x[0].toLowerCase()+'@'+da}n=h.getRouting(da,T);if(!n)throw Error('[ RoutingHelper::getRoute(rule, params) ] : bundle `'+da+'` has no routing table for rule `'+p+'` (client: routing config not loaded yet, or empty)');if(typeof n[p]=='undefined')throw Error('[ RoutingHelper::getRouting(rule, params) ] : `'+p+'` not found ! (bundle `'+da+'` holds '+Object.keys(n).length+' rules)');
139
- da=JSON.clone(n[p]);x=null;da=K(da,r);(da.isProxyHost=ma)?(da.proxy_hostname=l?window.location.protocol+'//'+document.location.hostname:process.gina.PROXY_HOSTNAME||h.envConf._proxyHostname,da.proxy_hostname?da.proxy_host=da.proxy_hostname.replace(/^(https|http):\/\//,''):(delete da.proxy_hostname,da.isProxyHost=!1,aa||(aa=!0,console.warn('[ RoutingHelper::getRoute() ] Proxied context is active but no proxy hostname is resolvable (worker global and envConf fallback both unset) - falling back to the route direct hostname. Warned once per process.')))):
139
+ da=JSON.clone(n[p]);x=null;da=K(da,r);(da.isProxyHost=ma)?(da.proxy_hostname=l?window.location.protocol+'//'+document.location.hostname:process.gina.PROXY_HOSTNAME||h.envConf._proxyHostname,da.proxy_hostname?da.proxy_host=da.proxy_hostname.replace(/^(https|http):\/\//,''):(delete da.proxy_hostname,da.isProxyHost=!1,Z||(Z=!0,console.warn('[ RoutingHelper::getRoute() ] Proxied context is active but no proxy hostname is resolvable (worker global and envConf fallback both unset) - falling back to the route direct hostname. Warned once per process.')))):
140
140
  !l&&typeof process.gina.PROXY_HOSTNAME!='undefined'&&process.gina.PROXY_HOSTNAME&&(da.proxy_hostname=process.gina.PROXY_HOSTNAME,da.proxy_host=da.proxy_hostname.replace(/^(https|http):\/\//,''),console.debug('[getRoute#2]['+ma+'] process.gina.PROXY_HOSTNAME ('+process.gina.PROXY_HOSTNAME+') VS config.envConf._proxyHostname ('+h.envConf._proxyHostname+')'));/,/.test(da.url)&&(typeof da.urlIndex!='undefined'&&(y=da.urlIndex,delete da.urlIndex),y=typeof y!='undefined'?y:0,da.url=da.url.split(/,/g)[y]);
141
141
  /\/$/.test(da.url)&&da.url!='/'&&(da.url=da.url.substring(0,da.url.length-1));if(/GET/i.test(da.method)&&typeof r!='undefined'){y='?';h=n[p].url;ma=[];n=0;for(let u in da.param)w.reservedParams.indexOf(u)>-1||(new RegExp(da.param[u])).test(h)||typeof r[u]=='undefined'||(y+=u+'='+encodeRFC5987ValueChars(r[u])+'&',ma[n]=r[u],++n);for(let u in r)w.reservedParams.indexOf(u)>-1||da.requirements&&typeof da.requirements[u]!='undefined'||ma.indexOf(u)>-1||(y=typeof r[u]=='object'?y+(u+'='+encodeRFC5987ValueChars(JSON.stringify(r[u]))+
142
142
  '&'):y+(u+'='+r[u]+'&'));n=ma=h=null;y.length>1&&(y=y.substring(0,y.length-1),da.url+=y);y=null}da.toUrl=function(u){var A=null;if(this.isRedirect===!0||/^redirect$/i.test(this.param&&this.param.control))A=w.getUrlProps(this.bundle,T||GINA_ENV);var k=this.webroot||A.webroot;A=''+this.hostname||''+A.hostname;var ja=''+this.url;this.isProxyHost&&(A=''+this.proxy_hostname);this.url=typeof u!='undefined'&&/^true$/i.test(u)?ja.replace(new RegExp('^'+k),'/'):ja.replace(new RegExp('^('+k+'|/$)'),k);return A+
143
143
  this.url};da.request=function(u,A){var k=null,ja=null;typeof arguments[arguments.length-1]=='function'&&(k=arguments[arguments.length-1]);typeof arguments[2]=='object'&&(ja=arguments[2]);var Q=this.webroot||ja.webroot,U=this.hostname||ja.hostname,O=typeof u!='undefined'&&u==1?path.replace(Q,'/'):this.url||ja.url;/^\//.test(O)&&(O=U+O);ja=/^https/.test(U)?'https':'http';if(l)window.open(O,typeof A!='undefined'&&typeof A.target!='undefined'?A.target:'_self');else{typeof A.agent=='undefined'&&(A.agent=
144
- !1);ja=require(''+ja);var Z=!1,G=function(la,pa){Z||(Z=!0,k(la,pa))};Q=function(la){var pa='',F=!1;la.on('data',function(X){pa+=X});la.on('error',function(X){F='route.request: response stream failed for '+O;X&&typeof X.stack!='undefined'?F+='\n'+X.stack:typeof X=='string'&&(F+='\n'+X);G(F)});la.on('end',function(){if(/^\{/.test(pa))try{pa=JSON.parse(pa),typeof pa.error!='undefined'&&(F=JSON.clone(pa),pa=null)}catch(X){F=X}F?G(F):G(!1,pa)})};var L=null;if(k){if(L=ja.get(O,A,Q),L.on('error',function(la){G(la)}),
144
+ !1);ja=require(''+ja);var aa=!1,F=function(la,pa){aa||(aa=!0,k(la,pa))};Q=function(la){var pa='',E=!1;la.on('data',function(X){pa+=X});la.on('error',function(X){E='route.request: response stream failed for '+O;X&&typeof X.stack!='undefined'?E+='\n'+X.stack:typeof X=='string'&&(E+='\n'+X);F(E)});la.on('end',function(){if(/^\{/.test(pa))try{pa=JSON.parse(pa),typeof pa.error!='undefined'&&(E=JSON.clone(pa),pa=null)}catch(X){E=X}E?F(E):F(!1,pa)})};var L=null;if(k){if(L=ja.get(O,A,Q),L.on('error',function(la){F(la)}),
145
145
  A&&typeof A.timeout!='undefined'&&A.timeout)L.on('timeout',function(){var la=Error('route.request: timed out after '+A.timeout+'ms requesting '+O);la.code='ETIMEDOUT';L.destroy(la)})}else L=ja.get(O,A),L.on('error',function(la){console.warn('[ ROUTING ] route.request: fire-and-forget request to '+O+' failed: '+(la&&la.message?la.message:la))})}};!/:/.test(da.url)||/:d+\//.test(da.url)||/:\/\//.test(da.url)||(r=da.url.match(/(:(.*)\/|:(.*)$)/g).map(function(u){return u.replace(/\//g,'')}).join(', '),
146
146
  x='[ RoutingHelper::getRoute(rule[, bundle, method]) ] : route [ %r ] param placeholder not defined: `'+da.url+'` !\n Check your route description to compare requirements against param variables [ '+r+']',x=x.replace(/%r/,p),p=Error(x),console.warn(p),x=p=r=null);return da};w.getRouteByUrl=async function(p,r,y,h,ma){arguments.length==2&&typeof arguments[1]!='undefined'&&arguments[1]&&w.allowedMethods.indexOf(arguments[1].toLowerCase())>-1&&(y=arguments[1],r=void 0);var T=null,n=null,da=null,x=null,
147
147
  u=null,A=null;if(/#/.test(p)&&p.length>1){var k=p.split(/#/);p=k[0];u='#'+k[1];k=null}arguments.length==1&&typeof arguments[0]!='undefined'&&(/^(https|http)/i.test(p)||/^\//.test(p)||(p='/'+p),T='/'+p.split(/\//g)[1],l&&(x=gina.config.reverseRouting,da=gina.config.routing),typeof x[T]!='undefined'&&(k=da[x[T]],r=k.bundle,T=k.webroot,A=k.hostname,k=null));ma=typeof arguments[arguments.length-1]!='boolean'?!1:arguments[arguments.length-1];var ja=!1,Q=null,U=x=Q=x=null;k=typeof y!='undefined'?!0:!1;
148
148
  l?(Q=window.gina.config,r=typeof r!='undefined'?r:Q.bundle,x=Q.env,da=Q.routing||Q.getRouting(r),x=Q.reverseRouting,isXMLRequest=typeof isXMLRequest!='undefined'?isXMLRequest:!1,A=A||Q.hostname,T=T||Q.webroot,h={routing:{},method:y,params:{},url:p},r&&(h.bundle=r)):(Q=getContext('gina').config,r=typeof r!='undefined'?r:Q.bundle,x=Q.env,da=Q.getRouting(r),A=Q.envConf[r][x].hostname,T=Q.envConf[r][x].server.webroot,h||={routing:{},isXMLRequest:!1,method:typeof y!='undefined'?y.toLowerCase():'get',params:{},
149
149
  url:p},ma&&(h.method=y),isXMLRequest=h.isXMLRequest||!1);Q=p.replace(new RegExp('^('+A+'|'+A.replace(/:\d+/,'')+')'),'');typeof h.routing.path=='undefined'&&(h.routing.path=safeDecodeURI(Q));y=typeof y!='undefined'?y.toLowerCase():'get';k&&(h.originalMethod=h.method,h.method=y,h.routing.path=safeDecodeURI(Q));h.method||(h.method=y);x={};T=new RegExp(y,'i');A=null;for(O in da){if(typeof da[O].param=='undefined')break;if(da[O].bundle==r&&(A=da[O].method,/,/.test(A)&&T.test(A)&&(A=h.method),typeof da[O].method==
150
- 'undefined'||T.test(A))){x={method:A,requirements:da[O].requirements,namespace:da[O].namespace||void 0,url:safeDecodeURI(Q),rule:da[O].originalRule||O,param:JSON.clone(da[O].param),middleware:JSON.clone(da[O].middleware),bundle:da[O].bundle,isXMLRequest};try{if(U=await w.compareUrls(x,da[O].url,h),Q==da[O].url||U.past){n=JSON.clone(da[O]);n.name=O;n.param=x.param;ja=!0;U={};break}}catch(Z){throw Error('Route [ '+O+' ] needs your attention.\n'+Z.stack);}}}if(ja)return/\/$/.test(p)&&p!='/'&&(p=p.substring(0,
151
- p.length-1)),u&&(p+=u),n.url=p,n.toUrl=function(Z){var G=this.webroot,L=this.hostname,la=this.url;this.url=typeof Z!='undefined'&&Z==1?la.replace(G,'/'):la;return L+this.url},n;if(l){var O=!1;if(p=='#'&&/GET/i.test(y)&&k||/^404:/.test(p))p=location.pathname,O=!0;typeof w.notFound=='undefined'&&(w.notFound={});u=null;n='[ RoutingHelper::getRouteByUrl(rule[, bundle, method]) ] : route [ %r ] is called but not found inside your view: `'+p+'` !';if((u=(u=gina.hasPopinHandler&&gina.popinIsBinded?gina.popin.getActivePopin().target.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/):
150
+ 'undefined'||T.test(A))){x={method:A,requirements:da[O].requirements,namespace:da[O].namespace||void 0,url:safeDecodeURI(Q),rule:da[O].originalRule||O,param:JSON.clone(da[O].param),middleware:JSON.clone(da[O].middleware),bundle:da[O].bundle,isXMLRequest};try{if(U=await w.compareUrls(x,da[O].url,h),Q==da[O].url||U.past){n=JSON.clone(da[O]);n.name=O;n.param=x.param;ja=!0;U={};break}}catch(aa){throw Error('Route [ '+O+' ] needs your attention.\n'+aa.stack);}}}if(ja)return/\/$/.test(p)&&p!='/'&&(p=p.substring(0,
151
+ p.length-1)),u&&(p+=u),n.url=p,n.toUrl=function(aa){var F=this.webroot,L=this.hostname,la=this.url;this.url=typeof aa!='undefined'&&aa==1?la.replace(F,'/'):la;return L+this.url},n;if(l){var O=!1;if(p=='#'&&/GET/i.test(y)&&k||/^404:/.test(p))p=location.pathname,O=!0;typeof w.notFound=='undefined'&&(w.notFound={});u=null;n='[ RoutingHelper::getRouteByUrl(rule[, bundle, method]) ] : route [ %r ] is called but not found inside your view: `'+p+'` !';if((u=(u=gina.hasPopinHandler&&gina.popinIsBinded?gina.popin.getActivePopin().target.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/):
152
152
  document.body.innerHTML.match(/404:\[\w+\][a-z 0-9-_@]+/))&&u.length>0?u[0]:null)&&k&&O)return O=u.match(/\[\w+\]/)[0],u=u.replace('404:'+O,O.replace(/\[|\]/g,'')+'::'),n=n.replace(/%r/,u.replace(/404:\s+/,'')),typeof w.notFound[u]=='undefined'?w.notFound[u]={count:1,message:n}:k&&typeof w.notFound[u]!='undefined'&&++w.notFound[u].count,!1;if((O=gina.config.reverseRouting[p]||null)&&typeof O!='undefined'&&O.split(/@(.+)$/)[1]==r)return u=O,typeof w.notFound[u]=='undefined'?(n=n.replace(/%r/,y.toUpperCase()+
153
153
  '::'+O),w.notFound[u]={count:1,message:n}):k&&typeof w.notFound[u]!='undefined'&&++w.notFound[u].count,!1;u=await w.compareUrls(x,p,h)||null;u.past&&k&&(u=y.toUpperCase()+'::'+u.request.routing.rule,typeof w.notFound[u]=='undefined'?n=n.replace(/%r/,u):++w.notFound[u].count);return!1}console.warn(Error('[ RoutingHelper::getRouteByUrl(rule[, bundle, method, request]) ] : route not found for url: `'+p+'` !').stack);return!1};w.buildTrie=function(p,r){if(!l){var y=require('./radix'),h=y.createNode(),
154
154
  ma;for(ma in p){var T=p[ma];if(T&&typeof T==='object'&&T.bundle===r){T=Array.isArray(T.url)?T.url:String(T.url).split(',');for(var n=0;n<T.length;n++){var da=T[n].trim();da&&y.insert(h,da,ma)}}}Routing._tries[r]=h}};w.lookupTrie=function(p,r){return Routing._tries&&Routing._tries[r]?require('./radix').lookup(Routing._tries[r],p):null};return w}
155
155
  typeof module!=='undefined'&&module.exports?(typeof console.err=='undefined'&&(console=require('../../logger')),module.exports=Routing()):typeof define==='function'&&define.amd&&define('lib/routing',['require','lib/form-validator','lib/merge'],function(){return Routing()});function registerEvents(l,w){typeof gina=='undefined'&&typeof window.gina!='undefined'&&(gina=window.gina);gina.registeredEvents[l]=w}function mergeEventProps(l,w){for(let I in w)typeof l[I]=='undefined'&&(l[I]=w[I]);return l}
156
- function addListener(l,w,I,N){var P=function(E,K,aa,p){typeof E.event!='undefined'&&E.event.isTouchSupported&&/^(click|mouseout|mouseover)/.test(aa)&&E.event[aa].indexOf(K)==-1&&(E.event[aa][E.event[aa].length]=K);typeof K!='undefined'&&K!=null?K.addEventListener?K.addEventListener(aa,p,!1):K.attachEvent&&K.attachEvent('on'+aa,p):E.customEvent.addListener(aa,p);gina.events[aa]=typeof K.id!='undefined'&&typeof K.id!='object'?K.id:K.getAttribute('id')},J=0,C=null;if(Array.isArray(I))for(C=I.length;J<
157
- C;J++)P(l,w,I[J],N);else if(Array.isArray(w))for(J=0,C=w.length;J<C;J++){let E=/\.$/.test(I)?I+w[J].id:I;P(l,w[J],E,N)}else I=/\.$/.test(I)?I+w.id:I,P(l,w,I,N)}
156
+ function addListener(l,w,I,N){var P=function(G,K,Z,p){typeof G.event!='undefined'&&G.event.isTouchSupported&&/^(click|mouseout|mouseover)/.test(Z)&&G.event[Z].indexOf(K)==-1&&(G.event[Z][G.event[Z].length]=K);typeof K!='undefined'&&K!=null?K.addEventListener?K.addEventListener(Z,p,!1):K.attachEvent&&K.attachEvent('on'+Z,p):G.customEvent.addListener(Z,p);gina.events[Z]=typeof K.id!='undefined'&&typeof K.id!='object'?K.id:K.getAttribute('id')},J=0,C=null;if(Array.isArray(I))for(C=I.length;J<C;J++)P(l,
157
+ w,I[J],N);else if(Array.isArray(w))for(J=0,C=w.length;J<C;J++){let G=/\.$/.test(I)?I+w[J].id:I;P(l,w[J],G,N)}else I=/\.$/.test(I)?I+w.id:I,P(l,w,I,N)}
158
158
  function triggerEvent(l,w,I,N,P){if(typeof w!='undefined'&&w!=null){var J=!1;if(window.CustomEvent||document.createEvent)return window.CustomEvent?l=new CustomEvent(I,{detail:N,bubbles:!0,cancelable:!0,target:w}):(l=document.createEvent('HTMLEvents'),l.detail=N,l.target=w,l.initEvent(I,!0,!0),l.eventName=I),P&&(l=mergeEventProps(l,P)),typeof l.defaultPrevented!='undefined'&&l.defaultPrevented&&(J=l.defaultPrevented),J||w.dispatchEvent(l),l;if(document.createEventObject)return l=document.createEventObject(),
159
159
  l.srcElement.id=w.id,l.detail=N,l.target=w,P&&(l=mergeEventProps(l,P)),w.fireEvent('on'+I,l),l}else l.customEvent.fire(I,N)}function cancelEvent(l){typeof l!='undefined'&&l!=null&&(l.cancelBubble=!0,l.preventDefault&&l.preventDefault(),l.stopPropagation&&l.stopPropagation(),l.returnValue=!1)}
160
160
  function setupXhr(l){var w=null;if(window.XMLHttpRequest)w=new XMLHttpRequest;else if(window.ActiveXObject)try{w=new ActiveXObject('Msxml2.XMLHTTP')}catch(N){try{w=new ActiveXObject('Microsoft.XMLHTTP')}catch(P){}}if(typeof l!='undefined'){if(!l.url||typeof l.url=='undefined')throw Error('Missing `options.url`');typeof l.method=='undefined'&&(l.method='GET');l.method=l.method.toUpperCase();if(l.withCredentials){if('withCredentials'in w)l.isSynchrone?w.open(l.method,l.url,l.isSynchrone):w.open(l.method,
161
161
  l.url);else if(typeof XDomainRequest!='undefined')w=new XDomainRequest,w.open(l.method,l.url);else{result='CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ';triggerEvent(gina,$target,'error.'+id,result);return}w.responseType=typeof l.responseType!='undefined'?l.responseType:'';w.withCredentials=!0}else l.isSynchrone?w.open(l.method,l.url,l.isSynchrone):w.open(l.method,l.url);for(var I in l.headers)I=='Content-Type'&&typeof enctype!='undefined'&&enctype!=
162
162
  null&&enctype!=''||w.setRequestHeader(I,l.headers[I])}return w}function getFilenameFromContentDisposition(l){return l?(l=l.match(/filename\s*=\s*(?:"((?:[^"\\]|\\.)*)"|([^;]+))/i))?typeof l[1]!='undefined'?l[1].replace(/\\(.)/g,'$1'):l[2].replace(/^\s+|\s+$/g,''):'':''}
163
- function handleXhr(l,w,I,N){if(!l)throw Error('No `xhr` object initiated');var P=null,J=null,C=null,E=null,K=null,aa=I.$link||null,p=I.$form||null,r=null;delete I.$link;delete I.$form;p||aa?aa?(aa.target=document.getElementById(aa.id),r=gina.link.target,K=gina.link.id):(r=p.target,K=r.getAttribute('id')):(r=w,K=r.getAttribute('id'));var y=aa&&w.getAttribute('data-gina-link-event-on-success')||aa&&w.getAttribute('data-gina-link-event-on-error')?!0:!1,h=p&&r.getAttribute('data-gina-form-event-on-submit-success')||
163
+ function handleXhr(l,w,I,N){if(!l)throw Error('No `xhr` object initiated');var P=null,J=null,C=null,G=null,K=null,Z=I.$link||null,p=I.$form||null,r=null;delete I.$link;delete I.$form;p||Z?Z?(Z.target=document.getElementById(Z.id),r=gina.link.target,K=gina.link.id):(r=p.target,K=r.getAttribute('id')):(r=w,K=r.getAttribute('id'));var y=Z&&w.getAttribute('data-gina-link-event-on-success')||Z&&w.getAttribute('data-gina-link-event-on-error')?!0:!1,h=p&&r.getAttribute('data-gina-form-event-on-submit-success')||
164
164
  p&&r.getAttribute('data-gina-form-event-on-submit-error')?!0:!1;h&&p&&listenToXhrEvents(p,'form');w=w.getAttribute('enctype')||I.headers['Content-Type'];for(var ma in I.headers)ma=='Content-Type'&&typeof w!='undefined'&&w!=null&&w!=''||l.setRequestHeader(ma,I.headers[ma]);l.withCredentials=typeof I.withCredentials!='undefined'?I.withCredentials:!1;l.onerror=function(T,n){T={status:l.status||500,error:'Transaction error: might be due to the server CORS settings.\nPlease, check the console for more details.'};
165
- p&&(p.eventData.error=T);aa&&(aa.eventData.error=T);typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&window.ginaToolbar.update('data-xhr',T,!0);triggerEvent(gina,r,'error.'+K,T);h&&triggerEvent(gina,r,'error.'+K+'.hform',T);y&&triggerEvent(gina,aa.target,'error.'+aa.id+'.hlink',T)};l.onreadystatechange=function(T){typeof merge=='undefined'&&(merge=N('lib/merge'));T=/Google Inc/i.test(navigator.vendor)?50:0;l.readyState==2&&(J=/^attachment;/.test(l.getResponseHeader('Content-Disposition'))?
165
+ p&&(p.eventData.error=T);Z&&(Z.eventData.error=T);typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&window.ginaToolbar.update('data-xhr',T,!0);triggerEvent(gina,r,'error.'+K,T);h&&triggerEvent(gina,r,'error.'+K+'.hform',T);y&&triggerEvent(gina,Z.target,'error.'+Z.id+'.hlink',T)};l.onreadystatechange=function(T){typeof merge=='undefined'&&(merge=N('lib/merge'));T=/Google Inc/i.test(navigator.vendor)?50:0;l.readyState==2&&(J=/^attachment;/.test(l.getResponseHeader('Content-Disposition'))?
166
166
  !0:!1,!l.responseType&&J&&(l.responseType='blob'));if(l.readyState==4)if(P=null,C=l.getResponseHeader('Content-Type'),/^2/.test(l.status)){try{if(/blob/.test(l.responseType)||J){if(typeof C=='undefined'||C==null)C='application/octet-stream';P=new Blob([this.response],{type:C});var n=document.createElement('a');n.style='display: none';document.body.appendChild(n);var da=window.URL.createObjectURL(P);n.href=da;var x=l.getResponseHeader('Content-Disposition');n.download=getFilenameFromContentDisposition(x);
167
- n.click();window.URL.revokeObjectURL(da);E={status:l.status,statusText:l.statusText,responseType:P.type,type:P.type,size:P.size}}!E&&/\/json/.test(C)&&(E=JSON.parse(l.responseText),typeof E.status=='undefined'&&(E.status=l.status||200));if(!E&&/\/html/.test(C)&&(E={contentType:C,content:l.responseText},typeof E.status=='undefined'&&(E.status=l.status),typeof gina.popin!='undefined'&&gina.hasPopinHandler)){var u=gina.popin.getActivePopin();if(u){XHRData={};try{XHRData=(new DOMParser).parseFromString(E.content,
168
- 'text/html').getElementById('gina-without-layout-xhr-data'),XHRData=JSON.parse(decodeURIComponent(XHRData.value)),XHRView=(new DOMParser).parseFromString(E.content,'text/html').getElementById('gina-without-layout-xhr-view'),XHRView=JSON.parse(decodeURIComponent(XHRView.value)),gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData),gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof XHRView!=
169
- 'undefined'&&window.ginaToolbar.update('view-xhr',XHRView)}catch(Q){throw Q;}u.loadContent(E.content);E=XHRData;triggerEvent(gina,r,'success.'+K,E);return}}E||(E=l.responseText);p&&(p.eventData.success=E);XHRData=E;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&/\/html/.test(C)&&window.ginaToolbar.update('data-xhr',XHRData)}catch(Q){throw Q;}triggerEvent(gina,r,'success.'+K,E);h&&triggerEvent(gina,r,'success.'+K+'.hform',E);y&&triggerEvent(gina,
170
- aa.target,'success.'+aa.id+'.hlink',E)}catch(Q){E={status:422,error:Q.message,stack:Q.stack};p&&(p.eventData.error=E);XHRData=E;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData)}catch(U){throw U;}triggerEvent(gina,r,'error.'+K,E);h&&triggerEvent(gina,r,'error.'+K+'.hform',E);y&&triggerEvent(gina,aa.target,'error.'+aa.id+'.hlink',E)}if(typeof E!='undefined'&&typeof E.location!='undefined')return window.location.hash=
171
- '',E.location=/^http/.test(E.location)||/^\//.test(E.location)?E.location:location.protocol+'//'+E.location,setTimeout(()=>{window.location.href=E.location},T)}else if(l.status!=0)if(E={status:l.status,message:''},/blob/.test(l.responseType)){P=new Blob([this.response],{type:'text/plain'});var A=new FileReader,k='';A.addEventListener('loadend',Q=>{typeof merge=='undefined'&&(merge=N('lib/merge'));/string/i.test(typeof Q.srcElement.result)?k+=Q.srcElement.result:typeof Q.srcElement.result=='object'?
172
- E=merge(E,Q.srcElement.result):E.message+=Q.srcElement.result;if(/^2/.test(A.readyState)){if(/^(\{|\[)/.test(k))try{E=merge(E,JSON.parse(k))}catch(Z){E=merge(E,Z)}E.message||delete E.message;p&&(p.eventData.error=E);if(typeof E!='undefined'&&typeof E.error!='undefined'&&E.error.fields&&typeof E.error.fields=='object'){Q={};var U=0,O;for(O in E.error.fields)++U,Q[O]={isApplicationValidationError:E.error.fields[O]};U>0&&handleErrorsDisplay(p.target,Q)}XHRData=E;if(gina&&typeof window.ginaToolbar!='undefined'&&
173
- window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(Z){throw Z;}triggerEvent(gina,r,'error.'+K,E);h&&triggerEvent(gina,r,'error.'+K+'.hform',E);y&&triggerEvent(gina,aa.target,'error.'+aa.id+'.hlink',E)}});A.readAsText(P)}else{if(/^(\{|\[)/.test(l.responseText))try{E=merge(E,JSON.parse(l.responseText))}catch(Q){E=merge(E,Q)}else typeof l.responseText=='object'?E=merge(E,l.responseText):E.message=l.responseText;p&&(p.eventData.error=E);if(typeof E!='undefined'&&typeof E.error!=
174
- 'undefined'&&E.error.fields&&typeof E.error.fields=='object'){n={};da=0;for(var ja in E.error.fields)++da,n[ja]={isApplicationValidationError:E.error.fields[ja]};da>0&&handleErrorsDisplay(p.target,n)}XHRData=E;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(Q){throw Q;}triggerEvent(gina,r,'error.'+K,E);h&&triggerEvent(gina,r,'error.'+K+'.hform',E);y&&triggerEvent(gina,aa.target,'error.'+aa.id+'.hlink',E)}};l.onprogress=
175
- function(T){var n='0';T.lengthComputable&&(n=T.loaded/T.total,n=parseInt(n*100));T={status:100,progress:n};p&&(p.eventData.onprogress=T);triggerEvent(gina,r,'progress.'+K,T)};l.ontimeout=function(T){E={status:408,error:'Request Timeout'};p&&(p.eventData.ontimeout=E);triggerEvent(gina,r,'error.'+K,E);h&&triggerEvent(gina,r,'error.'+K+'.hform',E);y&&triggerEvent(gina,aa.target,'error.'+aa.id+'.hlink',E)}}
167
+ n.click();window.URL.revokeObjectURL(da);G={status:l.status,statusText:l.statusText,responseType:P.type,type:P.type,size:P.size}}!G&&/\/json/.test(C)&&(G=JSON.parse(l.responseText),typeof G.status=='undefined'&&(G.status=l.status||200));if(!G&&/\/html/.test(C)&&(G={contentType:C,content:l.responseText},typeof G.status=='undefined'&&(G.status=l.status),typeof gina.popin!='undefined'&&gina.hasPopinHandler)){var u=gina.popin.getActivePopin();if(u){XHRData={};try{XHRData=(new DOMParser).parseFromString(G.content,
168
+ 'text/html').getElementById('gina-without-layout-xhr-data'),XHRData=JSON.parse(decodeURIComponent(XHRData.value)),XHRView=(new DOMParser).parseFromString(G.content,'text/html').getElementById('gina-without-layout-xhr-view'),XHRView=JSON.parse(decodeURIComponent(XHRView.value)),gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData),gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&typeof XHRView!=
169
+ 'undefined'&&window.ginaToolbar.update('view-xhr',XHRView)}catch(Q){throw Q;}u.loadContent(G.content);G=XHRData;triggerEvent(gina,r,'success.'+K,G);return}}G||(G=l.responseText);p&&(p.eventData.success=G);XHRData=G;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&/\/html/.test(C)&&window.ginaToolbar.update('data-xhr',XHRData)}catch(Q){throw Q;}triggerEvent(gina,r,'success.'+K,G);h&&triggerEvent(gina,r,'success.'+K+'.hform',G);y&&triggerEvent(gina,
170
+ Z.target,'success.'+Z.id+'.hlink',G)}catch(Q){G={status:422,error:Q.message,stack:Q.stack};p&&(p.eventData.error=G);XHRData=G;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{typeof XHRData!='undefined'&&window.ginaToolbar.update('data-xhr',XHRData)}catch(U){throw U;}triggerEvent(gina,r,'error.'+K,G);h&&triggerEvent(gina,r,'error.'+K+'.hform',G);y&&triggerEvent(gina,Z.target,'error.'+Z.id+'.hlink',G)}if(typeof G!='undefined'&&typeof G.location!='undefined')return window.location.hash=
171
+ '',G.location=/^http/.test(G.location)||/^\//.test(G.location)?G.location:location.protocol+'//'+G.location,setTimeout(()=>{window.location.href=G.location},T)}else if(l.status!=0)if(G={status:l.status,message:''},/blob/.test(l.responseType)){P=new Blob([this.response],{type:'text/plain'});var A=new FileReader,k='';A.addEventListener('loadend',Q=>{typeof merge=='undefined'&&(merge=N('lib/merge'));/string/i.test(typeof Q.srcElement.result)?k+=Q.srcElement.result:typeof Q.srcElement.result=='object'?
172
+ G=merge(G,Q.srcElement.result):G.message+=Q.srcElement.result;if(/^2/.test(A.readyState)){if(/^(\{|\[)/.test(k))try{G=merge(G,JSON.parse(k))}catch(aa){G=merge(G,aa)}G.message||delete G.message;p&&(p.eventData.error=G);if(typeof G!='undefined'&&typeof G.error!='undefined'&&G.error.fields&&typeof G.error.fields=='object'){Q={};var U=0,O;for(O in G.error.fields)++U,Q[O]={isApplicationValidationError:G.error.fields[O]};U>0&&handleErrorsDisplay(p.target,Q)}XHRData=G;if(gina&&typeof window.ginaToolbar!=
173
+ 'undefined'&&window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(aa){throw aa;}triggerEvent(gina,r,'error.'+K,G);h&&triggerEvent(gina,r,'error.'+K+'.hform',G);y&&triggerEvent(gina,Z.target,'error.'+Z.id+'.hlink',G)}});A.readAsText(P)}else{if(/^(\{|\[)/.test(l.responseText))try{G=merge(G,JSON.parse(l.responseText))}catch(Q){G=merge(G,Q)}else typeof l.responseText=='object'?G=merge(G,l.responseText):G.message=l.responseText;p&&(p.eventData.error=G);if(typeof G!='undefined'&&
174
+ typeof G.error!='undefined'&&G.error.fields&&typeof G.error.fields=='object'){n={};da=0;for(var ja in G.error.fields)++da,n[ja]={isApplicationValidationError:G.error.fields[ja]};da>0&&handleErrorsDisplay(p.target,n)}XHRData=G;if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&XHRData)try{window.ginaToolbar.update('data-xhr',XHRData)}catch(Q){throw Q;}triggerEvent(gina,r,'error.'+K,G);h&&triggerEvent(gina,r,'error.'+K+'.hform',G);y&&triggerEvent(gina,Z.target,'error.'+Z.id+'.hlink',
175
+ G)}};l.onprogress=function(T){var n='0';T.lengthComputable&&(n=T.loaded/T.total,n=parseInt(n*100));T={status:100,progress:n};p&&(p.eventData.onprogress=T);triggerEvent(gina,r,'progress.'+K,T)};l.ontimeout=function(T){G={status:408,error:'Request Timeout'};p&&(p.eventData.ontimeout=G);triggerEvent(gina,r,'error.'+K,G);h&&triggerEvent(gina,r,'error.'+K+'.hform',G);y&&triggerEvent(gina,Z.target,'error.'+Z.id+'.hlink',G)}}
176
176
  function removeListener(l,w,I,N){typeof l.event!='undefined'&&l.event.isTouchSupported&&/^(click|mouseout|mouseover)/.test(I)&&l.event[I].indexOf(w)!=-1&&l.event[I].splice(l.event[I].indexOf(w),1);if(typeof w!='undefined'&&w!=null)if(w.removeEventListener)if(Array.isArray(w))for(i=0,len=w.length;i<len;i++)l=/\.$/.test(I)?I+w[i].id:I,w.removeEventListener(l,N,!1),typeof gina.events[l]!='undefined'&&delete gina.events[l];else I=/\.$/.test(I)?I+w.id:I,w.removeEventListener(I,N,!1);else{if(w.attachEvent)if(Array.isArray(w))for(i=
177
177
  0,len=w.length;i<len;i++)l=/\.$/.test(I)?I+w[i].id:I,w.detachEvent('on'+l,N),typeof gina.events[l]!='undefined'&&delete gina.events[l];else I=/\.$/.test(I)?I+w.id:I,w.detachEvent('on'+I,N)}else if(Array.isArray(w))for(i=0,len=w.length;i<len;i++){let P=/\.$/.test(I)?I+w[i].id:I;l.customEvent.removeListener(P,N);typeof gina.events[P]!='undefined'&&delete gina.events[P]}else I=/\.$/.test(I)?I+w.id:I,l.customEvent.removeListener(I,N);typeof gina.events[I]!='undefined'&&delete gina.events[I];typeof N!=
178
178
  'undefined'&&N()}
@@ -182,49 +182,49 @@ w&&w(P,J)}),this.initialized&&!this.isReady&&triggerEvent(gina,I,'init.'+N));ret
182
182
  function listenToXhrEvents(l,w){var I=l.target.getAttribute('data-gina-'+w+'-event-on-success')||null;if(I!=null)if(/\((.*)\)/.test(I))try{console.warn('[gina-event] function-call shape no longer supported on data-gina-'+w+'-event-on-success \u2014 use a bare identifier and register the handler on window: '+I)}catch(N){}else l.on('success.h'+w,window[I]);I=l.target.getAttribute('data-gina-'+w+'-event-on-error')||null;if(I!=null)if(/\((.*)\)/.test(I))try{console.warn('[gina-event] function-call shape no longer supported on data-gina-'+
183
183
  w+'-event-on-error \u2014 use a bare identifier and register the handler on window: '+I)}catch(N){}else l.on('error.h'+w,window[I])}define('utils/events',function(){});
184
184
  function PrototypesHelper(l){var w=typeof module!=='undefined'&&module.exports?!1:!0,I=l||null;l=null;if(typeof GINA_DIR=='undefined'&&!w&&typeof process!='undefined'&&process.argv.length>3)if(/^\{/.test(process.argv[2]))l=JSON.parse(process.argv[2]).envVars;else if(/\.ctx$/.test(process.argv[2])){l=require('fs');var N=process.argv[2].split(/\-\-argv\-filename=/)[1];l=JSON.parse(l.readFileSync(N).toString()).envVars}if(I&&typeof I!='undefined'&&typeof I.dateFormat!='undefined')for(let P in I.dateFormat)typeof Date[P]==
185
- 'undefined'&&Object.defineProperty(Date.prototype,P,{writable:!1,enumerable:!1,configurable:!0,value:function(){var J={0:this},C=1,E;for(E in arguments)J[C]=arguments[E],++C;J.length=C;return I.dateFormat[P].apply(this,J)}});typeof Array.clone=='undefined'&&Object.defineProperty(Array.prototype,'clone',{writable:!1,enumerable:!1,configurable:!0,value:function(){return this.slice(0)}});typeof JSON.clone!='undefined'||w||(typeof l!='undefined'&&l!=null?JSON.clone=require(l.GINA_DIR+'/utils/prototypes.json_clone'):
185
+ 'undefined'&&Object.defineProperty(Date.prototype,P,{writable:!1,enumerable:!1,configurable:!0,value:function(){var J={0:this},C=1,G;for(G in arguments)J[C]=arguments[G],++C;J.length=C;return I.dateFormat[P].apply(this,J)}});typeof Array.clone=='undefined'&&Object.defineProperty(Array.prototype,'clone',{writable:!1,enumerable:!1,configurable:!0,value:function(){return this.slice(0)}});typeof JSON.clone!='undefined'||w||(typeof l!='undefined'&&l!=null?JSON.clone=require(l.GINA_DIR+'/utils/prototypes.json_clone'):
186
186
  (l||(w=__dirname+'/../../../',require(w+'/utils/helper'),setEnvVar('GINA_DIR',w,!0),l=getEnvVars()),JSON.clone=require(getEnvVar('GINA_DIR')+'/utils/prototypes.json_clone')));typeof JSON.escape=='undefined'&&(JSON.escape=function(P){try{return P.replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/\t/g,'\\t')}catch(J){throw J;}});typeof Array.toString=='undefined'&&(Array.prototype.toString=function(){return this.join()});typeof Array.inArray=='undefined'&&Object.defineProperty(Array.prototype,'inArray',
187
- {writable:!1,enumerable:!1,configurable:!0,value:function(P){return this.indexOf(P)!=-1}});typeof Array.from=='undefined'&&Object.defineProperty(Array.prototype,'from',{writable:!1,enumerable:!1,configurable:!0,value:function(P){for(var J={},C=[],E=P.length,K=0,aa=0;aa<E;aa++){var p=P[aa];J[p]!==1&&(J[p]=1,C[K++]=p)}return C}});typeof Object.count=='undefined'&&Object.defineProperty(Object.prototype,'count',{writable:!0,enumerable:!1,configurable:!0,value:function(){var P=0;try{this instanceof String&&
188
- JSON.parse(this);for(var J in this)this.hasOwnProperty(J)&&++P;return P}catch(C){return P}}});typeof global!='undefined'&&typeof global.__stack=='undefined'&&Object.defineProperty(global,'__stack',{configurable:!0,get:function(){var P=Error.prepareStackTrace;Error.prepareStackTrace=function(C,E){return E};var J=Error();Error.captureStackTrace(J,arguments.callee);J=J.stack;Error.prepareStackTrace=P;return J}})}
187
+ {writable:!1,enumerable:!1,configurable:!0,value:function(P){return this.indexOf(P)!=-1}});typeof Array.from=='undefined'&&Object.defineProperty(Array.prototype,'from',{writable:!1,enumerable:!1,configurable:!0,value:function(P){for(var J={},C=[],G=P.length,K=0,Z=0;Z<G;Z++){var p=P[Z];J[p]!==1&&(J[p]=1,C[K++]=p)}return C}});typeof Object.count=='undefined'&&Object.defineProperty(Object.prototype,'count',{writable:!0,enumerable:!1,configurable:!0,value:function(){var P=0;try{this instanceof String&&
188
+ JSON.parse(this);for(var J in this)this.hasOwnProperty(J)&&++P;return P}catch(C){return P}}});typeof global!='undefined'&&typeof global.__stack=='undefined'&&Object.defineProperty(global,'__stack',{configurable:!0,get:function(){var P=Error.prepareStackTrace;Error.prepareStackTrace=function(C,G){return G};var J=Error();Error.captureStackTrace(J,arguments.callee);J=J.stack;Error.prepareStackTrace=P;return J}})}
189
189
  typeof module!=='undefined'&&module.exports?module.exports=PrototypesHelper:typeof define==='function'&&define.amd&&define('helpers/prototypes',[],function(){return PrototypesHelper});
190
190
  function DateFormatHelper(){var l=typeof module!=='undefined'&&module.exports?!1:!0,w=l?require('lib/merge'):require('./../lib/merge');var I='en-US';var N='en';var P={'default':'ddd mmm dd yyyy HH:MM:ss',shortDate:'m/d/yy',shortDate2:'mm/dd/yyyy',mediumDate:'mmm d, yyyy',longDate:'mmmm d, yyyy',fullDate:'dddd, mmmm d, yyyy',cookieDate:'GMT:ddd, dd mmm yyyy HH:MM:ss',logger:'yyyy mmm dd HH:MM:ss',shortTime:'h:MM TT',shortTime2:'h:MM',mediumTime:'h:MM:ss TT',mediumTime2:'h:MM:ss',longTime:'h:MM:ss TT Z',
191
191
  longTime2:'h:MM:ss TT',concatenatedDate:'yyyymmdd',isoDate:'yyyy-mm-dd',isoTime:'HH:MM:ss',shortIsoTime:'HH:MM',longIsoTime:'HH:MM:ss TT',isoDateTime:"yyyy-mm-dd'T'HH:MM:ss",longIsoDateTime:"yyyy-mm-dd'T'HH:MM:ss.L",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"};var J={en:{dayNames:'Sun Mon Tue Wed Thu Fri Sat Sunday Monday Tuesday Wednesday Thursday Friday Saturday'.split(' '),monthNames:'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec January February March April May June July August September October November December'.split(' '),
192
192
  masks:{'default':'ddd mmm dd yyyy HH:MM:ss',shortDate:'m/d/yy',shortDate2:'mm/dd/yyyy',mediumDate:'mmm d, yyyy',longDate:'mmmm d, yyyy',fullDate:'dddd, mmmm d, yyyy'}},fr:{dayNames:'dim lun mar mer jeu ven sam dimanche lundi mardi mercredi jeudi vendredi samedi'.split(' '),monthNames:'Jan F\u00e9v Mar Avr Mai Jui Juil Ao\u00fb Sep Oct Nov D\u00e9c Janvier F\u00e9vrier Mars Avril Mai Juin Juillet Ao\u00fbt Septembre Octobre Novembre D\u00e9cembre'.split(' '),masks:{'default':'ddd mmm dd yyyy HH:MM:ss',
193
- shortDate:'d/m/yy',shortDate2:'dd/mm/yyyy',mediumDate:'d mmm, yyyy',longDate:'d mmmm, yyyy',fullDate:'dddd, d mmmm, yyyy'}}};var C=function(aa,p){if(p instanceof Date)return aa=aa.getTime(),p=p.getTime(),Math.round(Math.abs(aa-p)/864E5);throw Error('dateTo is not instance of Date() !');},E=['us','eu','corporate'],K=function(aa){d=new Date(aa.getFullYear(),aa.getMonth(),aa.getDate());aa=d.getDay()||7;d.setDate(d.getDate()+4-aa);aa=new Date(Date.parse(d.getFullYear(),0,1));return Math.ceil(((d-aa)/
194
- 864E5+1)/7)};return{setCulture:function(aa,p){/\-/.test(p)?(I=p,N=p.split(/\-/)[0]):N=p;return this},format:function(aa,p,r){var y=J[N]||J.en,h=null;try{h=w(y.masks,P)}catch(Z){w=(l=typeof module!=='undefined'&&module.exports?!1:!0)?require('lib/merge'):require('./../lib/merge'),h=w(y.masks,P)}typeof J[I]!='undefined'&&(y=J[I],typeof J[I].mask!='undefined'&&(h=w(y.masks,P)));var ma=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
195
- T=/[^-+\dA-Z]/g,n=function(Z,G){Z=String(Z);for(G=G||2;Z.length<G;)Z='0'+Z;return Z};arguments.length!=1||Object.prototype.toString.call(aa)!='[object String]'||/\d/.test(aa)||(p=aa,aa=void 0);aa=aa?new Date(aa):new Date;if(isNaN(aa))throw SyntaxError('invalid date');p=String(h[p]||p||h['default']);p.slice(0,4)=='UTC:'&&(p=p.slice(4),r=!0);var da=r?'getUTC':'get';h=aa[da+'Date']();var x=aa[da+'Day'](),u=aa[da+'Month'](),A=aa[da+'FullYear'](),k=aa[da+'Hours'](),ja=aa[da+'Minutes'](),Q=aa[da+'Seconds']();
196
- da=aa[da+'Milliseconds']();var U=r?0:aa.getTimezoneOffset(),O={d:h,dd:n(h),ddd:y.dayNames[x],dddd:y.dayNames[x+7],m:u+1,mm:n(u+1),mmm:y.monthNames[u],mmmm:y.monthNames[u+12],yy:String(A).slice(2),yyyy:A,h:k%12||12,hh:n(k%12||12),H:k,HH:n(k),M:ja,MM:n(ja),s:Q,ss:n(Q),l:n(da,3),L:n(da),t:k<12?'a':'p',tt:k<12?'am':'pm',T:k<12?'A':'P',TT:k<12?'AM':'PM',Z:r?'UTC':(String(aa).match(ma)||['']).pop().replace(T,''),o:(U>0?'-':'+')+n(Math.floor(Math.abs(U)/60)*100+Math.abs(U)%60,4),S:['th','st','nd','rd'][h%
197
- 10>3?0:(h%100-h%10!=10)*h%10]};return p.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(Z){return Z in O?O[Z]:Z.slice(1,Z.length-1)})},countDaysTo:C,getDaysTo:function(aa,p,r){if(p instanceof Date){p=C(aa,p);var y=aa.getMonth(),h=aa.getFullYear();aa=aa.getDate()+1;aa=new Date(h,y,aa);y=[];for(h=0;h<p;++h)typeof r!='undefined'?y.push((new Date(aa)).format(r)):y.push(new Date(aa)),aa.setDate(aa.getDate()+1);return y||[]}throw Error('dateTo is not instance of Date() !');
198
- },getDaysInMonth:function(aa){var p=aa.getMonth();aa=aa.getFullYear();aa=new Date(aa,p,1);for(var r=[];aa.getMonth()===p;)r.push(new Date(aa)),aa.setDate(aa.getDate()+1);return r},getQuarter:function(aa,p){if(arguments.length==1&&typeof arguments[0]=='string'){if(E.indexOf(arguments[0].toLowerCase())<0)throw Error('Quarter '+arguments[0]+' code not supported !');aa=new Date;p=arguments[0]}typeof aa=='undefined'&&(aa=new Date);typeof p=='undefined'&&(p='corporate');p=p.toLowerCase();switch(p){case 'us':var r=
199
- [4,1,2,3];break;case 'corportate':case 'eu':r=[1,2,3,4];break;default:r=[1,2,3,4]}return r[Math.floor(aa.getMonth()/3)]},getHalfYear:function(aa,p){if(arguments.length==1&&typeof arguments[0]=='string'){if(E.indexOf(arguments[0].toLowerCase())<0)throw Error('Quarter '+arguments[0]+' code not supported !');aa=new Date;p=arguments[0]}typeof aa=='undefined'&&(aa=new Date);typeof p=='undefined'&&(p='corporate');p=p.toLowerCase();return aa.getQuarter(p)<=2?1:2},getWeek:function(aa,p){typeof aa=='undefined'&&
200
- (aa=new Date);typeof p=='undefined'&&(p='ISO 8601');p=p.replace(/\s+/g,'').toLowerCase();switch(p){case 'corporate':case 'eu':case 'iso8601':return K(aa);default:return K(aa)}},addHours:function(aa,p){aa=new Date(aa.getTime());aa.setHours(aa.getHours()+p);return aa},addDays:function(aa,p){aa=new Date(aa.getTime());aa.setHours(aa.getHours()+p*24);return aa},addYears:function(aa,p){aa=new Date(aa.getTime());aa.setFullYear(aa.getFullYear()+p);return aa}}}
193
+ shortDate:'d/m/yy',shortDate2:'dd/mm/yyyy',mediumDate:'d mmm, yyyy',longDate:'d mmmm, yyyy',fullDate:'dddd, d mmmm, yyyy'}}};var C=function(Z,p){if(p instanceof Date)return Z=Z.getTime(),p=p.getTime(),Math.round(Math.abs(Z-p)/864E5);throw Error('dateTo is not instance of Date() !');},G=['us','eu','corporate'],K=function(Z){d=new Date(Z.getFullYear(),Z.getMonth(),Z.getDate());Z=d.getDay()||7;d.setDate(d.getDate()+4-Z);Z=new Date(Date.parse(d.getFullYear(),0,1));return Math.ceil(((d-Z)/864E5+1)/7)};
194
+ return{setCulture:function(Z,p){/\-/.test(p)?(I=p,N=p.split(/\-/)[0]):N=p;return this},format:function(Z,p,r){var y=J[N]||J.en,h=null;try{h=w(y.masks,P)}catch(aa){w=(l=typeof module!=='undefined'&&module.exports?!1:!0)?require('lib/merge'):require('./../lib/merge'),h=w(y.masks,P)}typeof J[I]!='undefined'&&(y=J[I],typeof J[I].mask!='undefined'&&(h=w(y.masks,P)));var ma=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
195
+ T=/[^-+\dA-Z]/g,n=function(aa,F){aa=String(aa);for(F=F||2;aa.length<F;)aa='0'+aa;return aa};arguments.length!=1||Object.prototype.toString.call(Z)!='[object String]'||/\d/.test(Z)||(p=Z,Z=void 0);Z=Z?new Date(Z):new Date;if(isNaN(Z))throw SyntaxError('invalid date');p=String(h[p]||p||h['default']);p.slice(0,4)=='UTC:'&&(p=p.slice(4),r=!0);var da=r?'getUTC':'get';h=Z[da+'Date']();var x=Z[da+'Day'](),u=Z[da+'Month'](),A=Z[da+'FullYear'](),k=Z[da+'Hours'](),ja=Z[da+'Minutes'](),Q=Z[da+'Seconds']();da=
196
+ Z[da+'Milliseconds']();var U=r?0:Z.getTimezoneOffset(),O={d:h,dd:n(h),ddd:y.dayNames[x],dddd:y.dayNames[x+7],m:u+1,mm:n(u+1),mmm:y.monthNames[u],mmmm:y.monthNames[u+12],yy:String(A).slice(2),yyyy:A,h:k%12||12,hh:n(k%12||12),H:k,HH:n(k),M:ja,MM:n(ja),s:Q,ss:n(Q),l:n(da,3),L:n(da),t:k<12?'a':'p',tt:k<12?'am':'pm',T:k<12?'A':'P',TT:k<12?'AM':'PM',Z:r?'UTC':(String(Z).match(ma)||['']).pop().replace(T,''),o:(U>0?'-':'+')+n(Math.floor(Math.abs(U)/60)*100+Math.abs(U)%60,4),S:['th','st','nd','rd'][h%10>3?
197
+ 0:(h%100-h%10!=10)*h%10]};return p.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,function(aa){return aa in O?O[aa]:aa.slice(1,aa.length-1)})},countDaysTo:C,getDaysTo:function(Z,p,r){if(p instanceof Date){p=C(Z,p);var y=Z.getMonth(),h=Z.getFullYear();Z=Z.getDate()+1;Z=new Date(h,y,Z);y=[];for(h=0;h<p;++h)typeof r!='undefined'?y.push((new Date(Z)).format(r)):y.push(new Date(Z)),Z.setDate(Z.getDate()+1);return y||[]}throw Error('dateTo is not instance of Date() !');},getDaysInMonth:function(Z){var p=
198
+ Z.getMonth();Z=Z.getFullYear();Z=new Date(Z,p,1);for(var r=[];Z.getMonth()===p;)r.push(new Date(Z)),Z.setDate(Z.getDate()+1);return r},getQuarter:function(Z,p){if(arguments.length==1&&typeof arguments[0]=='string'){if(G.indexOf(arguments[0].toLowerCase())<0)throw Error('Quarter '+arguments[0]+' code not supported !');Z=new Date;p=arguments[0]}typeof Z=='undefined'&&(Z=new Date);typeof p=='undefined'&&(p='corporate');p=p.toLowerCase();switch(p){case 'us':var r=[4,1,2,3];break;case 'corportate':case 'eu':r=
199
+ [1,2,3,4];break;default:r=[1,2,3,4]}return r[Math.floor(Z.getMonth()/3)]},getHalfYear:function(Z,p){if(arguments.length==1&&typeof arguments[0]=='string'){if(G.indexOf(arguments[0].toLowerCase())<0)throw Error('Quarter '+arguments[0]+' code not supported !');Z=new Date;p=arguments[0]}typeof Z=='undefined'&&(Z=new Date);typeof p=='undefined'&&(p='corporate');p=p.toLowerCase();return Z.getQuarter(p)<=2?1:2},getWeek:function(Z,p){typeof Z=='undefined'&&(Z=new Date);typeof p=='undefined'&&(p='ISO 8601');
200
+ p=p.replace(/\s+/g,'').toLowerCase();switch(p){case 'corporate':case 'eu':case 'iso8601':return K(Z);default:return K(Z)}},addHours:function(Z,p){Z=new Date(Z.getTime());Z.setHours(Z.getHours()+p);return Z},addDays:function(Z,p){Z=new Date(Z.getTime());Z.setHours(Z.getHours()+p*24);return Z},addYears:function(Z,p){Z=new Date(Z.getTime());Z.setFullYear(Z.getFullYear()+p);return Z}}}
201
201
  typeof module!=='undefined'&&module.exports?module.exports=DateFormatHelper:typeof define==='function'&&define.amd&&define('helpers/dateFormat',[],function(){return DateFormatHelper});
202
- define('gina','require lib/merge lib/uuid lib/routing utils/events helpers/prototypes helpers/dateFormat'.split(' '),function(l){l('utils/events');var w=l('lib/merge'),I=l('lib/uuid');l('lib/routing');var N=l('helpers/dateFormat')();l('helpers/prototypes')({dateFormat:N});window.process||function(P,J,C,E,K,aa,p){for(aa=P[C]||(P[C]={});!p&&K<E.length;)p=P[E[K++]+'requestAnimationFrame'];aa[J]=aa[J]||p&&p.bind(P)||P.setImmediate||P.setTimeout}(window,'nextTick','process',['r','webkitR','mozR','msR',
203
- 'oR'],0);window.getComputedStyle||(window.getComputedStyle=function(P,J){this.el=P;this.getPropertyValue=function(C){var E=/(\-([a-z]){1})/g;C=='float'&&(C='styleFloat');E.test(C)&&(C=C.replace(E,function(){return arguments[2].toUpperCase()}));return P.currentStyle[C]?P.currentStyle[C]:null};return this});return async function(P){this.plugin='gina';var J='gina-'+I(),C=document;document.id=J;var E={id:J,isFrameworkLoaded:!1,hasValidator:!1,hasPopinHandler:!1,config:{},session:null,registeredEvents:{},
204
- events:{},setOptions:function(K){K&&typeof K=='object'&&K!==E.config&&(E.config=w(E.config,K,!0))}};typeof parent.window.gina!='undefined'&&(window.gina=w(window.gina||{},parent.window.gina));E=w(window.gina||{},E);registerEvents(this.plugin,['ginaloaded','ready']);triggerEvent(P,C,'ginaloaded',E)}});
202
+ define('gina','require lib/merge lib/uuid lib/routing utils/events helpers/prototypes helpers/dateFormat'.split(' '),function(l){l('utils/events');var w=l('lib/merge'),I=l('lib/uuid');l('lib/routing');var N=l('helpers/dateFormat')();l('helpers/prototypes')({dateFormat:N});window.process||function(P,J,C,G,K,Z,p){for(Z=P[C]||(P[C]={});!p&&K<G.length;)p=P[G[K++]+'requestAnimationFrame'];Z[J]=Z[J]||p&&p.bind(P)||P.setImmediate||P.setTimeout}(window,'nextTick','process',['r','webkitR','mozR','msR','oR'],
203
+ 0);window.getComputedStyle||(window.getComputedStyle=function(P,J){this.el=P;this.getPropertyValue=function(C){var G=/(\-([a-z]){1})/g;C=='float'&&(C='styleFloat');G.test(C)&&(C=C.replace(G,function(){return arguments[2].toUpperCase()}));return P.currentStyle[C]?P.currentStyle[C]:null};return this});return async function(P){this.plugin='gina';var J='gina-'+I(),C=document;document.id=J;var G={id:J,isFrameworkLoaded:!1,hasValidator:!1,hasPopinHandler:!1,config:{},session:null,registeredEvents:{},events:{},
204
+ setOptions:function(K){K&&typeof K=='object'&&K!==G.config&&(G.config=w(G.config,K,!0))}};typeof parent.window.gina!='undefined'&&(window.gina=w(window.gina||{},parent.window.gina));G=w(window.gina||{},G);registerEvents(this.plugin,['ginaloaded','ready']);triggerEvent(P,C,'ginaloaded',G)}});
205
205
  !function(l,w){'object'==typeof exports&&'undefined'!=typeof module?module.exports=w():'function'==typeof define&&define.amd?define('vendor/engine.io',w):(l='undefined'!=typeof globalThis?globalThis:l||self).eio=w()}(this,function(){function l(W,qa){for(var ea=0;ea<qa.length;ea++){var v=qa[ea];v.enumerable=v.enumerable||!1;v.configurable=!0;'value'in v&&(v.writable=!0);var Y=Object,e=Y.defineProperty;var g=v.key;a:if('object'==typeof g&&g){var z=g[Symbol.toPrimitive];if(void 0!==z){g=z.call(g,'string');
206
206
  if('object'!=typeof g)break a;throw new TypeError('@@toPrimitive must return a primitive value.');}g=String(g)}e.call(Y,W,'symbol'==typeof g?g:g+'',v)}}function w(W,qa,ea){return qa&&l(W.prototype,qa),ea&&l(W,ea),Object.defineProperty(W,'prototype',{writable:!1}),W}function I(){return I=Object.assign?Object.assign.bind():function(W){for(var qa=1;qa<arguments.length;qa++){var ea=arguments[qa],v;for(v in ea)({}).hasOwnProperty.call(ea,v)&&(W[v]=ea[v])}return W},I.apply(null,arguments)}function N(W){return N=
207
- Object.setPrototypeOf?Object.getPrototypeOf.bind():function(qa){return qa.__proto__||Object.getPrototypeOf(qa)},N(W)}function P(W,qa){W.prototype=Object.create(qa.prototype);W.prototype.constructor=W;C(W,qa)}function J(){try{var W=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(qa){}return(J=function(){return!!W})()}function C(W,qa){return C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ea,v){return ea.__proto__=v,ea},C(W,qa)}function E(W){return E=
208
- 'function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function(qa){return typeof qa}:function(qa){return qa&&'function'==typeof Symbol&&qa.constructor===Symbol&&qa!==Symbol.prototype?'symbol':typeof qa},E(W)}function K(W){var qa='function'==typeof Map?new Map:void 0;return K=function(ea){function v(){return function(Y,e,g){if(J())return Reflect.construct.apply(null,arguments);var z=[null];z.push.apply(z,e);z=new (Y.bind.apply(Y,z));return g&&C(z,g.prototype),z}(ea,arguments,N(this).constructor)}
209
- if(null===ea||!function(Y){try{return-1!==Function.toString.call(Y).indexOf('[native code]')}catch(e){return'function'==typeof Y}}(ea))return ea;if('function'!=typeof ea)throw new TypeError('Super expression must either be null or a function');if(void 0!==qa){if(qa.has(ea))return qa.get(ea);qa.set(ea,v)}return v.prototype=Object.create(ea.prototype,{constructor:{value:v,enumerable:!1,writable:!0,configurable:!0}}),C(v,ea)},K(W)}function aa(W){return W instanceof Uint8Array?W:W instanceof ArrayBuffer?
210
- new Uint8Array(W):new Uint8Array(W.buffer,W.byteOffset,W.byteLength)}function p(){return new TransformStream({transform:function(W,qa){!function(ea,v){O&&ea.data instanceof Blob?ea.data.arrayBuffer().then(aa).then(v):Z&&(ea.data instanceof ArrayBuffer||G(ea.data))?v(aa(ea.data)):L(ea,!1,function(Y){Q||=new TextEncoder;v(Q.encode(Y))})}(W,function(ea){var v=ea.length;if(v<126){var Y=new Uint8Array(1);(new DataView(Y.buffer)).setUint8(0,v)}else if(v<65536){Y=new Uint8Array(3);var e=new DataView(Y.buffer);
207
+ Object.setPrototypeOf?Object.getPrototypeOf.bind():function(qa){return qa.__proto__||Object.getPrototypeOf(qa)},N(W)}function P(W,qa){W.prototype=Object.create(qa.prototype);W.prototype.constructor=W;C(W,qa)}function J(){try{var W=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(qa){}return(J=function(){return!!W})()}function C(W,qa){return C=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(ea,v){return ea.__proto__=v,ea},C(W,qa)}function G(W){return G=
208
+ 'function'==typeof Symbol&&'symbol'==typeof Symbol.iterator?function(qa){return typeof qa}:function(qa){return qa&&'function'==typeof Symbol&&qa.constructor===Symbol&&qa!==Symbol.prototype?'symbol':typeof qa},G(W)}function K(W){var qa='function'==typeof Map?new Map:void 0;return K=function(ea){function v(){return function(Y,e,g){if(J())return Reflect.construct.apply(null,arguments);var z=[null];z.push.apply(z,e);z=new (Y.bind.apply(Y,z));return g&&C(z,g.prototype),z}(ea,arguments,N(this).constructor)}
209
+ if(null===ea||!function(Y){try{return-1!==Function.toString.call(Y).indexOf('[native code]')}catch(e){return'function'==typeof Y}}(ea))return ea;if('function'!=typeof ea)throw new TypeError('Super expression must either be null or a function');if(void 0!==qa){if(qa.has(ea))return qa.get(ea);qa.set(ea,v)}return v.prototype=Object.create(ea.prototype,{constructor:{value:v,enumerable:!1,writable:!0,configurable:!0}}),C(v,ea)},K(W)}function Z(W){return W instanceof Uint8Array?W:W instanceof ArrayBuffer?
210
+ new Uint8Array(W):new Uint8Array(W.buffer,W.byteOffset,W.byteLength)}function p(){return new TransformStream({transform:function(W,qa){!function(ea,v){O&&ea.data instanceof Blob?ea.data.arrayBuffer().then(Z).then(v):aa&&(ea.data instanceof ArrayBuffer||F(ea.data))?v(Z(ea.data)):L(ea,!1,function(Y){Q||=new TextEncoder;v(Q.encode(Y))})}(W,function(ea){var v=ea.length;if(v<126){var Y=new Uint8Array(1);(new DataView(Y.buffer)).setUint8(0,v)}else if(v<65536){Y=new Uint8Array(3);var e=new DataView(Y.buffer);
211
211
  e.setUint8(0,126);e.setUint16(1,v)}else Y=new Uint8Array(9),e=new DataView(Y.buffer),e.setUint8(0,127),e.setBigUint64(1,BigInt(v));W.data&&'string'!=typeof W.data&&(Y[0]|=128);qa.enqueue(Y);qa.enqueue(ea)})}})}function r(W){return W.reduce(function(qa,ea){return qa+ea.length},0)}function y(W,qa){if(W[0].length===qa)return W.shift();for(var ea=new Uint8Array(qa),v=0,Y=0;Y<qa;Y++)ea[Y]=W[0][v++],v===W[0].length&&(W.shift(),v=0);return W.length&&v<W[0].length&&(W[0]=W[0].slice(v)),ea}function h(W){if(W){for(var qa in h.prototype)W[qa]=
212
212
  h.prototype[qa];return W}}function ma(W){for(var qa=arguments.length,ea=Array(qa>1?qa-1:0),v=1;v<qa;v++)ea[v-1]=arguments[v];return ea.reduce(function(Y,e){return W.hasOwnProperty(e)&&(Y[e]=W[e]),Y},{})}function T(W,qa){qa.useNativeTimers?(W.setTimeoutFn=ia.bind(Fa),W.clearTimeoutFn=jb.bind(Fa)):(W.setTimeoutFn=Fa.setTimeout.bind(Fa),W.clearTimeoutFn=Fa.clearTimeout.bind(Fa))}function n(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function da(){}function x(){for(var W in Wa.requests)Wa.requests.hasOwnProperty(W)&&
213
213
  Wa.requests[W].abort()}function u(W){W=W.xdomain;try{if('undefined'!=typeof XMLHttpRequest&&(!W||qb))return new XMLHttpRequest}catch(qa){}if(!W)try{return new (Fa[['Active'].concat('Object').join('X')])('Microsoft.XMLHTTP')}catch(qa){}}function A(W){if(W.length>8E3)throw'URI too long';var qa=W,ea=W.indexOf('['),v=W.indexOf(']');-1!=ea&&-1!=v&&(W=W.substring(0,ea)+W.substring(ea,v).replace(/:/g,';')+W.substring(v,W.length));var Y,e;W=Ib.exec(W||'');for(var g={},z=14;z--;)g[vb[z]]=W[z]||'';return-1!=
214
214
  ea&&-1!=v&&(g.source=qa,g.host=g.host.substring(1,g.host.length-1).replace(/;/g,':'),g.authority=g.authority.replace('[','').replace(']','').replace(/;/g,':'),g.ipv6uri=!0),g.pathNames=function(ca,S){ca=S.replace(/\/{2,9}/g,'/').split('/');'/'!=S.slice(0,1)&&0!==S.length||ca.splice(0,1);'/'==S.slice(-1)&&ca.splice(ca.length-1,1);return ca}(0,g.path),g.queryKey=(Y=g.query,e={},Y.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(ca,S,wa){S&&(e[S]=wa)}),e),g}var k=Object.create(null);k.open='0';k.close='1';
215
- k.ping='2';k.pong='3';k.message='4';k.upgrade='5';k.noop='6';var ja=Object.create(null);Object.keys(k).forEach(function(W){ja[k[W]]=W});for(var Q,U={type:'error',data:'parser error'},O='function'==typeof Blob||'undefined'!=typeof Blob&&'[object BlobConstructor]'===Object.prototype.toString.call(Blob),Z='function'==typeof ArrayBuffer,G=function(W){return'function'==typeof ArrayBuffer.isView?ArrayBuffer.isView(W):W&&W.buffer instanceof ArrayBuffer},L=function(W,qa,ea){var v=W.type;W=W.data;return O&&
216
- W instanceof Blob?qa?ea(W):la(W,ea):Z&&(W instanceof ArrayBuffer||G(W))?qa?ea(W):la(new Blob([W]),ea):ea(k[v]+(W||''))},la=function(W,qa){var ea=new FileReader;return ea.onload=function(){var v=ea.result.split(',')[1];qa('b'+(v||''))},ea.readAsDataURL(W)},pa='undefined'==typeof Uint8Array?[]:new Uint8Array(256),F=0;F<64;F++)pa['ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charCodeAt(F)]=F;var X,oa='function'==typeof ArrayBuffer,ha=function(W,qa){if('string'!=typeof W)return{type:'message',
215
+ k.ping='2';k.pong='3';k.message='4';k.upgrade='5';k.noop='6';var ja=Object.create(null);Object.keys(k).forEach(function(W){ja[k[W]]=W});for(var Q,U={type:'error',data:'parser error'},O='function'==typeof Blob||'undefined'!=typeof Blob&&'[object BlobConstructor]'===Object.prototype.toString.call(Blob),aa='function'==typeof ArrayBuffer,F=function(W){return'function'==typeof ArrayBuffer.isView?ArrayBuffer.isView(W):W&&W.buffer instanceof ArrayBuffer},L=function(W,qa,ea){var v=W.type;W=W.data;return O&&
216
+ W instanceof Blob?qa?ea(W):la(W,ea):aa&&(W instanceof ArrayBuffer||F(W))?qa?ea(W):la(new Blob([W]),ea):ea(k[v]+(W||''))},la=function(W,qa){var ea=new FileReader;return ea.onload=function(){var v=ea.result.split(',')[1];qa('b'+(v||''))},ea.readAsDataURL(W)},pa='undefined'==typeof Uint8Array?[]:new Uint8Array(256),E=0;E<64;E++)pa['ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charCodeAt(E)]=E;var X,oa='function'==typeof ArrayBuffer,ha=function(W,qa){if('string'!=typeof W)return{type:'message',
217
217
  data:sa(W,qa)};var ea=W.charAt(0);if('b'===ea){W=W.substring(1);if(oa){var v=.75*W.length;ea=W.length;var Y=0;'='===W[W.length-1]&&(v--,'='===W[W.length-2]&&v--);var e=new ArrayBuffer(v),g=new Uint8Array(e);for(v=0;v<ea;v+=4){var z=pa[W.charCodeAt(v)];var ca=pa[W.charCodeAt(v+1)];var S=pa[W.charCodeAt(v+2)];var wa=pa[W.charCodeAt(v+3)];g[Y++]=z<<2|ca>>4;g[Y++]=(15&ca)<<4|S>>2;g[Y++]=(3&S)<<6|63&wa}qa=sa(e,qa)}else qa={base64:!0,data:W};qa={type:'message',data:qa}}else qa=ja[ea]?W.length>1?{type:ja[ea],
218
218
  data:W.substring(1)}:{type:ja[ea]}:U;return qa},sa=function(W,qa){return'blob'===qa?W instanceof Blob?W:new Blob([W]):W instanceof ArrayBuffer?W:W.buffer},xa=String.fromCharCode(30);h.prototype.on=h.prototype.addEventListener=function(W,qa){return this.t=this.t||{},(this.t['$'+W]=this.t['$'+W]||[]).push(qa),this};h.prototype.once=function(W,qa){function ea(){this.off(W,ea);qa.apply(this,arguments)}return ea.fn=qa,this.on(W,ea),this};h.prototype.off=h.prototype.removeListener=h.prototype.removeAllListeners=
219
219
  h.prototype.removeEventListener=function(W,qa){if(this.t=this.t||{},0==arguments.length)return this.t={},this;var ea,v=this.t['$'+W];if(!v)return this;if(1==arguments.length)return delete this.t['$'+W],this;for(var Y=0;Y<v.length;Y++)if((ea=v[Y])===qa||ea.fn===qa){v.splice(Y,1);break}return 0===v.length&&delete this.t['$'+W],this};h.prototype.emit=function(W){this.t=this.t||{};for(var qa=Array(arguments.length-1),ea=this.t['$'+W],v=1;v<arguments.length;v++)qa[v-1]=arguments[v];if(ea){v=0;for(var Y=
220
220
  (ea=ea.slice(0)).length;v<Y;++v)ea[v].apply(this,qa)}return this};h.prototype.emitReserved=h.prototype.emit;h.prototype.listeners=function(W){return this.t=this.t||{},this.t['$'+W]||[]};h.prototype.hasListeners=function(W){return!!this.listeners(W).length};var ua='function'==typeof Promise&&'function'==typeof Promise.resolve?function(W){return Promise.resolve().then(W)}:function(W,qa){return qa(W,0)},Fa='undefined'!=typeof self?self:'undefined'!=typeof window?window:Function('return this')(),ia=Fa.setTimeout,
221
- jb=Fa.clearTimeout,va=function(W){function qa(ea,v,Y){var e;return(e=W.call(this,ea)||this).description=v,e.context=Y,e.type='TransportError',e}return P(qa,W),qa}(K(Error));F=function(W){function qa(v){var Y;return(Y=W.call(this)||this).writable=!1,T(Y,v),Y.opts=v,Y.query=v.query,Y.socket=v.socket,Y.supportsBinary=!v.forceBase64,Y}P(qa,W);var ea=qa.prototype;return ea.onError=function(v,Y,e){return W.prototype.emitReserved.call(this,'error',new va(v,Y,e)),this},ea.open=function(){return this.readyState=
221
+ jb=Fa.clearTimeout,va=function(W){function qa(ea,v,Y){var e;return(e=W.call(this,ea)||this).description=v,e.context=Y,e.type='TransportError',e}return P(qa,W),qa}(K(Error));E=function(W){function qa(v){var Y;return(Y=W.call(this)||this).writable=!1,T(Y,v),Y.opts=v,Y.query=v.query,Y.socket=v.socket,Y.supportsBinary=!v.forceBase64,Y}P(qa,W);var ea=qa.prototype;return ea.onError=function(v,Y,e){return W.prototype.emitReserved.call(this,'error',new va(v,Y,e)),this},ea.open=function(){return this.readyState=
222
222
  'opening',this.doOpen(),this},ea.close=function(){return'opening'!==this.readyState&&'open'!==this.readyState||(this.doClose(),this.onClose()),this},ea.send=function(v){'open'===this.readyState&&this.write(v)},ea.onOpen=function(){this.readyState='open';this.writable=!0;W.prototype.emitReserved.call(this,'open')},ea.onData=function(v){v=ha(v,this.socket.binaryType);this.onPacket(v)},ea.onPacket=function(v){W.prototype.emitReserved.call(this,'packet',v)},ea.onClose=function(v){this.readyState='closed';
223
223
  W.prototype.emitReserved.call(this,'close',v)},ea.pause=function(v){},ea.createUri=function(v){var Y=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return v+'://'+this.i()+this.o()+this.opts.path+this.u(Y)},ea.i=function(){var v=this.opts.hostname;return-1===v.indexOf(':')?v:'['+v+']'},ea.o=function(){return this.opts.port&&(this.opts.secure&&443!==Number(this.opts.port)||!this.opts.secure&&80!==Number(this.opts.port))?':'+this.opts.port:''},ea.u=function(v){var Y='',e;for(e in v)v.hasOwnProperty(e)&&
224
224
  (Y.length&&(Y+='&'),Y+=encodeURIComponent(e)+'='+encodeURIComponent(v[e]));v=Y;return v.length?'?'+v:''},qa}(h);var za=function(W){function qa(){var v;return(v=W.apply(this,arguments)||this).h=!1,v}P(qa,W);var ea=qa.prototype;return ea.doOpen=function(){this.p()},ea.pause=function(v){var Y=this;this.readyState='pausing';var e=function(){Y.readyState='paused';v()};if(this.h||!this.writable){var g=0;this.h&&(g++,this.once('pollComplete',function(){--g||e()}));this.writable||(g++,this.once('drain',function(){--g||
225
225
  e()}))}else e()},ea.p=function(){this.h=!0;this.doPoll();this.emitReserved('poll')},ea.onData=function(v){var Y=this;(function(e,g){e=e.split(xa);for(var z=[],ca=0;ca<e.length;ca++){var S=ha(e[ca],g);if(z.push(S),'error'===S.type)break}return z})(v,this.socket.binaryType).forEach(function(e){if('opening'===Y.readyState&&'open'===e.type&&Y.onOpen(),'close'===e.type)return Y.onClose({description:'transport closed by the server'}),!1;Y.onPacket(e)});'closed'!==this.readyState&&(this.h=!1,this.emitReserved('pollComplete'),
226
226
  'open'===this.readyState&&this.p())},ea.doClose=function(){var v=this,Y=function(){v.write([{type:'close'}])};'open'===this.readyState?Y():this.once('open',Y)},ea.write=function(v){var Y=this;this.writable=!1;(function(e,g){var z=e.length,ca=Array(z),S=0;e.forEach(function(wa,Ka){L(wa,!1,function(Qa){ca[Ka]=Qa;++S===z&&g(ca.join(xa))})})})(v,function(e){Y.doWrite(e,function(){Y.writable=!0;Y.emitReserved('drain')})})},ea.uri=function(){var v=this.opts.secure?'https':'http',Y=this.query||{};return!1!==
227
- this.opts.timestampRequests&&(Y[this.opts.timestampParam]=n()),this.supportsBinary||Y.sid||(Y.b64=1),this.createUri(v,Y)},w(qa,[{key:'name',get:function(){return'polling'}}])}(F),Oa=!1;try{Oa='undefined'!=typeof XMLHttpRequest&&'withCredentials'in new XMLHttpRequest}catch(W){}var qb=Oa;za=function(W){function qa(v){var Y;if(Y=W.call(this,v)||this,'undefined'!=typeof location){var e='https:'===location.protocol,g=location.port;g||=e?'443':'80';Y.xd='undefined'!=typeof location&&v.hostname!==location.hostname||
227
+ this.opts.timestampRequests&&(Y[this.opts.timestampParam]=n()),this.supportsBinary||Y.sid||(Y.b64=1),this.createUri(v,Y)},w(qa,[{key:'name',get:function(){return'polling'}}])}(E),Oa=!1;try{Oa='undefined'!=typeof XMLHttpRequest&&'withCredentials'in new XMLHttpRequest}catch(W){}var qb=Oa;za=function(W){function qa(v){var Y;if(Y=W.call(this,v)||this,'undefined'!=typeof location){var e='https:'===location.protocol,g=location.port;g||=e?'443':'80';Y.xd='undefined'!=typeof location&&v.hostname!==location.hostname||
228
228
  g!==v.port}return Y}P(qa,W);var ea=qa.prototype;return ea.doWrite=function(v,Y){var e=this;v=this.request({method:'POST',data:v});v.on('success',Y);v.on('error',function(g,z){e.onError('xhr post error',g,z)})},ea.doPoll=function(){var v=this,Y=this.request();Y.on('data',this.onData.bind(this));Y.on('error',function(e,g){v.onError('xhr poll error',e,g)});this.pollXhr=Y},qa}(za);var Wa=function(W){function qa(v,Y,e){var g;return(g=W.call(this)||this).createRequest=v,T(g,e),g.l=e,g.v=e.method||'GET',
229
229
  g.m=Y,g.k=void 0!==e.data?e.data:null,g.A(),g}P(qa,W);var ea=qa.prototype;return ea.A=function(){var v,Y=this,e=ma(this.l,'agent','pfx','key','passphrase','cert','ca','ciphers','rejectUnauthorized','autoUnref');e.xdomain=!!this.l.xd;var g=this.j=this.createRequest(e);try{g.open(this.v,this.m,!0);try{if(this.l.extraHeaders)for(var z in g.setDisableHeaderCheck&&g.setDisableHeaderCheck(!0),this.l.extraHeaders)this.l.extraHeaders.hasOwnProperty(z)&&g.setRequestHeader(z,this.l.extraHeaders[z])}catch(ca){}if('POST'===
230
230
  this.v)try{g.setRequestHeader('Content-type','text/plain;charset=UTF-8')}catch(ca){}try{g.setRequestHeader('Accept','*/*')}catch(ca){}null===(v=this.l.cookieJar)||void 0===v||v.addCookies(g);'withCredentials'in g&&(g.withCredentials=this.l.withCredentials);this.l.requestTimeout&&(g.timeout=this.l.requestTimeout);g.onreadystatechange=function(){var ca;3!==g.readyState||null!==(ca=Y.l.cookieJar)&&void 0!==ca&&ca.parseCookies(g.getResponseHeader('set-cookie'));4===g.readyState&&(200===g.status||1223===
@@ -233,12 +233,12 @@ ea.B=function(){var v=this.j.responseText;null!==v&&(this.emitReserved('data',v)
233
233
  return v.supportsBinary=yb&&!ea,v}return P(qa,W),qa.prototype.request=function(){var ea=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return I(ea,{xd:this.xd},this.opts),new Wa(u,this.uri(),ea)},qa}(za);var mb='undefined'!=typeof navigator&&'string'==typeof navigator.product&&'reactnative'===navigator.product.toLowerCase();za=function(W){function qa(){return W.apply(this,arguments)||this}P(qa,W);var ea=qa.prototype;return ea.doOpen=function(){var v=this.uri(),Y=this.opts.protocols,e=mb?
234
234
  {}:ma(this.opts,'agent','perMessageDeflate','pfx','key','passphrase','cert','ca','ciphers','rejectUnauthorized','localAddress','protocolVersion','origin','maxPayload','family','checkServerIdentity');this.opts.extraHeaders&&(e.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(v,Y,e)}catch(g){return this.emitReserved('error',g)}this.ws.binaryType=this.socket.binaryType;this.addEventListeners()},ea.addEventListeners=function(){var v=this;this.ws.onopen=function(){v.opts.autoUnref&&v.ws.S.unref();
235
235
  v.onOpen()};this.ws.onclose=function(Y){return v.onClose({description:'websocket connection closed',context:Y})};this.ws.onmessage=function(Y){return v.onData(Y.data)};this.ws.onerror=function(Y){return v.onError('websocket error',Y)}},ea.write=function(v){var Y=this;this.writable=!1;for(var e=function(){var z=v[g],ca=g===v.length-1;L(z,Y.supportsBinary,function(S){try{Y.doWrite(z,S)}catch(wa){}ca&&ua(function(){Y.writable=!0;Y.emitReserved('drain')},Y.setTimeoutFn)})},g=0;g<v.length;g++)e()},ea.doClose=
236
- function(){void 0!==this.ws&&(this.ws.onerror=function(){},this.ws.close(),this.ws=null)},ea.uri=function(){var v=this.opts.secure?'wss':'ws',Y=this.query||{};return this.opts.timestampRequests&&(Y[this.opts.timestampParam]=n()),this.supportsBinary||(Y.b64=1),this.createUri(v,Y)},w(qa,[{key:'name',get:function(){return'websocket'}}])}(F);var bb=Fa.WebSocket||Fa.MozWebSocket;za=function(W){function qa(){return W.apply(this,arguments)||this}P(qa,W);var ea=qa.prototype;return ea.createSocket=function(v,
237
- Y,e){return mb?new bb(v,Y,e):Y?new bb(v,Y):new bb(v)},ea.doWrite=function(v,Y){this.ws.send(Y)},qa}(za);F=function(W){function qa(){return W.apply(this,arguments)||this}P(qa,W);var ea=qa.prototype;return ea.doOpen=function(){var v=this;try{this.M=new WebTransport(this.createUri('https'),this.opts.transportOptions[this.name])}catch(Y){return this.emitReserved('error',Y)}this.M.closed.then(function(){v.onClose()}).catch(function(Y){v.onError('webtransport error',Y)});this.M.ready.then(function(){v.M.createBidirectionalStream().then(function(Y){var e=
236
+ function(){void 0!==this.ws&&(this.ws.onerror=function(){},this.ws.close(),this.ws=null)},ea.uri=function(){var v=this.opts.secure?'wss':'ws',Y=this.query||{};return this.opts.timestampRequests&&(Y[this.opts.timestampParam]=n()),this.supportsBinary||(Y.b64=1),this.createUri(v,Y)},w(qa,[{key:'name',get:function(){return'websocket'}}])}(E);var bb=Fa.WebSocket||Fa.MozWebSocket;za=function(W){function qa(){return W.apply(this,arguments)||this}P(qa,W);var ea=qa.prototype;return ea.createSocket=function(v,
237
+ Y,e){return mb?new bb(v,Y,e):Y?new bb(v,Y):new bb(v)},ea.doWrite=function(v,Y){this.ws.send(Y)},qa}(za);E=function(W){function qa(){return W.apply(this,arguments)||this}P(qa,W);var ea=qa.prototype;return ea.doOpen=function(){var v=this;try{this.M=new WebTransport(this.createUri('https'),this.opts.transportOptions[this.name])}catch(Y){return this.emitReserved('error',Y)}this.M.closed.then(function(){v.onClose()}).catch(function(Y){v.onError('webtransport error',Y)});this.M.ready.then(function(){v.M.createBidirectionalStream().then(function(Y){var e=
238
238
  function(z,ca){X||=new TextDecoder;var S=[],wa=0,Ka=-1,Qa=!1;return new TransformStream({transform:function(Ma,ya){for(S.push(Ma);;){if(0===wa){if(r(S)<1)break;Ma=y(S,1);Qa=!(128&~Ma[0]);Ka=127&Ma[0];wa=Ka<126?3:126===Ka?1:2}else if(1===wa){if(r(S)<2)break;Ma=y(S,2);Ka=(new DataView(Ma.buffer,Ma.byteOffset,Ma.length)).getUint16(0);wa=3}else if(2===wa){if(r(S)<8)break;Ma=y(S,8);Ma=new DataView(Ma.buffer,Ma.byteOffset,Ma.length);var D=Ma.getUint32(0);if(D>2097151){ya.enqueue(U);break}Ka=D*4294967296+
239
239
  Ma.getUint32(4);wa=3}else{if(r(S)<Ka)break;Ma=y(S,Ka);ya.enqueue(ha(Qa?Ma:X.decode(Ma),ca));wa=0}if(0===Ka||Ka>z){ya.enqueue(U);break}}}})}(Number.MAX_SAFE_INTEGER,v.socket.binaryType),g=Y.readable.pipeThrough(e).getReader();e=p();e.readable.pipeTo(Y.writable);v.C=e.writable.getWriter();!function ca(){g.read().then(function(S){var wa=S.value;S.done||(v.onPacket(wa),ca())}).catch(function(S){})}();Y={type:'open'};v.query.sid&&(Y.data='{"sid":"'.concat(v.query.sid,'"}'));v.C.write(Y).then(function(){return v.onOpen()})})})},
240
- ea.write=function(v){var Y=this;this.writable=!1;for(var e=function(){var z=g===v.length-1;Y.C.write(v[g]).then(function(){z&&ua(function(){Y.writable=!0;Y.emitReserved('drain')},Y.setTimeoutFn)})},g=0;g<v.length;g++)e()},ea.doClose=function(){var v;null===(v=this.M)||void 0===v||v.close()},w(qa,[{key:'name',get:function(){return'webtransport'}}])}(F);var Ha={websocket:za,webtransport:F,polling:gb},Ib=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
241
- vb='source protocol authority userInfo user password host port relative path directory file query anchor'.split(' '),Mb='function'==typeof addEventListener&&'function'==typeof removeEventListener,Hb=[];Mb&&addEventListener('offline',function(){Hb.forEach(function(W){return W()})},!1);var Pb=function(W){function qa(v,Y){var e;((e=W.call(this)||this).binaryType='arraybuffer',e.writeBuffer=[],e.L=0,e.R=-1,e.D=-1,e.P=-1,e.I=1/0,v&&'object'===E(v)&&(Y=v,v=null),v)?(v=A(v),Y.hostname=v.host,Y.secure='https'===
240
+ ea.write=function(v){var Y=this;this.writable=!1;for(var e=function(){var z=g===v.length-1;Y.C.write(v[g]).then(function(){z&&ua(function(){Y.writable=!0;Y.emitReserved('drain')},Y.setTimeoutFn)})},g=0;g<v.length;g++)e()},ea.doClose=function(){var v;null===(v=this.M)||void 0===v||v.close()},w(qa,[{key:'name',get:function(){return'webtransport'}}])}(E);var Ha={websocket:za,webtransport:E,polling:gb},Ib=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
241
+ vb='source protocol authority userInfo user password host port relative path directory file query anchor'.split(' '),Mb='function'==typeof addEventListener&&'function'==typeof removeEventListener,Hb=[];Mb&&addEventListener('offline',function(){Hb.forEach(function(W){return W()})},!1);var Pb=function(W){function qa(v,Y){var e;((e=W.call(this)||this).binaryType='arraybuffer',e.writeBuffer=[],e.L=0,e.R=-1,e.D=-1,e.P=-1,e.I=1/0,v&&'object'===G(v)&&(Y=v,v=null),v)?(v=A(v),Y.hostname=v.host,Y.secure='https'===
242
242
  v.protocol||'wss'===v.protocol,Y.port=v.port,v.query&&(Y.query=v.query)):Y.host&&(Y.hostname=A(Y.host).host);return T(e,Y),e.secure=null!=Y.secure?Y.secure:'undefined'!=typeof location&&'https:'===location.protocol,Y.hostname&&!Y.port&&(Y.port=e.secure?'443':'80'),e.hostname=Y.hostname||('undefined'!=typeof location?location.hostname:'localhost'),e.port=Y.port||('undefined'!=typeof location&&location.port?location.port:e.secure?'443':'80'),e.transports=[],e.$={},Y.transports.forEach(function(g){var z=
243
243
  g.prototype.name;e.transports.push(z);e.$[z]=g}),e.opts=I({path:'/engine.io',agent:!1,withCredentials:!1,upgrade:!0,timestampParam:'t',rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},Y),e.opts.path=e.opts.path.replace(/\/$/,'')+(e.opts.addTrailingSlash?'/':''),'string'==typeof e.opts.query&&(e.opts.query=function(g){var z={};g=g.split('&');for(var ca=0,S=g.length;ca<S;ca++){var wa=g[ca].split('=');z[decodeURIComponent(wa[0])]=
244
244
  decodeURIComponent(wa[1])}return z}(e.opts.query)),Mb&&(e.opts.closeOnBeforeunload&&(e.q=function(){e.transport&&(e.transport.removeAllListeners(),e.transport.close())},addEventListener('beforeunload',e.q,!1)),'localhost'!==e.hostname&&(e.N=function(){e.V('transport close',{description:'network connection lost'})},Hb.push(e.N))),e.opts.withCredentials&&(e.X=void 0),e.H(),e}P(qa,W);var ea=qa.prototype;return ea.createTransport=function(v){var Y=I({},this.opts.query);Y.EIO=4;Y.transport=v;this.id&&
@@ -250,71 +250,71 @@ this.Y();this.transport.send(v);this.L=v.length;this.emitReserved('flush')}},ea.
250
250
  e);Y+=2}return this.writeBuffer},ea.Z=function(){var v=this;if(!this.I)return!0;var Y=Date.now()>this.I;return Y&&(this.I=0,ua(function(){v.V('ping timeout')},this.setTimeoutFn)),Y},ea.write=function(v,Y,e){return this.J('message',v,Y,e),this},ea.send=function(v,Y,e){return this.J('message',v,Y,e),this},ea.J=function(v,Y,e,g){if('function'==typeof Y&&(g=Y,Y=void 0),'function'==typeof e&&(g=e,e=null),'closing'!==this.readyState&&'closed'!==this.readyState)(e=e||{}).compress=!1!==e.compress,v={type:v,
251
251
  data:Y,options:e},this.emitReserved('packetCreate',v),this.writeBuffer.push(v),g&&this.once('flush',g),this.flush()},ea.close=function(){var v=this,Y=function(){v.V('forced close');v.transport.close()},e=function ca(){v.off('upgrade',ca);v.off('upgradeError',ca);Y()},g=function(){v.once('upgrade',e);v.once('upgradeError',e)};return'opening'!==this.readyState&&'open'!==this.readyState||(this.readyState='closing',this.writeBuffer.length?this.once('drain',function(){v.upgrading?g():Y()}):this.upgrading?
252
252
  g():Y()),this},ea.O=function(v){if(qa.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&'opening'===this.readyState)return this.transports.shift(),this.H();this.emitReserved('error',v);this.V('transport error',v)},ea.V=function(v,Y){if('opening'===this.readyState||'open'===this.readyState||'closing'===this.readyState){if(this.clearTimeoutFn(this.K),this.transport.removeAllListeners('close'),this.transport.close(),this.transport.removeAllListeners(),Mb&&(this.q&&removeEventListener('beforeunload',
253
- this.q,!1),this.N)){var e=Hb.indexOf(this.N);-1!==e&&Hb.splice(e,1)}this.readyState='closed';this.id=null;this.emitReserved('close',v,Y);this.writeBuffer=[];this.L=0}},qa}(h);Pb.protocol=4;var Qb=function(W){function qa(ea){var v=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};v='object'===E(ea)?ea:v;return(!v.transports||v.transports&&'string'==typeof v.transports[0])&&(v.transports=(v.transports||['polling','websocket','webtransport']).map(function(Y){return Ha[Y]}).filter(function(Y){return!!Y})),
253
+ this.q,!1),this.N)){var e=Hb.indexOf(this.N);-1!==e&&Hb.splice(e,1)}this.readyState='closed';this.id=null;this.emitReserved('close',v,Y);this.writeBuffer=[];this.L=0}},qa}(h);Pb.protocol=4;var Qb=function(W){function qa(ea){var v=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};v='object'===G(ea)?ea:v;return(!v.transports||v.transports&&'string'==typeof v.transports[0])&&(v.transports=(v.transports||['polling','websocket','webtransport']).map(function(Y){return Ha[Y]}).filter(function(Y){return!!Y})),
254
254
  W.call(this,ea,v)||this}return P(qa,W),qa}(function(W){function qa(){var v;return(v=W.apply(this,arguments)||this)._=[],v}P(qa,W);var ea=qa.prototype;return ea.onOpen=function(){if(W.prototype.onOpen.call(this),'open'===this.readyState&&this.opts.upgrade)for(var v=0;v<this._.length;v++)this.tt(this._[v])},ea.tt=function(v){function Y(){wa||(wa=!0,Ma(),S.close(),S=null)}function e(){Qa('transport closed')}function g(){Qa('socket closed')}function z(ya){S&&ya.name!==S.name&&Y()}var ca=this,S=this.createTransport(v),
255
255
  wa=!1;Pb.priorWebsocketSuccess=!1;var Ka=function(){wa||(S.send([{type:'ping',data:'probe'}]),S.once('packet',function(ya){if(!wa)if('pong'===ya.type&&'probe'===ya.data){if(ca.upgrading=!0,ca.emitReserved('upgrading',S),S)Pb.priorWebsocketSuccess='websocket'===S.name,ca.transport.pause(function(){wa||'closed'!==ca.readyState&&(Ma(),ca.setTransport(S),S.send([{type:'upgrade'}]),ca.emitReserved('upgrade',S),S=null,ca.upgrading=!1,ca.flush())})}else ya=Error('probe error'),ya.transport=S.name,ca.emitReserved('upgradeError',
256
256
  ya)}))},Qa=function(ya){ya=Error('probe error: '+ya);ya.transport=S.name;Y();ca.emitReserved('upgradeError',ya)},Ma=function(){S.removeListener('open',Ka);S.removeListener('error',Qa);S.removeListener('close',e);ca.off('close',g);ca.off('upgrading',z)};S.once('open',Ka);S.once('error',Qa);S.once('close',e);this.once('close',g);this.once('upgrading',z);-1!==this._.indexOf('webtransport')&&'webtransport'!==v?this.setTimeoutFn(function(){wa||S.open()},200):S.open()},ea.onHandshake=function(v){this._=
257
257
  this.nt(v.upgrades);W.prototype.onHandshake.call(this,v)},ea.nt=function(v){for(var Y=[],e=0;e<v.length;e++)~this.transports.indexOf(v[e])&&Y.push(v[e]);return Y},qa}(Pb));return function(W,qa){return new Qb(W,qa)}});
258
258
  function BindingHelper(l){var w={};typeof l!='undefined'&&(w=l);w.process=function(I,N,P){if(typeof I=='undefined'||!Array.isArray(I))throw Error('`bindings` must be a defined array');typeof N=='undefined'&&(N=I.length,P=0);if(I[P]){var J=I[P];if(typeof J.call=='undefined')throw Error('`bindings.['+P+'].call` is required !');if(typeof w[J.call]!='function')throw Error('`bindingContext.'+J.call+'` is not a function');var C=J.call;delete J.call;try{if(typeof J.handler!='undefined'){if(!window[J.handler])throw Error('`'+
259
- J.handler+'` could not be reached. You must expose it to the `window` do object before any call.');var E=J.handler;delete J.handler;window[E].apply(this,Object.values(J));J.handler=E}else w[C].apply(this,Object.values(J));J.call=C}catch(K){console.error('BindingHelper encountered error while trying to execute `'+C+'`'+(K.stack||K))}w.process(I,N,P+1)}};return w}define('helpers/binding',[],function(){return BindingHelper});
260
- (function(l,w){typeof exports=='object'&&typeof module!='undefined'?w(exports):typeof define=='function'&&define.amd?define('vendor/gina/psl',['exports'],w):(l=typeof globalThis!='undefined'?globalThis:l||self,w(l.psl={}))})(this,function(l){var w,I;const N=function(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,'default')?r.default:r}(function(){function r(Q){throw new RangeError(da[Q]);}function y(Q,U){var O=Q.split('@');let Z='';O.length>1&&(Z=O[0]+'@',Q=O[1]);Q=Q.replace(n,
261
- '.');Q=Q.split('.');O=[];let G=Q.length;for(;G--;)O[G]=U(Q[G]);U=O.join('.');return Z+U}function h(Q){const U=[];let O=0;const Z=Q.length;for(;O<Z;){const G=Q.charCodeAt(O++);if(G>=55296&&G<=56319&&O<Z){const L=Q.charCodeAt(O++);(L&64512)==56320?U.push(((G&1023)<<10)+(L&1023)+65536):(U.push(G),O--)}else U.push(G)}return U}if(I)return w;I=1;const ma=/^xn--/,T=/[^\0-\x7F]/,n=/[\x2E\u3002\uFF0E\uFF61]/g,da={overflow:'Overflow: input needs wider integers to process','not-basic':'Illegal input >= 0x80 (not a basic code point)',
262
- 'invalid-input':'Invalid input'},x=Math.floor,u=String.fromCharCode,A=function(Q,U,O){let Z=0;Q=O?x(Q/700):Q>>1;for(Q+=x(Q/U);Q>455;Z+=36)Q=x(Q/35);return x(Z+36*Q/(Q+38))},k=function(Q){const U=[],O=Q.length;let Z=0,G=128,L=72;var la=Q.lastIndexOf('-');la<0&&(la=0);for(var pa=0;pa<la;++pa)Q.charCodeAt(pa)>=128&&r('not-basic'),U.push(Q.charCodeAt(pa));for(la=la>0?la+1:0;la<O;){pa=Z;for(let X=1,oa=36;;oa+=36){la>=O&&r('invalid-input');var F=Q.charCodeAt(la++);F=F>=48&&F<58?26+(F-48):F>=65&&F<91?F-
263
- 65:F>=97&&F<123?F-97:36;F>=36&&r('invalid-input');F>x((2147483647-Z)/X)&&r('overflow');Z+=F*X;const ha=oa<=L?1:oa>=L+26?26:oa-L;if(F<ha)break;F=36-ha;X>x(2147483647/F)&&r('overflow');X*=F}F=U.length+1;L=A(Z-pa,F,pa==0);x(Z/F)>2147483647-G&&r('overflow');G+=x(Z/F);Z%=F;U.splice(Z++,0,G)}return String.fromCodePoint(...U)},ja=function(Q){const U=[];Q=h(Q);const O=Q.length;let Z=128,G=0,L=72;for(var la of Q)la<128&&U.push(u(la));let pa=la=U.length;for(la&&U.push('-');pa<O;){var F=2147483647;for(const sa of Q)sa>=
264
- Z&&sa<F&&(F=sa);const ha=pa+1;F-Z>x((2147483647-G)/ha)&&r('overflow');G+=(F-Z)*ha;Z=F;for(const sa of Q)if(sa<Z&&++G>2147483647&&r('overflow'),sa===Z){var X=G;for(F=36;;F+=36){var oa=F<=L?1:F>=L+26?26:F-L;if(X<oa)break;const xa=X-oa,ua=36-oa;X=U;oa+=xa%ua;X.push.call(X,u(oa+22+75*(oa<26)-0));X=x(xa/ua)}U.push(u(X+22+75*(X<26)-0));L=A(G,ha,pa===la);G=0;++pa}++G;++Z}return U.join('')};return w={version:'2.3.1',ucs2:{decode:h,encode:Q=>String.fromCodePoint(...Q)},decode:k,encode:ja,toASCII:function(Q){return y(Q,
265
- function(U){return T.test(U)?'xn--'+ja(U):U})},toUnicode:function(Q){return y(Q,function(U){return ma.test(U)?k(U.slice(4).toLowerCase()):U})}},w}()),P='ac com.ac edu.ac gov.ac mil.ac net.ac org.ac ad ae ac.ae co.ae gov.ae mil.ae net.ae org.ae sch.ae aero airline.aero airport.aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero air-surveillance.aero air-traffic-control.aero aircraft.aero airtraffic.aero ambulance.aero association.aero author.aero ballooning.aero broker.aero caa.aero cargo.aero catering.aero certification.aero championship.aero charter.aero civilaviation.aero club.aero conference.aero consultant.aero consulting.aero control.aero council.aero crew.aero design.aero dgca.aero educator.aero emergency.aero engine.aero engineer.aero entertainment.aero equipment.aero exchange.aero express.aero federation.aero flight.aero freight.aero fuel.aero gliding.aero government.aero groundhandling.aero group.aero hanggliding.aero homebuilt.aero insurance.aero journal.aero journalist.aero leasing.aero logistics.aero magazine.aero maintenance.aero marketplace.aero media.aero microlight.aero modelling.aero navigation.aero parachuting.aero paragliding.aero passenger-association.aero pilot.aero press.aero production.aero recreation.aero repbody.aero res.aero research.aero rotorcraft.aero safety.aero scientist.aero services.aero show.aero skydiving.aero software.aero student.aero taxi.aero trader.aero trading.aero trainer.aero union.aero workinggroup.aero works.aero af com.af edu.af gov.af net.af org.af ag co.ag com.ag net.ag nom.ag org.ag ai com.ai net.ai off.ai org.ai al com.al edu.al gov.al mil.al net.al org.al am co.am com.am commune.am net.am org.am ao co.ao ed.ao edu.ao gov.ao gv.ao it.ao og.ao org.ao pb.ao aq ar bet.ar com.ar coop.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar mutual.ar net.ar org.ar senasa.ar tur.ar arpa e164.arpa home.arpa in-addr.arpa ip6.arpa iris.arpa uri.arpa urn.arpa as gov.as asia at ac.at sth.ac.at co.at gv.at or.at au asn.au com.au edu.au gov.au id.au net.au org.au conf.au oz.au act.au nsw.au nt.au qld.au sa.au tas.au vic.au wa.au act.edu.au catholic.edu.au nsw.edu.au nt.edu.au qld.edu.au sa.edu.au tas.edu.au vic.edu.au wa.edu.au qld.gov.au sa.gov.au tas.gov.au vic.gov.au wa.gov.au schools.nsw.edu.au aw com.aw ax az biz.az com.az edu.az gov.az info.az int.az mil.az name.az net.az org.az pp.az pro.az ba com.ba edu.ba gov.ba mil.ba net.ba org.ba bb biz.bb co.bb com.bb edu.bb gov.bb info.bb net.bb org.bb store.bb tv.bb *.bd be ac.be bf gov.bf bg 0.bg 1.bg 2.bg 3.bg 4.bg 5.bg 6.bg 7.bg 8.bg 9.bg a.bg b.bg c.bg d.bg e.bg f.bg g.bg h.bg i.bg j.bg k.bg l.bg m.bg n.bg o.bg p.bg q.bg r.bg s.bg t.bg u.bg v.bg w.bg x.bg y.bg z.bg bh com.bh edu.bh gov.bh net.bh org.bh bi co.bi com.bi edu.bi or.bi org.bi biz bj africa.bj agro.bj architectes.bj assur.bj avocats.bj co.bj com.bj eco.bj econo.bj edu.bj info.bj loisirs.bj money.bj net.bj org.bj ote.bj restaurant.bj resto.bj tourism.bj univ.bj bm com.bm edu.bm gov.bm net.bm org.bm bn com.bn edu.bn gov.bn net.bn org.bn bo com.bo edu.bo gob.bo int.bo mil.bo net.bo org.bo tv.bo web.bo academia.bo agro.bo arte.bo blog.bo bolivia.bo ciencia.bo cooperativa.bo democracia.bo deporte.bo ecologia.bo economia.bo empresa.bo indigena.bo industria.bo info.bo medicina.bo movimiento.bo musica.bo natural.bo nombre.bo noticias.bo patria.bo plurinacional.bo politica.bo profesional.bo pueblo.bo revista.bo salud.bo tecnologia.bo tksat.bo transporte.bo wiki.bo br 9guacu.br abc.br adm.br adv.br agr.br aju.br am.br anani.br aparecida.br app.br arq.br art.br ato.br b.br barueri.br belem.br bet.br bhz.br bib.br bio.br blog.br bmd.br boavista.br bsb.br campinagrande.br campinas.br caxias.br cim.br cng.br cnt.br com.br contagem.br coop.br coz.br cri.br cuiaba.br curitiba.br def.br des.br det.br dev.br ecn.br eco.br edu.br emp.br enf.br eng.br esp.br etc.br eti.br far.br feira.br flog.br floripa.br fm.br fnd.br fortal.br fot.br foz.br fst.br g12.br geo.br ggf.br goiania.br gov.br ac.gov.br al.gov.br am.gov.br ap.gov.br ba.gov.br ce.gov.br df.gov.br es.gov.br go.gov.br ma.gov.br mg.gov.br ms.gov.br mt.gov.br pa.gov.br pb.gov.br pe.gov.br pi.gov.br pr.gov.br rj.gov.br rn.gov.br ro.gov.br rr.gov.br rs.gov.br sc.gov.br se.gov.br sp.gov.br to.gov.br gru.br imb.br ind.br inf.br jab.br jampa.br jdf.br joinville.br jor.br jus.br leg.br leilao.br lel.br log.br londrina.br macapa.br maceio.br manaus.br maringa.br mat.br med.br mil.br morena.br mp.br mus.br natal.br net.br niteroi.br *.nom.br not.br ntr.br odo.br ong.br org.br osasco.br palmas.br poa.br ppg.br pro.br psc.br psi.br pvh.br qsl.br radio.br rec.br recife.br rep.br ribeirao.br rio.br riobranco.br riopreto.br salvador.br sampa.br santamaria.br santoandre.br saobernardo.br saogonca.br seg.br sjc.br slg.br slz.br sorocaba.br srv.br taxi.br tc.br tec.br teo.br the.br tmp.br trd.br tur.br tv.br udi.br vet.br vix.br vlog.br wiki.br zlg.br bs com.bs edu.bs gov.bs net.bs org.bs bt com.bt edu.bt gov.bt net.bt org.bt bv bw co.bw org.bw by gov.by mil.by com.by of.by bz co.bz com.bz edu.bz gov.bz net.bz org.bz ca ab.ca bc.ca mb.ca nb.ca nf.ca nl.ca ns.ca nt.ca nu.ca on.ca pe.ca qc.ca sk.ca yk.ca gc.ca cat cc cd gov.cd cf cg ch ci ac.ci a\u00e9roport.ci asso.ci co.ci com.ci ed.ci edu.ci go.ci gouv.ci int.ci net.ci or.ci org.ci *.ck !www.ck cl co.cl gob.cl gov.cl mil.cl cm co.cm com.cm gov.cm net.cm cn ac.cn com.cn edu.cn gov.cn mil.cn net.cn org.cn \u516c\u53f8.cn \u7db2\u7d61.cn \u7f51\u7edc.cn ah.cn bj.cn cq.cn fj.cn gd.cn gs.cn gx.cn gz.cn ha.cn hb.cn he.cn hi.cn hk.cn hl.cn hn.cn jl.cn js.cn jx.cn ln.cn mo.cn nm.cn nx.cn qh.cn sc.cn sd.cn sh.cn sn.cn sx.cn tj.cn tw.cn xj.cn xz.cn yn.cn zj.cn co com.co edu.co gov.co mil.co net.co nom.co org.co com coop cr ac.cr co.cr ed.cr fi.cr go.cr or.cr sa.cr cu com.cu edu.cu gob.cu inf.cu nat.cu net.cu org.cu cv com.cv edu.cv id.cv int.cv net.cv nome.cv org.cv publ.cv cw com.cw edu.cw net.cw org.cw cx gov.cx cy ac.cy biz.cy com.cy ekloges.cy gov.cy ltd.cy mil.cy net.cy org.cy press.cy pro.cy tm.cy cz de dj dk dm co.dm com.dm edu.dm gov.dm net.dm org.dm do art.do com.do edu.do gob.do gov.do mil.do net.do org.do sld.do web.do dz art.dz asso.dz com.dz edu.dz gov.dz net.dz org.dz pol.dz soc.dz tm.dz ec com.ec edu.ec fin.ec gob.ec gov.ec info.ec k12.ec med.ec mil.ec net.ec org.ec pro.ec edu ee aip.ee com.ee edu.ee fie.ee gov.ee lib.ee med.ee org.ee pri.ee riik.ee eg ac.eg com.eg edu.eg eun.eg gov.eg info.eg me.eg mil.eg name.eg net.eg org.eg sci.eg sport.eg tv.eg *.er es com.es edu.es gob.es nom.es org.es et biz.et com.et edu.et gov.et info.et name.et net.et org.et eu fi aland.fi fj ac.fj biz.fj com.fj gov.fj info.fj mil.fj name.fj net.fj org.fj pro.fj *.fk fm com.fm edu.fm net.fm org.fm fo fr asso.fr com.fr gouv.fr nom.fr prd.fr tm.fr avoues.fr cci.fr greta.fr huissier-justice.fr ga gb gd edu.gd gov.gd ge com.ge edu.ge gov.ge net.ge org.ge pvt.ge school.ge gf gg co.gg net.gg org.gg gh com.gh edu.gh gov.gh mil.gh org.gh gi com.gi edu.gi gov.gi ltd.gi mod.gi org.gi gl co.gl com.gl edu.gl net.gl org.gl gm gn ac.gn com.gn edu.gn gov.gn net.gn org.gn gov gp asso.gp com.gp edu.gp mobi.gp net.gp org.gp gq gr com.gr edu.gr gov.gr net.gr org.gr gs gt com.gt edu.gt gob.gt ind.gt mil.gt net.gt org.gt gu com.gu edu.gu gov.gu guam.gu info.gu net.gu org.gu web.gu gw gy co.gy com.gy edu.gy gov.gy net.gy org.gy hk com.hk edu.hk gov.hk idv.hk net.hk org.hk \u4e2a\u4eba.hk \u500b\u4eba.hk \u516c\u53f8.hk \u653f\u5e9c.hk \u654e\u80b2.hk \u6559\u80b2.hk \u7b87\u4eba.hk \u7d44\u7e54.hk \u7d44\u7ec7.hk \u7db2\u7d61.hk \u7db2\u7edc.hk \u7ec4\u7e54.hk \u7ec4\u7ec7.hk \u7f51\u7d61.hk \u7f51\u7edc.hk hm hn com.hn edu.hn gob.hn mil.hn net.hn org.hn hr com.hr from.hr iz.hr name.hr ht adult.ht art.ht asso.ht com.ht coop.ht edu.ht firm.ht gouv.ht info.ht med.ht net.ht org.ht perso.ht pol.ht pro.ht rel.ht shop.ht hu 2000.hu agrar.hu bolt.hu casino.hu city.hu co.hu erotica.hu erotika.hu film.hu forum.hu games.hu hotel.hu info.hu ingatlan.hu jogasz.hu konyvelo.hu lakas.hu media.hu news.hu org.hu priv.hu reklam.hu sex.hu shop.hu sport.hu suli.hu szex.hu tm.hu tozsde.hu utazas.hu video.hu id ac.id biz.id co.id desa.id go.id mil.id my.id net.id or.id ponpes.id sch.id web.id ie gov.ie il ac.il co.il gov.il idf.il k12.il muni.il net.il org.il \u05d9\u05e9\u05e8\u05d0\u05dc \u05d0\u05e7\u05d3\u05de\u05d9\u05d4.\u05d9\u05e9\u05e8\u05d0\u05dc \u05d9\u05e9\u05d5\u05d1.\u05d9\u05e9\u05e8\u05d0\u05dc \u05e6\u05d4\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc \u05de\u05de\u05e9\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc im ac.im co.im ltd.co.im plc.co.im com.im net.im org.im tt.im tv.im in 5g.in 6g.in ac.in ai.in am.in bihar.in biz.in business.in ca.in cn.in co.in com.in coop.in cs.in delhi.in dr.in edu.in er.in firm.in gen.in gov.in gujarat.in ind.in info.in int.in internet.in io.in me.in mil.in net.in nic.in org.in pg.in post.in pro.in res.in travel.in tv.in uk.in up.in us.in info int eu.int io co.io com.io edu.io gov.io mil.io net.io nom.io org.io iq com.iq edu.iq gov.iq mil.iq net.iq org.iq ir ac.ir co.ir gov.ir id.ir net.ir org.ir sch.ir \u0627\u06cc\u0631\u0627\u0646.ir \u0627\u064a\u0631\u0627\u0646.ir is it edu.it gov.it abr.it abruzzo.it aosta-valley.it aostavalley.it bas.it basilicata.it cal.it calabria.it cam.it campania.it emilia-romagna.it emiliaromagna.it emr.it friuli-v-giulia.it friuli-ve-giulia.it friuli-vegiulia.it friuli-venezia-giulia.it friuli-veneziagiulia.it friuli-vgiulia.it friuliv-giulia.it friulive-giulia.it friulivegiulia.it friulivenezia-giulia.it friuliveneziagiulia.it friulivgiulia.it fvg.it laz.it lazio.it lig.it liguria.it lom.it lombardia.it lombardy.it lucania.it mar.it marche.it mol.it molise.it piedmont.it piemonte.it pmn.it pug.it puglia.it sar.it sardegna.it sardinia.it sic.it sicilia.it sicily.it taa.it tos.it toscana.it trentin-sud-tirol.it trentin-s\u00fcd-tirol.it trentin-sudtirol.it trentin-s\u00fcdtirol.it trentin-sued-tirol.it trentin-suedtirol.it trentino.it trentino-a-adige.it trentino-aadige.it trentino-alto-adige.it trentino-altoadige.it trentino-s-tirol.it trentino-stirol.it trentino-sud-tirol.it trentino-s\u00fcd-tirol.it trentino-sudtirol.it trentino-s\u00fcdtirol.it trentino-sued-tirol.it trentino-suedtirol.it trentinoa-adige.it trentinoaadige.it trentinoalto-adige.it trentinoaltoadige.it trentinos-tirol.it trentinostirol.it trentinosud-tirol.it trentinos\u00fcd-tirol.it trentinosudtirol.it trentinos\u00fcdtirol.it trentinosued-tirol.it trentinosuedtirol.it trentinsud-tirol.it trentins\u00fcd-tirol.it trentinsudtirol.it trentins\u00fcdtirol.it trentinsued-tirol.it trentinsuedtirol.it tuscany.it umb.it umbria.it val-d-aosta.it val-daosta.it vald-aosta.it valdaosta.it valle-aosta.it valle-d-aosta.it valle-daosta.it valleaosta.it valled-aosta.it valledaosta.it vallee-aoste.it vall\u00e9e-aoste.it vallee-d-aoste.it vall\u00e9e-d-aoste.it valleeaoste.it vall\u00e9eaoste.it valleedaoste.it vall\u00e9edaoste.it vao.it vda.it ven.it veneto.it ag.it agrigento.it al.it alessandria.it alto-adige.it altoadige.it an.it ancona.it andria-barletta-trani.it andria-trani-barletta.it andriabarlettatrani.it andriatranibarletta.it ao.it aosta.it aoste.it ap.it aq.it aquila.it ar.it arezzo.it ascoli-piceno.it ascolipiceno.it asti.it at.it av.it avellino.it ba.it balsan.it balsan-sudtirol.it balsan-s\u00fcdtirol.it balsan-suedtirol.it bari.it barletta-trani-andria.it barlettatraniandria.it belluno.it benevento.it bergamo.it bg.it bi.it biella.it bl.it bn.it bo.it bologna.it bolzano.it bolzano-altoadige.it bozen.it bozen-sudtirol.it bozen-s\u00fcdtirol.it bozen-suedtirol.it br.it brescia.it brindisi.it bs.it bt.it bulsan.it bulsan-sudtirol.it bulsan-s\u00fcdtirol.it bulsan-suedtirol.it bz.it ca.it cagliari.it caltanissetta.it campidano-medio.it campidanomedio.it campobasso.it carbonia-iglesias.it carboniaiglesias.it carrara-massa.it carraramassa.it caserta.it catania.it catanzaro.it cb.it ce.it cesena-forli.it cesena-forl\u00ec.it cesenaforli.it cesenaforl\u00ec.it ch.it chieti.it ci.it cl.it cn.it co.it como.it cosenza.it cr.it cremona.it crotone.it cs.it ct.it cuneo.it cz.it dell-ogliastra.it dellogliastra.it en.it enna.it fc.it fe.it fermo.it ferrara.it fg.it fi.it firenze.it florence.it fm.it foggia.it forli-cesena.it forl\u00ec-cesena.it forlicesena.it forl\u00eccesena.it fr.it frosinone.it ge.it genoa.it genova.it go.it gorizia.it gr.it grosseto.it iglesias-carbonia.it iglesiascarbonia.it im.it imperia.it is.it isernia.it kr.it la-spezia.it laquila.it laspezia.it latina.it lc.it le.it lecce.it lecco.it li.it livorno.it lo.it lodi.it lt.it lu.it lucca.it macerata.it mantova.it massa-carrara.it massacarrara.it matera.it mb.it mc.it me.it medio-campidano.it mediocampidano.it messina.it mi.it milan.it milano.it mn.it mo.it modena.it monza.it monza-brianza.it monza-e-della-brianza.it monzabrianza.it monzaebrianza.it monzaedellabrianza.it ms.it mt.it na.it naples.it napoli.it no.it novara.it nu.it nuoro.it og.it ogliastra.it olbia-tempio.it olbiatempio.it or.it oristano.it ot.it pa.it padova.it padua.it palermo.it parma.it pavia.it pc.it pd.it pe.it perugia.it pesaro-urbino.it pesarourbino.it pescara.it pg.it pi.it piacenza.it pisa.it pistoia.it pn.it po.it pordenone.it potenza.it pr.it prato.it pt.it pu.it pv.it pz.it ra.it ragusa.it ravenna.it rc.it re.it reggio-calabria.it reggio-emilia.it reggiocalabria.it reggioemilia.it rg.it ri.it rieti.it rimini.it rm.it rn.it ro.it roma.it rome.it rovigo.it sa.it salerno.it sassari.it savona.it si.it siena.it siracusa.it so.it sondrio.it sp.it sr.it ss.it s\u00fcdtirol.it suedtirol.it sv.it ta.it taranto.it te.it tempio-olbia.it tempioolbia.it teramo.it terni.it tn.it to.it torino.it tp.it tr.it trani-andria-barletta.it trani-barletta-andria.it traniandriabarletta.it tranibarlettaandria.it trapani.it trento.it treviso.it trieste.it ts.it turin.it tv.it ud.it udine.it urbino-pesaro.it urbinopesaro.it va.it varese.it vb.it vc.it ve.it venezia.it venice.it verbania.it vercelli.it verona.it vi.it vibo-valentia.it vibovalentia.it vicenza.it viterbo.it vr.it vs.it vt.it vv.it je co.je net.je org.je *.jm jo agri.jo ai.jo com.jo edu.jo eng.jo fm.jo gov.jo mil.jo net.jo org.jo per.jo phd.jo sch.jo tv.jo jobs jp ac.jp ad.jp co.jp ed.jp go.jp gr.jp lg.jp ne.jp or.jp aichi.jp akita.jp aomori.jp chiba.jp ehime.jp fukui.jp fukuoka.jp fukushima.jp gifu.jp gunma.jp hiroshima.jp hokkaido.jp hyogo.jp ibaraki.jp ishikawa.jp iwate.jp kagawa.jp kagoshima.jp kanagawa.jp kochi.jp kumamoto.jp kyoto.jp mie.jp miyagi.jp miyazaki.jp nagano.jp nagasaki.jp nara.jp niigata.jp oita.jp okayama.jp okinawa.jp osaka.jp saga.jp saitama.jp shiga.jp shimane.jp shizuoka.jp tochigi.jp tokushima.jp tokyo.jp tottori.jp toyama.jp wakayama.jp yamagata.jp yamaguchi.jp yamanashi.jp \u4e09\u91cd.jp \u4eac\u90fd.jp \u4f50\u8cc0.jp \u5175\u5eab.jp \u5317\u6d77\u9053.jp \u5343\u8449.jp \u548c\u6b4c\u5c71.jp \u57fc\u7389.jp \u5927\u5206.jp \u5927\u962a.jp \u5948\u826f.jp \u5bae\u57ce.jp \u5bae\u5d0e.jp \u5bcc\u5c71.jp \u5c71\u53e3.jp \u5c71\u5f62.jp \u5c71\u68a8.jp \u5c90\u961c.jp \u5ca1\u5c71.jp \u5ca9\u624b.jp \u5cf6\u6839.jp \u5e83\u5cf6.jp \u5fb3\u5cf6.jp \u611b\u5a9b.jp \u611b\u77e5.jp \u65b0\u6f5f.jp \u6771\u4eac.jp \u6803\u6728.jp \u6c96\u7e04.jp \u6ecb\u8cc0.jp \u718a\u672c.jp \u77f3\u5ddd.jp \u795e\u5948\u5ddd.jp \u798f\u4e95.jp \u798f\u5ca1.jp \u798f\u5cf6.jp \u79cb\u7530.jp \u7fa4\u99ac.jp \u8328\u57ce.jp \u9577\u5d0e.jp \u9577\u91ce.jp \u9752\u68ee.jp \u9759\u5ca1.jp \u9999\u5ddd.jp \u9ad8\u77e5.jp \u9ce5\u53d6.jp \u9e7f\u5150\u5cf6.jp *.kawasaki.jp !city.kawasaki.jp *.kitakyushu.jp !city.kitakyushu.jp *.kobe.jp !city.kobe.jp *.nagoya.jp !city.nagoya.jp *.sapporo.jp !city.sapporo.jp *.sendai.jp !city.sendai.jp *.yokohama.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp anjo.aichi.jp asuke.aichi.jp chiryu.aichi.jp chita.aichi.jp fuso.aichi.jp gamagori.aichi.jp handa.aichi.jp hazu.aichi.jp hekinan.aichi.jp higashiura.aichi.jp ichinomiya.aichi.jp inazawa.aichi.jp inuyama.aichi.jp isshiki.aichi.jp iwakura.aichi.jp kanie.aichi.jp kariya.aichi.jp kasugai.aichi.jp kira.aichi.jp kiyosu.aichi.jp komaki.aichi.jp konan.aichi.jp kota.aichi.jp mihama.aichi.jp miyoshi.aichi.jp nishio.aichi.jp nisshin.aichi.jp obu.aichi.jp oguchi.aichi.jp oharu.aichi.jp okazaki.aichi.jp owariasahi.aichi.jp seto.aichi.jp shikatsu.aichi.jp shinshiro.aichi.jp shitara.aichi.jp tahara.aichi.jp takahama.aichi.jp tobishima.aichi.jp toei.aichi.jp togo.aichi.jp tokai.aichi.jp tokoname.aichi.jp toyoake.aichi.jp toyohashi.aichi.jp toyokawa.aichi.jp toyone.aichi.jp toyota.aichi.jp tsushima.aichi.jp yatomi.aichi.jp akita.akita.jp daisen.akita.jp fujisato.akita.jp gojome.akita.jp hachirogata.akita.jp happou.akita.jp higashinaruse.akita.jp honjo.akita.jp honjyo.akita.jp ikawa.akita.jp kamikoani.akita.jp kamioka.akita.jp katagami.akita.jp kazuno.akita.jp kitaakita.akita.jp kosaka.akita.jp kyowa.akita.jp misato.akita.jp mitane.akita.jp moriyoshi.akita.jp nikaho.akita.jp noshiro.akita.jp odate.akita.jp oga.akita.jp ogata.akita.jp semboku.akita.jp yokote.akita.jp yurihonjo.akita.jp aomori.aomori.jp gonohe.aomori.jp hachinohe.aomori.jp hashikami.aomori.jp hiranai.aomori.jp hirosaki.aomori.jp itayanagi.aomori.jp kuroishi.aomori.jp misawa.aomori.jp mutsu.aomori.jp nakadomari.aomori.jp noheji.aomori.jp oirase.aomori.jp owani.aomori.jp rokunohe.aomori.jp sannohe.aomori.jp shichinohe.aomori.jp shingo.aomori.jp takko.aomori.jp towada.aomori.jp tsugaru.aomori.jp tsuruta.aomori.jp abiko.chiba.jp asahi.chiba.jp chonan.chiba.jp chosei.chiba.jp choshi.chiba.jp chuo.chiba.jp funabashi.chiba.jp futtsu.chiba.jp hanamigawa.chiba.jp ichihara.chiba.jp ichikawa.chiba.jp ichinomiya.chiba.jp inzai.chiba.jp isumi.chiba.jp kamagaya.chiba.jp kamogawa.chiba.jp kashiwa.chiba.jp katori.chiba.jp katsuura.chiba.jp kimitsu.chiba.jp kisarazu.chiba.jp kozaki.chiba.jp kujukuri.chiba.jp kyonan.chiba.jp matsudo.chiba.jp midori.chiba.jp mihama.chiba.jp minamiboso.chiba.jp mobara.chiba.jp mutsuzawa.chiba.jp nagara.chiba.jp nagareyama.chiba.jp narashino.chiba.jp narita.chiba.jp noda.chiba.jp oamishirasato.chiba.jp omigawa.chiba.jp onjuku.chiba.jp otaki.chiba.jp sakae.chiba.jp sakura.chiba.jp shimofusa.chiba.jp shirako.chiba.jp shiroi.chiba.jp shisui.chiba.jp sodegaura.chiba.jp sosa.chiba.jp tako.chiba.jp tateyama.chiba.jp togane.chiba.jp tohnosho.chiba.jp tomisato.chiba.jp urayasu.chiba.jp yachimata.chiba.jp yachiyo.chiba.jp yokaichiba.chiba.jp yokoshibahikari.chiba.jp yotsukaido.chiba.jp ainan.ehime.jp honai.ehime.jp ikata.ehime.jp imabari.ehime.jp iyo.ehime.jp kamijima.ehime.jp kihoku.ehime.jp kumakogen.ehime.jp masaki.ehime.jp matsuno.ehime.jp matsuyama.ehime.jp namikata.ehime.jp niihama.ehime.jp ozu.ehime.jp saijo.ehime.jp seiyo.ehime.jp shikokuchuo.ehime.jp tobe.ehime.jp toon.ehime.jp uchiko.ehime.jp uwajima.ehime.jp yawatahama.ehime.jp echizen.fukui.jp eiheiji.fukui.jp fukui.fukui.jp ikeda.fukui.jp katsuyama.fukui.jp mihama.fukui.jp minamiechizen.fukui.jp obama.fukui.jp ohi.fukui.jp ono.fukui.jp sabae.fukui.jp sakai.fukui.jp takahama.fukui.jp tsuruga.fukui.jp wakasa.fukui.jp ashiya.fukuoka.jp buzen.fukuoka.jp chikugo.fukuoka.jp chikuho.fukuoka.jp chikujo.fukuoka.jp chikushino.fukuoka.jp chikuzen.fukuoka.jp chuo.fukuoka.jp dazaifu.fukuoka.jp fukuchi.fukuoka.jp hakata.fukuoka.jp higashi.fukuoka.jp hirokawa.fukuoka.jp hisayama.fukuoka.jp iizuka.fukuoka.jp inatsuki.fukuoka.jp kaho.fukuoka.jp kasuga.fukuoka.jp kasuya.fukuoka.jp kawara.fukuoka.jp keisen.fukuoka.jp koga.fukuoka.jp kurate.fukuoka.jp kurogi.fukuoka.jp kurume.fukuoka.jp minami.fukuoka.jp miyako.fukuoka.jp miyama.fukuoka.jp miyawaka.fukuoka.jp mizumaki.fukuoka.jp munakata.fukuoka.jp nakagawa.fukuoka.jp nakama.fukuoka.jp nishi.fukuoka.jp nogata.fukuoka.jp ogori.fukuoka.jp okagaki.fukuoka.jp okawa.fukuoka.jp oki.fukuoka.jp omuta.fukuoka.jp onga.fukuoka.jp onojo.fukuoka.jp oto.fukuoka.jp saigawa.fukuoka.jp sasaguri.fukuoka.jp shingu.fukuoka.jp shinyoshitomi.fukuoka.jp shonai.fukuoka.jp soeda.fukuoka.jp sue.fukuoka.jp tachiarai.fukuoka.jp tagawa.fukuoka.jp takata.fukuoka.jp toho.fukuoka.jp toyotsu.fukuoka.jp tsuiki.fukuoka.jp ukiha.fukuoka.jp umi.fukuoka.jp usui.fukuoka.jp yamada.fukuoka.jp yame.fukuoka.jp yanagawa.fukuoka.jp yukuhashi.fukuoka.jp aizubange.fukushima.jp aizumisato.fukushima.jp aizuwakamatsu.fukushima.jp asakawa.fukushima.jp bandai.fukushima.jp date.fukushima.jp fukushima.fukushima.jp furudono.fukushima.jp futaba.fukushima.jp hanawa.fukushima.jp higashi.fukushima.jp hirata.fukushima.jp hirono.fukushima.jp iitate.fukushima.jp inawashiro.fukushima.jp ishikawa.fukushima.jp iwaki.fukushima.jp izumizaki.fukushima.jp kagamiishi.fukushima.jp kaneyama.fukushima.jp kawamata.fukushima.jp kitakata.fukushima.jp kitashiobara.fukushima.jp koori.fukushima.jp koriyama.fukushima.jp kunimi.fukushima.jp miharu.fukushima.jp mishima.fukushima.jp namie.fukushima.jp nango.fukushima.jp nishiaizu.fukushima.jp nishigo.fukushima.jp okuma.fukushima.jp omotego.fukushima.jp ono.fukushima.jp otama.fukushima.jp samegawa.fukushima.jp shimogo.fukushima.jp shirakawa.fukushima.jp showa.fukushima.jp soma.fukushima.jp sukagawa.fukushima.jp taishin.fukushima.jp tamakawa.fukushima.jp tanagura.fukushima.jp tenei.fukushima.jp yabuki.fukushima.jp yamato.fukushima.jp yamatsuri.fukushima.jp yanaizu.fukushima.jp yugawa.fukushima.jp anpachi.gifu.jp ena.gifu.jp gifu.gifu.jp ginan.gifu.jp godo.gifu.jp gujo.gifu.jp hashima.gifu.jp hichiso.gifu.jp hida.gifu.jp higashishirakawa.gifu.jp ibigawa.gifu.jp ikeda.gifu.jp kakamigahara.gifu.jp kani.gifu.jp kasahara.gifu.jp kasamatsu.gifu.jp kawaue.gifu.jp kitagata.gifu.jp mino.gifu.jp minokamo.gifu.jp mitake.gifu.jp mizunami.gifu.jp motosu.gifu.jp nakatsugawa.gifu.jp ogaki.gifu.jp sakahogi.gifu.jp seki.gifu.jp sekigahara.gifu.jp shirakawa.gifu.jp tajimi.gifu.jp takayama.gifu.jp tarui.gifu.jp toki.gifu.jp tomika.gifu.jp wanouchi.gifu.jp yamagata.gifu.jp yaotsu.gifu.jp yoro.gifu.jp annaka.gunma.jp chiyoda.gunma.jp fujioka.gunma.jp higashiagatsuma.gunma.jp isesaki.gunma.jp itakura.gunma.jp kanna.gunma.jp kanra.gunma.jp katashina.gunma.jp kawaba.gunma.jp kiryu.gunma.jp kusatsu.gunma.jp maebashi.gunma.jp meiwa.gunma.jp midori.gunma.jp minakami.gunma.jp naganohara.gunma.jp nakanojo.gunma.jp nanmoku.gunma.jp numata.gunma.jp oizumi.gunma.jp ora.gunma.jp ota.gunma.jp shibukawa.gunma.jp shimonita.gunma.jp shinto.gunma.jp showa.gunma.jp takasaki.gunma.jp takayama.gunma.jp tamamura.gunma.jp tatebayashi.gunma.jp tomioka.gunma.jp tsukiyono.gunma.jp tsumagoi.gunma.jp ueno.gunma.jp yoshioka.gunma.jp asaminami.hiroshima.jp daiwa.hiroshima.jp etajima.hiroshima.jp fuchu.hiroshima.jp fukuyama.hiroshima.jp hatsukaichi.hiroshima.jp higashihiroshima.hiroshima.jp hongo.hiroshima.jp jinsekikogen.hiroshima.jp kaita.hiroshima.jp kui.hiroshima.jp kumano.hiroshima.jp kure.hiroshima.jp mihara.hiroshima.jp miyoshi.hiroshima.jp naka.hiroshima.jp onomichi.hiroshima.jp osakikamijima.hiroshima.jp otake.hiroshima.jp saka.hiroshima.jp sera.hiroshima.jp seranishi.hiroshima.jp shinichi.hiroshima.jp shobara.hiroshima.jp takehara.hiroshima.jp abashiri.hokkaido.jp abira.hokkaido.jp aibetsu.hokkaido.jp akabira.hokkaido.jp akkeshi.hokkaido.jp asahikawa.hokkaido.jp ashibetsu.hokkaido.jp ashoro.hokkaido.jp assabu.hokkaido.jp atsuma.hokkaido.jp bibai.hokkaido.jp biei.hokkaido.jp bifuka.hokkaido.jp bihoro.hokkaido.jp biratori.hokkaido.jp chippubetsu.hokkaido.jp chitose.hokkaido.jp date.hokkaido.jp ebetsu.hokkaido.jp embetsu.hokkaido.jp eniwa.hokkaido.jp erimo.hokkaido.jp esan.hokkaido.jp esashi.hokkaido.jp fukagawa.hokkaido.jp fukushima.hokkaido.jp furano.hokkaido.jp furubira.hokkaido.jp haboro.hokkaido.jp hakodate.hokkaido.jp hamatonbetsu.hokkaido.jp hidaka.hokkaido.jp higashikagura.hokkaido.jp higashikawa.hokkaido.jp hiroo.hokkaido.jp hokuryu.hokkaido.jp hokuto.hokkaido.jp honbetsu.hokkaido.jp horokanai.hokkaido.jp horonobe.hokkaido.jp ikeda.hokkaido.jp imakane.hokkaido.jp ishikari.hokkaido.jp iwamizawa.hokkaido.jp iwanai.hokkaido.jp kamifurano.hokkaido.jp kamikawa.hokkaido.jp kamishihoro.hokkaido.jp kamisunagawa.hokkaido.jp kamoenai.hokkaido.jp kayabe.hokkaido.jp kembuchi.hokkaido.jp kikonai.hokkaido.jp kimobetsu.hokkaido.jp kitahiroshima.hokkaido.jp kitami.hokkaido.jp kiyosato.hokkaido.jp koshimizu.hokkaido.jp kunneppu.hokkaido.jp kuriyama.hokkaido.jp kuromatsunai.hokkaido.jp kushiro.hokkaido.jp kutchan.hokkaido.jp kyowa.hokkaido.jp mashike.hokkaido.jp matsumae.hokkaido.jp mikasa.hokkaido.jp minamifurano.hokkaido.jp mombetsu.hokkaido.jp moseushi.hokkaido.jp mukawa.hokkaido.jp muroran.hokkaido.jp naie.hokkaido.jp nakagawa.hokkaido.jp nakasatsunai.hokkaido.jp nakatombetsu.hokkaido.jp nanae.hokkaido.jp nanporo.hokkaido.jp nayoro.hokkaido.jp nemuro.hokkaido.jp niikappu.hokkaido.jp niki.hokkaido.jp nishiokoppe.hokkaido.jp noboribetsu.hokkaido.jp numata.hokkaido.jp obihiro.hokkaido.jp obira.hokkaido.jp oketo.hokkaido.jp okoppe.hokkaido.jp otaru.hokkaido.jp otobe.hokkaido.jp otofuke.hokkaido.jp otoineppu.hokkaido.jp oumu.hokkaido.jp ozora.hokkaido.jp pippu.hokkaido.jp rankoshi.hokkaido.jp rebun.hokkaido.jp rikubetsu.hokkaido.jp rishiri.hokkaido.jp rishirifuji.hokkaido.jp saroma.hokkaido.jp sarufutsu.hokkaido.jp shakotan.hokkaido.jp shari.hokkaido.jp shibecha.hokkaido.jp shibetsu.hokkaido.jp shikabe.hokkaido.jp shikaoi.hokkaido.jp shimamaki.hokkaido.jp shimizu.hokkaido.jp shimokawa.hokkaido.jp shinshinotsu.hokkaido.jp shintoku.hokkaido.jp shiranuka.hokkaido.jp shiraoi.hokkaido.jp shiriuchi.hokkaido.jp sobetsu.hokkaido.jp sunagawa.hokkaido.jp taiki.hokkaido.jp takasu.hokkaido.jp takikawa.hokkaido.jp takinoue.hokkaido.jp teshikaga.hokkaido.jp tobetsu.hokkaido.jp tohma.hokkaido.jp tomakomai.hokkaido.jp tomari.hokkaido.jp toya.hokkaido.jp toyako.hokkaido.jp toyotomi.hokkaido.jp toyoura.hokkaido.jp tsubetsu.hokkaido.jp tsukigata.hokkaido.jp urakawa.hokkaido.jp urausu.hokkaido.jp uryu.hokkaido.jp utashinai.hokkaido.jp wakkanai.hokkaido.jp wassamu.hokkaido.jp yakumo.hokkaido.jp yoichi.hokkaido.jp aioi.hyogo.jp akashi.hyogo.jp ako.hyogo.jp amagasaki.hyogo.jp aogaki.hyogo.jp asago.hyogo.jp ashiya.hyogo.jp awaji.hyogo.jp fukusaki.hyogo.jp goshiki.hyogo.jp harima.hyogo.jp himeji.hyogo.jp ichikawa.hyogo.jp inagawa.hyogo.jp itami.hyogo.jp kakogawa.hyogo.jp kamigori.hyogo.jp kamikawa.hyogo.jp kasai.hyogo.jp kasuga.hyogo.jp kawanishi.hyogo.jp miki.hyogo.jp minamiawaji.hyogo.jp nishinomiya.hyogo.jp nishiwaki.hyogo.jp ono.hyogo.jp sanda.hyogo.jp sannan.hyogo.jp sasayama.hyogo.jp sayo.hyogo.jp shingu.hyogo.jp shinonsen.hyogo.jp shiso.hyogo.jp sumoto.hyogo.jp taishi.hyogo.jp taka.hyogo.jp takarazuka.hyogo.jp takasago.hyogo.jp takino.hyogo.jp tamba.hyogo.jp tatsuno.hyogo.jp toyooka.hyogo.jp yabu.hyogo.jp yashiro.hyogo.jp yoka.hyogo.jp yokawa.hyogo.jp ami.ibaraki.jp asahi.ibaraki.jp bando.ibaraki.jp chikusei.ibaraki.jp daigo.ibaraki.jp fujishiro.ibaraki.jp hitachi.ibaraki.jp hitachinaka.ibaraki.jp hitachiomiya.ibaraki.jp hitachiota.ibaraki.jp ibaraki.ibaraki.jp ina.ibaraki.jp inashiki.ibaraki.jp itako.ibaraki.jp iwama.ibaraki.jp joso.ibaraki.jp kamisu.ibaraki.jp kasama.ibaraki.jp kashima.ibaraki.jp kasumigaura.ibaraki.jp koga.ibaraki.jp miho.ibaraki.jp mito.ibaraki.jp moriya.ibaraki.jp naka.ibaraki.jp namegata.ibaraki.jp oarai.ibaraki.jp ogawa.ibaraki.jp omitama.ibaraki.jp ryugasaki.ibaraki.jp sakai.ibaraki.jp sakuragawa.ibaraki.jp shimodate.ibaraki.jp shimotsuma.ibaraki.jp shirosato.ibaraki.jp sowa.ibaraki.jp suifu.ibaraki.jp takahagi.ibaraki.jp tamatsukuri.ibaraki.jp tokai.ibaraki.jp tomobe.ibaraki.jp tone.ibaraki.jp toride.ibaraki.jp tsuchiura.ibaraki.jp tsukuba.ibaraki.jp uchihara.ibaraki.jp ushiku.ibaraki.jp yachiyo.ibaraki.jp yamagata.ibaraki.jp yawara.ibaraki.jp yuki.ibaraki.jp anamizu.ishikawa.jp hakui.ishikawa.jp hakusan.ishikawa.jp kaga.ishikawa.jp kahoku.ishikawa.jp kanazawa.ishikawa.jp kawakita.ishikawa.jp komatsu.ishikawa.jp nakanoto.ishikawa.jp nanao.ishikawa.jp nomi.ishikawa.jp nonoichi.ishikawa.jp noto.ishikawa.jp shika.ishikawa.jp suzu.ishikawa.jp tsubata.ishikawa.jp tsurugi.ishikawa.jp uchinada.ishikawa.jp wajima.ishikawa.jp fudai.iwate.jp fujisawa.iwate.jp hanamaki.iwate.jp hiraizumi.iwate.jp hirono.iwate.jp ichinohe.iwate.jp ichinoseki.iwate.jp iwaizumi.iwate.jp iwate.iwate.jp joboji.iwate.jp kamaishi.iwate.jp kanegasaki.iwate.jp karumai.iwate.jp kawai.iwate.jp kitakami.iwate.jp kuji.iwate.jp kunohe.iwate.jp kuzumaki.iwate.jp miyako.iwate.jp mizusawa.iwate.jp morioka.iwate.jp ninohe.iwate.jp noda.iwate.jp ofunato.iwate.jp oshu.iwate.jp otsuchi.iwate.jp rikuzentakata.iwate.jp shiwa.iwate.jp shizukuishi.iwate.jp sumita.iwate.jp tanohata.iwate.jp tono.iwate.jp yahaba.iwate.jp yamada.iwate.jp ayagawa.kagawa.jp higashikagawa.kagawa.jp kanonji.kagawa.jp kotohira.kagawa.jp manno.kagawa.jp marugame.kagawa.jp mitoyo.kagawa.jp naoshima.kagawa.jp sanuki.kagawa.jp tadotsu.kagawa.jp takamatsu.kagawa.jp tonosho.kagawa.jp uchinomi.kagawa.jp utazu.kagawa.jp zentsuji.kagawa.jp akune.kagoshima.jp amami.kagoshima.jp hioki.kagoshima.jp isa.kagoshima.jp isen.kagoshima.jp izumi.kagoshima.jp kagoshima.kagoshima.jp kanoya.kagoshima.jp kawanabe.kagoshima.jp kinko.kagoshima.jp kouyama.kagoshima.jp makurazaki.kagoshima.jp matsumoto.kagoshima.jp minamitane.kagoshima.jp nakatane.kagoshima.jp nishinoomote.kagoshima.jp satsumasendai.kagoshima.jp soo.kagoshima.jp tarumizu.kagoshima.jp yusui.kagoshima.jp aikawa.kanagawa.jp atsugi.kanagawa.jp ayase.kanagawa.jp chigasaki.kanagawa.jp ebina.kanagawa.jp fujisawa.kanagawa.jp hadano.kanagawa.jp hakone.kanagawa.jp hiratsuka.kanagawa.jp isehara.kanagawa.jp kaisei.kanagawa.jp kamakura.kanagawa.jp kiyokawa.kanagawa.jp matsuda.kanagawa.jp minamiashigara.kanagawa.jp miura.kanagawa.jp nakai.kanagawa.jp ninomiya.kanagawa.jp odawara.kanagawa.jp oi.kanagawa.jp oiso.kanagawa.jp sagamihara.kanagawa.jp samukawa.kanagawa.jp tsukui.kanagawa.jp yamakita.kanagawa.jp yamato.kanagawa.jp yokosuka.kanagawa.jp yugawara.kanagawa.jp zama.kanagawa.jp zushi.kanagawa.jp aki.kochi.jp geisei.kochi.jp hidaka.kochi.jp higashitsuno.kochi.jp ino.kochi.jp kagami.kochi.jp kami.kochi.jp kitagawa.kochi.jp kochi.kochi.jp mihara.kochi.jp motoyama.kochi.jp muroto.kochi.jp nahari.kochi.jp nakamura.kochi.jp nankoku.kochi.jp nishitosa.kochi.jp niyodogawa.kochi.jp ochi.kochi.jp okawa.kochi.jp otoyo.kochi.jp otsuki.kochi.jp sakawa.kochi.jp sukumo.kochi.jp susaki.kochi.jp tosa.kochi.jp tosashimizu.kochi.jp toyo.kochi.jp tsuno.kochi.jp umaji.kochi.jp yasuda.kochi.jp yusuhara.kochi.jp amakusa.kumamoto.jp arao.kumamoto.jp aso.kumamoto.jp choyo.kumamoto.jp gyokuto.kumamoto.jp kamiamakusa.kumamoto.jp kikuchi.kumamoto.jp kumamoto.kumamoto.jp mashiki.kumamoto.jp mifune.kumamoto.jp minamata.kumamoto.jp minamioguni.kumamoto.jp nagasu.kumamoto.jp nishihara.kumamoto.jp oguni.kumamoto.jp ozu.kumamoto.jp sumoto.kumamoto.jp takamori.kumamoto.jp uki.kumamoto.jp uto.kumamoto.jp yamaga.kumamoto.jp yamato.kumamoto.jp yatsushiro.kumamoto.jp ayabe.kyoto.jp fukuchiyama.kyoto.jp higashiyama.kyoto.jp ide.kyoto.jp ine.kyoto.jp joyo.kyoto.jp kameoka.kyoto.jp kamo.kyoto.jp kita.kyoto.jp kizu.kyoto.jp kumiyama.kyoto.jp kyotamba.kyoto.jp kyotanabe.kyoto.jp kyotango.kyoto.jp maizuru.kyoto.jp minami.kyoto.jp minamiyamashiro.kyoto.jp miyazu.kyoto.jp muko.kyoto.jp nagaokakyo.kyoto.jp nakagyo.kyoto.jp nantan.kyoto.jp oyamazaki.kyoto.jp sakyo.kyoto.jp seika.kyoto.jp tanabe.kyoto.jp uji.kyoto.jp ujitawara.kyoto.jp wazuka.kyoto.jp yamashina.kyoto.jp yawata.kyoto.jp asahi.mie.jp inabe.mie.jp ise.mie.jp kameyama.mie.jp kawagoe.mie.jp kiho.mie.jp kisosaki.mie.jp kiwa.mie.jp komono.mie.jp kumano.mie.jp kuwana.mie.jp matsusaka.mie.jp meiwa.mie.jp mihama.mie.jp minamiise.mie.jp misugi.mie.jp miyama.mie.jp nabari.mie.jp shima.mie.jp suzuka.mie.jp tado.mie.jp taiki.mie.jp taki.mie.jp tamaki.mie.jp toba.mie.jp tsu.mie.jp udono.mie.jp ureshino.mie.jp watarai.mie.jp yokkaichi.mie.jp furukawa.miyagi.jp higashimatsushima.miyagi.jp ishinomaki.miyagi.jp iwanuma.miyagi.jp kakuda.miyagi.jp kami.miyagi.jp kawasaki.miyagi.jp marumori.miyagi.jp matsushima.miyagi.jp minamisanriku.miyagi.jp misato.miyagi.jp murata.miyagi.jp natori.miyagi.jp ogawara.miyagi.jp ohira.miyagi.jp onagawa.miyagi.jp osaki.miyagi.jp rifu.miyagi.jp semine.miyagi.jp shibata.miyagi.jp shichikashuku.miyagi.jp shikama.miyagi.jp shiogama.miyagi.jp shiroishi.miyagi.jp tagajo.miyagi.jp taiwa.miyagi.jp tome.miyagi.jp tomiya.miyagi.jp wakuya.miyagi.jp watari.miyagi.jp yamamoto.miyagi.jp zao.miyagi.jp aya.miyazaki.jp ebino.miyazaki.jp gokase.miyazaki.jp hyuga.miyazaki.jp kadogawa.miyazaki.jp kawaminami.miyazaki.jp kijo.miyazaki.jp kitagawa.miyazaki.jp kitakata.miyazaki.jp kitaura.miyazaki.jp kobayashi.miyazaki.jp kunitomi.miyazaki.jp kushima.miyazaki.jp mimata.miyazaki.jp miyakonojo.miyazaki.jp miyazaki.miyazaki.jp morotsuka.miyazaki.jp nichinan.miyazaki.jp nishimera.miyazaki.jp nobeoka.miyazaki.jp saito.miyazaki.jp shiiba.miyazaki.jp shintomi.miyazaki.jp takaharu.miyazaki.jp takanabe.miyazaki.jp takazaki.miyazaki.jp tsuno.miyazaki.jp achi.nagano.jp agematsu.nagano.jp anan.nagano.jp aoki.nagano.jp asahi.nagano.jp azumino.nagano.jp chikuhoku.nagano.jp chikuma.nagano.jp chino.nagano.jp fujimi.nagano.jp hakuba.nagano.jp hara.nagano.jp hiraya.nagano.jp iida.nagano.jp iijima.nagano.jp iiyama.nagano.jp iizuna.nagano.jp ikeda.nagano.jp ikusaka.nagano.jp ina.nagano.jp karuizawa.nagano.jp kawakami.nagano.jp kiso.nagano.jp kisofukushima.nagano.jp kitaaiki.nagano.jp komagane.nagano.jp komoro.nagano.jp matsukawa.nagano.jp matsumoto.nagano.jp miasa.nagano.jp minamiaiki.nagano.jp minamimaki.nagano.jp minamiminowa.nagano.jp minowa.nagano.jp miyada.nagano.jp miyota.nagano.jp mochizuki.nagano.jp nagano.nagano.jp nagawa.nagano.jp nagiso.nagano.jp nakagawa.nagano.jp nakano.nagano.jp nozawaonsen.nagano.jp obuse.nagano.jp ogawa.nagano.jp okaya.nagano.jp omachi.nagano.jp omi.nagano.jp ookuwa.nagano.jp ooshika.nagano.jp otaki.nagano.jp otari.nagano.jp sakae.nagano.jp sakaki.nagano.jp saku.nagano.jp sakuho.nagano.jp shimosuwa.nagano.jp shinanomachi.nagano.jp shiojiri.nagano.jp suwa.nagano.jp suzaka.nagano.jp takagi.nagano.jp takamori.nagano.jp takayama.nagano.jp tateshina.nagano.jp tatsuno.nagano.jp togakushi.nagano.jp togura.nagano.jp tomi.nagano.jp ueda.nagano.jp wada.nagano.jp yamagata.nagano.jp yamanouchi.nagano.jp yasaka.nagano.jp yasuoka.nagano.jp chijiwa.nagasaki.jp futsu.nagasaki.jp goto.nagasaki.jp hasami.nagasaki.jp hirado.nagasaki.jp iki.nagasaki.jp isahaya.nagasaki.jp kawatana.nagasaki.jp kuchinotsu.nagasaki.jp matsuura.nagasaki.jp nagasaki.nagasaki.jp obama.nagasaki.jp omura.nagasaki.jp oseto.nagasaki.jp saikai.nagasaki.jp sasebo.nagasaki.jp seihi.nagasaki.jp shimabara.nagasaki.jp shinkamigoto.nagasaki.jp togitsu.nagasaki.jp tsushima.nagasaki.jp unzen.nagasaki.jp ando.nara.jp gose.nara.jp heguri.nara.jp higashiyoshino.nara.jp ikaruga.nara.jp ikoma.nara.jp kamikitayama.nara.jp kanmaki.nara.jp kashiba.nara.jp kashihara.nara.jp katsuragi.nara.jp kawai.nara.jp kawakami.nara.jp kawanishi.nara.jp koryo.nara.jp kurotaki.nara.jp mitsue.nara.jp miyake.nara.jp nara.nara.jp nosegawa.nara.jp oji.nara.jp ouda.nara.jp oyodo.nara.jp sakurai.nara.jp sango.nara.jp shimoichi.nara.jp shimokitayama.nara.jp shinjo.nara.jp soni.nara.jp takatori.nara.jp tawaramoto.nara.jp tenkawa.nara.jp tenri.nara.jp uda.nara.jp yamatokoriyama.nara.jp yamatotakada.nara.jp yamazoe.nara.jp yoshino.nara.jp aga.niigata.jp agano.niigata.jp gosen.niigata.jp itoigawa.niigata.jp izumozaki.niigata.jp joetsu.niigata.jp kamo.niigata.jp kariwa.niigata.jp kashiwazaki.niigata.jp minamiuonuma.niigata.jp mitsuke.niigata.jp muika.niigata.jp murakami.niigata.jp myoko.niigata.jp nagaoka.niigata.jp niigata.niigata.jp ojiya.niigata.jp omi.niigata.jp sado.niigata.jp sanjo.niigata.jp seiro.niigata.jp seirou.niigata.jp sekikawa.niigata.jp shibata.niigata.jp tagami.niigata.jp tainai.niigata.jp tochio.niigata.jp tokamachi.niigata.jp tsubame.niigata.jp tsunan.niigata.jp uonuma.niigata.jp yahiko.niigata.jp yoita.niigata.jp yuzawa.niigata.jp beppu.oita.jp bungoono.oita.jp bungotakada.oita.jp hasama.oita.jp hiji.oita.jp himeshima.oita.jp hita.oita.jp kamitsue.oita.jp kokonoe.oita.jp kuju.oita.jp kunisaki.oita.jp kusu.oita.jp oita.oita.jp saiki.oita.jp taketa.oita.jp tsukumi.oita.jp usa.oita.jp usuki.oita.jp yufu.oita.jp akaiwa.okayama.jp asakuchi.okayama.jp bizen.okayama.jp hayashima.okayama.jp ibara.okayama.jp kagamino.okayama.jp kasaoka.okayama.jp kibichuo.okayama.jp kumenan.okayama.jp kurashiki.okayama.jp maniwa.okayama.jp misaki.okayama.jp nagi.okayama.jp niimi.okayama.jp nishiawakura.okayama.jp okayama.okayama.jp satosho.okayama.jp setouchi.okayama.jp shinjo.okayama.jp shoo.okayama.jp soja.okayama.jp takahashi.okayama.jp tamano.okayama.jp tsuyama.okayama.jp wake.okayama.jp yakage.okayama.jp aguni.okinawa.jp ginowan.okinawa.jp ginoza.okinawa.jp gushikami.okinawa.jp haebaru.okinawa.jp higashi.okinawa.jp hirara.okinawa.jp iheya.okinawa.jp ishigaki.okinawa.jp ishikawa.okinawa.jp itoman.okinawa.jp izena.okinawa.jp kadena.okinawa.jp kin.okinawa.jp kitadaito.okinawa.jp kitanakagusuku.okinawa.jp kumejima.okinawa.jp kunigami.okinawa.jp minamidaito.okinawa.jp motobu.okinawa.jp nago.okinawa.jp naha.okinawa.jp nakagusuku.okinawa.jp nakijin.okinawa.jp nanjo.okinawa.jp nishihara.okinawa.jp ogimi.okinawa.jp okinawa.okinawa.jp onna.okinawa.jp shimoji.okinawa.jp taketomi.okinawa.jp tarama.okinawa.jp tokashiki.okinawa.jp tomigusuku.okinawa.jp tonaki.okinawa.jp urasoe.okinawa.jp uruma.okinawa.jp yaese.okinawa.jp yomitan.okinawa.jp yonabaru.okinawa.jp yonaguni.okinawa.jp zamami.okinawa.jp abeno.osaka.jp chihayaakasaka.osaka.jp chuo.osaka.jp daito.osaka.jp fujiidera.osaka.jp habikino.osaka.jp hannan.osaka.jp higashiosaka.osaka.jp higashisumiyoshi.osaka.jp higashiyodogawa.osaka.jp hirakata.osaka.jp ibaraki.osaka.jp ikeda.osaka.jp izumi.osaka.jp izumiotsu.osaka.jp izumisano.osaka.jp kadoma.osaka.jp kaizuka.osaka.jp kanan.osaka.jp kashiwara.osaka.jp katano.osaka.jp kawachinagano.osaka.jp kishiwada.osaka.jp kita.osaka.jp kumatori.osaka.jp matsubara.osaka.jp minato.osaka.jp minoh.osaka.jp misaki.osaka.jp moriguchi.osaka.jp neyagawa.osaka.jp nishi.osaka.jp nose.osaka.jp osakasayama.osaka.jp sakai.osaka.jp sayama.osaka.jp sennan.osaka.jp settsu.osaka.jp shijonawate.osaka.jp shimamoto.osaka.jp suita.osaka.jp tadaoka.osaka.jp taishi.osaka.jp tajiri.osaka.jp takaishi.osaka.jp takatsuki.osaka.jp tondabayashi.osaka.jp toyonaka.osaka.jp toyono.osaka.jp yao.osaka.jp ariake.saga.jp arita.saga.jp fukudomi.saga.jp genkai.saga.jp hamatama.saga.jp hizen.saga.jp imari.saga.jp kamimine.saga.jp kanzaki.saga.jp karatsu.saga.jp kashima.saga.jp kitagata.saga.jp kitahata.saga.jp kiyama.saga.jp kouhoku.saga.jp kyuragi.saga.jp nishiarita.saga.jp ogi.saga.jp omachi.saga.jp ouchi.saga.jp saga.saga.jp shiroishi.saga.jp taku.saga.jp tara.saga.jp tosu.saga.jp yoshinogari.saga.jp arakawa.saitama.jp asaka.saitama.jp chichibu.saitama.jp fujimi.saitama.jp fujimino.saitama.jp fukaya.saitama.jp hanno.saitama.jp hanyu.saitama.jp hasuda.saitama.jp hatogaya.saitama.jp hatoyama.saitama.jp hidaka.saitama.jp higashichichibu.saitama.jp higashimatsuyama.saitama.jp honjo.saitama.jp ina.saitama.jp iruma.saitama.jp iwatsuki.saitama.jp kamiizumi.saitama.jp kamikawa.saitama.jp kamisato.saitama.jp kasukabe.saitama.jp kawagoe.saitama.jp kawaguchi.saitama.jp kawajima.saitama.jp kazo.saitama.jp kitamoto.saitama.jp koshigaya.saitama.jp kounosu.saitama.jp kuki.saitama.jp kumagaya.saitama.jp matsubushi.saitama.jp minano.saitama.jp misato.saitama.jp miyashiro.saitama.jp miyoshi.saitama.jp moroyama.saitama.jp nagatoro.saitama.jp namegawa.saitama.jp niiza.saitama.jp ogano.saitama.jp ogawa.saitama.jp ogose.saitama.jp okegawa.saitama.jp omiya.saitama.jp otaki.saitama.jp ranzan.saitama.jp ryokami.saitama.jp saitama.saitama.jp sakado.saitama.jp satte.saitama.jp sayama.saitama.jp shiki.saitama.jp shiraoka.saitama.jp soka.saitama.jp sugito.saitama.jp toda.saitama.jp tokigawa.saitama.jp tokorozawa.saitama.jp tsurugashima.saitama.jp urawa.saitama.jp warabi.saitama.jp yashio.saitama.jp yokoze.saitama.jp yono.saitama.jp yorii.saitama.jp yoshida.saitama.jp yoshikawa.saitama.jp yoshimi.saitama.jp aisho.shiga.jp gamo.shiga.jp higashiomi.shiga.jp hikone.shiga.jp koka.shiga.jp konan.shiga.jp kosei.shiga.jp koto.shiga.jp kusatsu.shiga.jp maibara.shiga.jp moriyama.shiga.jp nagahama.shiga.jp nishiazai.shiga.jp notogawa.shiga.jp omihachiman.shiga.jp otsu.shiga.jp ritto.shiga.jp ryuoh.shiga.jp takashima.shiga.jp takatsuki.shiga.jp torahime.shiga.jp toyosato.shiga.jp yasu.shiga.jp akagi.shimane.jp ama.shimane.jp gotsu.shimane.jp hamada.shimane.jp higashiizumo.shimane.jp hikawa.shimane.jp hikimi.shimane.jp izumo.shimane.jp kakinoki.shimane.jp masuda.shimane.jp matsue.shimane.jp misato.shimane.jp nishinoshima.shimane.jp ohda.shimane.jp okinoshima.shimane.jp okuizumo.shimane.jp shimane.shimane.jp tamayu.shimane.jp tsuwano.shimane.jp unnan.shimane.jp yakumo.shimane.jp yasugi.shimane.jp yatsuka.shimane.jp arai.shizuoka.jp atami.shizuoka.jp fuji.shizuoka.jp fujieda.shizuoka.jp fujikawa.shizuoka.jp fujinomiya.shizuoka.jp fukuroi.shizuoka.jp gotemba.shizuoka.jp haibara.shizuoka.jp hamamatsu.shizuoka.jp higashiizu.shizuoka.jp ito.shizuoka.jp iwata.shizuoka.jp izu.shizuoka.jp izunokuni.shizuoka.jp kakegawa.shizuoka.jp kannami.shizuoka.jp kawanehon.shizuoka.jp kawazu.shizuoka.jp kikugawa.shizuoka.jp kosai.shizuoka.jp makinohara.shizuoka.jp matsuzaki.shizuoka.jp minamiizu.shizuoka.jp mishima.shizuoka.jp morimachi.shizuoka.jp nishiizu.shizuoka.jp numazu.shizuoka.jp omaezaki.shizuoka.jp shimada.shizuoka.jp shimizu.shizuoka.jp shimoda.shizuoka.jp shizuoka.shizuoka.jp susono.shizuoka.jp yaizu.shizuoka.jp yoshida.shizuoka.jp ashikaga.tochigi.jp bato.tochigi.jp haga.tochigi.jp ichikai.tochigi.jp iwafune.tochigi.jp kaminokawa.tochigi.jp kanuma.tochigi.jp karasuyama.tochigi.jp kuroiso.tochigi.jp mashiko.tochigi.jp mibu.tochigi.jp moka.tochigi.jp motegi.tochigi.jp nasu.tochigi.jp nasushiobara.tochigi.jp nikko.tochigi.jp nishikata.tochigi.jp nogi.tochigi.jp ohira.tochigi.jp ohtawara.tochigi.jp oyama.tochigi.jp sakura.tochigi.jp sano.tochigi.jp shimotsuke.tochigi.jp shioya.tochigi.jp takanezawa.tochigi.jp tochigi.tochigi.jp tsuga.tochigi.jp ujiie.tochigi.jp utsunomiya.tochigi.jp yaita.tochigi.jp aizumi.tokushima.jp anan.tokushima.jp ichiba.tokushima.jp itano.tokushima.jp kainan.tokushima.jp komatsushima.tokushima.jp matsushige.tokushima.jp mima.tokushima.jp minami.tokushima.jp miyoshi.tokushima.jp mugi.tokushima.jp nakagawa.tokushima.jp naruto.tokushima.jp sanagochi.tokushima.jp shishikui.tokushima.jp tokushima.tokushima.jp wajiki.tokushima.jp adachi.tokyo.jp akiruno.tokyo.jp akishima.tokyo.jp aogashima.tokyo.jp arakawa.tokyo.jp bunkyo.tokyo.jp chiyoda.tokyo.jp chofu.tokyo.jp chuo.tokyo.jp edogawa.tokyo.jp fuchu.tokyo.jp fussa.tokyo.jp hachijo.tokyo.jp hachioji.tokyo.jp hamura.tokyo.jp higashikurume.tokyo.jp higashimurayama.tokyo.jp higashiyamato.tokyo.jp hino.tokyo.jp hinode.tokyo.jp hinohara.tokyo.jp inagi.tokyo.jp itabashi.tokyo.jp katsushika.tokyo.jp kita.tokyo.jp kiyose.tokyo.jp kodaira.tokyo.jp koganei.tokyo.jp kokubunji.tokyo.jp komae.tokyo.jp koto.tokyo.jp kouzushima.tokyo.jp kunitachi.tokyo.jp machida.tokyo.jp meguro.tokyo.jp minato.tokyo.jp mitaka.tokyo.jp mizuho.tokyo.jp musashimurayama.tokyo.jp musashino.tokyo.jp nakano.tokyo.jp nerima.tokyo.jp ogasawara.tokyo.jp okutama.tokyo.jp ome.tokyo.jp oshima.tokyo.jp ota.tokyo.jp setagaya.tokyo.jp shibuya.tokyo.jp shinagawa.tokyo.jp shinjuku.tokyo.jp suginami.tokyo.jp sumida.tokyo.jp tachikawa.tokyo.jp taito.tokyo.jp tama.tokyo.jp toshima.tokyo.jp chizu.tottori.jp hino.tottori.jp kawahara.tottori.jp koge.tottori.jp kotoura.tottori.jp misasa.tottori.jp nanbu.tottori.jp nichinan.tottori.jp sakaiminato.tottori.jp tottori.tottori.jp wakasa.tottori.jp yazu.tottori.jp yonago.tottori.jp asahi.toyama.jp fuchu.toyama.jp fukumitsu.toyama.jp funahashi.toyama.jp himi.toyama.jp imizu.toyama.jp inami.toyama.jp johana.toyama.jp kamiichi.toyama.jp kurobe.toyama.jp nakaniikawa.toyama.jp namerikawa.toyama.jp nanto.toyama.jp nyuzen.toyama.jp oyabe.toyama.jp taira.toyama.jp takaoka.toyama.jp tateyama.toyama.jp toga.toyama.jp tonami.toyama.jp toyama.toyama.jp unazuki.toyama.jp uozu.toyama.jp yamada.toyama.jp arida.wakayama.jp aridagawa.wakayama.jp gobo.wakayama.jp hashimoto.wakayama.jp hidaka.wakayama.jp hirogawa.wakayama.jp inami.wakayama.jp iwade.wakayama.jp kainan.wakayama.jp kamitonda.wakayama.jp katsuragi.wakayama.jp kimino.wakayama.jp kinokawa.wakayama.jp kitayama.wakayama.jp koya.wakayama.jp koza.wakayama.jp kozagawa.wakayama.jp kudoyama.wakayama.jp kushimoto.wakayama.jp mihama.wakayama.jp misato.wakayama.jp nachikatsuura.wakayama.jp shingu.wakayama.jp shirahama.wakayama.jp taiji.wakayama.jp tanabe.wakayama.jp wakayama.wakayama.jp yuasa.wakayama.jp yura.wakayama.jp asahi.yamagata.jp funagata.yamagata.jp higashine.yamagata.jp iide.yamagata.jp kahoku.yamagata.jp kaminoyama.yamagata.jp kaneyama.yamagata.jp kawanishi.yamagata.jp mamurogawa.yamagata.jp mikawa.yamagata.jp murayama.yamagata.jp nagai.yamagata.jp nakayama.yamagata.jp nanyo.yamagata.jp nishikawa.yamagata.jp obanazawa.yamagata.jp oe.yamagata.jp oguni.yamagata.jp ohkura.yamagata.jp oishida.yamagata.jp sagae.yamagata.jp sakata.yamagata.jp sakegawa.yamagata.jp shinjo.yamagata.jp shirataka.yamagata.jp shonai.yamagata.jp takahata.yamagata.jp tendo.yamagata.jp tozawa.yamagata.jp tsuruoka.yamagata.jp yamagata.yamagata.jp yamanobe.yamagata.jp yonezawa.yamagata.jp yuza.yamagata.jp abu.yamaguchi.jp hagi.yamaguchi.jp hikari.yamaguchi.jp hofu.yamaguchi.jp iwakuni.yamaguchi.jp kudamatsu.yamaguchi.jp mitou.yamaguchi.jp nagato.yamaguchi.jp oshima.yamaguchi.jp shimonoseki.yamaguchi.jp shunan.yamaguchi.jp tabuse.yamaguchi.jp tokuyama.yamaguchi.jp toyota.yamaguchi.jp ube.yamaguchi.jp yuu.yamaguchi.jp chuo.yamanashi.jp doshi.yamanashi.jp fuefuki.yamanashi.jp fujikawa.yamanashi.jp fujikawaguchiko.yamanashi.jp fujiyoshida.yamanashi.jp hayakawa.yamanashi.jp hokuto.yamanashi.jp ichikawamisato.yamanashi.jp kai.yamanashi.jp kofu.yamanashi.jp koshu.yamanashi.jp kosuge.yamanashi.jp minami-alps.yamanashi.jp minobu.yamanashi.jp nakamichi.yamanashi.jp nanbu.yamanashi.jp narusawa.yamanashi.jp nirasaki.yamanashi.jp nishikatsura.yamanashi.jp oshino.yamanashi.jp otsuki.yamanashi.jp showa.yamanashi.jp tabayama.yamanashi.jp tsuru.yamanashi.jp uenohara.yamanashi.jp yamanakako.yamanashi.jp yamanashi.yamanashi.jp ke ac.ke co.ke go.ke info.ke me.ke mobi.ke ne.ke or.ke sc.ke kg com.kg edu.kg gov.kg mil.kg net.kg org.kg *.kh ki biz.ki com.ki edu.ki gov.ki info.ki net.ki org.ki km ass.km com.km edu.km gov.km mil.km nom.km org.km prd.km tm.km asso.km coop.km gouv.km medecin.km notaires.km pharmaciens.km presse.km veterinaire.km kn edu.kn gov.kn net.kn org.kn kp com.kp edu.kp gov.kp org.kp rep.kp tra.kp kr ac.kr co.kr es.kr go.kr hs.kr kg.kr mil.kr ms.kr ne.kr or.kr pe.kr re.kr sc.kr busan.kr chungbuk.kr chungnam.kr daegu.kr daejeon.kr gangwon.kr gwangju.kr gyeongbuk.kr gyeonggi.kr gyeongnam.kr incheon.kr jeju.kr jeonbuk.kr jeonnam.kr seoul.kr ulsan.kr kw com.kw edu.kw emb.kw gov.kw ind.kw net.kw org.kw ky com.ky edu.ky net.ky org.ky kz com.kz edu.kz gov.kz mil.kz net.kz org.kz la com.la edu.la gov.la info.la int.la net.la org.la per.la lb com.lb edu.lb gov.lb net.lb org.lb lc co.lc com.lc edu.lc gov.lc net.lc org.lc li lk ac.lk assn.lk com.lk edu.lk gov.lk grp.lk hotel.lk int.lk ltd.lk net.lk ngo.lk org.lk sch.lk soc.lk web.lk lr com.lr edu.lr gov.lr net.lr org.lr ls ac.ls biz.ls co.ls edu.ls gov.ls info.ls net.ls org.ls sc.ls lt gov.lt lu lv asn.lv com.lv conf.lv edu.lv gov.lv id.lv mil.lv net.lv org.lv ly com.ly edu.ly gov.ly id.ly med.ly net.ly org.ly plc.ly sch.ly ma ac.ma co.ma gov.ma net.ma org.ma press.ma mc asso.mc tm.mc md me ac.me co.me edu.me gov.me its.me net.me org.me priv.me mg co.mg com.mg edu.mg gov.mg mil.mg nom.mg org.mg prd.mg mh mil mk com.mk edu.mk gov.mk inf.mk name.mk net.mk org.mk ml com.ml edu.ml gouv.ml gov.ml net.ml org.ml presse.ml *.mm mn edu.mn gov.mn org.mn mo com.mo edu.mo gov.mo net.mo org.mo mobi mp mq mr gov.mr ms com.ms edu.ms gov.ms net.ms org.ms mt com.mt edu.mt net.mt org.mt mu ac.mu co.mu com.mu gov.mu net.mu or.mu org.mu museum mv aero.mv biz.mv com.mv coop.mv edu.mv gov.mv info.mv int.mv mil.mv museum.mv name.mv net.mv org.mv pro.mv mw ac.mw biz.mw co.mw com.mw coop.mw edu.mw gov.mw int.mw net.mw org.mw mx com.mx edu.mx gob.mx net.mx org.mx my biz.my com.my edu.my gov.my mil.my name.my net.my org.my mz ac.mz adv.mz co.mz edu.mz gov.mz mil.mz net.mz org.mz na alt.na co.na com.na gov.na net.na org.na name nc asso.nc nom.nc ne net nf arts.nf com.nf firm.nf info.nf net.nf other.nf per.nf rec.nf store.nf web.nf ng com.ng edu.ng gov.ng i.ng mil.ng mobi.ng name.ng net.ng org.ng sch.ng ni ac.ni biz.ni co.ni com.ni edu.ni gob.ni in.ni info.ni int.ni mil.ni net.ni nom.ni org.ni web.ni nl no fhs.no folkebibl.no fylkesbibl.no idrett.no museum.no priv.no vgs.no dep.no herad.no kommune.no mil.no stat.no aa.no ah.no bu.no fm.no hl.no hm.no jan-mayen.no mr.no nl.no nt.no of.no ol.no oslo.no rl.no sf.no st.no svalbard.no tm.no tr.no va.no vf.no gs.aa.no gs.ah.no gs.bu.no gs.fm.no gs.hl.no gs.hm.no gs.jan-mayen.no gs.mr.no gs.nl.no gs.nt.no gs.of.no gs.ol.no gs.oslo.no gs.rl.no gs.sf.no gs.st.no gs.svalbard.no gs.tm.no gs.tr.no gs.va.no gs.vf.no akrehamn.no \u00e5krehamn.no algard.no \u00e5lg\u00e5rd.no arna.no bronnoysund.no br\u00f8nn\u00f8ysund.no brumunddal.no bryne.no drobak.no dr\u00f8bak.no egersund.no fetsund.no floro.no flor\u00f8.no fredrikstad.no hokksund.no honefoss.no h\u00f8nefoss.no jessheim.no jorpeland.no j\u00f8rpeland.no kirkenes.no kopervik.no krokstadelva.no langevag.no langev\u00e5g.no leirvik.no mjondalen.no mj\u00f8ndalen.no mo-i-rana.no mosjoen.no mosj\u00f8en.no nesoddtangen.no orkanger.no osoyro.no os\u00f8yro.no raholt.no r\u00e5holt.no sandnessjoen.no sandnessj\u00f8en.no skedsmokorset.no slattum.no spjelkavik.no stathelle.no stavern.no stjordalshalsen.no stj\u00f8rdalshalsen.no tananger.no tranby.no vossevangen.no aarborte.no aejrie.no afjord.no \u00e5fjord.no agdenes.no nes.akershus.no aknoluokta.no \u00e1k\u014boluokta.no al.no \u00e5l.no alaheadju.no \u00e1laheadju.no alesund.no \u00e5lesund.no alstahaug.no alta.no \u00e1lt\u00e1.no alvdal.no amli.no \u00e5mli.no amot.no \u00e5mot.no andasuolo.no andebu.no andoy.no and\u00f8y.no ardal.no \u00e5rdal.no aremark.no arendal.no \u00e5s.no aseral.no \u00e5seral.no asker.no askim.no askoy.no ask\u00f8y.no askvoll.no asnes.no \u00e5snes.no audnedaln.no aukra.no aure.no aurland.no aurskog-holand.no aurskog-h\u00f8land.no austevoll.no austrheim.no averoy.no aver\u00f8y.no badaddja.no b\u00e5d\u00e5ddj\u00e5.no b\u00e6rum.no bahcavuotna.no b\u00e1hcavuotna.no bahccavuotna.no b\u00e1hccavuotna.no baidar.no b\u00e1id\u00e1r.no bajddar.no b\u00e1jddar.no balat.no b\u00e1l\u00e1t.no balestrand.no ballangen.no balsfjord.no bamble.no bardu.no barum.no batsfjord.no b\u00e5tsfjord.no bearalvahki.no bearalv\u00e1hki.no beardu.no beiarn.no berg.no bergen.no berlevag.no berlev\u00e5g.no bievat.no biev\u00e1t.no bindal.no birkenes.no bjarkoy.no bjark\u00f8y.no bjerkreim.no bjugn.no bodo.no bod\u00f8.no bokn.no bomlo.no b\u00f8mlo.no bremanger.no bronnoy.no br\u00f8nn\u00f8y.no budejju.no nes.buskerud.no bygland.no bykle.no cahcesuolo.no \u010d\u00e1hcesuolo.no davvenjarga.no davvenj\u00e1rga.no davvesiida.no deatnu.no dielddanuorri.no divtasvuodna.no divttasvuotna.no donna.no d\u00f8nna.no dovre.no drammen.no drangedal.no dyroy.no dyr\u00f8y.no eid.no eidfjord.no eidsberg.no eidskog.no eidsvoll.no eigersund.no elverum.no enebakk.no engerdal.no etne.no etnedal.no evenassi.no even\u00e1\u0161\u0161i.no evenes.no evje-og-hornnes.no farsund.no fauske.no fedje.no fet.no finnoy.no finn\u00f8y.no fitjar.no fjaler.no fjell.no fla.no fl\u00e5.no flakstad.no flatanger.no flekkefjord.no flesberg.no flora.no folldal.no forde.no f\u00f8rde.no forsand.no fosnes.no fr\u00e6na.no frana.no frei.no frogn.no froland.no frosta.no froya.no fr\u00f8ya.no fuoisku.no fuossko.no fusa.no fyresdal.no gaivuotna.no g\u00e1ivuotna.no galsa.no g\u00e1ls\u00e1.no gamvik.no gangaviika.no g\u00e1\u014bgaviika.no gaular.no gausdal.no giehtavuoatna.no gildeskal.no gildesk\u00e5l.no giske.no gjemnes.no gjerdrum.no gjerstad.no gjesdal.no gjovik.no gj\u00f8vik.no gloppen.no gol.no gran.no grane.no granvin.no gratangen.no grimstad.no grong.no grue.no gulen.no guovdageaidnu.no ha.no h\u00e5.no habmer.no h\u00e1bmer.no hadsel.no h\u00e6gebostad.no hagebostad.no halden.no halsa.no hamar.no hamaroy.no hammarfeasta.no h\u00e1mm\u00e1rfeasta.no hammerfest.no hapmir.no h\u00e1pmir.no haram.no hareid.no harstad.no hasvik.no hattfjelldal.no haugesund.no os.hedmark.no valer.hedmark.no v\u00e5ler.hedmark.no hemne.no hemnes.no hemsedal.no hitra.no hjartdal.no hjelmeland.no hobol.no hob\u00f8l.no hof.no hol.no hole.no holmestrand.no holtalen.no holt\u00e5len.no os.hordaland.no hornindal.no horten.no hoyanger.no h\u00f8yanger.no hoylandet.no h\u00f8ylandet.no hurdal.no hurum.no hvaler.no hyllestad.no ibestad.no inderoy.no inder\u00f8y.no iveland.no ivgu.no jevnaker.no jolster.no j\u00f8lster.no jondal.no kafjord.no k\u00e5fjord.no karasjohka.no k\u00e1r\u00e1\u0161johka.no karasjok.no karlsoy.no karmoy.no karm\u00f8y.no kautokeino.no klabu.no kl\u00e6bu.no klepp.no kongsberg.no kongsvinger.no kraanghke.no kr\u00e5anghke.no kragero.no krager\u00f8.no kristiansand.no kristiansund.no krodsherad.no kr\u00f8dsherad.no kv\u00e6fjord.no kv\u00e6nangen.no kvafjord.no kvalsund.no kvam.no kvanangen.no kvinesdal.no kvinnherad.no kviteseid.no kvitsoy.no kvits\u00f8y.no laakesvuemie.no l\u00e6rdal.no lahppi.no l\u00e1hppi.no lardal.no larvik.no lavagis.no lavangen.no leangaviika.no lea\u014bgaviika.no lebesby.no leikanger.no leirfjord.no leka.no leksvik.no lenvik.no lerdal.no lesja.no levanger.no lier.no lierne.no lillehammer.no lillesand.no lindas.no lind\u00e5s.no lindesnes.no loabat.no loab\u00e1t.no lodingen.no l\u00f8dingen.no lom.no loppa.no lorenskog.no l\u00f8renskog.no loten.no l\u00f8ten.no lund.no lunner.no luroy.no lur\u00f8y.no luster.no lyngdal.no lyngen.no malatvuopmi.no m\u00e1latvuopmi.no malselv.no m\u00e5lselv.no malvik.no mandal.no marker.no marnardal.no masfjorden.no masoy.no m\u00e5s\u00f8y.no matta-varjjat.no m\u00e1tta-v\u00e1rjjat.no meland.no meldal.no melhus.no meloy.no mel\u00f8y.no meraker.no mer\u00e5ker.no midsund.no midtre-gauldal.no moareke.no mo\u00e5reke.no modalen.no modum.no molde.no heroy.more-og-romsdal.no sande.more-og-romsdal.no her\u00f8y.m\u00f8re-og-romsdal.no sande.m\u00f8re-og-romsdal.no moskenes.no moss.no mosvik.no muosat.no muos\u00e1t.no naamesjevuemie.no n\u00e5\u00e5mesjevuemie.no n\u00e6r\u00f8y.no namdalseid.no namsos.no namsskogan.no nannestad.no naroy.no narviika.no narvik.no naustdal.no navuotna.no n\u00e1vuotna.no nedre-eiker.no nesna.no nesodden.no nesseby.no nesset.no nissedal.no nittedal.no nord-aurdal.no nord-fron.no nord-odal.no norddal.no nordkapp.no bo.nordland.no b\u00f8.nordland.no heroy.nordland.no her\u00f8y.nordland.no nordre-land.no nordreisa.no nore-og-uvdal.no notodden.no notteroy.no n\u00f8tter\u00f8y.no odda.no oksnes.no \u00f8ksnes.no omasvuotna.no oppdal.no oppegard.no oppeg\u00e5rd.no orkdal.no orland.no \u00f8rland.no orskog.no \u00f8rskog.no orsta.no \u00f8rsta.no osen.no osteroy.no oster\u00f8y.no valer.ostfold.no v\u00e5ler.\u00f8stfold.no ostre-toten.no \u00f8stre-toten.no overhalla.no ovre-eiker.no \u00f8vre-eiker.no oyer.no \u00f8yer.no oygarden.no \u00f8ygarden.no oystre-slidre.no \u00f8ystre-slidre.no porsanger.no porsangu.no pors\u00e1\u014bgu.no porsgrunn.no rade.no r\u00e5de.no radoy.no rad\u00f8y.no r\u00e6lingen.no rahkkeravju.no r\u00e1hkker\u00e1vju.no raisa.no r\u00e1isa.no rakkestad.no ralingen.no rana.no randaberg.no rauma.no rendalen.no rennebu.no rennesoy.no rennes\u00f8y.no rindal.no ringebu.no ringerike.no ringsaker.no risor.no ris\u00f8r.no rissa.no roan.no rodoy.no r\u00f8d\u00f8y.no rollag.no romsa.no romskog.no r\u00f8mskog.no roros.no r\u00f8ros.no rost.no r\u00f8st.no royken.no r\u00f8yken.no royrvik.no r\u00f8yrvik.no ruovat.no rygge.no salangen.no salat.no s\u00e1lat.no s\u00e1l\u00e1t.no saltdal.no samnanger.no sandefjord.no sandnes.no sandoy.no sand\u00f8y.no sarpsborg.no sauda.no sauherad.no sel.no selbu.no selje.no seljord.no siellak.no sigdal.no siljan.no sirdal.no skanit.no sk\u00e1nit.no skanland.no sk\u00e5nland.no skaun.no skedsmo.no ski.no skien.no skierva.no skierv\u00e1.no skiptvet.no skjak.no skj\u00e5k.no skjervoy.no skjerv\u00f8y.no skodje.no smola.no sm\u00f8la.no snaase.no sn\u00e5ase.no snasa.no sn\u00e5sa.no snillfjord.no snoasa.no sogndal.no sogne.no s\u00f8gne.no sokndal.no sola.no solund.no somna.no s\u00f8mna.no sondre-land.no s\u00f8ndre-land.no songdalen.no sor-aurdal.no s\u00f8r-aurdal.no sor-fron.no s\u00f8r-fron.no sor-odal.no s\u00f8r-odal.no sor-varanger.no s\u00f8r-varanger.no sorfold.no s\u00f8rfold.no sorreisa.no s\u00f8rreisa.no sortland.no sorum.no s\u00f8rum.no spydeberg.no stange.no stavanger.no steigen.no steinkjer.no stjordal.no stj\u00f8rdal.no stokke.no stor-elvdal.no stord.no stordal.no storfjord.no strand.no stranda.no stryn.no sula.no suldal.no sund.no sunndal.no surnadal.no sveio.no svelvik.no sykkylven.no tana.no bo.telemark.no b\u00f8.telemark.no time.no tingvoll.no tinn.no tjeldsund.no tjome.no tj\u00f8me.no tokke.no tolga.no tonsberg.no t\u00f8nsberg.no torsken.no tr\u00e6na.no trana.no tranoy.no tran\u00f8y.no troandin.no trogstad.no tr\u00f8gstad.no tromsa.no tromso.no troms\u00f8.no trondheim.no trysil.no tvedestrand.no tydal.no tynset.no tysfjord.no tysnes.no tysv\u00e6r.no tysvar.no ullensaker.no ullensvang.no ulvik.no unjarga.no unj\u00e1rga.no utsira.no vaapste.no vadso.no vads\u00f8.no v\u00e6r\u00f8y.no vaga.no v\u00e5g\u00e5.no vagan.no v\u00e5gan.no vagsoy.no v\u00e5gs\u00f8y.no vaksdal.no valle.no vang.no vanylven.no vardo.no vard\u00f8.no varggat.no v\u00e1rgg\u00e1t.no varoy.no vefsn.no vega.no vegarshei.no veg\u00e5rshei.no vennesla.no verdal.no verran.no vestby.no sande.vestfold.no vestnes.no vestre-slidre.no vestre-toten.no vestvagoy.no vestv\u00e5g\u00f8y.no vevelstad.no vik.no vikna.no vindafjord.no voagat.no volda.no voss.no *.np nr biz.nr com.nr edu.nr gov.nr info.nr net.nr org.nr nu nz ac.nz co.nz cri.nz geek.nz gen.nz govt.nz health.nz iwi.nz kiwi.nz maori.nz m\u0101ori.nz mil.nz net.nz org.nz parliament.nz school.nz om co.om com.om edu.om gov.om med.om museum.om net.om org.om pro.om onion org pa abo.pa ac.pa com.pa edu.pa gob.pa ing.pa med.pa net.pa nom.pa org.pa sld.pa pe com.pe edu.pe gob.pe mil.pe net.pe nom.pe org.pe pf com.pf edu.pf org.pf *.pg ph com.ph edu.ph gov.ph i.ph mil.ph net.ph ngo.ph org.ph pk ac.pk biz.pk com.pk edu.pk fam.pk gkp.pk gob.pk gog.pk gok.pk gon.pk gop.pk gos.pk gov.pk net.pk org.pk web.pk pl com.pl net.pl org.pl agro.pl aid.pl atm.pl auto.pl biz.pl edu.pl gmina.pl gsm.pl info.pl mail.pl media.pl miasta.pl mil.pl nieruchomosci.pl nom.pl pc.pl powiat.pl priv.pl realestate.pl rel.pl sex.pl shop.pl sklep.pl sos.pl szkola.pl targi.pl tm.pl tourism.pl travel.pl turystyka.pl gov.pl ap.gov.pl griw.gov.pl ic.gov.pl is.gov.pl kmpsp.gov.pl konsulat.gov.pl kppsp.gov.pl kwp.gov.pl kwpsp.gov.pl mup.gov.pl mw.gov.pl oia.gov.pl oirm.gov.pl oke.gov.pl oow.gov.pl oschr.gov.pl oum.gov.pl pa.gov.pl pinb.gov.pl piw.gov.pl po.gov.pl pr.gov.pl psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl sdn.gov.pl sko.gov.pl so.gov.pl sr.gov.pl starostwo.gov.pl ug.gov.pl ugim.gov.pl um.gov.pl umig.gov.pl upow.gov.pl uppo.gov.pl us.gov.pl uw.gov.pl uzs.gov.pl wif.gov.pl wiih.gov.pl winb.gov.pl wios.gov.pl witd.gov.pl wiw.gov.pl wkz.gov.pl wsa.gov.pl wskr.gov.pl wsse.gov.pl wuoz.gov.pl wzmiuw.gov.pl zp.gov.pl zpisdn.gov.pl augustow.pl babia-gora.pl bedzin.pl beskidy.pl bialowieza.pl bialystok.pl bielawa.pl bieszczady.pl boleslawiec.pl bydgoszcz.pl bytom.pl cieszyn.pl czeladz.pl czest.pl dlugoleka.pl elblag.pl elk.pl glogow.pl gniezno.pl gorlice.pl grajewo.pl ilawa.pl jaworzno.pl jelenia-gora.pl jgora.pl kalisz.pl karpacz.pl kartuzy.pl kaszuby.pl katowice.pl kazimierz-dolny.pl kepno.pl ketrzyn.pl klodzko.pl kobierzyce.pl kolobrzeg.pl konin.pl konskowola.pl kutno.pl lapy.pl lebork.pl legnica.pl lezajsk.pl limanowa.pl lomza.pl lowicz.pl lubin.pl lukow.pl malbork.pl malopolska.pl mazowsze.pl mazury.pl mielec.pl mielno.pl mragowo.pl naklo.pl nowaruda.pl nysa.pl olawa.pl olecko.pl olkusz.pl olsztyn.pl opoczno.pl opole.pl ostroda.pl ostroleka.pl ostrowiec.pl ostrowwlkp.pl pila.pl pisz.pl podhale.pl podlasie.pl polkowice.pl pomorskie.pl pomorze.pl prochowice.pl pruszkow.pl przeworsk.pl pulawy.pl radom.pl rawa-maz.pl rybnik.pl rzeszow.pl sanok.pl sejny.pl skoczow.pl slask.pl slupsk.pl sosnowiec.pl stalowa-wola.pl starachowice.pl stargard.pl suwalki.pl swidnica.pl swiebodzin.pl swinoujscie.pl szczecin.pl szczytno.pl tarnobrzeg.pl tgory.pl turek.pl tychy.pl ustka.pl walbrzych.pl warmia.pl warszawa.pl waw.pl wegrow.pl wielun.pl wlocl.pl wloclawek.pl wodzislaw.pl wolomin.pl wroclaw.pl zachpomor.pl zagan.pl zarow.pl zgora.pl zgorzelec.pl pm pn co.pn edu.pn gov.pn net.pn org.pn post pr biz.pr com.pr edu.pr gov.pr info.pr isla.pr name.pr net.pr org.pr pro.pr ac.pr est.pr prof.pr pro aaa.pro aca.pro acct.pro avocat.pro bar.pro cpa.pro eng.pro jur.pro law.pro med.pro recht.pro ps com.ps edu.ps gov.ps net.ps org.ps plo.ps sec.ps pt com.pt edu.pt gov.pt int.pt net.pt nome.pt org.pt publ.pt pw belau.pw co.pw ed.pw go.pw or.pw py com.py coop.py edu.py gov.py mil.py net.py org.py qa com.qa edu.qa gov.qa mil.qa name.qa net.qa org.qa sch.qa re asso.re com.re ro arts.ro com.ro firm.ro info.ro nom.ro nt.ro org.ro rec.ro store.ro tm.ro www.ro rs ac.rs co.rs edu.rs gov.rs in.rs org.rs ru rw ac.rw co.rw coop.rw gov.rw mil.rw net.rw org.rw sa com.sa edu.sa gov.sa med.sa net.sa org.sa pub.sa sch.sa sb com.sb edu.sb gov.sb net.sb org.sb sc com.sc edu.sc gov.sc net.sc org.sc sd com.sd edu.sd gov.sd info.sd med.sd net.sd org.sd tv.sd se a.se ac.se b.se bd.se brand.se c.se d.se e.se f.se fh.se fhsk.se fhv.se g.se h.se i.se k.se komforb.se kommunalforbund.se komvux.se l.se lanbib.se m.se n.se naturbruksgymn.se o.se org.se p.se parti.se pp.se press.se r.se s.se t.se tm.se u.se w.se x.se y.se z.se sg com.sg edu.sg gov.sg net.sg org.sg sh com.sh gov.sh mil.sh net.sh org.sh si sj sk sl com.sl edu.sl gov.sl net.sl org.sl sm sn art.sn com.sn edu.sn gouv.sn org.sn perso.sn univ.sn so com.so edu.so gov.so me.so net.so org.so sr ss biz.ss co.ss com.ss edu.ss gov.ss me.ss net.ss org.ss sch.ss st co.st com.st consulado.st edu.st embaixada.st mil.st net.st org.st principe.st saotome.st store.st su sv com.sv edu.sv gob.sv org.sv red.sv sx gov.sx sy com.sy edu.sy gov.sy mil.sy net.sy org.sy sz ac.sz co.sz org.sz tc td tel tf tg th ac.th co.th go.th in.th mi.th net.th or.th tj ac.tj biz.tj co.tj com.tj edu.tj go.tj gov.tj int.tj mil.tj name.tj net.tj nic.tj org.tj test.tj web.tj tk tl gov.tl tm co.tm com.tm edu.tm gov.tm mil.tm net.tm nom.tm org.tm tn com.tn ens.tn fin.tn gov.tn ind.tn info.tn intl.tn mincom.tn nat.tn net.tn org.tn perso.tn tourism.tn to com.to edu.to gov.to mil.to net.to org.to tr av.tr bbs.tr bel.tr biz.tr com.tr dr.tr edu.tr gen.tr gov.tr info.tr k12.tr kep.tr mil.tr name.tr net.tr org.tr pol.tr tel.tr tsk.tr tv.tr web.tr nc.tr gov.nc.tr tt biz.tt co.tt com.tt edu.tt gov.tt info.tt mil.tt name.tt net.tt org.tt pro.tt tv tw club.tw com.tw ebiz.tw edu.tw game.tw gov.tw idv.tw mil.tw net.tw org.tw tz ac.tz co.tz go.tz hotel.tz info.tz me.tz mil.tz mobi.tz ne.tz or.tz sc.tz tv.tz ua com.ua edu.ua gov.ua in.ua net.ua org.ua cherkassy.ua cherkasy.ua chernigov.ua chernihiv.ua chernivtsi.ua chernovtsy.ua ck.ua cn.ua cr.ua crimea.ua cv.ua dn.ua dnepropetrovsk.ua dnipropetrovsk.ua donetsk.ua dp.ua if.ua ivano-frankivsk.ua kh.ua kharkiv.ua kharkov.ua kherson.ua khmelnitskiy.ua khmelnytskyi.ua kiev.ua kirovograd.ua km.ua kr.ua kropyvnytskyi.ua krym.ua ks.ua kv.ua kyiv.ua lg.ua lt.ua lugansk.ua luhansk.ua lutsk.ua lv.ua lviv.ua mk.ua mykolaiv.ua nikolaev.ua od.ua odesa.ua odessa.ua pl.ua poltava.ua rivne.ua rovno.ua rv.ua sb.ua sebastopol.ua sevastopol.ua sm.ua sumy.ua te.ua ternopil.ua uz.ua uzhgorod.ua uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua zhytomyr.ua zp.ua zt.ua ug ac.ug co.ug com.ug go.ug ne.ug or.ug org.ug sc.ug uk ac.uk co.uk gov.uk ltd.uk me.uk net.uk nhs.uk org.uk plc.uk police.uk *.sch.uk us dni.us fed.us isa.us kids.us nsn.us ak.us al.us ar.us as.us az.us ca.us co.us ct.us dc.us de.us fl.us ga.us gu.us hi.us ia.us id.us il.us in.us ks.us ky.us la.us ma.us md.us me.us mi.us mn.us mo.us ms.us mt.us nc.us nd.us ne.us nh.us nj.us nm.us nv.us ny.us oh.us ok.us or.us pa.us pr.us ri.us sc.us sd.us tn.us tx.us ut.us va.us vi.us vt.us wa.us wi.us wv.us wy.us k12.ak.us k12.al.us k12.ar.us k12.as.us k12.az.us k12.ca.us k12.co.us k12.ct.us k12.dc.us k12.fl.us k12.ga.us k12.gu.us k12.ia.us k12.id.us k12.il.us k12.in.us k12.ks.us k12.ky.us k12.la.us k12.ma.us k12.md.us k12.me.us k12.mi.us k12.mn.us k12.mo.us k12.ms.us k12.mt.us k12.nc.us k12.ne.us k12.nh.us k12.nj.us k12.nm.us k12.nv.us k12.ny.us k12.oh.us k12.ok.us k12.or.us k12.pa.us k12.pr.us k12.sc.us k12.tn.us k12.tx.us k12.ut.us k12.va.us k12.vi.us k12.vt.us k12.wa.us k12.wi.us cc.ak.us lib.ak.us cc.al.us lib.al.us cc.ar.us lib.ar.us cc.as.us lib.as.us cc.az.us lib.az.us cc.ca.us lib.ca.us cc.co.us lib.co.us cc.ct.us lib.ct.us cc.dc.us lib.dc.us cc.de.us cc.fl.us cc.ga.us cc.gu.us cc.hi.us cc.ia.us cc.id.us cc.il.us cc.in.us cc.ks.us cc.ky.us cc.la.us cc.ma.us cc.md.us cc.me.us cc.mi.us cc.mn.us cc.mo.us cc.ms.us cc.mt.us cc.nc.us cc.nd.us cc.ne.us cc.nh.us cc.nj.us cc.nm.us cc.nv.us cc.ny.us cc.oh.us cc.ok.us cc.or.us cc.pa.us cc.pr.us cc.ri.us cc.sc.us cc.sd.us cc.tn.us cc.tx.us cc.ut.us cc.va.us cc.vi.us cc.vt.us cc.wa.us cc.wi.us cc.wv.us cc.wy.us k12.wy.us lib.fl.us lib.ga.us lib.gu.us lib.hi.us lib.ia.us lib.id.us lib.il.us lib.in.us lib.ks.us lib.ky.us lib.la.us lib.ma.us lib.md.us lib.me.us lib.mi.us lib.mn.us lib.mo.us lib.ms.us lib.mt.us lib.nc.us lib.nd.us lib.ne.us lib.nh.us lib.nj.us lib.nm.us lib.nv.us lib.ny.us lib.oh.us lib.ok.us lib.or.us lib.pa.us lib.pr.us lib.ri.us lib.sc.us lib.sd.us lib.tn.us lib.tx.us lib.ut.us lib.va.us lib.vi.us lib.vt.us lib.wa.us lib.wi.us lib.wy.us chtr.k12.ma.us paroch.k12.ma.us pvt.k12.ma.us ann-arbor.mi.us cog.mi.us dst.mi.us eaton.mi.us gen.mi.us mus.mi.us tec.mi.us washtenaw.mi.us uy com.uy edu.uy gub.uy mil.uy net.uy org.uy uz co.uz com.uz net.uz org.uz va vc com.vc edu.vc gov.vc mil.vc net.vc org.vc ve arts.ve bib.ve co.ve com.ve e12.ve edu.ve firm.ve gob.ve gov.ve info.ve int.ve mil.ve net.ve nom.ve org.ve rar.ve rec.ve store.ve tec.ve web.ve vg vi co.vi com.vi k12.vi net.vi org.vi vn ac.vn ai.vn biz.vn com.vn edu.vn gov.vn health.vn id.vn info.vn int.vn io.vn name.vn net.vn org.vn pro.vn angiang.vn bacgiang.vn backan.vn baclieu.vn bacninh.vn baria-vungtau.vn bentre.vn binhdinh.vn binhduong.vn binhphuoc.vn binhthuan.vn camau.vn cantho.vn caobang.vn daklak.vn daknong.vn danang.vn dienbien.vn dongnai.vn dongthap.vn gialai.vn hagiang.vn haiduong.vn haiphong.vn hanam.vn hanoi.vn hatinh.vn haugiang.vn hoabinh.vn hungyen.vn khanhhoa.vn kiengiang.vn kontum.vn laichau.vn lamdong.vn langson.vn laocai.vn longan.vn namdinh.vn nghean.vn ninhbinh.vn ninhthuan.vn phutho.vn phuyen.vn quangbinh.vn quangnam.vn quangngai.vn quangninh.vn quangtri.vn soctrang.vn sonla.vn tayninh.vn thaibinh.vn thainguyen.vn thanhhoa.vn thanhphohochiminh.vn thuathienhue.vn tiengiang.vn travinh.vn tuyenquang.vn vinhlong.vn vinhphuc.vn yenbai.vn vu com.vu edu.vu net.vu org.vu wf ws com.ws edu.ws gov.ws net.ws org.ws yt \u0627\u0645\u0627\u0631\u0627\u062a \u0570\u0561\u0575 \u09ac\u09be\u0982\u09b2\u09be \u0431\u0433 \u0627\u0644\u0628\u062d\u0631\u064a\u0646 \u0431\u0435\u043b \u4e2d\u56fd \u4e2d\u570b \u0627\u0644\u062c\u0632\u0627\u0626\u0631 \u0645\u0635\u0631 \u0435\u044e \u03b5\u03c5 \u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627 \u10d2\u10d4 \u03b5\u03bb \u9999\u6e2f \u500b\u4eba.\u9999\u6e2f \u516c\u53f8.\u9999\u6e2f \u653f\u5e9c.\u9999\u6e2f \u6559\u80b2.\u9999\u6e2f \u7d44\u7e54.\u9999\u6e2f \u7db2\u7d61.\u9999\u6e2f \u0cad\u0cbe\u0cb0\u0ca4 \u0b2d\u0b3e\u0b30\u0b24 \u09ad\u09be\u09f0\u09a4 \u092d\u093e\u0930\u0924\u092e\u094d \u092d\u093e\u0930\u094b\u0924 \u0680\u0627\u0631\u062a \u0d2d\u0d3e\u0d30\u0d24\u0d02 \u092d\u093e\u0930\u0924 \u0628\u0627\u0631\u062a \u0628\u06be\u0627\u0631\u062a \u0c2d\u0c3e\u0c30\u0c24\u0c4d \u0aad\u0abe\u0ab0\u0aa4 \u0a2d\u0a3e\u0a30\u0a24 \u09ad\u09be\u09b0\u09a4 \u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe \u0627\u06cc\u0631\u0627\u0646 \u0627\u064a\u0631\u0627\u0646 \u0639\u0631\u0627\u0642 \u0627\u0644\u0627\u0631\u062f\u0646 \ud55c\uad6d \u049b\u0430\u0437 \u0ea5\u0eb2\u0ea7 \u0dbd\u0d82\u0d9a\u0dcf \u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8 \u0627\u0644\u0645\u063a\u0631\u0628 \u043c\u043a\u0434 \u043c\u043e\u043d \u6fb3\u9580 \u6fb3\u95e8 \u0645\u0644\u064a\u0633\u064a\u0627 \u0639\u0645\u0627\u0646 \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u067e\u0627\u0643\u0633\u062a\u0627\u0646 \u0641\u0644\u0633\u0637\u064a\u0646 \u0441\u0440\u0431 \u0430\u043a.\u0441\u0440\u0431 \u043e\u0431\u0440.\u0441\u0440\u0431 \u043e\u0434.\u0441\u0440\u0431 \u043e\u0440\u0433.\u0441\u0440\u0431 \u043f\u0440.\u0441\u0440\u0431 \u0443\u043f\u0440.\u0441\u0440\u0431 \u0440\u0444 \u0642\u0637\u0631 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u06c3 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0647 \u0633\u0648\u062f\u0627\u0646 \u65b0\u52a0\u5761 \u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd \u0633\u0648\u0631\u064a\u0629 \u0633\u0648\u0631\u064a\u0627 \u0e44\u0e17\u0e22 \u0e17\u0e2b\u0e32\u0e23.\u0e44\u0e17\u0e22 \u0e18\u0e38\u0e23\u0e01\u0e34\u0e08.\u0e44\u0e17\u0e22 \u0e40\u0e19\u0e47\u0e15.\u0e44\u0e17\u0e22 \u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25.\u0e44\u0e17\u0e22 \u0e28\u0e36\u0e01\u0e29\u0e32.\u0e44\u0e17\u0e22 \u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23.\u0e44\u0e17\u0e22 \u062a\u0648\u0646\u0633 \u53f0\u7063 \u53f0\u6e7e \u81fa\u7063 \u0443\u043a\u0440 \u0627\u0644\u064a\u0645\u0646 xxx ye com.ye edu.ye gov.ye mil.ye net.ye org.ye ac.za agric.za alt.za co.za edu.za gov.za grondar.za law.za mil.za net.za ngo.za nic.za nis.za nom.za org.za school.za tm.za web.za zm ac.zm biz.zm co.zm com.zm edu.zm gov.zm info.zm mil.zm net.zm org.zm sch.zm zw ac.zw co.zw gov.zw mil.zw org.zw aaa aarp abb abbott abbvie abc able abogado abudhabi academy accenture accountant accountants aco actor ads adult aeg aetna afl africa agakhan agency aig airbus airforce airtel akdn alibaba alipay allfinanz allstate ally alsace alstom amazon americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz aol apartments app apple aquarelle arab aramco archi army art arte asda associates athleta attorney auction audi audible audio auspost author auto autos aws axa azure baby baidu banamex band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bbc bbt bbva bcg bcn beats beauty beer bentley berlin best bestbuy bet bharti bible bid bike bing bingo bio black blackfriday blockbuster blog bloomberg blue bms bmw bnpparibas boats boehringer bofa bom bond boo book booking bosch bostik boston bot boutique box bradesco bridgestone broadway broker brother brussels build builders business buy buzz bzh cab cafe cal call calvinklein cam camera camp canon capetown capital capitalone car caravan cards care career careers cars casa case cash casino catering catholic cba cbn cbre center ceo cern cfa cfd chanel channel charity chase chat cheap chintai christmas chrome church cipriani circle cisco citadel citi citic city claims cleaning click clinic clinique clothing cloud club clubmed coach codes coffee college cologne commbank community company compare computer comsec condos construction consulting contact contractors cooking cool corsica country coupon coupons courses cpa credit creditcard creditunion cricket crown crs cruise cruises cuisinella cymru cyou dad dance data date dating datsun day dclk dds deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dnp docs doctor dog domains dot download drive dtv dubai dunlop dupont durban dvag dvr earth eat eco edeka education email emerck energy engineer engineering enterprises epson equipment ericsson erni esq estate eurovision eus events exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness flickr flights flir florist flowers fly foo food football ford forex forsale forum foundation fox free fresenius frl frogans frontier ftr fujitsu fun fund furniture futbol fyi gal gallery gallo gallup game games gap garden gay gbiz gdn gea gent genting george ggee gift gifts gives giving glass gle global globo gmail gmbh gmo gmx godaddy gold goldpoint golf goo goodyear goog google gop got grainger graphics gratis green gripe grocery group gucci guge guide guitars guru hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hiphop hisamitsu hitachi hiv hkt hockey holdings holiday homedepot homegoods homes homesense honda horse hospital host hosting hot hotels hotmail house how hsbc hughes hyatt hyundai ibm icbc ice icu ieee ifm ikano imamat imdb immo immobilien inc industries infiniti ing ink institute insurance insure international intuit investments ipiranga irish ismaili ist istanbul itau itv jaguar java jcb jeep jetzt jewelry jio jll jmp jnj joburg jot joy jpmorgan jprs juegos juniper kaufen kddi kerryhotels kerrylogistics kerryproperties kfh kia kids kim kindle kitchen kiwi koeln komatsu kosher kpmg kpn krd kred kuokgroup kyoto lacaixa lamborghini lamer lancaster land landrover lanxess lasalle lat latino latrobe law lawyer lds lease leclerc lefrak legal lego lexus lgbt lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln link lipsy live living llc llp loan loans locker locus lol london lotte lotto love lpl lplfinancial ltd ltda lundbeck luxe luxury madrid maif maison makeup man management mango map market marketing markets marriott marshalls mattel mba mckinsey med media meet melbourne meme memorial men menu merck merckmsd miami microsoft mini mint mit mitsubishi mlb mls mma mobile moda moe moi mom monash money monster mormon mortgage moscow moto motorcycles mov movie msd mtn mtr music nab nagoya navy nba nec netbank netflix network neustar new news next nextdirect nexus nfl ngo nhk nico nike nikon ninja nissan nissay nokia norton now nowruz nowtv nra nrw ntt nyc obi observer office okinawa olayan olayangroup ollo omega one ong onl online ooo open oracle orange organic origins osaka otsuka ott ovh page panasonic paris pars partners parts party pay pccw pet pfizer pharmacy phd philips phone photo photography photos physio pics pictet pictures pid pin ping pink pioneer pizza place play playstation plumbing plus pnc pohl poker politie porn pramerica praxi press prime prod productions prof progressive promo properties property protection pru prudential pub pwc qpon quebec quest racing radio read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh ril rio rip rocks rodeo rogers room rsvp rugby ruhr run rwe ryukyu saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sarl sas save saxo sbi sbs scb schaeffler schmidt scholarships school schule schwarz science scot search seat secure security seek select sener services seven sew sex sexy sfr shangrila sharp shell shia shiksha shoes shop shopping shouji show silk sina singles site ski skin sky skype sling smart smile sncf soccer social softbank software sohu solar solutions song sony soy spa space sport spot srl stada staples star statebank statefarm stc stcgroup stockholm storage store stream studio study style sucks supplies supply support surf surgery suzuki swatch swiss sydney systems tab taipei talk taobao target tatamotors tatar tattoo tax taxi tci tdk team tech technology temasek tennis teva thd theater theatre tiaa tickets tienda tips tires tirol tjmaxx tjx tkmaxx tmall today tokyo tools top toray toshiba total tours town toyota toys trade trading training travel travelers travelersinsurance trust trv tube tui tunes tushu tvs ubank ubs unicom university uno uol ups vacations vana vanguard vegas ventures verisign versicherung vet viajes video vig viking villas vin vip virgin visa vision viva vivo vlaanderen vodka volvo vote voting voto voyage wales walmart walter wang wanggou watch watches weather weatherchannel webcam weber website wed wedding weibo weir whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow wtc wtf xbox xerox xihuan xin \u0915\u0949\u092e \u30bb\u30fc\u30eb \u4f5b\u5c71 \u6148\u5584 \u96c6\u56e2 \u5728\u7ebf \u70b9\u770b \u0e04\u0e2d\u0e21 \u516b\u5366 \u0645\u0648\u0642\u0639 \u516c\u76ca \u516c\u53f8 \u9999\u683c\u91cc\u62c9 \u7f51\u7ad9 \u79fb\u52a8 \u6211\u7231\u4f60 \u043c\u043e\u0441\u043a\u0432\u0430 \u043a\u0430\u0442\u043e\u043b\u0438\u043a \u043e\u043d\u043b\u0430\u0439\u043d \u0441\u0430\u0439\u0442 \u8054\u901a \u05e7\u05d5\u05dd \u65f6\u5c1a \u5fae\u535a \u6de1\u9a6c\u9521 \u30d5\u30a1\u30c3\u30b7\u30e7\u30f3 \u043e\u0440\u0433 \u0928\u0947\u091f \u30b9\u30c8\u30a2 \u30a2\u30de\u30be\u30f3 \uc0bc\uc131 \u5546\u6807 \u5546\u5e97 \u5546\u57ce \u0434\u0435\u0442\u0438 \u30dd\u30a4\u30f3\u30c8 \u65b0\u95fb \u5bb6\u96fb \u0643\u0648\u0645 \u4e2d\u6587\u7f51 \u4e2d\u4fe1 \u5a31\u4e50 \u8c37\u6b4c \u96fb\u8a0a\u76c8\u79d1 \u8d2d\u7269 \u30af\u30e9\u30a6\u30c9 \u901a\u8ca9 \u7f51\u5e97 \u0938\u0902\u0917\u0920\u0928 \u9910\u5385 \u7f51\u7edc \u043a\u043e\u043c \u4e9a\u9a6c\u900a \u98df\u54c1 \u98de\u5229\u6d66 \u624b\u673a \u0627\u0631\u0627\u0645\u0643\u0648 \u0627\u0644\u0639\u0644\u064a\u0627\u0646 \u0628\u0627\u0632\u0627\u0631 \u0627\u0628\u0648\u0638\u0628\u064a \u0643\u0627\u062b\u0648\u0644\u064a\u0643 \u0647\u0645\u0631\u0627\u0647 \ub2f7\ucef4 \u653f\u5e9c \u0634\u0628\u0643\u0629 \u0628\u064a\u062a\u0643 \u0639\u0631\u0628 \u673a\u6784 \u7ec4\u7ec7\u673a\u6784 \u5065\u5eb7 \u62db\u8058 \u0440\u0443\u0441 \u5927\u62ff \u307f\u3093\u306a \u30b0\u30fc\u30b0\u30eb \u4e16\u754c \u66f8\u7c4d \u7f51\u5740 \ub2f7\ub137 \u30b3\u30e0 \u5929\u4e3b\u6559 \u6e38\u620f verm\u00f6gensberater verm\u00f6gensberatung \u4f01\u4e1a \u4fe1\u606f \u5609\u91cc\u5927\u9152\u5e97 \u5609\u91cc \u5e7f\u4e1c \u653f\u52a1 xyz yachts yahoo yamaxun yandex yodobashi yoga yokohama you youtube yun zappos zara zero zip zone zuerich co.krd edu.krd art.pl gliwice.pl krakow.pl poznan.pl wroc.pl zakopane.pl lib.de.us 12chars.dev 12chars.it 12chars.pro cc.ua inf.ua ltd.ua 611.to a2hosted.com cpserver.com aaa.vodka *.on-acorn.io activetrail.biz adaptable.app adobeaemcloud.com *.dev.adobeaemcloud.com aem.live hlx.live adobeaemcloud.net aem.page hlx.page hlx3.page adobeio-static.net adobeioruntime.net africa.com beep.pl airkitapps.com airkitapps-au.com airkitapps.eu aivencloud.com akadns.net akamai.net akamai-staging.net akamaiedge.net akamaiedge-staging.net akamaihd.net akamaihd-staging.net akamaiorigin.net akamaiorigin-staging.net akamaized.net akamaized-staging.net edgekey.net edgekey-staging.net edgesuite.net edgesuite-staging.net barsy.ca *.compute.estate *.alces.network kasserver.com altervista.org alwaysdata.net myamaze.net execute-api.cn-north-1.amazonaws.com.cn execute-api.cn-northwest-1.amazonaws.com.cn execute-api.af-south-1.amazonaws.com execute-api.ap-east-1.amazonaws.com execute-api.ap-northeast-1.amazonaws.com execute-api.ap-northeast-2.amazonaws.com execute-api.ap-northeast-3.amazonaws.com execute-api.ap-south-1.amazonaws.com execute-api.ap-south-2.amazonaws.com execute-api.ap-southeast-1.amazonaws.com execute-api.ap-southeast-2.amazonaws.com execute-api.ap-southeast-3.amazonaws.com execute-api.ap-southeast-4.amazonaws.com execute-api.ap-southeast-5.amazonaws.com execute-api.ca-central-1.amazonaws.com execute-api.ca-west-1.amazonaws.com execute-api.eu-central-1.amazonaws.com execute-api.eu-central-2.amazonaws.com execute-api.eu-north-1.amazonaws.com execute-api.eu-south-1.amazonaws.com execute-api.eu-south-2.amazonaws.com execute-api.eu-west-1.amazonaws.com execute-api.eu-west-2.amazonaws.com execute-api.eu-west-3.amazonaws.com execute-api.il-central-1.amazonaws.com execute-api.me-central-1.amazonaws.com execute-api.me-south-1.amazonaws.com execute-api.sa-east-1.amazonaws.com execute-api.us-east-1.amazonaws.com execute-api.us-east-2.amazonaws.com execute-api.us-gov-east-1.amazonaws.com execute-api.us-gov-west-1.amazonaws.com execute-api.us-west-1.amazonaws.com execute-api.us-west-2.amazonaws.com cloudfront.net auth.af-south-1.amazoncognito.com auth.ap-east-1.amazoncognito.com auth.ap-northeast-1.amazoncognito.com auth.ap-northeast-2.amazoncognito.com auth.ap-northeast-3.amazoncognito.com auth.ap-south-1.amazoncognito.com auth.ap-south-2.amazoncognito.com auth.ap-southeast-1.amazoncognito.com auth.ap-southeast-2.amazoncognito.com auth.ap-southeast-3.amazoncognito.com auth.ap-southeast-4.amazoncognito.com auth.ca-central-1.amazoncognito.com auth.ca-west-1.amazoncognito.com auth.eu-central-1.amazoncognito.com auth.eu-central-2.amazoncognito.com auth.eu-north-1.amazoncognito.com auth.eu-south-1.amazoncognito.com auth.eu-south-2.amazoncognito.com auth.eu-west-1.amazoncognito.com auth.eu-west-2.amazoncognito.com auth.eu-west-3.amazoncognito.com auth.il-central-1.amazoncognito.com auth.me-central-1.amazoncognito.com auth.me-south-1.amazoncognito.com auth.sa-east-1.amazoncognito.com auth.us-east-1.amazoncognito.com auth-fips.us-east-1.amazoncognito.com auth.us-east-2.amazoncognito.com auth-fips.us-east-2.amazoncognito.com auth-fips.us-gov-west-1.amazoncognito.com auth.us-west-1.amazoncognito.com auth-fips.us-west-1.amazoncognito.com auth.us-west-2.amazoncognito.com auth-fips.us-west-2.amazoncognito.com *.compute.amazonaws.com.cn *.compute.amazonaws.com *.compute-1.amazonaws.com us-east-1.amazonaws.com emrappui-prod.cn-north-1.amazonaws.com.cn emrnotebooks-prod.cn-north-1.amazonaws.com.cn emrstudio-prod.cn-north-1.amazonaws.com.cn emrappui-prod.cn-northwest-1.amazonaws.com.cn emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn emrstudio-prod.cn-northwest-1.amazonaws.com.cn emrappui-prod.af-south-1.amazonaws.com emrnotebooks-prod.af-south-1.amazonaws.com emrstudio-prod.af-south-1.amazonaws.com emrappui-prod.ap-east-1.amazonaws.com emrnotebooks-prod.ap-east-1.amazonaws.com emrstudio-prod.ap-east-1.amazonaws.com emrappui-prod.ap-northeast-1.amazonaws.com emrnotebooks-prod.ap-northeast-1.amazonaws.com emrstudio-prod.ap-northeast-1.amazonaws.com emrappui-prod.ap-northeast-2.amazonaws.com emrnotebooks-prod.ap-northeast-2.amazonaws.com emrstudio-prod.ap-northeast-2.amazonaws.com emrappui-prod.ap-northeast-3.amazonaws.com emrnotebooks-prod.ap-northeast-3.amazonaws.com emrstudio-prod.ap-northeast-3.amazonaws.com emrappui-prod.ap-south-1.amazonaws.com emrnotebooks-prod.ap-south-1.amazonaws.com emrstudio-prod.ap-south-1.amazonaws.com emrappui-prod.ap-south-2.amazonaws.com emrnotebooks-prod.ap-south-2.amazonaws.com emrstudio-prod.ap-south-2.amazonaws.com emrappui-prod.ap-southeast-1.amazonaws.com emrnotebooks-prod.ap-southeast-1.amazonaws.com emrstudio-prod.ap-southeast-1.amazonaws.com emrappui-prod.ap-southeast-2.amazonaws.com emrnotebooks-prod.ap-southeast-2.amazonaws.com emrstudio-prod.ap-southeast-2.amazonaws.com emrappui-prod.ap-southeast-3.amazonaws.com emrnotebooks-prod.ap-southeast-3.amazonaws.com emrstudio-prod.ap-southeast-3.amazonaws.com emrappui-prod.ap-southeast-4.amazonaws.com emrnotebooks-prod.ap-southeast-4.amazonaws.com emrstudio-prod.ap-southeast-4.amazonaws.com emrappui-prod.ca-central-1.amazonaws.com emrnotebooks-prod.ca-central-1.amazonaws.com emrstudio-prod.ca-central-1.amazonaws.com emrappui-prod.ca-west-1.amazonaws.com emrnotebooks-prod.ca-west-1.amazonaws.com emrstudio-prod.ca-west-1.amazonaws.com emrappui-prod.eu-central-1.amazonaws.com emrnotebooks-prod.eu-central-1.amazonaws.com emrstudio-prod.eu-central-1.amazonaws.com emrappui-prod.eu-central-2.amazonaws.com emrnotebooks-prod.eu-central-2.amazonaws.com emrstudio-prod.eu-central-2.amazonaws.com emrappui-prod.eu-north-1.amazonaws.com emrnotebooks-prod.eu-north-1.amazonaws.com emrstudio-prod.eu-north-1.amazonaws.com emrappui-prod.eu-south-1.amazonaws.com emrnotebooks-prod.eu-south-1.amazonaws.com emrstudio-prod.eu-south-1.amazonaws.com emrappui-prod.eu-south-2.amazonaws.com emrnotebooks-prod.eu-south-2.amazonaws.com emrstudio-prod.eu-south-2.amazonaws.com emrappui-prod.eu-west-1.amazonaws.com emrnotebooks-prod.eu-west-1.amazonaws.com emrstudio-prod.eu-west-1.amazonaws.com emrappui-prod.eu-west-2.amazonaws.com emrnotebooks-prod.eu-west-2.amazonaws.com emrstudio-prod.eu-west-2.amazonaws.com emrappui-prod.eu-west-3.amazonaws.com emrnotebooks-prod.eu-west-3.amazonaws.com emrstudio-prod.eu-west-3.amazonaws.com emrappui-prod.il-central-1.amazonaws.com emrnotebooks-prod.il-central-1.amazonaws.com emrstudio-prod.il-central-1.amazonaws.com emrappui-prod.me-central-1.amazonaws.com emrnotebooks-prod.me-central-1.amazonaws.com emrstudio-prod.me-central-1.amazonaws.com emrappui-prod.me-south-1.amazonaws.com emrnotebooks-prod.me-south-1.amazonaws.com emrstudio-prod.me-south-1.amazonaws.com emrappui-prod.sa-east-1.amazonaws.com emrnotebooks-prod.sa-east-1.amazonaws.com emrstudio-prod.sa-east-1.amazonaws.com emrappui-prod.us-east-1.amazonaws.com emrnotebooks-prod.us-east-1.amazonaws.com emrstudio-prod.us-east-1.amazonaws.com emrappui-prod.us-east-2.amazonaws.com emrnotebooks-prod.us-east-2.amazonaws.com emrstudio-prod.us-east-2.amazonaws.com emrappui-prod.us-gov-east-1.amazonaws.com emrnotebooks-prod.us-gov-east-1.amazonaws.com emrstudio-prod.us-gov-east-1.amazonaws.com emrappui-prod.us-gov-west-1.amazonaws.com emrnotebooks-prod.us-gov-west-1.amazonaws.com emrstudio-prod.us-gov-west-1.amazonaws.com emrappui-prod.us-west-1.amazonaws.com emrnotebooks-prod.us-west-1.amazonaws.com emrstudio-prod.us-west-1.amazonaws.com emrappui-prod.us-west-2.amazonaws.com emrnotebooks-prod.us-west-2.amazonaws.com emrstudio-prod.us-west-2.amazonaws.com *.cn-north-1.airflow.amazonaws.com.cn *.cn-northwest-1.airflow.amazonaws.com.cn *.af-south-1.airflow.amazonaws.com *.ap-east-1.airflow.amazonaws.com *.ap-northeast-1.airflow.amazonaws.com *.ap-northeast-2.airflow.amazonaws.com *.ap-northeast-3.airflow.amazonaws.com *.ap-south-1.airflow.amazonaws.com *.ap-south-2.airflow.amazonaws.com *.ap-southeast-1.airflow.amazonaws.com *.ap-southeast-2.airflow.amazonaws.com *.ap-southeast-3.airflow.amazonaws.com *.ap-southeast-4.airflow.amazonaws.com *.ca-central-1.airflow.amazonaws.com *.ca-west-1.airflow.amazonaws.com *.eu-central-1.airflow.amazonaws.com *.eu-central-2.airflow.amazonaws.com *.eu-north-1.airflow.amazonaws.com *.eu-south-1.airflow.amazonaws.com *.eu-south-2.airflow.amazonaws.com *.eu-west-1.airflow.amazonaws.com *.eu-west-2.airflow.amazonaws.com *.eu-west-3.airflow.amazonaws.com *.il-central-1.airflow.amazonaws.com *.me-central-1.airflow.amazonaws.com *.me-south-1.airflow.amazonaws.com *.sa-east-1.airflow.amazonaws.com *.us-east-1.airflow.amazonaws.com *.us-east-2.airflow.amazonaws.com *.us-west-1.airflow.amazonaws.com *.us-west-2.airflow.amazonaws.com s3.dualstack.cn-north-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn s3-website.dualstack.cn-north-1.amazonaws.com.cn s3.cn-north-1.amazonaws.com.cn s3-accesspoint.cn-north-1.amazonaws.com.cn s3-deprecated.cn-north-1.amazonaws.com.cn s3-object-lambda.cn-north-1.amazonaws.com.cn s3-website.cn-north-1.amazonaws.com.cn s3.dualstack.cn-northwest-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn s3.cn-northwest-1.amazonaws.com.cn s3-accesspoint.cn-northwest-1.amazonaws.com.cn s3-object-lambda.cn-northwest-1.amazonaws.com.cn s3-website.cn-northwest-1.amazonaws.com.cn s3.dualstack.af-south-1.amazonaws.com s3-accesspoint.dualstack.af-south-1.amazonaws.com s3-website.dualstack.af-south-1.amazonaws.com s3.af-south-1.amazonaws.com s3-accesspoint.af-south-1.amazonaws.com s3-object-lambda.af-south-1.amazonaws.com s3-website.af-south-1.amazonaws.com s3.dualstack.ap-east-1.amazonaws.com s3-accesspoint.dualstack.ap-east-1.amazonaws.com s3.ap-east-1.amazonaws.com s3-accesspoint.ap-east-1.amazonaws.com s3-object-lambda.ap-east-1.amazonaws.com s3-website.ap-east-1.amazonaws.com s3.dualstack.ap-northeast-1.amazonaws.com s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com s3-website.dualstack.ap-northeast-1.amazonaws.com s3.ap-northeast-1.amazonaws.com s3-accesspoint.ap-northeast-1.amazonaws.com s3-object-lambda.ap-northeast-1.amazonaws.com s3-website.ap-northeast-1.amazonaws.com s3.dualstack.ap-northeast-2.amazonaws.com s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com s3-website.dualstack.ap-northeast-2.amazonaws.com s3.ap-northeast-2.amazonaws.com s3-accesspoint.ap-northeast-2.amazonaws.com s3-object-lambda.ap-northeast-2.amazonaws.com s3-website.ap-northeast-2.amazonaws.com s3.dualstack.ap-northeast-3.amazonaws.com s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com s3-website.dualstack.ap-northeast-3.amazonaws.com s3.ap-northeast-3.amazonaws.com s3-accesspoint.ap-northeast-3.amazonaws.com s3-object-lambda.ap-northeast-3.amazonaws.com s3-website.ap-northeast-3.amazonaws.com s3.dualstack.ap-south-1.amazonaws.com s3-accesspoint.dualstack.ap-south-1.amazonaws.com s3-website.dualstack.ap-south-1.amazonaws.com s3.ap-south-1.amazonaws.com s3-accesspoint.ap-south-1.amazonaws.com s3-object-lambda.ap-south-1.amazonaws.com s3-website.ap-south-1.amazonaws.com s3.dualstack.ap-south-2.amazonaws.com s3-accesspoint.dualstack.ap-south-2.amazonaws.com s3-website.dualstack.ap-south-2.amazonaws.com s3.ap-south-2.amazonaws.com s3-accesspoint.ap-south-2.amazonaws.com s3-object-lambda.ap-south-2.amazonaws.com s3-website.ap-south-2.amazonaws.com s3.dualstack.ap-southeast-1.amazonaws.com s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com s3-website.dualstack.ap-southeast-1.amazonaws.com s3.ap-southeast-1.amazonaws.com s3-accesspoint.ap-southeast-1.amazonaws.com s3-object-lambda.ap-southeast-1.amazonaws.com s3-website.ap-southeast-1.amazonaws.com s3.dualstack.ap-southeast-2.amazonaws.com s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com s3-website.dualstack.ap-southeast-2.amazonaws.com s3.ap-southeast-2.amazonaws.com s3-accesspoint.ap-southeast-2.amazonaws.com s3-object-lambda.ap-southeast-2.amazonaws.com s3-website.ap-southeast-2.amazonaws.com s3.dualstack.ap-southeast-3.amazonaws.com s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com s3-website.dualstack.ap-southeast-3.amazonaws.com s3.ap-southeast-3.amazonaws.com s3-accesspoint.ap-southeast-3.amazonaws.com s3-object-lambda.ap-southeast-3.amazonaws.com s3-website.ap-southeast-3.amazonaws.com s3.dualstack.ap-southeast-4.amazonaws.com s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com s3-website.dualstack.ap-southeast-4.amazonaws.com s3.ap-southeast-4.amazonaws.com s3-accesspoint.ap-southeast-4.amazonaws.com s3-object-lambda.ap-southeast-4.amazonaws.com s3-website.ap-southeast-4.amazonaws.com s3.dualstack.ap-southeast-5.amazonaws.com s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com s3-website.dualstack.ap-southeast-5.amazonaws.com s3.ap-southeast-5.amazonaws.com s3-accesspoint.ap-southeast-5.amazonaws.com s3-deprecated.ap-southeast-5.amazonaws.com s3-object-lambda.ap-southeast-5.amazonaws.com s3-website.ap-southeast-5.amazonaws.com s3.dualstack.ca-central-1.amazonaws.com s3-accesspoint.dualstack.ca-central-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com s3-fips.dualstack.ca-central-1.amazonaws.com s3-website.dualstack.ca-central-1.amazonaws.com s3.ca-central-1.amazonaws.com s3-accesspoint.ca-central-1.amazonaws.com s3-accesspoint-fips.ca-central-1.amazonaws.com s3-fips.ca-central-1.amazonaws.com s3-object-lambda.ca-central-1.amazonaws.com s3-website.ca-central-1.amazonaws.com s3.dualstack.ca-west-1.amazonaws.com s3-accesspoint.dualstack.ca-west-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com s3-fips.dualstack.ca-west-1.amazonaws.com s3-website.dualstack.ca-west-1.amazonaws.com s3.ca-west-1.amazonaws.com s3-accesspoint.ca-west-1.amazonaws.com s3-accesspoint-fips.ca-west-1.amazonaws.com s3-fips.ca-west-1.amazonaws.com s3-object-lambda.ca-west-1.amazonaws.com s3-website.ca-west-1.amazonaws.com s3.dualstack.eu-central-1.amazonaws.com s3-accesspoint.dualstack.eu-central-1.amazonaws.com s3-website.dualstack.eu-central-1.amazonaws.com s3.eu-central-1.amazonaws.com s3-accesspoint.eu-central-1.amazonaws.com s3-object-lambda.eu-central-1.amazonaws.com s3-website.eu-central-1.amazonaws.com s3.dualstack.eu-central-2.amazonaws.com s3-accesspoint.dualstack.eu-central-2.amazonaws.com s3-website.dualstack.eu-central-2.amazonaws.com s3.eu-central-2.amazonaws.com s3-accesspoint.eu-central-2.amazonaws.com s3-object-lambda.eu-central-2.amazonaws.com s3-website.eu-central-2.amazonaws.com s3.dualstack.eu-north-1.amazonaws.com s3-accesspoint.dualstack.eu-north-1.amazonaws.com s3.eu-north-1.amazonaws.com s3-accesspoint.eu-north-1.amazonaws.com s3-object-lambda.eu-north-1.amazonaws.com s3-website.eu-north-1.amazonaws.com s3.dualstack.eu-south-1.amazonaws.com s3-accesspoint.dualstack.eu-south-1.amazonaws.com s3-website.dualstack.eu-south-1.amazonaws.com s3.eu-south-1.amazonaws.com s3-accesspoint.eu-south-1.amazonaws.com s3-object-lambda.eu-south-1.amazonaws.com s3-website.eu-south-1.amazonaws.com s3.dualstack.eu-south-2.amazonaws.com s3-accesspoint.dualstack.eu-south-2.amazonaws.com s3-website.dualstack.eu-south-2.amazonaws.com s3.eu-south-2.amazonaws.com s3-accesspoint.eu-south-2.amazonaws.com s3-object-lambda.eu-south-2.amazonaws.com s3-website.eu-south-2.amazonaws.com s3.dualstack.eu-west-1.amazonaws.com s3-accesspoint.dualstack.eu-west-1.amazonaws.com s3-website.dualstack.eu-west-1.amazonaws.com s3.eu-west-1.amazonaws.com s3-accesspoint.eu-west-1.amazonaws.com s3-deprecated.eu-west-1.amazonaws.com s3-object-lambda.eu-west-1.amazonaws.com s3-website.eu-west-1.amazonaws.com s3.dualstack.eu-west-2.amazonaws.com s3-accesspoint.dualstack.eu-west-2.amazonaws.com s3.eu-west-2.amazonaws.com s3-accesspoint.eu-west-2.amazonaws.com s3-object-lambda.eu-west-2.amazonaws.com s3-website.eu-west-2.amazonaws.com s3.dualstack.eu-west-3.amazonaws.com s3-accesspoint.dualstack.eu-west-3.amazonaws.com s3-website.dualstack.eu-west-3.amazonaws.com s3.eu-west-3.amazonaws.com s3-accesspoint.eu-west-3.amazonaws.com s3-object-lambda.eu-west-3.amazonaws.com s3-website.eu-west-3.amazonaws.com s3.dualstack.il-central-1.amazonaws.com s3-accesspoint.dualstack.il-central-1.amazonaws.com s3-website.dualstack.il-central-1.amazonaws.com s3.il-central-1.amazonaws.com s3-accesspoint.il-central-1.amazonaws.com s3-object-lambda.il-central-1.amazonaws.com s3-website.il-central-1.amazonaws.com s3.dualstack.me-central-1.amazonaws.com s3-accesspoint.dualstack.me-central-1.amazonaws.com s3-website.dualstack.me-central-1.amazonaws.com s3.me-central-1.amazonaws.com s3-accesspoint.me-central-1.amazonaws.com s3-object-lambda.me-central-1.amazonaws.com s3-website.me-central-1.amazonaws.com s3.dualstack.me-south-1.amazonaws.com s3-accesspoint.dualstack.me-south-1.amazonaws.com s3.me-south-1.amazonaws.com s3-accesspoint.me-south-1.amazonaws.com s3-object-lambda.me-south-1.amazonaws.com s3-website.me-south-1.amazonaws.com s3.amazonaws.com s3-1.amazonaws.com s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com mrap.accesspoint.s3-global.amazonaws.com s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com s3-us-east-2.amazonaws.com s3-us-gov-east-1.amazonaws.com s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com s3-website-ap-northeast-1.amazonaws.com s3-website-ap-southeast-1.amazonaws.com s3-website-ap-southeast-2.amazonaws.com s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com s3-website-us-east-1.amazonaws.com s3-website-us-gov-west-1.amazonaws.com s3-website-us-west-1.amazonaws.com s3-website-us-west-2.amazonaws.com s3.dualstack.sa-east-1.amazonaws.com s3-accesspoint.dualstack.sa-east-1.amazonaws.com s3-website.dualstack.sa-east-1.amazonaws.com s3.sa-east-1.amazonaws.com s3-accesspoint.sa-east-1.amazonaws.com s3-object-lambda.sa-east-1.amazonaws.com s3-website.sa-east-1.amazonaws.com s3.dualstack.us-east-1.amazonaws.com s3-accesspoint.dualstack.us-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com s3-fips.dualstack.us-east-1.amazonaws.com s3-website.dualstack.us-east-1.amazonaws.com s3.us-east-1.amazonaws.com s3-accesspoint.us-east-1.amazonaws.com s3-accesspoint-fips.us-east-1.amazonaws.com s3-deprecated.us-east-1.amazonaws.com s3-fips.us-east-1.amazonaws.com s3-object-lambda.us-east-1.amazonaws.com s3-website.us-east-1.amazonaws.com s3.dualstack.us-east-2.amazonaws.com s3-accesspoint.dualstack.us-east-2.amazonaws.com s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com s3-fips.dualstack.us-east-2.amazonaws.com s3-website.dualstack.us-east-2.amazonaws.com s3.us-east-2.amazonaws.com s3-accesspoint.us-east-2.amazonaws.com s3-accesspoint-fips.us-east-2.amazonaws.com s3-deprecated.us-east-2.amazonaws.com s3-fips.us-east-2.amazonaws.com s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com s3.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com s3-fips.dualstack.us-gov-east-1.amazonaws.com s3.us-gov-east-1.amazonaws.com s3-accesspoint.us-gov-east-1.amazonaws.com s3-accesspoint-fips.us-gov-east-1.amazonaws.com s3-fips.us-gov-east-1.amazonaws.com s3-object-lambda.us-gov-east-1.amazonaws.com s3-website.us-gov-east-1.amazonaws.com s3.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com s3-fips.dualstack.us-gov-west-1.amazonaws.com s3.us-gov-west-1.amazonaws.com s3-accesspoint.us-gov-west-1.amazonaws.com s3-accesspoint-fips.us-gov-west-1.amazonaws.com s3-fips.us-gov-west-1.amazonaws.com s3-object-lambda.us-gov-west-1.amazonaws.com s3-website.us-gov-west-1.amazonaws.com s3.dualstack.us-west-1.amazonaws.com s3-accesspoint.dualstack.us-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com s3-fips.dualstack.us-west-1.amazonaws.com s3-website.dualstack.us-west-1.amazonaws.com s3.us-west-1.amazonaws.com s3-accesspoint.us-west-1.amazonaws.com s3-accesspoint-fips.us-west-1.amazonaws.com s3-fips.us-west-1.amazonaws.com s3-object-lambda.us-west-1.amazonaws.com s3-website.us-west-1.amazonaws.com s3.dualstack.us-west-2.amazonaws.com s3-accesspoint.dualstack.us-west-2.amazonaws.com s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com s3-fips.dualstack.us-west-2.amazonaws.com s3-website.dualstack.us-west-2.amazonaws.com s3.us-west-2.amazonaws.com s3-accesspoint.us-west-2.amazonaws.com s3-accesspoint-fips.us-west-2.amazonaws.com s3-deprecated.us-west-2.amazonaws.com s3-fips.us-west-2.amazonaws.com s3-object-lambda.us-west-2.amazonaws.com s3-website.us-west-2.amazonaws.com labeling.ap-northeast-1.sagemaker.aws labeling.ap-northeast-2.sagemaker.aws labeling.ap-south-1.sagemaker.aws labeling.ap-southeast-1.sagemaker.aws labeling.ap-southeast-2.sagemaker.aws labeling.ca-central-1.sagemaker.aws labeling.eu-central-1.sagemaker.aws labeling.eu-west-1.sagemaker.aws labeling.eu-west-2.sagemaker.aws labeling.us-east-1.sagemaker.aws labeling.us-east-2.sagemaker.aws labeling.us-west-2.sagemaker.aws notebook.af-south-1.sagemaker.aws notebook.ap-east-1.sagemaker.aws notebook.ap-northeast-1.sagemaker.aws notebook.ap-northeast-2.sagemaker.aws notebook.ap-northeast-3.sagemaker.aws notebook.ap-south-1.sagemaker.aws notebook.ap-south-2.sagemaker.aws notebook.ap-southeast-1.sagemaker.aws notebook.ap-southeast-2.sagemaker.aws notebook.ap-southeast-3.sagemaker.aws notebook.ap-southeast-4.sagemaker.aws notebook.ca-central-1.sagemaker.aws notebook-fips.ca-central-1.sagemaker.aws notebook.ca-west-1.sagemaker.aws notebook-fips.ca-west-1.sagemaker.aws notebook.eu-central-1.sagemaker.aws notebook.eu-central-2.sagemaker.aws notebook.eu-north-1.sagemaker.aws notebook.eu-south-1.sagemaker.aws notebook.eu-south-2.sagemaker.aws notebook.eu-west-1.sagemaker.aws notebook.eu-west-2.sagemaker.aws notebook.eu-west-3.sagemaker.aws notebook.il-central-1.sagemaker.aws notebook.me-central-1.sagemaker.aws notebook.me-south-1.sagemaker.aws notebook.sa-east-1.sagemaker.aws notebook.us-east-1.sagemaker.aws notebook-fips.us-east-1.sagemaker.aws notebook.us-east-2.sagemaker.aws notebook-fips.us-east-2.sagemaker.aws notebook.us-gov-east-1.sagemaker.aws notebook-fips.us-gov-east-1.sagemaker.aws notebook.us-gov-west-1.sagemaker.aws notebook-fips.us-gov-west-1.sagemaker.aws notebook.us-west-1.sagemaker.aws notebook-fips.us-west-1.sagemaker.aws notebook.us-west-2.sagemaker.aws notebook-fips.us-west-2.sagemaker.aws notebook.cn-north-1.sagemaker.com.cn notebook.cn-northwest-1.sagemaker.com.cn studio.af-south-1.sagemaker.aws studio.ap-east-1.sagemaker.aws studio.ap-northeast-1.sagemaker.aws studio.ap-northeast-2.sagemaker.aws studio.ap-northeast-3.sagemaker.aws studio.ap-south-1.sagemaker.aws studio.ap-southeast-1.sagemaker.aws studio.ap-southeast-2.sagemaker.aws studio.ap-southeast-3.sagemaker.aws studio.ca-central-1.sagemaker.aws studio.eu-central-1.sagemaker.aws studio.eu-north-1.sagemaker.aws studio.eu-south-1.sagemaker.aws studio.eu-south-2.sagemaker.aws studio.eu-west-1.sagemaker.aws studio.eu-west-2.sagemaker.aws studio.eu-west-3.sagemaker.aws studio.il-central-1.sagemaker.aws studio.me-central-1.sagemaker.aws studio.me-south-1.sagemaker.aws studio.sa-east-1.sagemaker.aws studio.us-east-1.sagemaker.aws studio.us-east-2.sagemaker.aws studio.us-gov-east-1.sagemaker.aws studio-fips.us-gov-east-1.sagemaker.aws studio.us-gov-west-1.sagemaker.aws studio-fips.us-gov-west-1.sagemaker.aws studio.us-west-1.sagemaker.aws studio.us-west-2.sagemaker.aws studio.cn-north-1.sagemaker.com.cn studio.cn-northwest-1.sagemaker.com.cn *.experiments.sagemaker.aws analytics-gateway.ap-northeast-1.amazonaws.com analytics-gateway.ap-northeast-2.amazonaws.com analytics-gateway.ap-south-1.amazonaws.com analytics-gateway.ap-southeast-1.amazonaws.com analytics-gateway.ap-southeast-2.amazonaws.com analytics-gateway.eu-central-1.amazonaws.com analytics-gateway.eu-west-1.amazonaws.com analytics-gateway.us-east-1.amazonaws.com analytics-gateway.us-east-2.amazonaws.com analytics-gateway.us-west-2.amazonaws.com amplifyapp.com *.awsapprunner.com webview-assets.aws-cloud9.af-south-1.amazonaws.com vfs.cloud9.af-south-1.amazonaws.com webview-assets.cloud9.af-south-1.amazonaws.com webview-assets.aws-cloud9.ap-east-1.amazonaws.com vfs.cloud9.ap-east-1.amazonaws.com webview-assets.cloud9.ap-east-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com vfs.cloud9.ap-northeast-1.amazonaws.com webview-assets.cloud9.ap-northeast-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com vfs.cloud9.ap-northeast-2.amazonaws.com webview-assets.cloud9.ap-northeast-2.amazonaws.com webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com vfs.cloud9.ap-northeast-3.amazonaws.com webview-assets.cloud9.ap-northeast-3.amazonaws.com webview-assets.aws-cloud9.ap-south-1.amazonaws.com vfs.cloud9.ap-south-1.amazonaws.com webview-assets.cloud9.ap-south-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com vfs.cloud9.ap-southeast-1.amazonaws.com webview-assets.cloud9.ap-southeast-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com vfs.cloud9.ap-southeast-2.amazonaws.com webview-assets.cloud9.ap-southeast-2.amazonaws.com webview-assets.aws-cloud9.ca-central-1.amazonaws.com vfs.cloud9.ca-central-1.amazonaws.com webview-assets.cloud9.ca-central-1.amazonaws.com webview-assets.aws-cloud9.eu-central-1.amazonaws.com vfs.cloud9.eu-central-1.amazonaws.com webview-assets.cloud9.eu-central-1.amazonaws.com webview-assets.aws-cloud9.eu-north-1.amazonaws.com vfs.cloud9.eu-north-1.amazonaws.com webview-assets.cloud9.eu-north-1.amazonaws.com webview-assets.aws-cloud9.eu-south-1.amazonaws.com vfs.cloud9.eu-south-1.amazonaws.com webview-assets.cloud9.eu-south-1.amazonaws.com webview-assets.aws-cloud9.eu-west-1.amazonaws.com vfs.cloud9.eu-west-1.amazonaws.com webview-assets.cloud9.eu-west-1.amazonaws.com webview-assets.aws-cloud9.eu-west-2.amazonaws.com vfs.cloud9.eu-west-2.amazonaws.com webview-assets.cloud9.eu-west-2.amazonaws.com webview-assets.aws-cloud9.eu-west-3.amazonaws.com vfs.cloud9.eu-west-3.amazonaws.com webview-assets.cloud9.eu-west-3.amazonaws.com webview-assets.aws-cloud9.il-central-1.amazonaws.com vfs.cloud9.il-central-1.amazonaws.com webview-assets.aws-cloud9.me-south-1.amazonaws.com vfs.cloud9.me-south-1.amazonaws.com webview-assets.cloud9.me-south-1.amazonaws.com webview-assets.aws-cloud9.sa-east-1.amazonaws.com vfs.cloud9.sa-east-1.amazonaws.com webview-assets.cloud9.sa-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-1.amazonaws.com vfs.cloud9.us-east-1.amazonaws.com webview-assets.cloud9.us-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-2.amazonaws.com vfs.cloud9.us-east-2.amazonaws.com webview-assets.cloud9.us-east-2.amazonaws.com webview-assets.aws-cloud9.us-west-1.amazonaws.com vfs.cloud9.us-west-1.amazonaws.com webview-assets.cloud9.us-west-1.amazonaws.com webview-assets.aws-cloud9.us-west-2.amazonaws.com vfs.cloud9.us-west-2.amazonaws.com webview-assets.cloud9.us-west-2.amazonaws.com awsapps.com cn-north-1.eb.amazonaws.com.cn cn-northwest-1.eb.amazonaws.com.cn elasticbeanstalk.com af-south-1.elasticbeanstalk.com ap-east-1.elasticbeanstalk.com ap-northeast-1.elasticbeanstalk.com ap-northeast-2.elasticbeanstalk.com ap-northeast-3.elasticbeanstalk.com ap-south-1.elasticbeanstalk.com ap-southeast-1.elasticbeanstalk.com ap-southeast-2.elasticbeanstalk.com ap-southeast-3.elasticbeanstalk.com ca-central-1.elasticbeanstalk.com eu-central-1.elasticbeanstalk.com eu-north-1.elasticbeanstalk.com eu-south-1.elasticbeanstalk.com eu-west-1.elasticbeanstalk.com eu-west-2.elasticbeanstalk.com eu-west-3.elasticbeanstalk.com il-central-1.elasticbeanstalk.com me-south-1.elasticbeanstalk.com sa-east-1.elasticbeanstalk.com us-east-1.elasticbeanstalk.com us-east-2.elasticbeanstalk.com us-gov-east-1.elasticbeanstalk.com us-gov-west-1.elasticbeanstalk.com us-west-1.elasticbeanstalk.com us-west-2.elasticbeanstalk.com *.elb.amazonaws.com.cn *.elb.amazonaws.com awsglobalaccelerator.com *.private.repost.aws eero.online eero-stage.online apigee.io panel.dev siiites.com appspacehosted.com appspaceusercontent.com appudo.net on-aptible.com f5.si arvanedge.ir user.aseinet.ne.jp gv.vc d.gv.vc user.party.eus pimienta.org poivron.org potager.org sweetpepper.org myasustor.com cdn.prod.atlassian-dev.net translated.page myfritz.link myfritz.net onavstack.net *.awdev.ca *.advisor.ws ecommerce-shop.pl b-data.io balena-devices.com base.ec official.ec buyshop.jp fashionstore.jp handcrafted.jp kawaiishop.jp supersale.jp theshop.jp shopselect.net base.shop beagleboard.io *.beget.app pages.gay bnr.la bitbucket.io blackbaudcdn.net of.je bluebite.io boomla.net boutir.com boxfuse.io square7.ch bplaced.com bplaced.de square7.de bplaced.net square7.net *.s.brave.io shop.brendly.hr shop.brendly.rs browsersafetymark.io radio.am radio.fm uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk cafjs.com canva-apps.cn *.my.canvasite.cn canva-apps.com *.my.canva.site drr.ac uwu.ai carrd.co crd.co ju.mp api.gov.uk cdn77-storage.com rsc.contentproxy9.cz r.cdn77.net cdn77-ssl.net c.cdn77.org rsc.cdn77.org ssl.origin.cdn77-secure.org za.bz br.com cn.com de.com eu.com jpn.com mex.com ru.com sa.com uk.com us.com za.com com.de gb.net hu.net jp.net se.net uk.net ae.org com.se cx.ua discourse.group discourse.team clerk.app clerkstage.app *.lcl.dev *.lclstage.dev *.stg.dev *.stgstage.dev cleverapps.cc *.services.clever-cloud.com cleverapps.io cleverapps.tech clickrising.net cloudns.asia cloudns.be cloud-ip.biz cloudns.biz cloudns.cc cloudns.ch cloudns.cl cloudns.club dnsabr.com ip-ddns.com cloudns.cx cloudns.eu cloudns.in cloudns.info ddns-ip.net dns-cloud.net dns-dynamic.net cloudns.nz cloudns.org ip-dynamic.org cloudns.ph cloudns.pro cloudns.pw cloudns.us c66.me cloud66.ws cloud66.zone jdevcloud.com wpdevcloud.com cloudaccess.host freesite.host cloudaccess.net *.cloudera.site cf-ipfs.com cloudflare-ipfs.com trycloudflare.com pages.dev r2.dev workers.dev cloudflare.net cdn.cloudflare.net cdn.cloudflareanycast.net cdn.cloudflarecn.net cdn.cloudflareglobal.net cust.cloudscale.ch objects.lpg.cloudscale.ch objects.rma.cloudscale.ch wnext.app cnpy.gdn *.otap.co co.ca co.com codeberg.page csb.app preview.csb.app co.nl co.no webhosting.be hosting-cluster.nl ctfcloud.net convex.site ac.ru edu.ru gov.ru int.ru mil.ru test.ru dyn.cosidns.de dnsupdater.de dynamisches-dns.de internet-dns.de l-o-g-i-n.de dynamic-dns.info feste-ip.net knx-server.net static-access.net craft.me realm.cz on.crisp.email *.cryptonomic.net curv.dev cfolks.pl cyon.link cyon.site platform0.app fnwk.site folionetwork.site biz.dk co.dk firm.dk reg.dk store.dk dyndns.dappnode.io builtwithdark.com darklang.io demo.datadetect.com instance.datadetect.com edgestack.me dattolocal.com dattorelay.com dattoweb.com mydatto.com dattolocal.net mydatto.net ddnss.de dyn.ddnss.de dyndns.ddnss.de dyn-ip24.de dyndns1.de home-webserver.de dyn.home-webserver.de myhome-server.de ddnss.org debian.net definima.io definima.net deno.dev deno-staging.dev dedyn.io deta.app deta.dev dfirma.pl dkonto.pl you2.pl ondigitalocean.app *.digitaloceanspaces.com us.kg rss.my.id diher.solutions discordsays.com discordsez.com jozi.biz dnshome.de online.th shop.th drayddns.com shoparena.pl dreamhosters.com durumis.com mydrobo.com drud.io drud.us duckdns.org dy.fi tunk.org dyndns.biz for-better.biz for-more.biz for-some.biz for-the.biz selfip.biz webhop.biz ftpaccess.cc game-server.cc myphotos.cc scrapping.cc blogdns.com cechire.com dnsalias.com dnsdojo.com doesntexist.com dontexist.com doomdns.com dyn-o-saur.com dynalias.com dyndns-at-home.com dyndns-at-work.com dyndns-blog.com dyndns-free.com dyndns-home.com dyndns-ip.com dyndns-mail.com dyndns-office.com dyndns-pics.com dyndns-remote.com dyndns-server.com dyndns-web.com dyndns-wiki.com dyndns-work.com est-a-la-maison.com est-a-la-masion.com est-le-patron.com est-mon-blogueur.com from-ak.com from-al.com from-ar.com from-ca.com from-ct.com from-dc.com from-de.com from-fl.com from-ga.com from-hi.com from-ia.com from-id.com from-il.com from-in.com from-ks.com from-ky.com from-ma.com from-md.com from-mi.com from-mn.com from-mo.com from-ms.com from-mt.com from-nc.com from-nd.com from-ne.com from-nh.com from-nj.com from-nm.com from-nv.com from-oh.com from-ok.com from-or.com from-pa.com from-pr.com from-ri.com from-sc.com from-sd.com from-tn.com from-tx.com from-ut.com from-va.com from-vt.com from-wa.com from-wi.com from-wv.com from-wy.com getmyip.com gotdns.com hobby-site.com homelinux.com homeunix.com iamallama.com is-a-anarchist.com is-a-blogger.com is-a-bookkeeper.com is-a-bulls-fan.com is-a-caterer.com is-a-chef.com is-a-conservative.com is-a-cpa.com is-a-cubicle-slave.com is-a-democrat.com is-a-designer.com is-a-doctor.com is-a-financialadvisor.com is-a-geek.com is-a-green.com is-a-guru.com is-a-hard-worker.com is-a-hunter.com is-a-landscaper.com is-a-lawyer.com is-a-liberal.com is-a-libertarian.com is-a-llama.com is-a-musician.com is-a-nascarfan.com is-a-nurse.com is-a-painter.com is-a-personaltrainer.com is-a-photographer.com is-a-player.com is-a-republican.com is-a-rockstar.com is-a-socialist.com is-a-student.com is-a-teacher.com is-a-techie.com is-a-therapist.com is-an-accountant.com is-an-actor.com is-an-actress.com is-an-anarchist.com is-an-artist.com is-an-engineer.com is-an-entertainer.com is-certified.com is-gone.com is-into-anime.com is-into-cars.com is-into-cartoons.com is-into-games.com is-leet.com is-not-certified.com is-slick.com is-uberleet.com is-with-theband.com isa-geek.com isa-hockeynut.com issmarterthanyou.com likes-pie.com likescandy.com neat-url.com saves-the-whales.com selfip.com sells-for-less.com sells-for-u.com servebbs.com simple-url.com space-to-rent.com teaches-yoga.com writesthisblog.com ath.cx fuettertdasnetz.de isteingeek.de istmein.de lebtimnetz.de leitungsen.de traeumtgerade.de barrel-of-knowledge.info barrell-of-knowledge.info dyndns.info for-our.info groks-the.info groks-this.info here-for-more.info knowsitall.info selfip.info webhop.info forgot.her.name forgot.his.name at-band-camp.net blogdns.net broke-it.net buyshouses.net dnsalias.net dnsdojo.net does-it.net dontexist.net dynalias.net dynathome.net endofinternet.net from-az.net from-co.net from-la.net from-ny.net gets-it.net ham-radio-op.net homeftp.net homeip.net homelinux.net homeunix.net in-the-band.net is-a-chef.net is-a-geek.net isa-geek.net kicks-ass.net office-on-the.net podzone.net scrapper-site.net selfip.net sells-it.net servebbs.net serveftp.net thruhere.net webhop.net merseine.nu mine.nu shacknet.nu blogdns.org blogsite.org boldlygoingnowhere.org dnsalias.org dnsdojo.org doesntexist.org dontexist.org doomdns.org dvrdns.org dynalias.org dyndns.org go.dyndns.org home.dyndns.org endofinternet.org endoftheinternet.org from-me.org game-host.org gotdns.org hobby-site.org homedns.org homeftp.org homelinux.org homeunix.org is-a-bruinsfan.org is-a-candidate.org is-a-celticsfan.org is-a-chef.org is-a-geek.org is-a-knight.org is-a-linux-user.org is-a-patsfan.org is-a-soxfan.org is-found.org is-lost.org is-saved.org is-very-bad.org is-very-evil.org is-very-good.org is-very-nice.org is-very-sweet.org isa-geek.org kicks-ass.org misconfused.org podzone.org readmyblog.org selfip.org sellsyourhome.org servebbs.org serveftp.org servegame.org stuff-4-sale.org webhop.org better-than.tv dyndns.tv on-the-web.tv worse-than.tv is-by.us land-4-sale.us stuff-4-sale.us dyndns.ws mypets.ws ddnsfree.com ddnsgeek.com giize.com gleeze.com kozow.com loseyourip.com ooguy.com theworkpc.com casacam.net dynu.net accesscam.org camdvr.org freeddns.org mywire.org webredirect.org myddns.rocks dynv6.net e4.cz easypanel.app easypanel.host *.ewp.live twmail.cc twmail.net twmail.org mymailer.com.tw url.tw at.emf.camp rt.ht elementor.cloud elementor.cool en-root.fr mytuleap.com tuleap-partners.com encr.app encoreapi.com eu.encoway.cloud eu.org al.eu.org asso.eu.org at.eu.org au.eu.org be.eu.org bg.eu.org ca.eu.org cd.eu.org ch.eu.org cn.eu.org cy.eu.org cz.eu.org de.eu.org dk.eu.org edu.eu.org ee.eu.org es.eu.org fi.eu.org fr.eu.org gr.eu.org hr.eu.org hu.eu.org ie.eu.org il.eu.org in.eu.org int.eu.org is.eu.org it.eu.org jp.eu.org kr.eu.org lt.eu.org lu.eu.org lv.eu.org me.eu.org mk.eu.org mt.eu.org my.eu.org net.eu.org ng.eu.org nl.eu.org no.eu.org nz.eu.org pl.eu.org pt.eu.org ro.eu.org ru.eu.org se.eu.org si.eu.org sk.eu.org tr.eu.org uk.eu.org us.eu.org eurodir.ru eu-1.evennode.com eu-2.evennode.com eu-3.evennode.com eu-4.evennode.com us-1.evennode.com us-2.evennode.com us-3.evennode.com us-4.evennode.com relay.evervault.app relay.evervault.dev expo.app staging.expo.app onfabrica.com ru.net adygeya.ru bashkiria.ru bir.ru cbg.ru com.ru dagestan.ru grozny.ru kalmykia.ru kustanai.ru marine.ru mordovia.ru msk.ru mytis.ru nalchik.ru nov.ru pyatigorsk.ru spb.ru vladikavkaz.ru vladimir.ru abkhazia.su adygeya.su aktyubinsk.su arkhangelsk.su armenia.su ashgabad.su azerbaijan.su balashov.su bashkiria.su bryansk.su bukhara.su chimkent.su dagestan.su east-kazakhstan.su exnet.su georgia.su grozny.su ivanovo.su jambyl.su kalmykia.su kaluga.su karacol.su karaganda.su karelia.su khakassia.su krasnodar.su kurgan.su kustanai.su lenug.su mangyshlak.su mordovia.su msk.su murmansk.su nalchik.su navoi.su north-kazakhstan.su nov.su obninsk.su penza.su pokrovsk.su sochi.su spb.su tashkent.su termez.su togliatti.su troitsk.su tselinograd.su tula.su tuva.su vladikavkaz.su vladimir.su vologda.su channelsdvr.net u.channelsdvr.net edgecompute.app fastly-edge.com fastly-terrarium.com freetls.fastly.net map.fastly.net a.prod.fastly.net global.prod.fastly.net a.ssl.fastly.net b.ssl.fastly.net global.ssl.fastly.net fastlylb.net map.fastlylb.net *.user.fm fastvps-server.com fastvps.host myfast.host fastvps.site myfast.space conn.uk copro.uk hosp.uk fedorainfracloud.org fedorapeople.org cloud.fedoraproject.org app.os.fedoraproject.org app.os.stg.fedoraproject.org mydobiss.com fh-muenster.io filegear.me firebaseapp.com fldrv.com flutterflow.app fly.dev shw.io edgeapp.net forgeblocks.com id.forgerock.io framer.ai framer.app framercanvas.com framer.media framer.photos framer.website framer.wiki 0e.vc freebox-os.com freeboxos.com fbx-os.fr fbxos.fr freebox-os.fr freeboxos.fr freedesktop.org freemyip.com *.frusky.de wien.funkfeuer.at daemon.asia dix.asia mydns.bz 0am.jp 0g0.jp 0j0.jp 0t0.jp mydns.jp pgw.jp wjg.jp keyword-on.net live-on.net server-on.net mydns.tw mydns.vc *.futurecms.at *.ex.futurecms.at *.in.futurecms.at futurehosting.at futuremailing.at *.ex.ortsinfo.at *.kunden.ortsinfo.at *.statics.cloud aliases121.com campaign.gov.uk service.gov.uk independent-commission.uk independent-inquest.uk independent-inquiry.uk independent-panel.uk independent-review.uk public-inquiry.uk royal-commission.uk gehirn.ne.jp usercontent.jp gentapps.com gentlentapis.com lab.ms cdn-edges.net localcert.net localhostcert.net gsj.bz githubusercontent.com githubpreview.dev github.io gitlab.io gitapp.si gitpage.si glitch.me nog.community co.ro shop.ro lolipop.io angry.jp babyblue.jp babymilk.jp backdrop.jp bambina.jp bitter.jp blush.jp boo.jp boy.jp boyfriend.jp but.jp candypop.jp capoo.jp catfood.jp cheap.jp chicappa.jp chillout.jp chips.jp chowder.jp chu.jp ciao.jp cocotte.jp coolblog.jp cranky.jp cutegirl.jp daa.jp deca.jp deci.jp digick.jp egoism.jp fakefur.jp fem.jp flier.jp floppy.jp fool.jp frenchkiss.jp girlfriend.jp girly.jp gloomy.jp gonna.jp greater.jp hacca.jp heavy.jp her.jp hiho.jp hippy.jp holy.jp hungry.jp icurus.jp itigo.jp jellybean.jp kikirara.jp kill.jp kilo.jp kuron.jp littlestar.jp lolipopmc.jp lolitapunk.jp lomo.jp lovepop.jp lovesick.jp main.jp mods.jp mond.jp mongolian.jp moo.jp namaste.jp nikita.jp nobushi.jp noor.jp oops.jp parallel.jp parasite.jp pecori.jp peewee.jp penne.jp pepper.jp perma.jp pigboat.jp pinoko.jp punyu.jp pupu.jp pussycat.jp pya.jp raindrop.jp readymade.jp sadist.jp schoolbus.jp secret.jp staba.jp stripper.jp sub.jp sunnyday.jp thick.jp tonkotsu.jp under.jp upper.jp velvet.jp verse.jp versus.jp vivian.jp watson.jp weblike.jp whitesnow.jp zombie.jp heteml.net graphic.design goip.de blogspot.ae blogspot.al blogspot.am *.hosted.app *.run.app web.app blogspot.com.ar blogspot.co.at blogspot.com.au blogspot.ba blogspot.be blogspot.bg blogspot.bj blogspot.com.br blogspot.com.by blogspot.ca blogspot.cf blogspot.ch blogspot.cl blogspot.com.co *.0emm.com appspot.com *.r.appspot.com blogspot.com codespot.com googleapis.com googlecode.com pagespeedmobilizer.com withgoogle.com withyoutube.com blogspot.cv blogspot.com.cy blogspot.cz blogspot.de *.gateway.dev blogspot.dk blogspot.com.ee blogspot.com.eg blogspot.com.es blogspot.fi blogspot.fr cloud.goog translate.goog *.usercontent.goog blogspot.gr blogspot.hk blogspot.hr blogspot.hu blogspot.co.id blogspot.ie blogspot.co.il blogspot.in blogspot.is blogspot.it blogspot.jp blogspot.co.ke blogspot.kr blogspot.li blogspot.lt blogspot.lu blogspot.md blogspot.mk blogspot.com.mt blogspot.mx blogspot.my cloudfunctions.net blogspot.com.ng blogspot.nl blogspot.no blogspot.co.nz blogspot.pe blogspot.pt blogspot.qa blogspot.re blogspot.ro blogspot.rs blogspot.ru blogspot.se blogspot.sg blogspot.si blogspot.sk blogspot.sn blogspot.td blogspot.com.tr blogspot.tw blogspot.ug blogspot.co.uk blogspot.com.uy blogspot.vn blogspot.co.za goupile.fr pymnt.uk cloudapps.digital london.cloudapps.digital gov.nl grafana-dev.net grayjayleagues.com g\u00fcnstigbestellen.de g\u00fcnstigliefern.de fin.ci free.hr caa.li ua.rs conf.se h\u00e4kkinen.fi hrsn.dev hashbang.sh hasura.app hasura-app.io hatenablog.com hatenadiary.com hateblo.jp hatenablog.jp hatenadiary.jp hatenadiary.org pages.it.hs-heilbronn.de pages-research.it.hs-heilbronn.de heiyu.space helioho.st heliohost.us hepforge.org herokuapp.com herokussl.com heyflow.page heyflow.site ravendb.cloud ravendb.community development.run ravendb.run homesklep.pl *.kin.one *.id.pub *.kin.pub secaas.hk hoplix.shop orx.biz biz.gl biz.ng co.biz.ng dl.biz.ng go.biz.ng lg.biz.ng on.biz.ng col.ng firm.ng gen.ng ltd.ng ngo.ng plc.ng ie.ua hostyhosting.io hf.space static.hf.space hypernode.io iobb.net co.cz *.moonscale.io moonscale.net gr.com iki.fi ibxos.it iliadboxos.it smushcdn.com wphostedmail.com wpmucdn.com tempurl.host wpmudev.host dyn-berlin.de in-berlin.de in-brb.de in-butter.de in-dsl.de in-vpn.de in-dsl.net in-vpn.net in-dsl.org in-vpn.org biz.at info.at info.cx ac.leg.br al.leg.br am.leg.br ap.leg.br ba.leg.br ce.leg.br df.leg.br es.leg.br go.leg.br ma.leg.br mg.leg.br ms.leg.br mt.leg.br pa.leg.br pb.leg.br pe.leg.br pi.leg.br pr.leg.br rj.leg.br rn.leg.br ro.leg.br rr.leg.br rs.leg.br sc.leg.br se.leg.br sp.leg.br to.leg.br pixolino.com na4u.ru apps-1and1.com live-website.com apps-1and1.net websitebuilder.online app-ionos.space iopsys.se *.dweb.link ipifony.net ir.md is-a-good.dev is-a.dev iservschule.de mein-iserv.de schulplattform.de schulserver.de test-iserv.de iserv.dev mel.cloudlets.com.au cloud.interhostsolutions.be alp1.ae.flow.ch appengine.flow.ch es-1.axarnet.cloud diadem.cloud vip.jelastic.cloud jele.cloud it1.eur.aruba.jenv-aruba.cloud it1.jenv-aruba.cloud keliweb.cloud cs.keliweb.cloud oxa.cloud tn.oxa.cloud uk.oxa.cloud primetel.cloud uk.primetel.cloud ca.reclaim.cloud uk.reclaim.cloud us.reclaim.cloud ch.trendhosting.cloud de.trendhosting.cloud jele.club dopaas.com paas.hosted-by-previder.com rag-cloud.hosteur.com rag-cloud-ch.hosteur.com jcloud.ik-server.com jcloud-ver-jpc.ik-server.com demo.jelastic.com paas.massivegrid.com jed.wafaicloud.com ryd.wafaicloud.com j.scaleforce.com.cy jelastic.dogado.eu fi.cloudplatform.fi demo.datacenter.fi paas.datacenter.fi jele.host mircloud.host paas.beebyte.io sekd1.beebyteapp.io jele.io jc.neen.it jcloud.kz cloudjiffy.net fra1-de.cloudjiffy.net west1-us.cloudjiffy.net jls-sto1.elastx.net jls-sto2.elastx.net jls-sto3.elastx.net fr-1.paas.massivegrid.net lon-1.paas.massivegrid.net lon-2.paas.massivegrid.net ny-1.paas.massivegrid.net ny-2.paas.massivegrid.net sg-1.paas.massivegrid.net jelastic.saveincloud.net nordeste-idc.saveincloud.net j.scaleforce.net sdscloud.pl unicloud.pl mircloud.ru enscaled.sg jele.site jelastic.team orangecloud.tn j.layershift.co.uk phx.enscaled.us mircloud.us myjino.ru *.hosting.myjino.ru *.landing.myjino.ru *.spectrum.myjino.ru *.vps.myjino.ru jotelulu.cloud webadorsite.com jouwweb.site *.cns.joyent.com *.triton.zone js.org kaas.gg khplay.nl kapsi.fi ezproxy.kuleuven.be kuleuven.cloud keymachine.de kinghost.net uni5.net knightpoint.systems koobin.events webthings.io krellian.net oya.to git-repos.de lcube-server.de svn-repos.de leadpages.co lpages.co lpusercontent.com lelux.site libp2p.direct runcontainers.dev co.business co.education co.events co.financial co.network co.place co.technology linkyard-cloud.ch linkyard.cloud members.linode.com *.nodebalancer.linode.com *.linodeobjects.com ip.linodeusercontent.com we.bs filegear-sg.me ggff.net *.user.localcert.dev lodz.pl pabianice.pl plock.pl sieradz.pl skierniewice.pl zgierz.pl loginline.app loginline.dev loginline.io loginline.services loginline.site lohmus.me servers.run krasnik.pl leczna.pl lubartow.pl lublin.pl poniatowa.pl swidnik.pl glug.org.uk lug.org.uk lugs.org.uk barsy.bg barsy.club barsycenter.com barsyonline.com barsy.de barsy.dev barsy.eu barsy.gr barsy.in barsy.info barsy.io barsy.me barsy.menu barsyonline.menu barsy.mobi barsy.net barsy.online barsy.org barsy.pro barsy.pub barsy.ro barsy.rs barsy.shop barsyonline.shop barsy.site barsy.store barsy.support barsy.uk barsy.co.uk barsyonline.co.uk *.magentosite.cloud hb.cldmail.ru matlab.cloud modelscape.com mwcloudnonprod.com polyspace.com mayfirst.info mayfirst.org mazeplay.com mcdir.me mcdir.ru vps.mcdir.ru mcpre.ru mediatech.by mediatech.dev hra.health medusajs.app miniserver.com memset.net messerli.app atmeta.com apps.fbsbx.com *.cloud.metacentrum.cz custom.metacentrum.cz flt.cloud.muni.cz usr.cloud.muni.cz meteorapp.com eu.meteorapp.com co.pl *.azurecontainer.io azure-api.net azure-mobile.net azureedge.net azurefd.net azurestaticapps.net 1.azurestaticapps.net 2.azurestaticapps.net 3.azurestaticapps.net 4.azurestaticapps.net 5.azurestaticapps.net 6.azurestaticapps.net 7.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net westeurope.azurestaticapps.net westus2.azurestaticapps.net azurewebsites.net cloudapp.net trafficmanager.net blob.core.windows.net servicebus.windows.net routingthecloud.com sn.mynetname.net routingthecloud.net routingthecloud.org csx.cc mydbserver.com webspaceconfig.de mittwald.info mittwaldserver.info typo3server.info project.space modx.dev bmoattachments.org net.ru org.ru pp.ru hostedpi.com caracal.mythic-beasts.com customer.mythic-beasts.com fentiger.mythic-beasts.com lynx.mythic-beasts.com ocelot.mythic-beasts.com oncilla.mythic-beasts.com onza.mythic-beasts.com sphinx.mythic-beasts.com vs.mythic-beasts.com x.mythic-beasts.com yali.mythic-beasts.com cust.retrosnub.co.uk ui.nabu.casa cloud.nospamproxy.com netfy.app netlify.app 4u.com nfshost.com ipfs.nftstorage.link ngo.us ngrok.app ngrok-free.app ngrok.dev ngrok-free.dev ngrok.io ap.ngrok.io au.ngrok.io eu.ngrok.io in.ngrok.io jp.ngrok.io sa.ngrok.io us.ngrok.io ngrok.pizza ngrok.pro torun.pl nh-serv.co.uk nimsite.uk mmafan.biz myftp.biz no-ip.biz no-ip.ca fantasyleague.cc gotdns.ch 3utilities.com blogsyte.com ciscofreak.com damnserver.com ddnsking.com ditchyourip.com dnsiskinky.com dynns.com geekgalaxy.com health-carereform.com homesecuritymac.com homesecuritypc.com myactivedirectory.com mysecuritycamera.com myvnc.com net-freaks.com onthewifi.com point2this.com quicksytes.com securitytactics.com servebeer.com servecounterstrike.com serveexchange.com serveftp.com servegame.com servehalflife.com servehttp.com servehumour.com serveirc.com servemp3.com servep2p.com servepics.com servequake.com servesarcasm.com stufftoread.com unusualperson.com workisboring.com dvrcam.info ilovecollege.info no-ip.info brasilia.me ddns.me dnsfor.me hopto.me loginto.me noip.me webhop.me bounceme.net ddns.net eating-organic.net mydissent.net myeffect.net mymediapc.net mypsx.net mysecuritycamera.net nhlfan.net no-ip.net pgafan.net privatizehealthinsurance.net redirectme.net serveblog.net serveminecraft.net sytes.net cable-modem.org collegefan.org couchpotatofries.org hopto.org mlbfan.org myftp.org mysecuritycamera.org nflfan.org no-ip.org read-books.org ufcfan.org zapto.org no-ip.co.uk golffan.us noip.us pointto.us stage.nodeart.io *.developer.app noop.app *.northflank.app *.build.run *.code.run *.database.run *.migration.run noticeable.news notion.site dnsking.ch mypi.co n4t.co 001www.com myiphost.com forumz.info soundcast.me tcp4.me dnsup.net hicam.net now-dns.net ownip.net vpndns.net dynserv.org now-dns.org x443.pw now-dns.top ntdll.top freeddns.us nsupdate.info nerdpol.ovh nyc.mn prvcy.page obl.ong observablehq.cloud static.observableusercontent.com omg.lol cloudycluster.net omniwe.site 123webseite.at 123website.be simplesite.com.br 123website.ch simplesite.com 123webseite.de 123hjemmeside.dk 123miweb.es 123kotisivu.fi 123siteweb.fr simplesite.gr 123homepage.it 123website.lu 123website.nl 123hjemmeside.no service.one simplesite.pl 123paginaweb.pt 123minsida.se is-a-fullstack.dev is-cool.dev is-not-a.dev localplayer.dev is-local.org opensocial.site opencraft.hosting 16-b.it 32-b.it 64-b.it orsites.com operaunite.com *.customer-oci.com *.oci.customer-oci.com *.ocp.customer-oci.com *.ocs.customer-oci.com *.oraclecloudapps.com *.oraclegovcloudapps.com *.oraclegovcloudapps.uk tech.orange can.re authgear-staging.com authgearapps.com skygearapp.com outsystemscloud.com *.hosting.ovh.net *.webpaas.ovh.net ownprovider.com own.pm *.owo.codes ox.rs oy.lc pgfog.com pagexl.com gotpantheon.com pantheonsite.io *.paywhirl.com *.xmit.co xmit.dev madethis.site srv.us gh.srv.us gl.srv.us lk3.ru mypep.link perspecta.cloud on-web.fr *.upsun.app upsunapp.com ent.platform.sh eu.platform.sh us.platform.sh *.platformsh.site *.tst.site platter-app.com platter-app.dev platterp.us pley.games onporter.run co.bn postman-echo.com pstmn.io mock.pstmn.io httpbin.org prequalifyme.today xen.prgmr.com priv.at protonet.io chirurgiens-dentistes-en-france.fr byen.site pubtls.org pythonanywhere.com eu.pythonanywhere.com qa2.com qcx.io *.sys.qcx.io myqnapcloud.cn alpha-myqnapcloud.com dev-myqnapcloud.com mycloudnas.com mynascloud.com myqnapcloud.com qoto.io qualifioapp.com ladesk.com qbuser.com *.quipelements.com vapor.cloud vaporcloud.io rackmaze.com rackmaze.net cloudsite.builders myradweb.net servername.us web.in in.net myrdbx.io site.rb-hosting.io *.on-rancher.cloud *.on-k3s.io *.on-rio.io ravpage.co.il readthedocs-hosted.com readthedocs.io rhcloud.com instances.spawn.cc onrender.com app.render.com replit.app id.replit.app firewalledreplit.co id.firewalledreplit.co repl.co id.repl.co replit.dev archer.replit.dev bones.replit.dev canary.replit.dev global.replit.dev hacker.replit.dev id.replit.dev janeway.replit.dev kim.replit.dev kira.replit.dev kirk.replit.dev odo.replit.dev paris.replit.dev picard.replit.dev pike.replit.dev prerelease.replit.dev reed.replit.dev riker.replit.dev sisko.replit.dev spock.replit.dev staging.replit.dev sulu.replit.dev tarpit.replit.dev teams.replit.dev tucker.replit.dev wesley.replit.dev worf.replit.dev repl.run resindevice.io devices.resinstaging.io hzc.io adimo.co.uk itcouldbewor.se aus.basketball nz.basketball git-pages.rit.edu rocky.page rub.de ruhr-uni-bochum.de io.noc.ruhr-uni-bochum.de \u0431\u0438\u0437.\u0440\u0443\u0441 \u043a\u043e\u043c.\u0440\u0443\u0441 \u043a\u0440\u044b\u043c.\u0440\u0443\u0441 \u043c\u0438\u0440.\u0440\u0443\u0441 \u043c\u0441\u043a.\u0440\u0443\u0441 \u043e\u0440\u0433.\u0440\u0443\u0441 \u0441\u0430\u043c\u0430\u0440\u0430.\u0440\u0443\u0441 \u0441\u043e\u0447\u0438.\u0440\u0443\u0441 \u0441\u043f\u0431.\u0440\u0443\u0441 \u044f.\u0440\u0443\u0441 ras.ru nyat.app 180r.com dojin.com sakuratan.com sakuraweb.com x0.com 2-d.jp bona.jp crap.jp daynight.jp eek.jp flop.jp halfmoon.jp jeez.jp matrix.jp mimoza.jp ivory.ne.jp mail-box.ne.jp mints.ne.jp mokuren.ne.jp opal.ne.jp sakura.ne.jp sumomo.ne.jp topaz.ne.jp netgamers.jp nyanta.jp o0o0.jp rdy.jp rgr.jp rulez.jp s3.isk01.sakurastorage.jp s3.isk02.sakurastorage.jp saloon.jp sblo.jp skr.jp tank.jp uh-oh.jp undo.jp rs.webaccel.jp user.webaccel.jp websozai.jp xii.jp squares.net jpn.org kirara.st x0.to from.tv sakura.tv *.builder.code.com *.dev-builder.code.com *.stg-builder.code.com *.001.test.code-builder-stg.platform.salesforce.com *.d.crm.dev *.w.crm.dev *.wa.crm.dev *.wb.crm.dev *.wc.crm.dev *.wd.crm.dev *.we.crm.dev *.wf.crm.dev sandcats.io logoip.com logoip.de fr-par-1.baremetal.scw.cloud fr-par-2.baremetal.scw.cloud nl-ams-1.baremetal.scw.cloud cockpit.fr-par.scw.cloud fnc.fr-par.scw.cloud functions.fnc.fr-par.scw.cloud k8s.fr-par.scw.cloud nodes.k8s.fr-par.scw.cloud s3.fr-par.scw.cloud s3-website.fr-par.scw.cloud whm.fr-par.scw.cloud priv.instances.scw.cloud pub.instances.scw.cloud k8s.scw.cloud cockpit.nl-ams.scw.cloud k8s.nl-ams.scw.cloud nodes.k8s.nl-ams.scw.cloud s3.nl-ams.scw.cloud s3-website.nl-ams.scw.cloud whm.nl-ams.scw.cloud cockpit.pl-waw.scw.cloud k8s.pl-waw.scw.cloud nodes.k8s.pl-waw.scw.cloud s3.pl-waw.scw.cloud s3-website.pl-waw.scw.cloud scalebook.scw.cloud smartlabeling.scw.cloud dedibox.fr schokokeks.net gov.scot service.gov.scot scrysec.com client.scrypted.io firewall-gateway.com firewall-gateway.de my-gateway.de my-router.de spdns.de spdns.eu firewall-gateway.net my-firewall.org myfirewall.org spdns.org seidat.net sellfy.store minisite.ms senseering.net servebolt.cloud biz.ua co.ua pp.ua as.sh.cn sheezy.games shiftedit.io myshopblocks.com myshopify.com shopitsite.com shopware.shop shopware.store mo-siemens.io 1kapp.com appchizi.com applinzi.com sinaapp.com vipsinaapp.com siteleaf.net small-web.org aeroport.fr avocat.fr chambagri.fr chirurgiens-dentistes.fr experts-comptables.fr medecin.fr notaires.fr pharmacien.fr port.fr veterinaire.fr vp4.me *.snowflake.app *.privatelink.snowflake.app streamlit.app streamlitapp.com try-snowplow.com mafelo.net playstation-cloud.com srht.site apps.lair.io *.stolos.io spacekit.io ind.mom customer.speedpartner.de myspreadshop.at myspreadshop.com.au myspreadshop.be myspreadshop.ca myspreadshop.ch myspreadshop.com myspreadshop.de myspreadshop.dk myspreadshop.es myspreadshop.fi myspreadshop.fr myspreadshop.ie myspreadshop.it myspreadshop.net myspreadshop.nl myspreadshop.no myspreadshop.pl myspreadshop.se myspreadshop.co.uk w-corp-staticblitz.com w-credentialless-staticblitz.com w-staticblitz.com stackhero-network.com runs.onstackit.cloud stackit.gg stackit.rocks stackit.run stackit.zone musician.io novecore.site api.stdlib.com feedback.ac forms.ac assessments.cx calculators.cx funnels.cx paynow.cx quizzes.cx researched.cx tests.cx surveys.so storebase.store storipress.app storj.farm strapiapp.com media.strapiapp.com vps-host.net atl.jelastic.vps-host.net njs.jelastic.vps-host.net ric.jelastic.vps-host.net streak-link.com streaklinks.com streakusercontent.com soc.srcf.net user.srcf.net utwente.io temp-dns.com supabase.co supabase.in supabase.net syncloud.it dscloud.biz direct.quickconnect.cn dsmynas.com familyds.com diskstation.me dscloud.me i234.me myds.me synology.me dscloud.mobi dsmynas.net familyds.net dsmynas.org familyds.org direct.quickconnect.to vpnplus.to mytabit.com mytabit.co.il tabitorder.co.il taifun-dns.de ts.net *.c.ts.net gda.pl gdansk.pl gdynia.pl med.pl sopot.pl taveusercontent.com p.tawk.email p.tawkto.email site.tb-hosting.com edugit.io s3.teckids.org telebit.app telebit.io *.telebit.xyz *.firenet.ch *.svc.firenet.ch reservd.com thingdustdata.com cust.dev.thingdust.io reservd.dev.thingdust.io cust.disrec.thingdust.io reservd.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io reservd.testing.thingdust.io tickets.io arvo.network azimuth.network tlon.network torproject.net pages.torproject.net townnews-staging.com 12hp.at 2ix.at 4lima.at lima-city.at 12hp.ch 2ix.ch 4lima.ch lima-city.ch trafficplex.cloud de.cool 12hp.de 2ix.de 4lima.de lima-city.de 1337.pictures clan.rip lima-city.rocks webspace.rocks lima.zone *.transurl.be *.transurl.eu site.transip.me *.transurl.nl tuxfamily.org dd-dns.de dray-dns.de draydns.de dyn-vpn.de dynvpn.de mein-vigor.de my-vigor.de my-wan.de syno-ds.de synology-diskstation.de synology-ds.de diskstation.eu diskstation.org typedream.app pro.typeform.com *.uberspace.de uber.space hk.com inc.hk ltd.hk hk.org it.com unison-services.cloud virtual-user.de virtualuser.de name.pm sch.tf biz.wf sch.wf org.yt rs.ba bielsko.pl upli.io urown.cloud dnsupdate.info us.org v.ua express.val.run web.val.run vercel.app v0.build vercel.dev vusercontent.net now.sh 2038.io router.management v-info.info voorloper.cloud *.vultrobjects.com wafflecell.com webflow.io webflowtest.io *.webhare.dev bookonline.app hotelwithflight.com reserve-online.com reserve-online.net cprapid.com pleskns.com wp2.host pdns.page plesk.page wpsquared.site *.wadl.top remotewd.com box.ca pages.wiardweb.com toolforge.org wmcloud.org wmflabs.org wdh.app panel.gg daemon.panel.gg wixsite.com wixstudio.com editorx.io wixstudio.io wix.run messwithdns.com woltlab-demo.com myforum.community community-pro.de diskussionsbereich.de community-pro.net meinforum.net affinitylottery.org.uk raffleentry.org.uk weeklylottery.org.uk wpenginepowered.com js.wpenginepowered.com half.host xnbay.com u2.xnbay.com u2-local.xnbay.com cistron.nl demon.nl xs4all.space yandexcloud.net storage.yandexcloud.net website.yandexcloud.net official.academy yolasite.com yombo.me ynh.fr nohost.me noho.st za.net za.org zap.cloud zeabur.app bss.design basicserver.io virtualserver.io enterprisecloud.nu'.split(' ').reduce((r,
259
+ J.handler+'` could not be reached. You must expose it to the `window` do object before any call.');var G=J.handler;delete J.handler;window[G].apply(this,Object.values(J));J.handler=G}else w[C].apply(this,Object.values(J));J.call=C}catch(K){console.error('BindingHelper encountered error while trying to execute `'+C+'`'+(K.stack||K))}w.process(I,N,P+1)}};return w}define('helpers/binding',[],function(){return BindingHelper});
260
+ (function(l,w){typeof exports=='object'&&typeof module!='undefined'?w(exports):typeof define=='function'&&define.amd?define('vendor/gina/psl',['exports'],w):(l=typeof globalThis!='undefined'?globalThis:l||self,w(l.psl={}))})(this,function(l){var w,I;const N=function(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,'default')?r.default:r}(function(){function r(Q){throw new RangeError(da[Q]);}function y(Q,U){var O=Q.split('@');let aa='';O.length>1&&(aa=O[0]+'@',Q=O[1]);Q=Q.replace(n,
261
+ '.');Q=Q.split('.');O=[];let F=Q.length;for(;F--;)O[F]=U(Q[F]);U=O.join('.');return aa+U}function h(Q){const U=[];let O=0;const aa=Q.length;for(;O<aa;){const F=Q.charCodeAt(O++);if(F>=55296&&F<=56319&&O<aa){const L=Q.charCodeAt(O++);(L&64512)==56320?U.push(((F&1023)<<10)+(L&1023)+65536):(U.push(F),O--)}else U.push(F)}return U}if(I)return w;I=1;const ma=/^xn--/,T=/[^\0-\x7F]/,n=/[\x2E\u3002\uFF0E\uFF61]/g,da={overflow:'Overflow: input needs wider integers to process','not-basic':'Illegal input >= 0x80 (not a basic code point)',
262
+ 'invalid-input':'Invalid input'},x=Math.floor,u=String.fromCharCode,A=function(Q,U,O){let aa=0;Q=O?x(Q/700):Q>>1;for(Q+=x(Q/U);Q>455;aa+=36)Q=x(Q/35);return x(aa+36*Q/(Q+38))},k=function(Q){const U=[],O=Q.length;let aa=0,F=128,L=72;var la=Q.lastIndexOf('-');la<0&&(la=0);for(var pa=0;pa<la;++pa)Q.charCodeAt(pa)>=128&&r('not-basic'),U.push(Q.charCodeAt(pa));for(la=la>0?la+1:0;la<O;){pa=aa;for(let X=1,oa=36;;oa+=36){la>=O&&r('invalid-input');var E=Q.charCodeAt(la++);E=E>=48&&E<58?26+(E-48):E>=65&&E<
263
+ 91?E-65:E>=97&&E<123?E-97:36;E>=36&&r('invalid-input');E>x((2147483647-aa)/X)&&r('overflow');aa+=E*X;const ha=oa<=L?1:oa>=L+26?26:oa-L;if(E<ha)break;E=36-ha;X>x(2147483647/E)&&r('overflow');X*=E}E=U.length+1;L=A(aa-pa,E,pa==0);x(aa/E)>2147483647-F&&r('overflow');F+=x(aa/E);aa%=E;U.splice(aa++,0,F)}return String.fromCodePoint(...U)},ja=function(Q){const U=[];Q=h(Q);const O=Q.length;let aa=128,F=0,L=72;for(var la of Q)la<128&&U.push(u(la));let pa=la=U.length;for(la&&U.push('-');pa<O;){var E=2147483647;
264
+ for(const sa of Q)sa>=aa&&sa<E&&(E=sa);const ha=pa+1;E-aa>x((2147483647-F)/ha)&&r('overflow');F+=(E-aa)*ha;aa=E;for(const sa of Q)if(sa<aa&&++F>2147483647&&r('overflow'),sa===aa){var X=F;for(E=36;;E+=36){var oa=E<=L?1:E>=L+26?26:E-L;if(X<oa)break;const xa=X-oa,ua=36-oa;X=U;oa+=xa%ua;X.push.call(X,u(oa+22+75*(oa<26)-0));X=x(xa/ua)}U.push(u(X+22+75*(X<26)-0));L=A(F,ha,pa===la);F=0;++pa}++F;++aa}return U.join('')};return w={version:'2.3.1',ucs2:{decode:h,encode:Q=>String.fromCodePoint(...Q)},decode:k,
265
+ encode:ja,toASCII:function(Q){return y(Q,function(U){return T.test(U)?'xn--'+ja(U):U})},toUnicode:function(Q){return y(Q,function(U){return ma.test(U)?k(U.slice(4).toLowerCase()):U})}},w}()),P='ac com.ac edu.ac gov.ac mil.ac net.ac org.ac ad ae ac.ae co.ae gov.ae mil.ae net.ae org.ae sch.ae aero airline.aero airport.aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero air-surveillance.aero air-traffic-control.aero aircraft.aero airtraffic.aero ambulance.aero association.aero author.aero ballooning.aero broker.aero caa.aero cargo.aero catering.aero certification.aero championship.aero charter.aero civilaviation.aero club.aero conference.aero consultant.aero consulting.aero control.aero council.aero crew.aero design.aero dgca.aero educator.aero emergency.aero engine.aero engineer.aero entertainment.aero equipment.aero exchange.aero express.aero federation.aero flight.aero freight.aero fuel.aero gliding.aero government.aero groundhandling.aero group.aero hanggliding.aero homebuilt.aero insurance.aero journal.aero journalist.aero leasing.aero logistics.aero magazine.aero maintenance.aero marketplace.aero media.aero microlight.aero modelling.aero navigation.aero parachuting.aero paragliding.aero passenger-association.aero pilot.aero press.aero production.aero recreation.aero repbody.aero res.aero research.aero rotorcraft.aero safety.aero scientist.aero services.aero show.aero skydiving.aero software.aero student.aero taxi.aero trader.aero trading.aero trainer.aero union.aero workinggroup.aero works.aero af com.af edu.af gov.af net.af org.af ag co.ag com.ag net.ag nom.ag org.ag ai com.ai net.ai off.ai org.ai al com.al edu.al gov.al mil.al net.al org.al am co.am com.am commune.am net.am org.am ao co.ao ed.ao edu.ao gov.ao gv.ao it.ao og.ao org.ao pb.ao aq ar bet.ar com.ar coop.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar mutual.ar net.ar org.ar senasa.ar tur.ar arpa e164.arpa home.arpa in-addr.arpa ip6.arpa iris.arpa uri.arpa urn.arpa as gov.as asia at ac.at sth.ac.at co.at gv.at or.at au asn.au com.au edu.au gov.au id.au net.au org.au conf.au oz.au act.au nsw.au nt.au qld.au sa.au tas.au vic.au wa.au act.edu.au catholic.edu.au nsw.edu.au nt.edu.au qld.edu.au sa.edu.au tas.edu.au vic.edu.au wa.edu.au qld.gov.au sa.gov.au tas.gov.au vic.gov.au wa.gov.au schools.nsw.edu.au aw com.aw ax az biz.az com.az edu.az gov.az info.az int.az mil.az name.az net.az org.az pp.az pro.az ba com.ba edu.ba gov.ba mil.ba net.ba org.ba bb biz.bb co.bb com.bb edu.bb gov.bb info.bb net.bb org.bb store.bb tv.bb *.bd be ac.be bf gov.bf bg 0.bg 1.bg 2.bg 3.bg 4.bg 5.bg 6.bg 7.bg 8.bg 9.bg a.bg b.bg c.bg d.bg e.bg f.bg g.bg h.bg i.bg j.bg k.bg l.bg m.bg n.bg o.bg p.bg q.bg r.bg s.bg t.bg u.bg v.bg w.bg x.bg y.bg z.bg bh com.bh edu.bh gov.bh net.bh org.bh bi co.bi com.bi edu.bi or.bi org.bi biz bj africa.bj agro.bj architectes.bj assur.bj avocats.bj co.bj com.bj eco.bj econo.bj edu.bj info.bj loisirs.bj money.bj net.bj org.bj ote.bj restaurant.bj resto.bj tourism.bj univ.bj bm com.bm edu.bm gov.bm net.bm org.bm bn com.bn edu.bn gov.bn net.bn org.bn bo com.bo edu.bo gob.bo int.bo mil.bo net.bo org.bo tv.bo web.bo academia.bo agro.bo arte.bo blog.bo bolivia.bo ciencia.bo cooperativa.bo democracia.bo deporte.bo ecologia.bo economia.bo empresa.bo indigena.bo industria.bo info.bo medicina.bo movimiento.bo musica.bo natural.bo nombre.bo noticias.bo patria.bo plurinacional.bo politica.bo profesional.bo pueblo.bo revista.bo salud.bo tecnologia.bo tksat.bo transporte.bo wiki.bo br 9guacu.br abc.br adm.br adv.br agr.br aju.br am.br anani.br aparecida.br app.br arq.br art.br ato.br b.br barueri.br belem.br bet.br bhz.br bib.br bio.br blog.br bmd.br boavista.br bsb.br campinagrande.br campinas.br caxias.br cim.br cng.br cnt.br com.br contagem.br coop.br coz.br cri.br cuiaba.br curitiba.br def.br des.br det.br dev.br ecn.br eco.br edu.br emp.br enf.br eng.br esp.br etc.br eti.br far.br feira.br flog.br floripa.br fm.br fnd.br fortal.br fot.br foz.br fst.br g12.br geo.br ggf.br goiania.br gov.br ac.gov.br al.gov.br am.gov.br ap.gov.br ba.gov.br ce.gov.br df.gov.br es.gov.br go.gov.br ma.gov.br mg.gov.br ms.gov.br mt.gov.br pa.gov.br pb.gov.br pe.gov.br pi.gov.br pr.gov.br rj.gov.br rn.gov.br ro.gov.br rr.gov.br rs.gov.br sc.gov.br se.gov.br sp.gov.br to.gov.br gru.br imb.br ind.br inf.br jab.br jampa.br jdf.br joinville.br jor.br jus.br leg.br leilao.br lel.br log.br londrina.br macapa.br maceio.br manaus.br maringa.br mat.br med.br mil.br morena.br mp.br mus.br natal.br net.br niteroi.br *.nom.br not.br ntr.br odo.br ong.br org.br osasco.br palmas.br poa.br ppg.br pro.br psc.br psi.br pvh.br qsl.br radio.br rec.br recife.br rep.br ribeirao.br rio.br riobranco.br riopreto.br salvador.br sampa.br santamaria.br santoandre.br saobernardo.br saogonca.br seg.br sjc.br slg.br slz.br sorocaba.br srv.br taxi.br tc.br tec.br teo.br the.br tmp.br trd.br tur.br tv.br udi.br vet.br vix.br vlog.br wiki.br zlg.br bs com.bs edu.bs gov.bs net.bs org.bs bt com.bt edu.bt gov.bt net.bt org.bt bv bw co.bw org.bw by gov.by mil.by com.by of.by bz co.bz com.bz edu.bz gov.bz net.bz org.bz ca ab.ca bc.ca mb.ca nb.ca nf.ca nl.ca ns.ca nt.ca nu.ca on.ca pe.ca qc.ca sk.ca yk.ca gc.ca cat cc cd gov.cd cf cg ch ci ac.ci a\u00e9roport.ci asso.ci co.ci com.ci ed.ci edu.ci go.ci gouv.ci int.ci net.ci or.ci org.ci *.ck !www.ck cl co.cl gob.cl gov.cl mil.cl cm co.cm com.cm gov.cm net.cm cn ac.cn com.cn edu.cn gov.cn mil.cn net.cn org.cn \u516c\u53f8.cn \u7db2\u7d61.cn \u7f51\u7edc.cn ah.cn bj.cn cq.cn fj.cn gd.cn gs.cn gx.cn gz.cn ha.cn hb.cn he.cn hi.cn hk.cn hl.cn hn.cn jl.cn js.cn jx.cn ln.cn mo.cn nm.cn nx.cn qh.cn sc.cn sd.cn sh.cn sn.cn sx.cn tj.cn tw.cn xj.cn xz.cn yn.cn zj.cn co com.co edu.co gov.co mil.co net.co nom.co org.co com coop cr ac.cr co.cr ed.cr fi.cr go.cr or.cr sa.cr cu com.cu edu.cu gob.cu inf.cu nat.cu net.cu org.cu cv com.cv edu.cv id.cv int.cv net.cv nome.cv org.cv publ.cv cw com.cw edu.cw net.cw org.cw cx gov.cx cy ac.cy biz.cy com.cy ekloges.cy gov.cy ltd.cy mil.cy net.cy org.cy press.cy pro.cy tm.cy cz de dj dk dm co.dm com.dm edu.dm gov.dm net.dm org.dm do art.do com.do edu.do gob.do gov.do mil.do net.do org.do sld.do web.do dz art.dz asso.dz com.dz edu.dz gov.dz net.dz org.dz pol.dz soc.dz tm.dz ec com.ec edu.ec fin.ec gob.ec gov.ec info.ec k12.ec med.ec mil.ec net.ec org.ec pro.ec edu ee aip.ee com.ee edu.ee fie.ee gov.ee lib.ee med.ee org.ee pri.ee riik.ee eg ac.eg com.eg edu.eg eun.eg gov.eg info.eg me.eg mil.eg name.eg net.eg org.eg sci.eg sport.eg tv.eg *.er es com.es edu.es gob.es nom.es org.es et biz.et com.et edu.et gov.et info.et name.et net.et org.et eu fi aland.fi fj ac.fj biz.fj com.fj gov.fj info.fj mil.fj name.fj net.fj org.fj pro.fj *.fk fm com.fm edu.fm net.fm org.fm fo fr asso.fr com.fr gouv.fr nom.fr prd.fr tm.fr avoues.fr cci.fr greta.fr huissier-justice.fr ga gb gd edu.gd gov.gd ge com.ge edu.ge gov.ge net.ge org.ge pvt.ge school.ge gf gg co.gg net.gg org.gg gh com.gh edu.gh gov.gh mil.gh org.gh gi com.gi edu.gi gov.gi ltd.gi mod.gi org.gi gl co.gl com.gl edu.gl net.gl org.gl gm gn ac.gn com.gn edu.gn gov.gn net.gn org.gn gov gp asso.gp com.gp edu.gp mobi.gp net.gp org.gp gq gr com.gr edu.gr gov.gr net.gr org.gr gs gt com.gt edu.gt gob.gt ind.gt mil.gt net.gt org.gt gu com.gu edu.gu gov.gu guam.gu info.gu net.gu org.gu web.gu gw gy co.gy com.gy edu.gy gov.gy net.gy org.gy hk com.hk edu.hk gov.hk idv.hk net.hk org.hk \u4e2a\u4eba.hk \u500b\u4eba.hk \u516c\u53f8.hk \u653f\u5e9c.hk \u654e\u80b2.hk \u6559\u80b2.hk \u7b87\u4eba.hk \u7d44\u7e54.hk \u7d44\u7ec7.hk \u7db2\u7d61.hk \u7db2\u7edc.hk \u7ec4\u7e54.hk \u7ec4\u7ec7.hk \u7f51\u7d61.hk \u7f51\u7edc.hk hm hn com.hn edu.hn gob.hn mil.hn net.hn org.hn hr com.hr from.hr iz.hr name.hr ht adult.ht art.ht asso.ht com.ht coop.ht edu.ht firm.ht gouv.ht info.ht med.ht net.ht org.ht perso.ht pol.ht pro.ht rel.ht shop.ht hu 2000.hu agrar.hu bolt.hu casino.hu city.hu co.hu erotica.hu erotika.hu film.hu forum.hu games.hu hotel.hu info.hu ingatlan.hu jogasz.hu konyvelo.hu lakas.hu media.hu news.hu org.hu priv.hu reklam.hu sex.hu shop.hu sport.hu suli.hu szex.hu tm.hu tozsde.hu utazas.hu video.hu id ac.id biz.id co.id desa.id go.id mil.id my.id net.id or.id ponpes.id sch.id web.id ie gov.ie il ac.il co.il gov.il idf.il k12.il muni.il net.il org.il \u05d9\u05e9\u05e8\u05d0\u05dc \u05d0\u05e7\u05d3\u05de\u05d9\u05d4.\u05d9\u05e9\u05e8\u05d0\u05dc \u05d9\u05e9\u05d5\u05d1.\u05d9\u05e9\u05e8\u05d0\u05dc \u05e6\u05d4\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc \u05de\u05de\u05e9\u05dc.\u05d9\u05e9\u05e8\u05d0\u05dc im ac.im co.im ltd.co.im plc.co.im com.im net.im org.im tt.im tv.im in 5g.in 6g.in ac.in ai.in am.in bihar.in biz.in business.in ca.in cn.in co.in com.in coop.in cs.in delhi.in dr.in edu.in er.in firm.in gen.in gov.in gujarat.in ind.in info.in int.in internet.in io.in me.in mil.in net.in nic.in org.in pg.in post.in pro.in res.in travel.in tv.in uk.in up.in us.in info int eu.int io co.io com.io edu.io gov.io mil.io net.io nom.io org.io iq com.iq edu.iq gov.iq mil.iq net.iq org.iq ir ac.ir co.ir gov.ir id.ir net.ir org.ir sch.ir \u0627\u06cc\u0631\u0627\u0646.ir \u0627\u064a\u0631\u0627\u0646.ir is it edu.it gov.it abr.it abruzzo.it aosta-valley.it aostavalley.it bas.it basilicata.it cal.it calabria.it cam.it campania.it emilia-romagna.it emiliaromagna.it emr.it friuli-v-giulia.it friuli-ve-giulia.it friuli-vegiulia.it friuli-venezia-giulia.it friuli-veneziagiulia.it friuli-vgiulia.it friuliv-giulia.it friulive-giulia.it friulivegiulia.it friulivenezia-giulia.it friuliveneziagiulia.it friulivgiulia.it fvg.it laz.it lazio.it lig.it liguria.it lom.it lombardia.it lombardy.it lucania.it mar.it marche.it mol.it molise.it piedmont.it piemonte.it pmn.it pug.it puglia.it sar.it sardegna.it sardinia.it sic.it sicilia.it sicily.it taa.it tos.it toscana.it trentin-sud-tirol.it trentin-s\u00fcd-tirol.it trentin-sudtirol.it trentin-s\u00fcdtirol.it trentin-sued-tirol.it trentin-suedtirol.it trentino.it trentino-a-adige.it trentino-aadige.it trentino-alto-adige.it trentino-altoadige.it trentino-s-tirol.it trentino-stirol.it trentino-sud-tirol.it trentino-s\u00fcd-tirol.it trentino-sudtirol.it trentino-s\u00fcdtirol.it trentino-sued-tirol.it trentino-suedtirol.it trentinoa-adige.it trentinoaadige.it trentinoalto-adige.it trentinoaltoadige.it trentinos-tirol.it trentinostirol.it trentinosud-tirol.it trentinos\u00fcd-tirol.it trentinosudtirol.it trentinos\u00fcdtirol.it trentinosued-tirol.it trentinosuedtirol.it trentinsud-tirol.it trentins\u00fcd-tirol.it trentinsudtirol.it trentins\u00fcdtirol.it trentinsued-tirol.it trentinsuedtirol.it tuscany.it umb.it umbria.it val-d-aosta.it val-daosta.it vald-aosta.it valdaosta.it valle-aosta.it valle-d-aosta.it valle-daosta.it valleaosta.it valled-aosta.it valledaosta.it vallee-aoste.it vall\u00e9e-aoste.it vallee-d-aoste.it vall\u00e9e-d-aoste.it valleeaoste.it vall\u00e9eaoste.it valleedaoste.it vall\u00e9edaoste.it vao.it vda.it ven.it veneto.it ag.it agrigento.it al.it alessandria.it alto-adige.it altoadige.it an.it ancona.it andria-barletta-trani.it andria-trani-barletta.it andriabarlettatrani.it andriatranibarletta.it ao.it aosta.it aoste.it ap.it aq.it aquila.it ar.it arezzo.it ascoli-piceno.it ascolipiceno.it asti.it at.it av.it avellino.it ba.it balsan.it balsan-sudtirol.it balsan-s\u00fcdtirol.it balsan-suedtirol.it bari.it barletta-trani-andria.it barlettatraniandria.it belluno.it benevento.it bergamo.it bg.it bi.it biella.it bl.it bn.it bo.it bologna.it bolzano.it bolzano-altoadige.it bozen.it bozen-sudtirol.it bozen-s\u00fcdtirol.it bozen-suedtirol.it br.it brescia.it brindisi.it bs.it bt.it bulsan.it bulsan-sudtirol.it bulsan-s\u00fcdtirol.it bulsan-suedtirol.it bz.it ca.it cagliari.it caltanissetta.it campidano-medio.it campidanomedio.it campobasso.it carbonia-iglesias.it carboniaiglesias.it carrara-massa.it carraramassa.it caserta.it catania.it catanzaro.it cb.it ce.it cesena-forli.it cesena-forl\u00ec.it cesenaforli.it cesenaforl\u00ec.it ch.it chieti.it ci.it cl.it cn.it co.it como.it cosenza.it cr.it cremona.it crotone.it cs.it ct.it cuneo.it cz.it dell-ogliastra.it dellogliastra.it en.it enna.it fc.it fe.it fermo.it ferrara.it fg.it fi.it firenze.it florence.it fm.it foggia.it forli-cesena.it forl\u00ec-cesena.it forlicesena.it forl\u00eccesena.it fr.it frosinone.it ge.it genoa.it genova.it go.it gorizia.it gr.it grosseto.it iglesias-carbonia.it iglesiascarbonia.it im.it imperia.it is.it isernia.it kr.it la-spezia.it laquila.it laspezia.it latina.it lc.it le.it lecce.it lecco.it li.it livorno.it lo.it lodi.it lt.it lu.it lucca.it macerata.it mantova.it massa-carrara.it massacarrara.it matera.it mb.it mc.it me.it medio-campidano.it mediocampidano.it messina.it mi.it milan.it milano.it mn.it mo.it modena.it monza.it monza-brianza.it monza-e-della-brianza.it monzabrianza.it monzaebrianza.it monzaedellabrianza.it ms.it mt.it na.it naples.it napoli.it no.it novara.it nu.it nuoro.it og.it ogliastra.it olbia-tempio.it olbiatempio.it or.it oristano.it ot.it pa.it padova.it padua.it palermo.it parma.it pavia.it pc.it pd.it pe.it perugia.it pesaro-urbino.it pesarourbino.it pescara.it pg.it pi.it piacenza.it pisa.it pistoia.it pn.it po.it pordenone.it potenza.it pr.it prato.it pt.it pu.it pv.it pz.it ra.it ragusa.it ravenna.it rc.it re.it reggio-calabria.it reggio-emilia.it reggiocalabria.it reggioemilia.it rg.it ri.it rieti.it rimini.it rm.it rn.it ro.it roma.it rome.it rovigo.it sa.it salerno.it sassari.it savona.it si.it siena.it siracusa.it so.it sondrio.it sp.it sr.it ss.it s\u00fcdtirol.it suedtirol.it sv.it ta.it taranto.it te.it tempio-olbia.it tempioolbia.it teramo.it terni.it tn.it to.it torino.it tp.it tr.it trani-andria-barletta.it trani-barletta-andria.it traniandriabarletta.it tranibarlettaandria.it trapani.it trento.it treviso.it trieste.it ts.it turin.it tv.it ud.it udine.it urbino-pesaro.it urbinopesaro.it va.it varese.it vb.it vc.it ve.it venezia.it venice.it verbania.it vercelli.it verona.it vi.it vibo-valentia.it vibovalentia.it vicenza.it viterbo.it vr.it vs.it vt.it vv.it je co.je net.je org.je *.jm jo agri.jo ai.jo com.jo edu.jo eng.jo fm.jo gov.jo mil.jo net.jo org.jo per.jo phd.jo sch.jo tv.jo jobs jp ac.jp ad.jp co.jp ed.jp go.jp gr.jp lg.jp ne.jp or.jp aichi.jp akita.jp aomori.jp chiba.jp ehime.jp fukui.jp fukuoka.jp fukushima.jp gifu.jp gunma.jp hiroshima.jp hokkaido.jp hyogo.jp ibaraki.jp ishikawa.jp iwate.jp kagawa.jp kagoshima.jp kanagawa.jp kochi.jp kumamoto.jp kyoto.jp mie.jp miyagi.jp miyazaki.jp nagano.jp nagasaki.jp nara.jp niigata.jp oita.jp okayama.jp okinawa.jp osaka.jp saga.jp saitama.jp shiga.jp shimane.jp shizuoka.jp tochigi.jp tokushima.jp tokyo.jp tottori.jp toyama.jp wakayama.jp yamagata.jp yamaguchi.jp yamanashi.jp \u4e09\u91cd.jp \u4eac\u90fd.jp \u4f50\u8cc0.jp \u5175\u5eab.jp \u5317\u6d77\u9053.jp \u5343\u8449.jp \u548c\u6b4c\u5c71.jp \u57fc\u7389.jp \u5927\u5206.jp \u5927\u962a.jp \u5948\u826f.jp \u5bae\u57ce.jp \u5bae\u5d0e.jp \u5bcc\u5c71.jp \u5c71\u53e3.jp \u5c71\u5f62.jp \u5c71\u68a8.jp \u5c90\u961c.jp \u5ca1\u5c71.jp \u5ca9\u624b.jp \u5cf6\u6839.jp \u5e83\u5cf6.jp \u5fb3\u5cf6.jp \u611b\u5a9b.jp \u611b\u77e5.jp \u65b0\u6f5f.jp \u6771\u4eac.jp \u6803\u6728.jp \u6c96\u7e04.jp \u6ecb\u8cc0.jp \u718a\u672c.jp \u77f3\u5ddd.jp \u795e\u5948\u5ddd.jp \u798f\u4e95.jp \u798f\u5ca1.jp \u798f\u5cf6.jp \u79cb\u7530.jp \u7fa4\u99ac.jp \u8328\u57ce.jp \u9577\u5d0e.jp \u9577\u91ce.jp \u9752\u68ee.jp \u9759\u5ca1.jp \u9999\u5ddd.jp \u9ad8\u77e5.jp \u9ce5\u53d6.jp \u9e7f\u5150\u5cf6.jp *.kawasaki.jp !city.kawasaki.jp *.kitakyushu.jp !city.kitakyushu.jp *.kobe.jp !city.kobe.jp *.nagoya.jp !city.nagoya.jp *.sapporo.jp !city.sapporo.jp *.sendai.jp !city.sendai.jp *.yokohama.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp anjo.aichi.jp asuke.aichi.jp chiryu.aichi.jp chita.aichi.jp fuso.aichi.jp gamagori.aichi.jp handa.aichi.jp hazu.aichi.jp hekinan.aichi.jp higashiura.aichi.jp ichinomiya.aichi.jp inazawa.aichi.jp inuyama.aichi.jp isshiki.aichi.jp iwakura.aichi.jp kanie.aichi.jp kariya.aichi.jp kasugai.aichi.jp kira.aichi.jp kiyosu.aichi.jp komaki.aichi.jp konan.aichi.jp kota.aichi.jp mihama.aichi.jp miyoshi.aichi.jp nishio.aichi.jp nisshin.aichi.jp obu.aichi.jp oguchi.aichi.jp oharu.aichi.jp okazaki.aichi.jp owariasahi.aichi.jp seto.aichi.jp shikatsu.aichi.jp shinshiro.aichi.jp shitara.aichi.jp tahara.aichi.jp takahama.aichi.jp tobishima.aichi.jp toei.aichi.jp togo.aichi.jp tokai.aichi.jp tokoname.aichi.jp toyoake.aichi.jp toyohashi.aichi.jp toyokawa.aichi.jp toyone.aichi.jp toyota.aichi.jp tsushima.aichi.jp yatomi.aichi.jp akita.akita.jp daisen.akita.jp fujisato.akita.jp gojome.akita.jp hachirogata.akita.jp happou.akita.jp higashinaruse.akita.jp honjo.akita.jp honjyo.akita.jp ikawa.akita.jp kamikoani.akita.jp kamioka.akita.jp katagami.akita.jp kazuno.akita.jp kitaakita.akita.jp kosaka.akita.jp kyowa.akita.jp misato.akita.jp mitane.akita.jp moriyoshi.akita.jp nikaho.akita.jp noshiro.akita.jp odate.akita.jp oga.akita.jp ogata.akita.jp semboku.akita.jp yokote.akita.jp yurihonjo.akita.jp aomori.aomori.jp gonohe.aomori.jp hachinohe.aomori.jp hashikami.aomori.jp hiranai.aomori.jp hirosaki.aomori.jp itayanagi.aomori.jp kuroishi.aomori.jp misawa.aomori.jp mutsu.aomori.jp nakadomari.aomori.jp noheji.aomori.jp oirase.aomori.jp owani.aomori.jp rokunohe.aomori.jp sannohe.aomori.jp shichinohe.aomori.jp shingo.aomori.jp takko.aomori.jp towada.aomori.jp tsugaru.aomori.jp tsuruta.aomori.jp abiko.chiba.jp asahi.chiba.jp chonan.chiba.jp chosei.chiba.jp choshi.chiba.jp chuo.chiba.jp funabashi.chiba.jp futtsu.chiba.jp hanamigawa.chiba.jp ichihara.chiba.jp ichikawa.chiba.jp ichinomiya.chiba.jp inzai.chiba.jp isumi.chiba.jp kamagaya.chiba.jp kamogawa.chiba.jp kashiwa.chiba.jp katori.chiba.jp katsuura.chiba.jp kimitsu.chiba.jp kisarazu.chiba.jp kozaki.chiba.jp kujukuri.chiba.jp kyonan.chiba.jp matsudo.chiba.jp midori.chiba.jp mihama.chiba.jp minamiboso.chiba.jp mobara.chiba.jp mutsuzawa.chiba.jp nagara.chiba.jp nagareyama.chiba.jp narashino.chiba.jp narita.chiba.jp noda.chiba.jp oamishirasato.chiba.jp omigawa.chiba.jp onjuku.chiba.jp otaki.chiba.jp sakae.chiba.jp sakura.chiba.jp shimofusa.chiba.jp shirako.chiba.jp shiroi.chiba.jp shisui.chiba.jp sodegaura.chiba.jp sosa.chiba.jp tako.chiba.jp tateyama.chiba.jp togane.chiba.jp tohnosho.chiba.jp tomisato.chiba.jp urayasu.chiba.jp yachimata.chiba.jp yachiyo.chiba.jp yokaichiba.chiba.jp yokoshibahikari.chiba.jp yotsukaido.chiba.jp ainan.ehime.jp honai.ehime.jp ikata.ehime.jp imabari.ehime.jp iyo.ehime.jp kamijima.ehime.jp kihoku.ehime.jp kumakogen.ehime.jp masaki.ehime.jp matsuno.ehime.jp matsuyama.ehime.jp namikata.ehime.jp niihama.ehime.jp ozu.ehime.jp saijo.ehime.jp seiyo.ehime.jp shikokuchuo.ehime.jp tobe.ehime.jp toon.ehime.jp uchiko.ehime.jp uwajima.ehime.jp yawatahama.ehime.jp echizen.fukui.jp eiheiji.fukui.jp fukui.fukui.jp ikeda.fukui.jp katsuyama.fukui.jp mihama.fukui.jp minamiechizen.fukui.jp obama.fukui.jp ohi.fukui.jp ono.fukui.jp sabae.fukui.jp sakai.fukui.jp takahama.fukui.jp tsuruga.fukui.jp wakasa.fukui.jp ashiya.fukuoka.jp buzen.fukuoka.jp chikugo.fukuoka.jp chikuho.fukuoka.jp chikujo.fukuoka.jp chikushino.fukuoka.jp chikuzen.fukuoka.jp chuo.fukuoka.jp dazaifu.fukuoka.jp fukuchi.fukuoka.jp hakata.fukuoka.jp higashi.fukuoka.jp hirokawa.fukuoka.jp hisayama.fukuoka.jp iizuka.fukuoka.jp inatsuki.fukuoka.jp kaho.fukuoka.jp kasuga.fukuoka.jp kasuya.fukuoka.jp kawara.fukuoka.jp keisen.fukuoka.jp koga.fukuoka.jp kurate.fukuoka.jp kurogi.fukuoka.jp kurume.fukuoka.jp minami.fukuoka.jp miyako.fukuoka.jp miyama.fukuoka.jp miyawaka.fukuoka.jp mizumaki.fukuoka.jp munakata.fukuoka.jp nakagawa.fukuoka.jp nakama.fukuoka.jp nishi.fukuoka.jp nogata.fukuoka.jp ogori.fukuoka.jp okagaki.fukuoka.jp okawa.fukuoka.jp oki.fukuoka.jp omuta.fukuoka.jp onga.fukuoka.jp onojo.fukuoka.jp oto.fukuoka.jp saigawa.fukuoka.jp sasaguri.fukuoka.jp shingu.fukuoka.jp shinyoshitomi.fukuoka.jp shonai.fukuoka.jp soeda.fukuoka.jp sue.fukuoka.jp tachiarai.fukuoka.jp tagawa.fukuoka.jp takata.fukuoka.jp toho.fukuoka.jp toyotsu.fukuoka.jp tsuiki.fukuoka.jp ukiha.fukuoka.jp umi.fukuoka.jp usui.fukuoka.jp yamada.fukuoka.jp yame.fukuoka.jp yanagawa.fukuoka.jp yukuhashi.fukuoka.jp aizubange.fukushima.jp aizumisato.fukushima.jp aizuwakamatsu.fukushima.jp asakawa.fukushima.jp bandai.fukushima.jp date.fukushima.jp fukushima.fukushima.jp furudono.fukushima.jp futaba.fukushima.jp hanawa.fukushima.jp higashi.fukushima.jp hirata.fukushima.jp hirono.fukushima.jp iitate.fukushima.jp inawashiro.fukushima.jp ishikawa.fukushima.jp iwaki.fukushima.jp izumizaki.fukushima.jp kagamiishi.fukushima.jp kaneyama.fukushima.jp kawamata.fukushima.jp kitakata.fukushima.jp kitashiobara.fukushima.jp koori.fukushima.jp koriyama.fukushima.jp kunimi.fukushima.jp miharu.fukushima.jp mishima.fukushima.jp namie.fukushima.jp nango.fukushima.jp nishiaizu.fukushima.jp nishigo.fukushima.jp okuma.fukushima.jp omotego.fukushima.jp ono.fukushima.jp otama.fukushima.jp samegawa.fukushima.jp shimogo.fukushima.jp shirakawa.fukushima.jp showa.fukushima.jp soma.fukushima.jp sukagawa.fukushima.jp taishin.fukushima.jp tamakawa.fukushima.jp tanagura.fukushima.jp tenei.fukushima.jp yabuki.fukushima.jp yamato.fukushima.jp yamatsuri.fukushima.jp yanaizu.fukushima.jp yugawa.fukushima.jp anpachi.gifu.jp ena.gifu.jp gifu.gifu.jp ginan.gifu.jp godo.gifu.jp gujo.gifu.jp hashima.gifu.jp hichiso.gifu.jp hida.gifu.jp higashishirakawa.gifu.jp ibigawa.gifu.jp ikeda.gifu.jp kakamigahara.gifu.jp kani.gifu.jp kasahara.gifu.jp kasamatsu.gifu.jp kawaue.gifu.jp kitagata.gifu.jp mino.gifu.jp minokamo.gifu.jp mitake.gifu.jp mizunami.gifu.jp motosu.gifu.jp nakatsugawa.gifu.jp ogaki.gifu.jp sakahogi.gifu.jp seki.gifu.jp sekigahara.gifu.jp shirakawa.gifu.jp tajimi.gifu.jp takayama.gifu.jp tarui.gifu.jp toki.gifu.jp tomika.gifu.jp wanouchi.gifu.jp yamagata.gifu.jp yaotsu.gifu.jp yoro.gifu.jp annaka.gunma.jp chiyoda.gunma.jp fujioka.gunma.jp higashiagatsuma.gunma.jp isesaki.gunma.jp itakura.gunma.jp kanna.gunma.jp kanra.gunma.jp katashina.gunma.jp kawaba.gunma.jp kiryu.gunma.jp kusatsu.gunma.jp maebashi.gunma.jp meiwa.gunma.jp midori.gunma.jp minakami.gunma.jp naganohara.gunma.jp nakanojo.gunma.jp nanmoku.gunma.jp numata.gunma.jp oizumi.gunma.jp ora.gunma.jp ota.gunma.jp shibukawa.gunma.jp shimonita.gunma.jp shinto.gunma.jp showa.gunma.jp takasaki.gunma.jp takayama.gunma.jp tamamura.gunma.jp tatebayashi.gunma.jp tomioka.gunma.jp tsukiyono.gunma.jp tsumagoi.gunma.jp ueno.gunma.jp yoshioka.gunma.jp asaminami.hiroshima.jp daiwa.hiroshima.jp etajima.hiroshima.jp fuchu.hiroshima.jp fukuyama.hiroshima.jp hatsukaichi.hiroshima.jp higashihiroshima.hiroshima.jp hongo.hiroshima.jp jinsekikogen.hiroshima.jp kaita.hiroshima.jp kui.hiroshima.jp kumano.hiroshima.jp kure.hiroshima.jp mihara.hiroshima.jp miyoshi.hiroshima.jp naka.hiroshima.jp onomichi.hiroshima.jp osakikamijima.hiroshima.jp otake.hiroshima.jp saka.hiroshima.jp sera.hiroshima.jp seranishi.hiroshima.jp shinichi.hiroshima.jp shobara.hiroshima.jp takehara.hiroshima.jp abashiri.hokkaido.jp abira.hokkaido.jp aibetsu.hokkaido.jp akabira.hokkaido.jp akkeshi.hokkaido.jp asahikawa.hokkaido.jp ashibetsu.hokkaido.jp ashoro.hokkaido.jp assabu.hokkaido.jp atsuma.hokkaido.jp bibai.hokkaido.jp biei.hokkaido.jp bifuka.hokkaido.jp bihoro.hokkaido.jp biratori.hokkaido.jp chippubetsu.hokkaido.jp chitose.hokkaido.jp date.hokkaido.jp ebetsu.hokkaido.jp embetsu.hokkaido.jp eniwa.hokkaido.jp erimo.hokkaido.jp esan.hokkaido.jp esashi.hokkaido.jp fukagawa.hokkaido.jp fukushima.hokkaido.jp furano.hokkaido.jp furubira.hokkaido.jp haboro.hokkaido.jp hakodate.hokkaido.jp hamatonbetsu.hokkaido.jp hidaka.hokkaido.jp higashikagura.hokkaido.jp higashikawa.hokkaido.jp hiroo.hokkaido.jp hokuryu.hokkaido.jp hokuto.hokkaido.jp honbetsu.hokkaido.jp horokanai.hokkaido.jp horonobe.hokkaido.jp ikeda.hokkaido.jp imakane.hokkaido.jp ishikari.hokkaido.jp iwamizawa.hokkaido.jp iwanai.hokkaido.jp kamifurano.hokkaido.jp kamikawa.hokkaido.jp kamishihoro.hokkaido.jp kamisunagawa.hokkaido.jp kamoenai.hokkaido.jp kayabe.hokkaido.jp kembuchi.hokkaido.jp kikonai.hokkaido.jp kimobetsu.hokkaido.jp kitahiroshima.hokkaido.jp kitami.hokkaido.jp kiyosato.hokkaido.jp koshimizu.hokkaido.jp kunneppu.hokkaido.jp kuriyama.hokkaido.jp kuromatsunai.hokkaido.jp kushiro.hokkaido.jp kutchan.hokkaido.jp kyowa.hokkaido.jp mashike.hokkaido.jp matsumae.hokkaido.jp mikasa.hokkaido.jp minamifurano.hokkaido.jp mombetsu.hokkaido.jp moseushi.hokkaido.jp mukawa.hokkaido.jp muroran.hokkaido.jp naie.hokkaido.jp nakagawa.hokkaido.jp nakasatsunai.hokkaido.jp nakatombetsu.hokkaido.jp nanae.hokkaido.jp nanporo.hokkaido.jp nayoro.hokkaido.jp nemuro.hokkaido.jp niikappu.hokkaido.jp niki.hokkaido.jp nishiokoppe.hokkaido.jp noboribetsu.hokkaido.jp numata.hokkaido.jp obihiro.hokkaido.jp obira.hokkaido.jp oketo.hokkaido.jp okoppe.hokkaido.jp otaru.hokkaido.jp otobe.hokkaido.jp otofuke.hokkaido.jp otoineppu.hokkaido.jp oumu.hokkaido.jp ozora.hokkaido.jp pippu.hokkaido.jp rankoshi.hokkaido.jp rebun.hokkaido.jp rikubetsu.hokkaido.jp rishiri.hokkaido.jp rishirifuji.hokkaido.jp saroma.hokkaido.jp sarufutsu.hokkaido.jp shakotan.hokkaido.jp shari.hokkaido.jp shibecha.hokkaido.jp shibetsu.hokkaido.jp shikabe.hokkaido.jp shikaoi.hokkaido.jp shimamaki.hokkaido.jp shimizu.hokkaido.jp shimokawa.hokkaido.jp shinshinotsu.hokkaido.jp shintoku.hokkaido.jp shiranuka.hokkaido.jp shiraoi.hokkaido.jp shiriuchi.hokkaido.jp sobetsu.hokkaido.jp sunagawa.hokkaido.jp taiki.hokkaido.jp takasu.hokkaido.jp takikawa.hokkaido.jp takinoue.hokkaido.jp teshikaga.hokkaido.jp tobetsu.hokkaido.jp tohma.hokkaido.jp tomakomai.hokkaido.jp tomari.hokkaido.jp toya.hokkaido.jp toyako.hokkaido.jp toyotomi.hokkaido.jp toyoura.hokkaido.jp tsubetsu.hokkaido.jp tsukigata.hokkaido.jp urakawa.hokkaido.jp urausu.hokkaido.jp uryu.hokkaido.jp utashinai.hokkaido.jp wakkanai.hokkaido.jp wassamu.hokkaido.jp yakumo.hokkaido.jp yoichi.hokkaido.jp aioi.hyogo.jp akashi.hyogo.jp ako.hyogo.jp amagasaki.hyogo.jp aogaki.hyogo.jp asago.hyogo.jp ashiya.hyogo.jp awaji.hyogo.jp fukusaki.hyogo.jp goshiki.hyogo.jp harima.hyogo.jp himeji.hyogo.jp ichikawa.hyogo.jp inagawa.hyogo.jp itami.hyogo.jp kakogawa.hyogo.jp kamigori.hyogo.jp kamikawa.hyogo.jp kasai.hyogo.jp kasuga.hyogo.jp kawanishi.hyogo.jp miki.hyogo.jp minamiawaji.hyogo.jp nishinomiya.hyogo.jp nishiwaki.hyogo.jp ono.hyogo.jp sanda.hyogo.jp sannan.hyogo.jp sasayama.hyogo.jp sayo.hyogo.jp shingu.hyogo.jp shinonsen.hyogo.jp shiso.hyogo.jp sumoto.hyogo.jp taishi.hyogo.jp taka.hyogo.jp takarazuka.hyogo.jp takasago.hyogo.jp takino.hyogo.jp tamba.hyogo.jp tatsuno.hyogo.jp toyooka.hyogo.jp yabu.hyogo.jp yashiro.hyogo.jp yoka.hyogo.jp yokawa.hyogo.jp ami.ibaraki.jp asahi.ibaraki.jp bando.ibaraki.jp chikusei.ibaraki.jp daigo.ibaraki.jp fujishiro.ibaraki.jp hitachi.ibaraki.jp hitachinaka.ibaraki.jp hitachiomiya.ibaraki.jp hitachiota.ibaraki.jp ibaraki.ibaraki.jp ina.ibaraki.jp inashiki.ibaraki.jp itako.ibaraki.jp iwama.ibaraki.jp joso.ibaraki.jp kamisu.ibaraki.jp kasama.ibaraki.jp kashima.ibaraki.jp kasumigaura.ibaraki.jp koga.ibaraki.jp miho.ibaraki.jp mito.ibaraki.jp moriya.ibaraki.jp naka.ibaraki.jp namegata.ibaraki.jp oarai.ibaraki.jp ogawa.ibaraki.jp omitama.ibaraki.jp ryugasaki.ibaraki.jp sakai.ibaraki.jp sakuragawa.ibaraki.jp shimodate.ibaraki.jp shimotsuma.ibaraki.jp shirosato.ibaraki.jp sowa.ibaraki.jp suifu.ibaraki.jp takahagi.ibaraki.jp tamatsukuri.ibaraki.jp tokai.ibaraki.jp tomobe.ibaraki.jp tone.ibaraki.jp toride.ibaraki.jp tsuchiura.ibaraki.jp tsukuba.ibaraki.jp uchihara.ibaraki.jp ushiku.ibaraki.jp yachiyo.ibaraki.jp yamagata.ibaraki.jp yawara.ibaraki.jp yuki.ibaraki.jp anamizu.ishikawa.jp hakui.ishikawa.jp hakusan.ishikawa.jp kaga.ishikawa.jp kahoku.ishikawa.jp kanazawa.ishikawa.jp kawakita.ishikawa.jp komatsu.ishikawa.jp nakanoto.ishikawa.jp nanao.ishikawa.jp nomi.ishikawa.jp nonoichi.ishikawa.jp noto.ishikawa.jp shika.ishikawa.jp suzu.ishikawa.jp tsubata.ishikawa.jp tsurugi.ishikawa.jp uchinada.ishikawa.jp wajima.ishikawa.jp fudai.iwate.jp fujisawa.iwate.jp hanamaki.iwate.jp hiraizumi.iwate.jp hirono.iwate.jp ichinohe.iwate.jp ichinoseki.iwate.jp iwaizumi.iwate.jp iwate.iwate.jp joboji.iwate.jp kamaishi.iwate.jp kanegasaki.iwate.jp karumai.iwate.jp kawai.iwate.jp kitakami.iwate.jp kuji.iwate.jp kunohe.iwate.jp kuzumaki.iwate.jp miyako.iwate.jp mizusawa.iwate.jp morioka.iwate.jp ninohe.iwate.jp noda.iwate.jp ofunato.iwate.jp oshu.iwate.jp otsuchi.iwate.jp rikuzentakata.iwate.jp shiwa.iwate.jp shizukuishi.iwate.jp sumita.iwate.jp tanohata.iwate.jp tono.iwate.jp yahaba.iwate.jp yamada.iwate.jp ayagawa.kagawa.jp higashikagawa.kagawa.jp kanonji.kagawa.jp kotohira.kagawa.jp manno.kagawa.jp marugame.kagawa.jp mitoyo.kagawa.jp naoshima.kagawa.jp sanuki.kagawa.jp tadotsu.kagawa.jp takamatsu.kagawa.jp tonosho.kagawa.jp uchinomi.kagawa.jp utazu.kagawa.jp zentsuji.kagawa.jp akune.kagoshima.jp amami.kagoshima.jp hioki.kagoshima.jp isa.kagoshima.jp isen.kagoshima.jp izumi.kagoshima.jp kagoshima.kagoshima.jp kanoya.kagoshima.jp kawanabe.kagoshima.jp kinko.kagoshima.jp kouyama.kagoshima.jp makurazaki.kagoshima.jp matsumoto.kagoshima.jp minamitane.kagoshima.jp nakatane.kagoshima.jp nishinoomote.kagoshima.jp satsumasendai.kagoshima.jp soo.kagoshima.jp tarumizu.kagoshima.jp yusui.kagoshima.jp aikawa.kanagawa.jp atsugi.kanagawa.jp ayase.kanagawa.jp chigasaki.kanagawa.jp ebina.kanagawa.jp fujisawa.kanagawa.jp hadano.kanagawa.jp hakone.kanagawa.jp hiratsuka.kanagawa.jp isehara.kanagawa.jp kaisei.kanagawa.jp kamakura.kanagawa.jp kiyokawa.kanagawa.jp matsuda.kanagawa.jp minamiashigara.kanagawa.jp miura.kanagawa.jp nakai.kanagawa.jp ninomiya.kanagawa.jp odawara.kanagawa.jp oi.kanagawa.jp oiso.kanagawa.jp sagamihara.kanagawa.jp samukawa.kanagawa.jp tsukui.kanagawa.jp yamakita.kanagawa.jp yamato.kanagawa.jp yokosuka.kanagawa.jp yugawara.kanagawa.jp zama.kanagawa.jp zushi.kanagawa.jp aki.kochi.jp geisei.kochi.jp hidaka.kochi.jp higashitsuno.kochi.jp ino.kochi.jp kagami.kochi.jp kami.kochi.jp kitagawa.kochi.jp kochi.kochi.jp mihara.kochi.jp motoyama.kochi.jp muroto.kochi.jp nahari.kochi.jp nakamura.kochi.jp nankoku.kochi.jp nishitosa.kochi.jp niyodogawa.kochi.jp ochi.kochi.jp okawa.kochi.jp otoyo.kochi.jp otsuki.kochi.jp sakawa.kochi.jp sukumo.kochi.jp susaki.kochi.jp tosa.kochi.jp tosashimizu.kochi.jp toyo.kochi.jp tsuno.kochi.jp umaji.kochi.jp yasuda.kochi.jp yusuhara.kochi.jp amakusa.kumamoto.jp arao.kumamoto.jp aso.kumamoto.jp choyo.kumamoto.jp gyokuto.kumamoto.jp kamiamakusa.kumamoto.jp kikuchi.kumamoto.jp kumamoto.kumamoto.jp mashiki.kumamoto.jp mifune.kumamoto.jp minamata.kumamoto.jp minamioguni.kumamoto.jp nagasu.kumamoto.jp nishihara.kumamoto.jp oguni.kumamoto.jp ozu.kumamoto.jp sumoto.kumamoto.jp takamori.kumamoto.jp uki.kumamoto.jp uto.kumamoto.jp yamaga.kumamoto.jp yamato.kumamoto.jp yatsushiro.kumamoto.jp ayabe.kyoto.jp fukuchiyama.kyoto.jp higashiyama.kyoto.jp ide.kyoto.jp ine.kyoto.jp joyo.kyoto.jp kameoka.kyoto.jp kamo.kyoto.jp kita.kyoto.jp kizu.kyoto.jp kumiyama.kyoto.jp kyotamba.kyoto.jp kyotanabe.kyoto.jp kyotango.kyoto.jp maizuru.kyoto.jp minami.kyoto.jp minamiyamashiro.kyoto.jp miyazu.kyoto.jp muko.kyoto.jp nagaokakyo.kyoto.jp nakagyo.kyoto.jp nantan.kyoto.jp oyamazaki.kyoto.jp sakyo.kyoto.jp seika.kyoto.jp tanabe.kyoto.jp uji.kyoto.jp ujitawara.kyoto.jp wazuka.kyoto.jp yamashina.kyoto.jp yawata.kyoto.jp asahi.mie.jp inabe.mie.jp ise.mie.jp kameyama.mie.jp kawagoe.mie.jp kiho.mie.jp kisosaki.mie.jp kiwa.mie.jp komono.mie.jp kumano.mie.jp kuwana.mie.jp matsusaka.mie.jp meiwa.mie.jp mihama.mie.jp minamiise.mie.jp misugi.mie.jp miyama.mie.jp nabari.mie.jp shima.mie.jp suzuka.mie.jp tado.mie.jp taiki.mie.jp taki.mie.jp tamaki.mie.jp toba.mie.jp tsu.mie.jp udono.mie.jp ureshino.mie.jp watarai.mie.jp yokkaichi.mie.jp furukawa.miyagi.jp higashimatsushima.miyagi.jp ishinomaki.miyagi.jp iwanuma.miyagi.jp kakuda.miyagi.jp kami.miyagi.jp kawasaki.miyagi.jp marumori.miyagi.jp matsushima.miyagi.jp minamisanriku.miyagi.jp misato.miyagi.jp murata.miyagi.jp natori.miyagi.jp ogawara.miyagi.jp ohira.miyagi.jp onagawa.miyagi.jp osaki.miyagi.jp rifu.miyagi.jp semine.miyagi.jp shibata.miyagi.jp shichikashuku.miyagi.jp shikama.miyagi.jp shiogama.miyagi.jp shiroishi.miyagi.jp tagajo.miyagi.jp taiwa.miyagi.jp tome.miyagi.jp tomiya.miyagi.jp wakuya.miyagi.jp watari.miyagi.jp yamamoto.miyagi.jp zao.miyagi.jp aya.miyazaki.jp ebino.miyazaki.jp gokase.miyazaki.jp hyuga.miyazaki.jp kadogawa.miyazaki.jp kawaminami.miyazaki.jp kijo.miyazaki.jp kitagawa.miyazaki.jp kitakata.miyazaki.jp kitaura.miyazaki.jp kobayashi.miyazaki.jp kunitomi.miyazaki.jp kushima.miyazaki.jp mimata.miyazaki.jp miyakonojo.miyazaki.jp miyazaki.miyazaki.jp morotsuka.miyazaki.jp nichinan.miyazaki.jp nishimera.miyazaki.jp nobeoka.miyazaki.jp saito.miyazaki.jp shiiba.miyazaki.jp shintomi.miyazaki.jp takaharu.miyazaki.jp takanabe.miyazaki.jp takazaki.miyazaki.jp tsuno.miyazaki.jp achi.nagano.jp agematsu.nagano.jp anan.nagano.jp aoki.nagano.jp asahi.nagano.jp azumino.nagano.jp chikuhoku.nagano.jp chikuma.nagano.jp chino.nagano.jp fujimi.nagano.jp hakuba.nagano.jp hara.nagano.jp hiraya.nagano.jp iida.nagano.jp iijima.nagano.jp iiyama.nagano.jp iizuna.nagano.jp ikeda.nagano.jp ikusaka.nagano.jp ina.nagano.jp karuizawa.nagano.jp kawakami.nagano.jp kiso.nagano.jp kisofukushima.nagano.jp kitaaiki.nagano.jp komagane.nagano.jp komoro.nagano.jp matsukawa.nagano.jp matsumoto.nagano.jp miasa.nagano.jp minamiaiki.nagano.jp minamimaki.nagano.jp minamiminowa.nagano.jp minowa.nagano.jp miyada.nagano.jp miyota.nagano.jp mochizuki.nagano.jp nagano.nagano.jp nagawa.nagano.jp nagiso.nagano.jp nakagawa.nagano.jp nakano.nagano.jp nozawaonsen.nagano.jp obuse.nagano.jp ogawa.nagano.jp okaya.nagano.jp omachi.nagano.jp omi.nagano.jp ookuwa.nagano.jp ooshika.nagano.jp otaki.nagano.jp otari.nagano.jp sakae.nagano.jp sakaki.nagano.jp saku.nagano.jp sakuho.nagano.jp shimosuwa.nagano.jp shinanomachi.nagano.jp shiojiri.nagano.jp suwa.nagano.jp suzaka.nagano.jp takagi.nagano.jp takamori.nagano.jp takayama.nagano.jp tateshina.nagano.jp tatsuno.nagano.jp togakushi.nagano.jp togura.nagano.jp tomi.nagano.jp ueda.nagano.jp wada.nagano.jp yamagata.nagano.jp yamanouchi.nagano.jp yasaka.nagano.jp yasuoka.nagano.jp chijiwa.nagasaki.jp futsu.nagasaki.jp goto.nagasaki.jp hasami.nagasaki.jp hirado.nagasaki.jp iki.nagasaki.jp isahaya.nagasaki.jp kawatana.nagasaki.jp kuchinotsu.nagasaki.jp matsuura.nagasaki.jp nagasaki.nagasaki.jp obama.nagasaki.jp omura.nagasaki.jp oseto.nagasaki.jp saikai.nagasaki.jp sasebo.nagasaki.jp seihi.nagasaki.jp shimabara.nagasaki.jp shinkamigoto.nagasaki.jp togitsu.nagasaki.jp tsushima.nagasaki.jp unzen.nagasaki.jp ando.nara.jp gose.nara.jp heguri.nara.jp higashiyoshino.nara.jp ikaruga.nara.jp ikoma.nara.jp kamikitayama.nara.jp kanmaki.nara.jp kashiba.nara.jp kashihara.nara.jp katsuragi.nara.jp kawai.nara.jp kawakami.nara.jp kawanishi.nara.jp koryo.nara.jp kurotaki.nara.jp mitsue.nara.jp miyake.nara.jp nara.nara.jp nosegawa.nara.jp oji.nara.jp ouda.nara.jp oyodo.nara.jp sakurai.nara.jp sango.nara.jp shimoichi.nara.jp shimokitayama.nara.jp shinjo.nara.jp soni.nara.jp takatori.nara.jp tawaramoto.nara.jp tenkawa.nara.jp tenri.nara.jp uda.nara.jp yamatokoriyama.nara.jp yamatotakada.nara.jp yamazoe.nara.jp yoshino.nara.jp aga.niigata.jp agano.niigata.jp gosen.niigata.jp itoigawa.niigata.jp izumozaki.niigata.jp joetsu.niigata.jp kamo.niigata.jp kariwa.niigata.jp kashiwazaki.niigata.jp minamiuonuma.niigata.jp mitsuke.niigata.jp muika.niigata.jp murakami.niigata.jp myoko.niigata.jp nagaoka.niigata.jp niigata.niigata.jp ojiya.niigata.jp omi.niigata.jp sado.niigata.jp sanjo.niigata.jp seiro.niigata.jp seirou.niigata.jp sekikawa.niigata.jp shibata.niigata.jp tagami.niigata.jp tainai.niigata.jp tochio.niigata.jp tokamachi.niigata.jp tsubame.niigata.jp tsunan.niigata.jp uonuma.niigata.jp yahiko.niigata.jp yoita.niigata.jp yuzawa.niigata.jp beppu.oita.jp bungoono.oita.jp bungotakada.oita.jp hasama.oita.jp hiji.oita.jp himeshima.oita.jp hita.oita.jp kamitsue.oita.jp kokonoe.oita.jp kuju.oita.jp kunisaki.oita.jp kusu.oita.jp oita.oita.jp saiki.oita.jp taketa.oita.jp tsukumi.oita.jp usa.oita.jp usuki.oita.jp yufu.oita.jp akaiwa.okayama.jp asakuchi.okayama.jp bizen.okayama.jp hayashima.okayama.jp ibara.okayama.jp kagamino.okayama.jp kasaoka.okayama.jp kibichuo.okayama.jp kumenan.okayama.jp kurashiki.okayama.jp maniwa.okayama.jp misaki.okayama.jp nagi.okayama.jp niimi.okayama.jp nishiawakura.okayama.jp okayama.okayama.jp satosho.okayama.jp setouchi.okayama.jp shinjo.okayama.jp shoo.okayama.jp soja.okayama.jp takahashi.okayama.jp tamano.okayama.jp tsuyama.okayama.jp wake.okayama.jp yakage.okayama.jp aguni.okinawa.jp ginowan.okinawa.jp ginoza.okinawa.jp gushikami.okinawa.jp haebaru.okinawa.jp higashi.okinawa.jp hirara.okinawa.jp iheya.okinawa.jp ishigaki.okinawa.jp ishikawa.okinawa.jp itoman.okinawa.jp izena.okinawa.jp kadena.okinawa.jp kin.okinawa.jp kitadaito.okinawa.jp kitanakagusuku.okinawa.jp kumejima.okinawa.jp kunigami.okinawa.jp minamidaito.okinawa.jp motobu.okinawa.jp nago.okinawa.jp naha.okinawa.jp nakagusuku.okinawa.jp nakijin.okinawa.jp nanjo.okinawa.jp nishihara.okinawa.jp ogimi.okinawa.jp okinawa.okinawa.jp onna.okinawa.jp shimoji.okinawa.jp taketomi.okinawa.jp tarama.okinawa.jp tokashiki.okinawa.jp tomigusuku.okinawa.jp tonaki.okinawa.jp urasoe.okinawa.jp uruma.okinawa.jp yaese.okinawa.jp yomitan.okinawa.jp yonabaru.okinawa.jp yonaguni.okinawa.jp zamami.okinawa.jp abeno.osaka.jp chihayaakasaka.osaka.jp chuo.osaka.jp daito.osaka.jp fujiidera.osaka.jp habikino.osaka.jp hannan.osaka.jp higashiosaka.osaka.jp higashisumiyoshi.osaka.jp higashiyodogawa.osaka.jp hirakata.osaka.jp ibaraki.osaka.jp ikeda.osaka.jp izumi.osaka.jp izumiotsu.osaka.jp izumisano.osaka.jp kadoma.osaka.jp kaizuka.osaka.jp kanan.osaka.jp kashiwara.osaka.jp katano.osaka.jp kawachinagano.osaka.jp kishiwada.osaka.jp kita.osaka.jp kumatori.osaka.jp matsubara.osaka.jp minato.osaka.jp minoh.osaka.jp misaki.osaka.jp moriguchi.osaka.jp neyagawa.osaka.jp nishi.osaka.jp nose.osaka.jp osakasayama.osaka.jp sakai.osaka.jp sayama.osaka.jp sennan.osaka.jp settsu.osaka.jp shijonawate.osaka.jp shimamoto.osaka.jp suita.osaka.jp tadaoka.osaka.jp taishi.osaka.jp tajiri.osaka.jp takaishi.osaka.jp takatsuki.osaka.jp tondabayashi.osaka.jp toyonaka.osaka.jp toyono.osaka.jp yao.osaka.jp ariake.saga.jp arita.saga.jp fukudomi.saga.jp genkai.saga.jp hamatama.saga.jp hizen.saga.jp imari.saga.jp kamimine.saga.jp kanzaki.saga.jp karatsu.saga.jp kashima.saga.jp kitagata.saga.jp kitahata.saga.jp kiyama.saga.jp kouhoku.saga.jp kyuragi.saga.jp nishiarita.saga.jp ogi.saga.jp omachi.saga.jp ouchi.saga.jp saga.saga.jp shiroishi.saga.jp taku.saga.jp tara.saga.jp tosu.saga.jp yoshinogari.saga.jp arakawa.saitama.jp asaka.saitama.jp chichibu.saitama.jp fujimi.saitama.jp fujimino.saitama.jp fukaya.saitama.jp hanno.saitama.jp hanyu.saitama.jp hasuda.saitama.jp hatogaya.saitama.jp hatoyama.saitama.jp hidaka.saitama.jp higashichichibu.saitama.jp higashimatsuyama.saitama.jp honjo.saitama.jp ina.saitama.jp iruma.saitama.jp iwatsuki.saitama.jp kamiizumi.saitama.jp kamikawa.saitama.jp kamisato.saitama.jp kasukabe.saitama.jp kawagoe.saitama.jp kawaguchi.saitama.jp kawajima.saitama.jp kazo.saitama.jp kitamoto.saitama.jp koshigaya.saitama.jp kounosu.saitama.jp kuki.saitama.jp kumagaya.saitama.jp matsubushi.saitama.jp minano.saitama.jp misato.saitama.jp miyashiro.saitama.jp miyoshi.saitama.jp moroyama.saitama.jp nagatoro.saitama.jp namegawa.saitama.jp niiza.saitama.jp ogano.saitama.jp ogawa.saitama.jp ogose.saitama.jp okegawa.saitama.jp omiya.saitama.jp otaki.saitama.jp ranzan.saitama.jp ryokami.saitama.jp saitama.saitama.jp sakado.saitama.jp satte.saitama.jp sayama.saitama.jp shiki.saitama.jp shiraoka.saitama.jp soka.saitama.jp sugito.saitama.jp toda.saitama.jp tokigawa.saitama.jp tokorozawa.saitama.jp tsurugashima.saitama.jp urawa.saitama.jp warabi.saitama.jp yashio.saitama.jp yokoze.saitama.jp yono.saitama.jp yorii.saitama.jp yoshida.saitama.jp yoshikawa.saitama.jp yoshimi.saitama.jp aisho.shiga.jp gamo.shiga.jp higashiomi.shiga.jp hikone.shiga.jp koka.shiga.jp konan.shiga.jp kosei.shiga.jp koto.shiga.jp kusatsu.shiga.jp maibara.shiga.jp moriyama.shiga.jp nagahama.shiga.jp nishiazai.shiga.jp notogawa.shiga.jp omihachiman.shiga.jp otsu.shiga.jp ritto.shiga.jp ryuoh.shiga.jp takashima.shiga.jp takatsuki.shiga.jp torahime.shiga.jp toyosato.shiga.jp yasu.shiga.jp akagi.shimane.jp ama.shimane.jp gotsu.shimane.jp hamada.shimane.jp higashiizumo.shimane.jp hikawa.shimane.jp hikimi.shimane.jp izumo.shimane.jp kakinoki.shimane.jp masuda.shimane.jp matsue.shimane.jp misato.shimane.jp nishinoshima.shimane.jp ohda.shimane.jp okinoshima.shimane.jp okuizumo.shimane.jp shimane.shimane.jp tamayu.shimane.jp tsuwano.shimane.jp unnan.shimane.jp yakumo.shimane.jp yasugi.shimane.jp yatsuka.shimane.jp arai.shizuoka.jp atami.shizuoka.jp fuji.shizuoka.jp fujieda.shizuoka.jp fujikawa.shizuoka.jp fujinomiya.shizuoka.jp fukuroi.shizuoka.jp gotemba.shizuoka.jp haibara.shizuoka.jp hamamatsu.shizuoka.jp higashiizu.shizuoka.jp ito.shizuoka.jp iwata.shizuoka.jp izu.shizuoka.jp izunokuni.shizuoka.jp kakegawa.shizuoka.jp kannami.shizuoka.jp kawanehon.shizuoka.jp kawazu.shizuoka.jp kikugawa.shizuoka.jp kosai.shizuoka.jp makinohara.shizuoka.jp matsuzaki.shizuoka.jp minamiizu.shizuoka.jp mishima.shizuoka.jp morimachi.shizuoka.jp nishiizu.shizuoka.jp numazu.shizuoka.jp omaezaki.shizuoka.jp shimada.shizuoka.jp shimizu.shizuoka.jp shimoda.shizuoka.jp shizuoka.shizuoka.jp susono.shizuoka.jp yaizu.shizuoka.jp yoshida.shizuoka.jp ashikaga.tochigi.jp bato.tochigi.jp haga.tochigi.jp ichikai.tochigi.jp iwafune.tochigi.jp kaminokawa.tochigi.jp kanuma.tochigi.jp karasuyama.tochigi.jp kuroiso.tochigi.jp mashiko.tochigi.jp mibu.tochigi.jp moka.tochigi.jp motegi.tochigi.jp nasu.tochigi.jp nasushiobara.tochigi.jp nikko.tochigi.jp nishikata.tochigi.jp nogi.tochigi.jp ohira.tochigi.jp ohtawara.tochigi.jp oyama.tochigi.jp sakura.tochigi.jp sano.tochigi.jp shimotsuke.tochigi.jp shioya.tochigi.jp takanezawa.tochigi.jp tochigi.tochigi.jp tsuga.tochigi.jp ujiie.tochigi.jp utsunomiya.tochigi.jp yaita.tochigi.jp aizumi.tokushima.jp anan.tokushima.jp ichiba.tokushima.jp itano.tokushima.jp kainan.tokushima.jp komatsushima.tokushima.jp matsushige.tokushima.jp mima.tokushima.jp minami.tokushima.jp miyoshi.tokushima.jp mugi.tokushima.jp nakagawa.tokushima.jp naruto.tokushima.jp sanagochi.tokushima.jp shishikui.tokushima.jp tokushima.tokushima.jp wajiki.tokushima.jp adachi.tokyo.jp akiruno.tokyo.jp akishima.tokyo.jp aogashima.tokyo.jp arakawa.tokyo.jp bunkyo.tokyo.jp chiyoda.tokyo.jp chofu.tokyo.jp chuo.tokyo.jp edogawa.tokyo.jp fuchu.tokyo.jp fussa.tokyo.jp hachijo.tokyo.jp hachioji.tokyo.jp hamura.tokyo.jp higashikurume.tokyo.jp higashimurayama.tokyo.jp higashiyamato.tokyo.jp hino.tokyo.jp hinode.tokyo.jp hinohara.tokyo.jp inagi.tokyo.jp itabashi.tokyo.jp katsushika.tokyo.jp kita.tokyo.jp kiyose.tokyo.jp kodaira.tokyo.jp koganei.tokyo.jp kokubunji.tokyo.jp komae.tokyo.jp koto.tokyo.jp kouzushima.tokyo.jp kunitachi.tokyo.jp machida.tokyo.jp meguro.tokyo.jp minato.tokyo.jp mitaka.tokyo.jp mizuho.tokyo.jp musashimurayama.tokyo.jp musashino.tokyo.jp nakano.tokyo.jp nerima.tokyo.jp ogasawara.tokyo.jp okutama.tokyo.jp ome.tokyo.jp oshima.tokyo.jp ota.tokyo.jp setagaya.tokyo.jp shibuya.tokyo.jp shinagawa.tokyo.jp shinjuku.tokyo.jp suginami.tokyo.jp sumida.tokyo.jp tachikawa.tokyo.jp taito.tokyo.jp tama.tokyo.jp toshima.tokyo.jp chizu.tottori.jp hino.tottori.jp kawahara.tottori.jp koge.tottori.jp kotoura.tottori.jp misasa.tottori.jp nanbu.tottori.jp nichinan.tottori.jp sakaiminato.tottori.jp tottori.tottori.jp wakasa.tottori.jp yazu.tottori.jp yonago.tottori.jp asahi.toyama.jp fuchu.toyama.jp fukumitsu.toyama.jp funahashi.toyama.jp himi.toyama.jp imizu.toyama.jp inami.toyama.jp johana.toyama.jp kamiichi.toyama.jp kurobe.toyama.jp nakaniikawa.toyama.jp namerikawa.toyama.jp nanto.toyama.jp nyuzen.toyama.jp oyabe.toyama.jp taira.toyama.jp takaoka.toyama.jp tateyama.toyama.jp toga.toyama.jp tonami.toyama.jp toyama.toyama.jp unazuki.toyama.jp uozu.toyama.jp yamada.toyama.jp arida.wakayama.jp aridagawa.wakayama.jp gobo.wakayama.jp hashimoto.wakayama.jp hidaka.wakayama.jp hirogawa.wakayama.jp inami.wakayama.jp iwade.wakayama.jp kainan.wakayama.jp kamitonda.wakayama.jp katsuragi.wakayama.jp kimino.wakayama.jp kinokawa.wakayama.jp kitayama.wakayama.jp koya.wakayama.jp koza.wakayama.jp kozagawa.wakayama.jp kudoyama.wakayama.jp kushimoto.wakayama.jp mihama.wakayama.jp misato.wakayama.jp nachikatsuura.wakayama.jp shingu.wakayama.jp shirahama.wakayama.jp taiji.wakayama.jp tanabe.wakayama.jp wakayama.wakayama.jp yuasa.wakayama.jp yura.wakayama.jp asahi.yamagata.jp funagata.yamagata.jp higashine.yamagata.jp iide.yamagata.jp kahoku.yamagata.jp kaminoyama.yamagata.jp kaneyama.yamagata.jp kawanishi.yamagata.jp mamurogawa.yamagata.jp mikawa.yamagata.jp murayama.yamagata.jp nagai.yamagata.jp nakayama.yamagata.jp nanyo.yamagata.jp nishikawa.yamagata.jp obanazawa.yamagata.jp oe.yamagata.jp oguni.yamagata.jp ohkura.yamagata.jp oishida.yamagata.jp sagae.yamagata.jp sakata.yamagata.jp sakegawa.yamagata.jp shinjo.yamagata.jp shirataka.yamagata.jp shonai.yamagata.jp takahata.yamagata.jp tendo.yamagata.jp tozawa.yamagata.jp tsuruoka.yamagata.jp yamagata.yamagata.jp yamanobe.yamagata.jp yonezawa.yamagata.jp yuza.yamagata.jp abu.yamaguchi.jp hagi.yamaguchi.jp hikari.yamaguchi.jp hofu.yamaguchi.jp iwakuni.yamaguchi.jp kudamatsu.yamaguchi.jp mitou.yamaguchi.jp nagato.yamaguchi.jp oshima.yamaguchi.jp shimonoseki.yamaguchi.jp shunan.yamaguchi.jp tabuse.yamaguchi.jp tokuyama.yamaguchi.jp toyota.yamaguchi.jp ube.yamaguchi.jp yuu.yamaguchi.jp chuo.yamanashi.jp doshi.yamanashi.jp fuefuki.yamanashi.jp fujikawa.yamanashi.jp fujikawaguchiko.yamanashi.jp fujiyoshida.yamanashi.jp hayakawa.yamanashi.jp hokuto.yamanashi.jp ichikawamisato.yamanashi.jp kai.yamanashi.jp kofu.yamanashi.jp koshu.yamanashi.jp kosuge.yamanashi.jp minami-alps.yamanashi.jp minobu.yamanashi.jp nakamichi.yamanashi.jp nanbu.yamanashi.jp narusawa.yamanashi.jp nirasaki.yamanashi.jp nishikatsura.yamanashi.jp oshino.yamanashi.jp otsuki.yamanashi.jp showa.yamanashi.jp tabayama.yamanashi.jp tsuru.yamanashi.jp uenohara.yamanashi.jp yamanakako.yamanashi.jp yamanashi.yamanashi.jp ke ac.ke co.ke go.ke info.ke me.ke mobi.ke ne.ke or.ke sc.ke kg com.kg edu.kg gov.kg mil.kg net.kg org.kg *.kh ki biz.ki com.ki edu.ki gov.ki info.ki net.ki org.ki km ass.km com.km edu.km gov.km mil.km nom.km org.km prd.km tm.km asso.km coop.km gouv.km medecin.km notaires.km pharmaciens.km presse.km veterinaire.km kn edu.kn gov.kn net.kn org.kn kp com.kp edu.kp gov.kp org.kp rep.kp tra.kp kr ac.kr co.kr es.kr go.kr hs.kr kg.kr mil.kr ms.kr ne.kr or.kr pe.kr re.kr sc.kr busan.kr chungbuk.kr chungnam.kr daegu.kr daejeon.kr gangwon.kr gwangju.kr gyeongbuk.kr gyeonggi.kr gyeongnam.kr incheon.kr jeju.kr jeonbuk.kr jeonnam.kr seoul.kr ulsan.kr kw com.kw edu.kw emb.kw gov.kw ind.kw net.kw org.kw ky com.ky edu.ky net.ky org.ky kz com.kz edu.kz gov.kz mil.kz net.kz org.kz la com.la edu.la gov.la info.la int.la net.la org.la per.la lb com.lb edu.lb gov.lb net.lb org.lb lc co.lc com.lc edu.lc gov.lc net.lc org.lc li lk ac.lk assn.lk com.lk edu.lk gov.lk grp.lk hotel.lk int.lk ltd.lk net.lk ngo.lk org.lk sch.lk soc.lk web.lk lr com.lr edu.lr gov.lr net.lr org.lr ls ac.ls biz.ls co.ls edu.ls gov.ls info.ls net.ls org.ls sc.ls lt gov.lt lu lv asn.lv com.lv conf.lv edu.lv gov.lv id.lv mil.lv net.lv org.lv ly com.ly edu.ly gov.ly id.ly med.ly net.ly org.ly plc.ly sch.ly ma ac.ma co.ma gov.ma net.ma org.ma press.ma mc asso.mc tm.mc md me ac.me co.me edu.me gov.me its.me net.me org.me priv.me mg co.mg com.mg edu.mg gov.mg mil.mg nom.mg org.mg prd.mg mh mil mk com.mk edu.mk gov.mk inf.mk name.mk net.mk org.mk ml com.ml edu.ml gouv.ml gov.ml net.ml org.ml presse.ml *.mm mn edu.mn gov.mn org.mn mo com.mo edu.mo gov.mo net.mo org.mo mobi mp mq mr gov.mr ms com.ms edu.ms gov.ms net.ms org.ms mt com.mt edu.mt net.mt org.mt mu ac.mu co.mu com.mu gov.mu net.mu or.mu org.mu museum mv aero.mv biz.mv com.mv coop.mv edu.mv gov.mv info.mv int.mv mil.mv museum.mv name.mv net.mv org.mv pro.mv mw ac.mw biz.mw co.mw com.mw coop.mw edu.mw gov.mw int.mw net.mw org.mw mx com.mx edu.mx gob.mx net.mx org.mx my biz.my com.my edu.my gov.my mil.my name.my net.my org.my mz ac.mz adv.mz co.mz edu.mz gov.mz mil.mz net.mz org.mz na alt.na co.na com.na gov.na net.na org.na name nc asso.nc nom.nc ne net nf arts.nf com.nf firm.nf info.nf net.nf other.nf per.nf rec.nf store.nf web.nf ng com.ng edu.ng gov.ng i.ng mil.ng mobi.ng name.ng net.ng org.ng sch.ng ni ac.ni biz.ni co.ni com.ni edu.ni gob.ni in.ni info.ni int.ni mil.ni net.ni nom.ni org.ni web.ni nl no fhs.no folkebibl.no fylkesbibl.no idrett.no museum.no priv.no vgs.no dep.no herad.no kommune.no mil.no stat.no aa.no ah.no bu.no fm.no hl.no hm.no jan-mayen.no mr.no nl.no nt.no of.no ol.no oslo.no rl.no sf.no st.no svalbard.no tm.no tr.no va.no vf.no gs.aa.no gs.ah.no gs.bu.no gs.fm.no gs.hl.no gs.hm.no gs.jan-mayen.no gs.mr.no gs.nl.no gs.nt.no gs.of.no gs.ol.no gs.oslo.no gs.rl.no gs.sf.no gs.st.no gs.svalbard.no gs.tm.no gs.tr.no gs.va.no gs.vf.no akrehamn.no \u00e5krehamn.no algard.no \u00e5lg\u00e5rd.no arna.no bronnoysund.no br\u00f8nn\u00f8ysund.no brumunddal.no bryne.no drobak.no dr\u00f8bak.no egersund.no fetsund.no floro.no flor\u00f8.no fredrikstad.no hokksund.no honefoss.no h\u00f8nefoss.no jessheim.no jorpeland.no j\u00f8rpeland.no kirkenes.no kopervik.no krokstadelva.no langevag.no langev\u00e5g.no leirvik.no mjondalen.no mj\u00f8ndalen.no mo-i-rana.no mosjoen.no mosj\u00f8en.no nesoddtangen.no orkanger.no osoyro.no os\u00f8yro.no raholt.no r\u00e5holt.no sandnessjoen.no sandnessj\u00f8en.no skedsmokorset.no slattum.no spjelkavik.no stathelle.no stavern.no stjordalshalsen.no stj\u00f8rdalshalsen.no tananger.no tranby.no vossevangen.no aarborte.no aejrie.no afjord.no \u00e5fjord.no agdenes.no nes.akershus.no aknoluokta.no \u00e1k\u014boluokta.no al.no \u00e5l.no alaheadju.no \u00e1laheadju.no alesund.no \u00e5lesund.no alstahaug.no alta.no \u00e1lt\u00e1.no alvdal.no amli.no \u00e5mli.no amot.no \u00e5mot.no andasuolo.no andebu.no andoy.no and\u00f8y.no ardal.no \u00e5rdal.no aremark.no arendal.no \u00e5s.no aseral.no \u00e5seral.no asker.no askim.no askoy.no ask\u00f8y.no askvoll.no asnes.no \u00e5snes.no audnedaln.no aukra.no aure.no aurland.no aurskog-holand.no aurskog-h\u00f8land.no austevoll.no austrheim.no averoy.no aver\u00f8y.no badaddja.no b\u00e5d\u00e5ddj\u00e5.no b\u00e6rum.no bahcavuotna.no b\u00e1hcavuotna.no bahccavuotna.no b\u00e1hccavuotna.no baidar.no b\u00e1id\u00e1r.no bajddar.no b\u00e1jddar.no balat.no b\u00e1l\u00e1t.no balestrand.no ballangen.no balsfjord.no bamble.no bardu.no barum.no batsfjord.no b\u00e5tsfjord.no bearalvahki.no bearalv\u00e1hki.no beardu.no beiarn.no berg.no bergen.no berlevag.no berlev\u00e5g.no bievat.no biev\u00e1t.no bindal.no birkenes.no bjarkoy.no bjark\u00f8y.no bjerkreim.no bjugn.no bodo.no bod\u00f8.no bokn.no bomlo.no b\u00f8mlo.no bremanger.no bronnoy.no br\u00f8nn\u00f8y.no budejju.no nes.buskerud.no bygland.no bykle.no cahcesuolo.no \u010d\u00e1hcesuolo.no davvenjarga.no davvenj\u00e1rga.no davvesiida.no deatnu.no dielddanuorri.no divtasvuodna.no divttasvuotna.no donna.no d\u00f8nna.no dovre.no drammen.no drangedal.no dyroy.no dyr\u00f8y.no eid.no eidfjord.no eidsberg.no eidskog.no eidsvoll.no eigersund.no elverum.no enebakk.no engerdal.no etne.no etnedal.no evenassi.no even\u00e1\u0161\u0161i.no evenes.no evje-og-hornnes.no farsund.no fauske.no fedje.no fet.no finnoy.no finn\u00f8y.no fitjar.no fjaler.no fjell.no fla.no fl\u00e5.no flakstad.no flatanger.no flekkefjord.no flesberg.no flora.no folldal.no forde.no f\u00f8rde.no forsand.no fosnes.no fr\u00e6na.no frana.no frei.no frogn.no froland.no frosta.no froya.no fr\u00f8ya.no fuoisku.no fuossko.no fusa.no fyresdal.no gaivuotna.no g\u00e1ivuotna.no galsa.no g\u00e1ls\u00e1.no gamvik.no gangaviika.no g\u00e1\u014bgaviika.no gaular.no gausdal.no giehtavuoatna.no gildeskal.no gildesk\u00e5l.no giske.no gjemnes.no gjerdrum.no gjerstad.no gjesdal.no gjovik.no gj\u00f8vik.no gloppen.no gol.no gran.no grane.no granvin.no gratangen.no grimstad.no grong.no grue.no gulen.no guovdageaidnu.no ha.no h\u00e5.no habmer.no h\u00e1bmer.no hadsel.no h\u00e6gebostad.no hagebostad.no halden.no halsa.no hamar.no hamaroy.no hammarfeasta.no h\u00e1mm\u00e1rfeasta.no hammerfest.no hapmir.no h\u00e1pmir.no haram.no hareid.no harstad.no hasvik.no hattfjelldal.no haugesund.no os.hedmark.no valer.hedmark.no v\u00e5ler.hedmark.no hemne.no hemnes.no hemsedal.no hitra.no hjartdal.no hjelmeland.no hobol.no hob\u00f8l.no hof.no hol.no hole.no holmestrand.no holtalen.no holt\u00e5len.no os.hordaland.no hornindal.no horten.no hoyanger.no h\u00f8yanger.no hoylandet.no h\u00f8ylandet.no hurdal.no hurum.no hvaler.no hyllestad.no ibestad.no inderoy.no inder\u00f8y.no iveland.no ivgu.no jevnaker.no jolster.no j\u00f8lster.no jondal.no kafjord.no k\u00e5fjord.no karasjohka.no k\u00e1r\u00e1\u0161johka.no karasjok.no karlsoy.no karmoy.no karm\u00f8y.no kautokeino.no klabu.no kl\u00e6bu.no klepp.no kongsberg.no kongsvinger.no kraanghke.no kr\u00e5anghke.no kragero.no krager\u00f8.no kristiansand.no kristiansund.no krodsherad.no kr\u00f8dsherad.no kv\u00e6fjord.no kv\u00e6nangen.no kvafjord.no kvalsund.no kvam.no kvanangen.no kvinesdal.no kvinnherad.no kviteseid.no kvitsoy.no kvits\u00f8y.no laakesvuemie.no l\u00e6rdal.no lahppi.no l\u00e1hppi.no lardal.no larvik.no lavagis.no lavangen.no leangaviika.no lea\u014bgaviika.no lebesby.no leikanger.no leirfjord.no leka.no leksvik.no lenvik.no lerdal.no lesja.no levanger.no lier.no lierne.no lillehammer.no lillesand.no lindas.no lind\u00e5s.no lindesnes.no loabat.no loab\u00e1t.no lodingen.no l\u00f8dingen.no lom.no loppa.no lorenskog.no l\u00f8renskog.no loten.no l\u00f8ten.no lund.no lunner.no luroy.no lur\u00f8y.no luster.no lyngdal.no lyngen.no malatvuopmi.no m\u00e1latvuopmi.no malselv.no m\u00e5lselv.no malvik.no mandal.no marker.no marnardal.no masfjorden.no masoy.no m\u00e5s\u00f8y.no matta-varjjat.no m\u00e1tta-v\u00e1rjjat.no meland.no meldal.no melhus.no meloy.no mel\u00f8y.no meraker.no mer\u00e5ker.no midsund.no midtre-gauldal.no moareke.no mo\u00e5reke.no modalen.no modum.no molde.no heroy.more-og-romsdal.no sande.more-og-romsdal.no her\u00f8y.m\u00f8re-og-romsdal.no sande.m\u00f8re-og-romsdal.no moskenes.no moss.no mosvik.no muosat.no muos\u00e1t.no naamesjevuemie.no n\u00e5\u00e5mesjevuemie.no n\u00e6r\u00f8y.no namdalseid.no namsos.no namsskogan.no nannestad.no naroy.no narviika.no narvik.no naustdal.no navuotna.no n\u00e1vuotna.no nedre-eiker.no nesna.no nesodden.no nesseby.no nesset.no nissedal.no nittedal.no nord-aurdal.no nord-fron.no nord-odal.no norddal.no nordkapp.no bo.nordland.no b\u00f8.nordland.no heroy.nordland.no her\u00f8y.nordland.no nordre-land.no nordreisa.no nore-og-uvdal.no notodden.no notteroy.no n\u00f8tter\u00f8y.no odda.no oksnes.no \u00f8ksnes.no omasvuotna.no oppdal.no oppegard.no oppeg\u00e5rd.no orkdal.no orland.no \u00f8rland.no orskog.no \u00f8rskog.no orsta.no \u00f8rsta.no osen.no osteroy.no oster\u00f8y.no valer.ostfold.no v\u00e5ler.\u00f8stfold.no ostre-toten.no \u00f8stre-toten.no overhalla.no ovre-eiker.no \u00f8vre-eiker.no oyer.no \u00f8yer.no oygarden.no \u00f8ygarden.no oystre-slidre.no \u00f8ystre-slidre.no porsanger.no porsangu.no pors\u00e1\u014bgu.no porsgrunn.no rade.no r\u00e5de.no radoy.no rad\u00f8y.no r\u00e6lingen.no rahkkeravju.no r\u00e1hkker\u00e1vju.no raisa.no r\u00e1isa.no rakkestad.no ralingen.no rana.no randaberg.no rauma.no rendalen.no rennebu.no rennesoy.no rennes\u00f8y.no rindal.no ringebu.no ringerike.no ringsaker.no risor.no ris\u00f8r.no rissa.no roan.no rodoy.no r\u00f8d\u00f8y.no rollag.no romsa.no romskog.no r\u00f8mskog.no roros.no r\u00f8ros.no rost.no r\u00f8st.no royken.no r\u00f8yken.no royrvik.no r\u00f8yrvik.no ruovat.no rygge.no salangen.no salat.no s\u00e1lat.no s\u00e1l\u00e1t.no saltdal.no samnanger.no sandefjord.no sandnes.no sandoy.no sand\u00f8y.no sarpsborg.no sauda.no sauherad.no sel.no selbu.no selje.no seljord.no siellak.no sigdal.no siljan.no sirdal.no skanit.no sk\u00e1nit.no skanland.no sk\u00e5nland.no skaun.no skedsmo.no ski.no skien.no skierva.no skierv\u00e1.no skiptvet.no skjak.no skj\u00e5k.no skjervoy.no skjerv\u00f8y.no skodje.no smola.no sm\u00f8la.no snaase.no sn\u00e5ase.no snasa.no sn\u00e5sa.no snillfjord.no snoasa.no sogndal.no sogne.no s\u00f8gne.no sokndal.no sola.no solund.no somna.no s\u00f8mna.no sondre-land.no s\u00f8ndre-land.no songdalen.no sor-aurdal.no s\u00f8r-aurdal.no sor-fron.no s\u00f8r-fron.no sor-odal.no s\u00f8r-odal.no sor-varanger.no s\u00f8r-varanger.no sorfold.no s\u00f8rfold.no sorreisa.no s\u00f8rreisa.no sortland.no sorum.no s\u00f8rum.no spydeberg.no stange.no stavanger.no steigen.no steinkjer.no stjordal.no stj\u00f8rdal.no stokke.no stor-elvdal.no stord.no stordal.no storfjord.no strand.no stranda.no stryn.no sula.no suldal.no sund.no sunndal.no surnadal.no sveio.no svelvik.no sykkylven.no tana.no bo.telemark.no b\u00f8.telemark.no time.no tingvoll.no tinn.no tjeldsund.no tjome.no tj\u00f8me.no tokke.no tolga.no tonsberg.no t\u00f8nsberg.no torsken.no tr\u00e6na.no trana.no tranoy.no tran\u00f8y.no troandin.no trogstad.no tr\u00f8gstad.no tromsa.no tromso.no troms\u00f8.no trondheim.no trysil.no tvedestrand.no tydal.no tynset.no tysfjord.no tysnes.no tysv\u00e6r.no tysvar.no ullensaker.no ullensvang.no ulvik.no unjarga.no unj\u00e1rga.no utsira.no vaapste.no vadso.no vads\u00f8.no v\u00e6r\u00f8y.no vaga.no v\u00e5g\u00e5.no vagan.no v\u00e5gan.no vagsoy.no v\u00e5gs\u00f8y.no vaksdal.no valle.no vang.no vanylven.no vardo.no vard\u00f8.no varggat.no v\u00e1rgg\u00e1t.no varoy.no vefsn.no vega.no vegarshei.no veg\u00e5rshei.no vennesla.no verdal.no verran.no vestby.no sande.vestfold.no vestnes.no vestre-slidre.no vestre-toten.no vestvagoy.no vestv\u00e5g\u00f8y.no vevelstad.no vik.no vikna.no vindafjord.no voagat.no volda.no voss.no *.np nr biz.nr com.nr edu.nr gov.nr info.nr net.nr org.nr nu nz ac.nz co.nz cri.nz geek.nz gen.nz govt.nz health.nz iwi.nz kiwi.nz maori.nz m\u0101ori.nz mil.nz net.nz org.nz parliament.nz school.nz om co.om com.om edu.om gov.om med.om museum.om net.om org.om pro.om onion org pa abo.pa ac.pa com.pa edu.pa gob.pa ing.pa med.pa net.pa nom.pa org.pa sld.pa pe com.pe edu.pe gob.pe mil.pe net.pe nom.pe org.pe pf com.pf edu.pf org.pf *.pg ph com.ph edu.ph gov.ph i.ph mil.ph net.ph ngo.ph org.ph pk ac.pk biz.pk com.pk edu.pk fam.pk gkp.pk gob.pk gog.pk gok.pk gon.pk gop.pk gos.pk gov.pk net.pk org.pk web.pk pl com.pl net.pl org.pl agro.pl aid.pl atm.pl auto.pl biz.pl edu.pl gmina.pl gsm.pl info.pl mail.pl media.pl miasta.pl mil.pl nieruchomosci.pl nom.pl pc.pl powiat.pl priv.pl realestate.pl rel.pl sex.pl shop.pl sklep.pl sos.pl szkola.pl targi.pl tm.pl tourism.pl travel.pl turystyka.pl gov.pl ap.gov.pl griw.gov.pl ic.gov.pl is.gov.pl kmpsp.gov.pl konsulat.gov.pl kppsp.gov.pl kwp.gov.pl kwpsp.gov.pl mup.gov.pl mw.gov.pl oia.gov.pl oirm.gov.pl oke.gov.pl oow.gov.pl oschr.gov.pl oum.gov.pl pa.gov.pl pinb.gov.pl piw.gov.pl po.gov.pl pr.gov.pl psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl sdn.gov.pl sko.gov.pl so.gov.pl sr.gov.pl starostwo.gov.pl ug.gov.pl ugim.gov.pl um.gov.pl umig.gov.pl upow.gov.pl uppo.gov.pl us.gov.pl uw.gov.pl uzs.gov.pl wif.gov.pl wiih.gov.pl winb.gov.pl wios.gov.pl witd.gov.pl wiw.gov.pl wkz.gov.pl wsa.gov.pl wskr.gov.pl wsse.gov.pl wuoz.gov.pl wzmiuw.gov.pl zp.gov.pl zpisdn.gov.pl augustow.pl babia-gora.pl bedzin.pl beskidy.pl bialowieza.pl bialystok.pl bielawa.pl bieszczady.pl boleslawiec.pl bydgoszcz.pl bytom.pl cieszyn.pl czeladz.pl czest.pl dlugoleka.pl elblag.pl elk.pl glogow.pl gniezno.pl gorlice.pl grajewo.pl ilawa.pl jaworzno.pl jelenia-gora.pl jgora.pl kalisz.pl karpacz.pl kartuzy.pl kaszuby.pl katowice.pl kazimierz-dolny.pl kepno.pl ketrzyn.pl klodzko.pl kobierzyce.pl kolobrzeg.pl konin.pl konskowola.pl kutno.pl lapy.pl lebork.pl legnica.pl lezajsk.pl limanowa.pl lomza.pl lowicz.pl lubin.pl lukow.pl malbork.pl malopolska.pl mazowsze.pl mazury.pl mielec.pl mielno.pl mragowo.pl naklo.pl nowaruda.pl nysa.pl olawa.pl olecko.pl olkusz.pl olsztyn.pl opoczno.pl opole.pl ostroda.pl ostroleka.pl ostrowiec.pl ostrowwlkp.pl pila.pl pisz.pl podhale.pl podlasie.pl polkowice.pl pomorskie.pl pomorze.pl prochowice.pl pruszkow.pl przeworsk.pl pulawy.pl radom.pl rawa-maz.pl rybnik.pl rzeszow.pl sanok.pl sejny.pl skoczow.pl slask.pl slupsk.pl sosnowiec.pl stalowa-wola.pl starachowice.pl stargard.pl suwalki.pl swidnica.pl swiebodzin.pl swinoujscie.pl szczecin.pl szczytno.pl tarnobrzeg.pl tgory.pl turek.pl tychy.pl ustka.pl walbrzych.pl warmia.pl warszawa.pl waw.pl wegrow.pl wielun.pl wlocl.pl wloclawek.pl wodzislaw.pl wolomin.pl wroclaw.pl zachpomor.pl zagan.pl zarow.pl zgora.pl zgorzelec.pl pm pn co.pn edu.pn gov.pn net.pn org.pn post pr biz.pr com.pr edu.pr gov.pr info.pr isla.pr name.pr net.pr org.pr pro.pr ac.pr est.pr prof.pr pro aaa.pro aca.pro acct.pro avocat.pro bar.pro cpa.pro eng.pro jur.pro law.pro med.pro recht.pro ps com.ps edu.ps gov.ps net.ps org.ps plo.ps sec.ps pt com.pt edu.pt gov.pt int.pt net.pt nome.pt org.pt publ.pt pw belau.pw co.pw ed.pw go.pw or.pw py com.py coop.py edu.py gov.py mil.py net.py org.py qa com.qa edu.qa gov.qa mil.qa name.qa net.qa org.qa sch.qa re asso.re com.re ro arts.ro com.ro firm.ro info.ro nom.ro nt.ro org.ro rec.ro store.ro tm.ro www.ro rs ac.rs co.rs edu.rs gov.rs in.rs org.rs ru rw ac.rw co.rw coop.rw gov.rw mil.rw net.rw org.rw sa com.sa edu.sa gov.sa med.sa net.sa org.sa pub.sa sch.sa sb com.sb edu.sb gov.sb net.sb org.sb sc com.sc edu.sc gov.sc net.sc org.sc sd com.sd edu.sd gov.sd info.sd med.sd net.sd org.sd tv.sd se a.se ac.se b.se bd.se brand.se c.se d.se e.se f.se fh.se fhsk.se fhv.se g.se h.se i.se k.se komforb.se kommunalforbund.se komvux.se l.se lanbib.se m.se n.se naturbruksgymn.se o.se org.se p.se parti.se pp.se press.se r.se s.se t.se tm.se u.se w.se x.se y.se z.se sg com.sg edu.sg gov.sg net.sg org.sg sh com.sh gov.sh mil.sh net.sh org.sh si sj sk sl com.sl edu.sl gov.sl net.sl org.sl sm sn art.sn com.sn edu.sn gouv.sn org.sn perso.sn univ.sn so com.so edu.so gov.so me.so net.so org.so sr ss biz.ss co.ss com.ss edu.ss gov.ss me.ss net.ss org.ss sch.ss st co.st com.st consulado.st edu.st embaixada.st mil.st net.st org.st principe.st saotome.st store.st su sv com.sv edu.sv gob.sv org.sv red.sv sx gov.sx sy com.sy edu.sy gov.sy mil.sy net.sy org.sy sz ac.sz co.sz org.sz tc td tel tf tg th ac.th co.th go.th in.th mi.th net.th or.th tj ac.tj biz.tj co.tj com.tj edu.tj go.tj gov.tj int.tj mil.tj name.tj net.tj nic.tj org.tj test.tj web.tj tk tl gov.tl tm co.tm com.tm edu.tm gov.tm mil.tm net.tm nom.tm org.tm tn com.tn ens.tn fin.tn gov.tn ind.tn info.tn intl.tn mincom.tn nat.tn net.tn org.tn perso.tn tourism.tn to com.to edu.to gov.to mil.to net.to org.to tr av.tr bbs.tr bel.tr biz.tr com.tr dr.tr edu.tr gen.tr gov.tr info.tr k12.tr kep.tr mil.tr name.tr net.tr org.tr pol.tr tel.tr tsk.tr tv.tr web.tr nc.tr gov.nc.tr tt biz.tt co.tt com.tt edu.tt gov.tt info.tt mil.tt name.tt net.tt org.tt pro.tt tv tw club.tw com.tw ebiz.tw edu.tw game.tw gov.tw idv.tw mil.tw net.tw org.tw tz ac.tz co.tz go.tz hotel.tz info.tz me.tz mil.tz mobi.tz ne.tz or.tz sc.tz tv.tz ua com.ua edu.ua gov.ua in.ua net.ua org.ua cherkassy.ua cherkasy.ua chernigov.ua chernihiv.ua chernivtsi.ua chernovtsy.ua ck.ua cn.ua cr.ua crimea.ua cv.ua dn.ua dnepropetrovsk.ua dnipropetrovsk.ua donetsk.ua dp.ua if.ua ivano-frankivsk.ua kh.ua kharkiv.ua kharkov.ua kherson.ua khmelnitskiy.ua khmelnytskyi.ua kiev.ua kirovograd.ua km.ua kr.ua kropyvnytskyi.ua krym.ua ks.ua kv.ua kyiv.ua lg.ua lt.ua lugansk.ua luhansk.ua lutsk.ua lv.ua lviv.ua mk.ua mykolaiv.ua nikolaev.ua od.ua odesa.ua odessa.ua pl.ua poltava.ua rivne.ua rovno.ua rv.ua sb.ua sebastopol.ua sevastopol.ua sm.ua sumy.ua te.ua ternopil.ua uz.ua uzhgorod.ua uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua zhytomyr.ua zp.ua zt.ua ug ac.ug co.ug com.ug go.ug ne.ug or.ug org.ug sc.ug uk ac.uk co.uk gov.uk ltd.uk me.uk net.uk nhs.uk org.uk plc.uk police.uk *.sch.uk us dni.us fed.us isa.us kids.us nsn.us ak.us al.us ar.us as.us az.us ca.us co.us ct.us dc.us de.us fl.us ga.us gu.us hi.us ia.us id.us il.us in.us ks.us ky.us la.us ma.us md.us me.us mi.us mn.us mo.us ms.us mt.us nc.us nd.us ne.us nh.us nj.us nm.us nv.us ny.us oh.us ok.us or.us pa.us pr.us ri.us sc.us sd.us tn.us tx.us ut.us va.us vi.us vt.us wa.us wi.us wv.us wy.us k12.ak.us k12.al.us k12.ar.us k12.as.us k12.az.us k12.ca.us k12.co.us k12.ct.us k12.dc.us k12.fl.us k12.ga.us k12.gu.us k12.ia.us k12.id.us k12.il.us k12.in.us k12.ks.us k12.ky.us k12.la.us k12.ma.us k12.md.us k12.me.us k12.mi.us k12.mn.us k12.mo.us k12.ms.us k12.mt.us k12.nc.us k12.ne.us k12.nh.us k12.nj.us k12.nm.us k12.nv.us k12.ny.us k12.oh.us k12.ok.us k12.or.us k12.pa.us k12.pr.us k12.sc.us k12.tn.us k12.tx.us k12.ut.us k12.va.us k12.vi.us k12.vt.us k12.wa.us k12.wi.us cc.ak.us lib.ak.us cc.al.us lib.al.us cc.ar.us lib.ar.us cc.as.us lib.as.us cc.az.us lib.az.us cc.ca.us lib.ca.us cc.co.us lib.co.us cc.ct.us lib.ct.us cc.dc.us lib.dc.us cc.de.us cc.fl.us cc.ga.us cc.gu.us cc.hi.us cc.ia.us cc.id.us cc.il.us cc.in.us cc.ks.us cc.ky.us cc.la.us cc.ma.us cc.md.us cc.me.us cc.mi.us cc.mn.us cc.mo.us cc.ms.us cc.mt.us cc.nc.us cc.nd.us cc.ne.us cc.nh.us cc.nj.us cc.nm.us cc.nv.us cc.ny.us cc.oh.us cc.ok.us cc.or.us cc.pa.us cc.pr.us cc.ri.us cc.sc.us cc.sd.us cc.tn.us cc.tx.us cc.ut.us cc.va.us cc.vi.us cc.vt.us cc.wa.us cc.wi.us cc.wv.us cc.wy.us k12.wy.us lib.fl.us lib.ga.us lib.gu.us lib.hi.us lib.ia.us lib.id.us lib.il.us lib.in.us lib.ks.us lib.ky.us lib.la.us lib.ma.us lib.md.us lib.me.us lib.mi.us lib.mn.us lib.mo.us lib.ms.us lib.mt.us lib.nc.us lib.nd.us lib.ne.us lib.nh.us lib.nj.us lib.nm.us lib.nv.us lib.ny.us lib.oh.us lib.ok.us lib.or.us lib.pa.us lib.pr.us lib.ri.us lib.sc.us lib.sd.us lib.tn.us lib.tx.us lib.ut.us lib.va.us lib.vi.us lib.vt.us lib.wa.us lib.wi.us lib.wy.us chtr.k12.ma.us paroch.k12.ma.us pvt.k12.ma.us ann-arbor.mi.us cog.mi.us dst.mi.us eaton.mi.us gen.mi.us mus.mi.us tec.mi.us washtenaw.mi.us uy com.uy edu.uy gub.uy mil.uy net.uy org.uy uz co.uz com.uz net.uz org.uz va vc com.vc edu.vc gov.vc mil.vc net.vc org.vc ve arts.ve bib.ve co.ve com.ve e12.ve edu.ve firm.ve gob.ve gov.ve info.ve int.ve mil.ve net.ve nom.ve org.ve rar.ve rec.ve store.ve tec.ve web.ve vg vi co.vi com.vi k12.vi net.vi org.vi vn ac.vn ai.vn biz.vn com.vn edu.vn gov.vn health.vn id.vn info.vn int.vn io.vn name.vn net.vn org.vn pro.vn angiang.vn bacgiang.vn backan.vn baclieu.vn bacninh.vn baria-vungtau.vn bentre.vn binhdinh.vn binhduong.vn binhphuoc.vn binhthuan.vn camau.vn cantho.vn caobang.vn daklak.vn daknong.vn danang.vn dienbien.vn dongnai.vn dongthap.vn gialai.vn hagiang.vn haiduong.vn haiphong.vn hanam.vn hanoi.vn hatinh.vn haugiang.vn hoabinh.vn hungyen.vn khanhhoa.vn kiengiang.vn kontum.vn laichau.vn lamdong.vn langson.vn laocai.vn longan.vn namdinh.vn nghean.vn ninhbinh.vn ninhthuan.vn phutho.vn phuyen.vn quangbinh.vn quangnam.vn quangngai.vn quangninh.vn quangtri.vn soctrang.vn sonla.vn tayninh.vn thaibinh.vn thainguyen.vn thanhhoa.vn thanhphohochiminh.vn thuathienhue.vn tiengiang.vn travinh.vn tuyenquang.vn vinhlong.vn vinhphuc.vn yenbai.vn vu com.vu edu.vu net.vu org.vu wf ws com.ws edu.ws gov.ws net.ws org.ws yt \u0627\u0645\u0627\u0631\u0627\u062a \u0570\u0561\u0575 \u09ac\u09be\u0982\u09b2\u09be \u0431\u0433 \u0627\u0644\u0628\u062d\u0631\u064a\u0646 \u0431\u0435\u043b \u4e2d\u56fd \u4e2d\u570b \u0627\u0644\u062c\u0632\u0627\u0626\u0631 \u0645\u0635\u0631 \u0435\u044e \u03b5\u03c5 \u0645\u0648\u0631\u064a\u062a\u0627\u0646\u064a\u0627 \u10d2\u10d4 \u03b5\u03bb \u9999\u6e2f \u500b\u4eba.\u9999\u6e2f \u516c\u53f8.\u9999\u6e2f \u653f\u5e9c.\u9999\u6e2f \u6559\u80b2.\u9999\u6e2f \u7d44\u7e54.\u9999\u6e2f \u7db2\u7d61.\u9999\u6e2f \u0cad\u0cbe\u0cb0\u0ca4 \u0b2d\u0b3e\u0b30\u0b24 \u09ad\u09be\u09f0\u09a4 \u092d\u093e\u0930\u0924\u092e\u094d \u092d\u093e\u0930\u094b\u0924 \u0680\u0627\u0631\u062a \u0d2d\u0d3e\u0d30\u0d24\u0d02 \u092d\u093e\u0930\u0924 \u0628\u0627\u0631\u062a \u0628\u06be\u0627\u0631\u062a \u0c2d\u0c3e\u0c30\u0c24\u0c4d \u0aad\u0abe\u0ab0\u0aa4 \u0a2d\u0a3e\u0a30\u0a24 \u09ad\u09be\u09b0\u09a4 \u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe \u0627\u06cc\u0631\u0627\u0646 \u0627\u064a\u0631\u0627\u0646 \u0639\u0631\u0627\u0642 \u0627\u0644\u0627\u0631\u062f\u0646 \ud55c\uad6d \u049b\u0430\u0437 \u0ea5\u0eb2\u0ea7 \u0dbd\u0d82\u0d9a\u0dcf \u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8 \u0627\u0644\u0645\u063a\u0631\u0628 \u043c\u043a\u0434 \u043c\u043e\u043d \u6fb3\u9580 \u6fb3\u95e8 \u0645\u0644\u064a\u0633\u064a\u0627 \u0639\u0645\u0627\u0646 \u067e\u0627\u06a9\u0633\u062a\u0627\u0646 \u067e\u0627\u0643\u0633\u062a\u0627\u0646 \u0641\u0644\u0633\u0637\u064a\u0646 \u0441\u0440\u0431 \u0430\u043a.\u0441\u0440\u0431 \u043e\u0431\u0440.\u0441\u0440\u0431 \u043e\u0434.\u0441\u0440\u0431 \u043e\u0440\u0433.\u0441\u0440\u0431 \u043f\u0440.\u0441\u0440\u0431 \u0443\u043f\u0440.\u0441\u0440\u0431 \u0440\u0444 \u0642\u0637\u0631 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u0629 \u0627\u0644\u0633\u0639\u0648\u062f\u06cc\u06c3 \u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0647 \u0633\u0648\u062f\u0627\u0646 \u65b0\u52a0\u5761 \u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd \u0633\u0648\u0631\u064a\u0629 \u0633\u0648\u0631\u064a\u0627 \u0e44\u0e17\u0e22 \u0e17\u0e2b\u0e32\u0e23.\u0e44\u0e17\u0e22 \u0e18\u0e38\u0e23\u0e01\u0e34\u0e08.\u0e44\u0e17\u0e22 \u0e40\u0e19\u0e47\u0e15.\u0e44\u0e17\u0e22 \u0e23\u0e31\u0e10\u0e1a\u0e32\u0e25.\u0e44\u0e17\u0e22 \u0e28\u0e36\u0e01\u0e29\u0e32.\u0e44\u0e17\u0e22 \u0e2d\u0e07\u0e04\u0e4c\u0e01\u0e23.\u0e44\u0e17\u0e22 \u062a\u0648\u0646\u0633 \u53f0\u7063 \u53f0\u6e7e \u81fa\u7063 \u0443\u043a\u0440 \u0627\u0644\u064a\u0645\u0646 xxx ye com.ye edu.ye gov.ye mil.ye net.ye org.ye ac.za agric.za alt.za co.za edu.za gov.za grondar.za law.za mil.za net.za ngo.za nic.za nis.za nom.za org.za school.za tm.za web.za zm ac.zm biz.zm co.zm com.zm edu.zm gov.zm info.zm mil.zm net.zm org.zm sch.zm zw ac.zw co.zw gov.zw mil.zw org.zw aaa aarp abb abbott abbvie abc able abogado abudhabi academy accenture accountant accountants aco actor ads adult aeg aetna afl africa agakhan agency aig airbus airforce airtel akdn alibaba alipay allfinanz allstate ally alsace alstom amazon americanexpress americanfamily amex amfam amica amsterdam analytics android anquan anz aol apartments app apple aquarelle arab aramco archi army art arte asda associates athleta attorney auction audi audible audio auspost author auto autos aws axa azure baby baidu banamex band bank bar barcelona barclaycard barclays barefoot bargains baseball basketball bauhaus bayern bbc bbt bbva bcg bcn beats beauty beer bentley berlin best bestbuy bet bharti bible bid bike bing bingo bio black blackfriday blockbuster blog bloomberg blue bms bmw bnpparibas boats boehringer bofa bom bond boo book booking bosch bostik boston bot boutique box bradesco bridgestone broadway broker brother brussels build builders business buy buzz bzh cab cafe cal call calvinklein cam camera camp canon capetown capital capitalone car caravan cards care career careers cars casa case cash casino catering catholic cba cbn cbre center ceo cern cfa cfd chanel channel charity chase chat cheap chintai christmas chrome church cipriani circle cisco citadel citi citic city claims cleaning click clinic clinique clothing cloud club clubmed coach codes coffee college cologne commbank community company compare computer comsec condos construction consulting contact contractors cooking cool corsica country coupon coupons courses cpa credit creditcard creditunion cricket crown crs cruise cruises cuisinella cymru cyou dad dance data date dating datsun day dclk dds deal dealer deals degree delivery dell deloitte delta democrat dental dentist desi design dev dhl diamonds diet digital direct directory discount discover dish diy dnp docs doctor dog domains dot download drive dtv dubai dunlop dupont durban dvag dvr earth eat eco edeka education email emerck energy engineer engineering enterprises epson equipment ericsson erni esq estate eurovision eus events exchange expert exposed express extraspace fage fail fairwinds faith family fan fans farm farmers fashion fast fedex feedback ferrari ferrero fidelity fido film final finance financial fire firestone firmdale fish fishing fit fitness flickr flights flir florist flowers fly foo food football ford forex forsale forum foundation fox free fresenius frl frogans frontier ftr fujitsu fun fund furniture futbol fyi gal gallery gallo gallup game games gap garden gay gbiz gdn gea gent genting george ggee gift gifts gives giving glass gle global globo gmail gmbh gmo gmx godaddy gold goldpoint golf goo goodyear goog google gop got grainger graphics gratis green gripe grocery group gucci guge guide guitars guru hair hamburg hangout haus hbo hdfc hdfcbank health healthcare help helsinki here hermes hiphop hisamitsu hitachi hiv hkt hockey holdings holiday homedepot homegoods homes homesense honda horse hospital host hosting hot hotels hotmail house how hsbc hughes hyatt hyundai ibm icbc ice icu ieee ifm ikano imamat imdb immo immobilien inc industries infiniti ing ink institute insurance insure international intuit investments ipiranga irish ismaili ist istanbul itau itv jaguar java jcb jeep jetzt jewelry jio jll jmp jnj joburg jot joy jpmorgan jprs juegos juniper kaufen kddi kerryhotels kerrylogistics kerryproperties kfh kia kids kim kindle kitchen kiwi koeln komatsu kosher kpmg kpn krd kred kuokgroup kyoto lacaixa lamborghini lamer lancaster land landrover lanxess lasalle lat latino latrobe law lawyer lds lease leclerc lefrak legal lego lexus lgbt lidl life lifeinsurance lifestyle lighting like lilly limited limo lincoln link lipsy live living llc llp loan loans locker locus lol london lotte lotto love lpl lplfinancial ltd ltda lundbeck luxe luxury madrid maif maison makeup man management mango map market marketing markets marriott marshalls mattel mba mckinsey med media meet melbourne meme memorial men menu merck merckmsd miami microsoft mini mint mit mitsubishi mlb mls mma mobile moda moe moi mom monash money monster mormon mortgage moscow moto motorcycles mov movie msd mtn mtr music nab nagoya navy nba nec netbank netflix network neustar new news next nextdirect nexus nfl ngo nhk nico nike nikon ninja nissan nissay nokia norton now nowruz nowtv nra nrw ntt nyc obi observer office okinawa olayan olayangroup ollo omega one ong onl online ooo open oracle orange organic origins osaka otsuka ott ovh page panasonic paris pars partners parts party pay pccw pet pfizer pharmacy phd philips phone photo photography photos physio pics pictet pictures pid pin ping pink pioneer pizza place play playstation plumbing plus pnc pohl poker politie porn pramerica praxi press prime prod productions prof progressive promo properties property protection pru prudential pub pwc qpon quebec quest racing radio read realestate realtor realty recipes red redstone redumbrella rehab reise reisen reit reliance ren rent rentals repair report republican rest restaurant review reviews rexroth rich richardli ricoh ril rio rip rocks rodeo rogers room rsvp rugby ruhr run rwe ryukyu saarland safe safety sakura sale salon samsclub samsung sandvik sandvikcoromant sanofi sap sarl sas save saxo sbi sbs scb schaeffler schmidt scholarships school schule schwarz science scot search seat secure security seek select sener services seven sew sex sexy sfr shangrila sharp shell shia shiksha shoes shop shopping shouji show silk sina singles site ski skin sky skype sling smart smile sncf soccer social softbank software sohu solar solutions song sony soy spa space sport spot srl stada staples star statebank statefarm stc stcgroup stockholm storage store stream studio study style sucks supplies supply support surf surgery suzuki swatch swiss sydney systems tab taipei talk taobao target tatamotors tatar tattoo tax taxi tci tdk team tech technology temasek tennis teva thd theater theatre tiaa tickets tienda tips tires tirol tjmaxx tjx tkmaxx tmall today tokyo tools top toray toshiba total tours town toyota toys trade trading training travel travelers travelersinsurance trust trv tube tui tunes tushu tvs ubank ubs unicom university uno uol ups vacations vana vanguard vegas ventures verisign versicherung vet viajes video vig viking villas vin vip virgin visa vision viva vivo vlaanderen vodka volvo vote voting voto voyage wales walmart walter wang wanggou watch watches weather weatherchannel webcam weber website wed wedding weibo weir whoswho wien wiki williamhill win windows wine winners wme wolterskluwer woodside work works world wow wtc wtf xbox xerox xihuan xin \u0915\u0949\u092e \u30bb\u30fc\u30eb \u4f5b\u5c71 \u6148\u5584 \u96c6\u56e2 \u5728\u7ebf \u70b9\u770b \u0e04\u0e2d\u0e21 \u516b\u5366 \u0645\u0648\u0642\u0639 \u516c\u76ca \u516c\u53f8 \u9999\u683c\u91cc\u62c9 \u7f51\u7ad9 \u79fb\u52a8 \u6211\u7231\u4f60 \u043c\u043e\u0441\u043a\u0432\u0430 \u043a\u0430\u0442\u043e\u043b\u0438\u043a \u043e\u043d\u043b\u0430\u0439\u043d \u0441\u0430\u0439\u0442 \u8054\u901a \u05e7\u05d5\u05dd \u65f6\u5c1a \u5fae\u535a \u6de1\u9a6c\u9521 \u30d5\u30a1\u30c3\u30b7\u30e7\u30f3 \u043e\u0440\u0433 \u0928\u0947\u091f \u30b9\u30c8\u30a2 \u30a2\u30de\u30be\u30f3 \uc0bc\uc131 \u5546\u6807 \u5546\u5e97 \u5546\u57ce \u0434\u0435\u0442\u0438 \u30dd\u30a4\u30f3\u30c8 \u65b0\u95fb \u5bb6\u96fb \u0643\u0648\u0645 \u4e2d\u6587\u7f51 \u4e2d\u4fe1 \u5a31\u4e50 \u8c37\u6b4c \u96fb\u8a0a\u76c8\u79d1 \u8d2d\u7269 \u30af\u30e9\u30a6\u30c9 \u901a\u8ca9 \u7f51\u5e97 \u0938\u0902\u0917\u0920\u0928 \u9910\u5385 \u7f51\u7edc \u043a\u043e\u043c \u4e9a\u9a6c\u900a \u98df\u54c1 \u98de\u5229\u6d66 \u624b\u673a \u0627\u0631\u0627\u0645\u0643\u0648 \u0627\u0644\u0639\u0644\u064a\u0627\u0646 \u0628\u0627\u0632\u0627\u0631 \u0627\u0628\u0648\u0638\u0628\u064a \u0643\u0627\u062b\u0648\u0644\u064a\u0643 \u0647\u0645\u0631\u0627\u0647 \ub2f7\ucef4 \u653f\u5e9c \u0634\u0628\u0643\u0629 \u0628\u064a\u062a\u0643 \u0639\u0631\u0628 \u673a\u6784 \u7ec4\u7ec7\u673a\u6784 \u5065\u5eb7 \u62db\u8058 \u0440\u0443\u0441 \u5927\u62ff \u307f\u3093\u306a \u30b0\u30fc\u30b0\u30eb \u4e16\u754c \u66f8\u7c4d \u7f51\u5740 \ub2f7\ub137 \u30b3\u30e0 \u5929\u4e3b\u6559 \u6e38\u620f verm\u00f6gensberater verm\u00f6gensberatung \u4f01\u4e1a \u4fe1\u606f \u5609\u91cc\u5927\u9152\u5e97 \u5609\u91cc \u5e7f\u4e1c \u653f\u52a1 xyz yachts yahoo yamaxun yandex yodobashi yoga yokohama you youtube yun zappos zara zero zip zone zuerich co.krd edu.krd art.pl gliwice.pl krakow.pl poznan.pl wroc.pl zakopane.pl lib.de.us 12chars.dev 12chars.it 12chars.pro cc.ua inf.ua ltd.ua 611.to a2hosted.com cpserver.com aaa.vodka *.on-acorn.io activetrail.biz adaptable.app adobeaemcloud.com *.dev.adobeaemcloud.com aem.live hlx.live adobeaemcloud.net aem.page hlx.page hlx3.page adobeio-static.net adobeioruntime.net africa.com beep.pl airkitapps.com airkitapps-au.com airkitapps.eu aivencloud.com akadns.net akamai.net akamai-staging.net akamaiedge.net akamaiedge-staging.net akamaihd.net akamaihd-staging.net akamaiorigin.net akamaiorigin-staging.net akamaized.net akamaized-staging.net edgekey.net edgekey-staging.net edgesuite.net edgesuite-staging.net barsy.ca *.compute.estate *.alces.network kasserver.com altervista.org alwaysdata.net myamaze.net execute-api.cn-north-1.amazonaws.com.cn execute-api.cn-northwest-1.amazonaws.com.cn execute-api.af-south-1.amazonaws.com execute-api.ap-east-1.amazonaws.com execute-api.ap-northeast-1.amazonaws.com execute-api.ap-northeast-2.amazonaws.com execute-api.ap-northeast-3.amazonaws.com execute-api.ap-south-1.amazonaws.com execute-api.ap-south-2.amazonaws.com execute-api.ap-southeast-1.amazonaws.com execute-api.ap-southeast-2.amazonaws.com execute-api.ap-southeast-3.amazonaws.com execute-api.ap-southeast-4.amazonaws.com execute-api.ap-southeast-5.amazonaws.com execute-api.ca-central-1.amazonaws.com execute-api.ca-west-1.amazonaws.com execute-api.eu-central-1.amazonaws.com execute-api.eu-central-2.amazonaws.com execute-api.eu-north-1.amazonaws.com execute-api.eu-south-1.amazonaws.com execute-api.eu-south-2.amazonaws.com execute-api.eu-west-1.amazonaws.com execute-api.eu-west-2.amazonaws.com execute-api.eu-west-3.amazonaws.com execute-api.il-central-1.amazonaws.com execute-api.me-central-1.amazonaws.com execute-api.me-south-1.amazonaws.com execute-api.sa-east-1.amazonaws.com execute-api.us-east-1.amazonaws.com execute-api.us-east-2.amazonaws.com execute-api.us-gov-east-1.amazonaws.com execute-api.us-gov-west-1.amazonaws.com execute-api.us-west-1.amazonaws.com execute-api.us-west-2.amazonaws.com cloudfront.net auth.af-south-1.amazoncognito.com auth.ap-east-1.amazoncognito.com auth.ap-northeast-1.amazoncognito.com auth.ap-northeast-2.amazoncognito.com auth.ap-northeast-3.amazoncognito.com auth.ap-south-1.amazoncognito.com auth.ap-south-2.amazoncognito.com auth.ap-southeast-1.amazoncognito.com auth.ap-southeast-2.amazoncognito.com auth.ap-southeast-3.amazoncognito.com auth.ap-southeast-4.amazoncognito.com auth.ca-central-1.amazoncognito.com auth.ca-west-1.amazoncognito.com auth.eu-central-1.amazoncognito.com auth.eu-central-2.amazoncognito.com auth.eu-north-1.amazoncognito.com auth.eu-south-1.amazoncognito.com auth.eu-south-2.amazoncognito.com auth.eu-west-1.amazoncognito.com auth.eu-west-2.amazoncognito.com auth.eu-west-3.amazoncognito.com auth.il-central-1.amazoncognito.com auth.me-central-1.amazoncognito.com auth.me-south-1.amazoncognito.com auth.sa-east-1.amazoncognito.com auth.us-east-1.amazoncognito.com auth-fips.us-east-1.amazoncognito.com auth.us-east-2.amazoncognito.com auth-fips.us-east-2.amazoncognito.com auth-fips.us-gov-west-1.amazoncognito.com auth.us-west-1.amazoncognito.com auth-fips.us-west-1.amazoncognito.com auth.us-west-2.amazoncognito.com auth-fips.us-west-2.amazoncognito.com *.compute.amazonaws.com.cn *.compute.amazonaws.com *.compute-1.amazonaws.com us-east-1.amazonaws.com emrappui-prod.cn-north-1.amazonaws.com.cn emrnotebooks-prod.cn-north-1.amazonaws.com.cn emrstudio-prod.cn-north-1.amazonaws.com.cn emrappui-prod.cn-northwest-1.amazonaws.com.cn emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn emrstudio-prod.cn-northwest-1.amazonaws.com.cn emrappui-prod.af-south-1.amazonaws.com emrnotebooks-prod.af-south-1.amazonaws.com emrstudio-prod.af-south-1.amazonaws.com emrappui-prod.ap-east-1.amazonaws.com emrnotebooks-prod.ap-east-1.amazonaws.com emrstudio-prod.ap-east-1.amazonaws.com emrappui-prod.ap-northeast-1.amazonaws.com emrnotebooks-prod.ap-northeast-1.amazonaws.com emrstudio-prod.ap-northeast-1.amazonaws.com emrappui-prod.ap-northeast-2.amazonaws.com emrnotebooks-prod.ap-northeast-2.amazonaws.com emrstudio-prod.ap-northeast-2.amazonaws.com emrappui-prod.ap-northeast-3.amazonaws.com emrnotebooks-prod.ap-northeast-3.amazonaws.com emrstudio-prod.ap-northeast-3.amazonaws.com emrappui-prod.ap-south-1.amazonaws.com emrnotebooks-prod.ap-south-1.amazonaws.com emrstudio-prod.ap-south-1.amazonaws.com emrappui-prod.ap-south-2.amazonaws.com emrnotebooks-prod.ap-south-2.amazonaws.com emrstudio-prod.ap-south-2.amazonaws.com emrappui-prod.ap-southeast-1.amazonaws.com emrnotebooks-prod.ap-southeast-1.amazonaws.com emrstudio-prod.ap-southeast-1.amazonaws.com emrappui-prod.ap-southeast-2.amazonaws.com emrnotebooks-prod.ap-southeast-2.amazonaws.com emrstudio-prod.ap-southeast-2.amazonaws.com emrappui-prod.ap-southeast-3.amazonaws.com emrnotebooks-prod.ap-southeast-3.amazonaws.com emrstudio-prod.ap-southeast-3.amazonaws.com emrappui-prod.ap-southeast-4.amazonaws.com emrnotebooks-prod.ap-southeast-4.amazonaws.com emrstudio-prod.ap-southeast-4.amazonaws.com emrappui-prod.ca-central-1.amazonaws.com emrnotebooks-prod.ca-central-1.amazonaws.com emrstudio-prod.ca-central-1.amazonaws.com emrappui-prod.ca-west-1.amazonaws.com emrnotebooks-prod.ca-west-1.amazonaws.com emrstudio-prod.ca-west-1.amazonaws.com emrappui-prod.eu-central-1.amazonaws.com emrnotebooks-prod.eu-central-1.amazonaws.com emrstudio-prod.eu-central-1.amazonaws.com emrappui-prod.eu-central-2.amazonaws.com emrnotebooks-prod.eu-central-2.amazonaws.com emrstudio-prod.eu-central-2.amazonaws.com emrappui-prod.eu-north-1.amazonaws.com emrnotebooks-prod.eu-north-1.amazonaws.com emrstudio-prod.eu-north-1.amazonaws.com emrappui-prod.eu-south-1.amazonaws.com emrnotebooks-prod.eu-south-1.amazonaws.com emrstudio-prod.eu-south-1.amazonaws.com emrappui-prod.eu-south-2.amazonaws.com emrnotebooks-prod.eu-south-2.amazonaws.com emrstudio-prod.eu-south-2.amazonaws.com emrappui-prod.eu-west-1.amazonaws.com emrnotebooks-prod.eu-west-1.amazonaws.com emrstudio-prod.eu-west-1.amazonaws.com emrappui-prod.eu-west-2.amazonaws.com emrnotebooks-prod.eu-west-2.amazonaws.com emrstudio-prod.eu-west-2.amazonaws.com emrappui-prod.eu-west-3.amazonaws.com emrnotebooks-prod.eu-west-3.amazonaws.com emrstudio-prod.eu-west-3.amazonaws.com emrappui-prod.il-central-1.amazonaws.com emrnotebooks-prod.il-central-1.amazonaws.com emrstudio-prod.il-central-1.amazonaws.com emrappui-prod.me-central-1.amazonaws.com emrnotebooks-prod.me-central-1.amazonaws.com emrstudio-prod.me-central-1.amazonaws.com emrappui-prod.me-south-1.amazonaws.com emrnotebooks-prod.me-south-1.amazonaws.com emrstudio-prod.me-south-1.amazonaws.com emrappui-prod.sa-east-1.amazonaws.com emrnotebooks-prod.sa-east-1.amazonaws.com emrstudio-prod.sa-east-1.amazonaws.com emrappui-prod.us-east-1.amazonaws.com emrnotebooks-prod.us-east-1.amazonaws.com emrstudio-prod.us-east-1.amazonaws.com emrappui-prod.us-east-2.amazonaws.com emrnotebooks-prod.us-east-2.amazonaws.com emrstudio-prod.us-east-2.amazonaws.com emrappui-prod.us-gov-east-1.amazonaws.com emrnotebooks-prod.us-gov-east-1.amazonaws.com emrstudio-prod.us-gov-east-1.amazonaws.com emrappui-prod.us-gov-west-1.amazonaws.com emrnotebooks-prod.us-gov-west-1.amazonaws.com emrstudio-prod.us-gov-west-1.amazonaws.com emrappui-prod.us-west-1.amazonaws.com emrnotebooks-prod.us-west-1.amazonaws.com emrstudio-prod.us-west-1.amazonaws.com emrappui-prod.us-west-2.amazonaws.com emrnotebooks-prod.us-west-2.amazonaws.com emrstudio-prod.us-west-2.amazonaws.com *.cn-north-1.airflow.amazonaws.com.cn *.cn-northwest-1.airflow.amazonaws.com.cn *.af-south-1.airflow.amazonaws.com *.ap-east-1.airflow.amazonaws.com *.ap-northeast-1.airflow.amazonaws.com *.ap-northeast-2.airflow.amazonaws.com *.ap-northeast-3.airflow.amazonaws.com *.ap-south-1.airflow.amazonaws.com *.ap-south-2.airflow.amazonaws.com *.ap-southeast-1.airflow.amazonaws.com *.ap-southeast-2.airflow.amazonaws.com *.ap-southeast-3.airflow.amazonaws.com *.ap-southeast-4.airflow.amazonaws.com *.ca-central-1.airflow.amazonaws.com *.ca-west-1.airflow.amazonaws.com *.eu-central-1.airflow.amazonaws.com *.eu-central-2.airflow.amazonaws.com *.eu-north-1.airflow.amazonaws.com *.eu-south-1.airflow.amazonaws.com *.eu-south-2.airflow.amazonaws.com *.eu-west-1.airflow.amazonaws.com *.eu-west-2.airflow.amazonaws.com *.eu-west-3.airflow.amazonaws.com *.il-central-1.airflow.amazonaws.com *.me-central-1.airflow.amazonaws.com *.me-south-1.airflow.amazonaws.com *.sa-east-1.airflow.amazonaws.com *.us-east-1.airflow.amazonaws.com *.us-east-2.airflow.amazonaws.com *.us-west-1.airflow.amazonaws.com *.us-west-2.airflow.amazonaws.com s3.dualstack.cn-north-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn s3-website.dualstack.cn-north-1.amazonaws.com.cn s3.cn-north-1.amazonaws.com.cn s3-accesspoint.cn-north-1.amazonaws.com.cn s3-deprecated.cn-north-1.amazonaws.com.cn s3-object-lambda.cn-north-1.amazonaws.com.cn s3-website.cn-north-1.amazonaws.com.cn s3.dualstack.cn-northwest-1.amazonaws.com.cn s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn s3.cn-northwest-1.amazonaws.com.cn s3-accesspoint.cn-northwest-1.amazonaws.com.cn s3-object-lambda.cn-northwest-1.amazonaws.com.cn s3-website.cn-northwest-1.amazonaws.com.cn s3.dualstack.af-south-1.amazonaws.com s3-accesspoint.dualstack.af-south-1.amazonaws.com s3-website.dualstack.af-south-1.amazonaws.com s3.af-south-1.amazonaws.com s3-accesspoint.af-south-1.amazonaws.com s3-object-lambda.af-south-1.amazonaws.com s3-website.af-south-1.amazonaws.com s3.dualstack.ap-east-1.amazonaws.com s3-accesspoint.dualstack.ap-east-1.amazonaws.com s3.ap-east-1.amazonaws.com s3-accesspoint.ap-east-1.amazonaws.com s3-object-lambda.ap-east-1.amazonaws.com s3-website.ap-east-1.amazonaws.com s3.dualstack.ap-northeast-1.amazonaws.com s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com s3-website.dualstack.ap-northeast-1.amazonaws.com s3.ap-northeast-1.amazonaws.com s3-accesspoint.ap-northeast-1.amazonaws.com s3-object-lambda.ap-northeast-1.amazonaws.com s3-website.ap-northeast-1.amazonaws.com s3.dualstack.ap-northeast-2.amazonaws.com s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com s3-website.dualstack.ap-northeast-2.amazonaws.com s3.ap-northeast-2.amazonaws.com s3-accesspoint.ap-northeast-2.amazonaws.com s3-object-lambda.ap-northeast-2.amazonaws.com s3-website.ap-northeast-2.amazonaws.com s3.dualstack.ap-northeast-3.amazonaws.com s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com s3-website.dualstack.ap-northeast-3.amazonaws.com s3.ap-northeast-3.amazonaws.com s3-accesspoint.ap-northeast-3.amazonaws.com s3-object-lambda.ap-northeast-3.amazonaws.com s3-website.ap-northeast-3.amazonaws.com s3.dualstack.ap-south-1.amazonaws.com s3-accesspoint.dualstack.ap-south-1.amazonaws.com s3-website.dualstack.ap-south-1.amazonaws.com s3.ap-south-1.amazonaws.com s3-accesspoint.ap-south-1.amazonaws.com s3-object-lambda.ap-south-1.amazonaws.com s3-website.ap-south-1.amazonaws.com s3.dualstack.ap-south-2.amazonaws.com s3-accesspoint.dualstack.ap-south-2.amazonaws.com s3-website.dualstack.ap-south-2.amazonaws.com s3.ap-south-2.amazonaws.com s3-accesspoint.ap-south-2.amazonaws.com s3-object-lambda.ap-south-2.amazonaws.com s3-website.ap-south-2.amazonaws.com s3.dualstack.ap-southeast-1.amazonaws.com s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com s3-website.dualstack.ap-southeast-1.amazonaws.com s3.ap-southeast-1.amazonaws.com s3-accesspoint.ap-southeast-1.amazonaws.com s3-object-lambda.ap-southeast-1.amazonaws.com s3-website.ap-southeast-1.amazonaws.com s3.dualstack.ap-southeast-2.amazonaws.com s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com s3-website.dualstack.ap-southeast-2.amazonaws.com s3.ap-southeast-2.amazonaws.com s3-accesspoint.ap-southeast-2.amazonaws.com s3-object-lambda.ap-southeast-2.amazonaws.com s3-website.ap-southeast-2.amazonaws.com s3.dualstack.ap-southeast-3.amazonaws.com s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com s3-website.dualstack.ap-southeast-3.amazonaws.com s3.ap-southeast-3.amazonaws.com s3-accesspoint.ap-southeast-3.amazonaws.com s3-object-lambda.ap-southeast-3.amazonaws.com s3-website.ap-southeast-3.amazonaws.com s3.dualstack.ap-southeast-4.amazonaws.com s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com s3-website.dualstack.ap-southeast-4.amazonaws.com s3.ap-southeast-4.amazonaws.com s3-accesspoint.ap-southeast-4.amazonaws.com s3-object-lambda.ap-southeast-4.amazonaws.com s3-website.ap-southeast-4.amazonaws.com s3.dualstack.ap-southeast-5.amazonaws.com s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com s3-website.dualstack.ap-southeast-5.amazonaws.com s3.ap-southeast-5.amazonaws.com s3-accesspoint.ap-southeast-5.amazonaws.com s3-deprecated.ap-southeast-5.amazonaws.com s3-object-lambda.ap-southeast-5.amazonaws.com s3-website.ap-southeast-5.amazonaws.com s3.dualstack.ca-central-1.amazonaws.com s3-accesspoint.dualstack.ca-central-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com s3-fips.dualstack.ca-central-1.amazonaws.com s3-website.dualstack.ca-central-1.amazonaws.com s3.ca-central-1.amazonaws.com s3-accesspoint.ca-central-1.amazonaws.com s3-accesspoint-fips.ca-central-1.amazonaws.com s3-fips.ca-central-1.amazonaws.com s3-object-lambda.ca-central-1.amazonaws.com s3-website.ca-central-1.amazonaws.com s3.dualstack.ca-west-1.amazonaws.com s3-accesspoint.dualstack.ca-west-1.amazonaws.com s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com s3-fips.dualstack.ca-west-1.amazonaws.com s3-website.dualstack.ca-west-1.amazonaws.com s3.ca-west-1.amazonaws.com s3-accesspoint.ca-west-1.amazonaws.com s3-accesspoint-fips.ca-west-1.amazonaws.com s3-fips.ca-west-1.amazonaws.com s3-object-lambda.ca-west-1.amazonaws.com s3-website.ca-west-1.amazonaws.com s3.dualstack.eu-central-1.amazonaws.com s3-accesspoint.dualstack.eu-central-1.amazonaws.com s3-website.dualstack.eu-central-1.amazonaws.com s3.eu-central-1.amazonaws.com s3-accesspoint.eu-central-1.amazonaws.com s3-object-lambda.eu-central-1.amazonaws.com s3-website.eu-central-1.amazonaws.com s3.dualstack.eu-central-2.amazonaws.com s3-accesspoint.dualstack.eu-central-2.amazonaws.com s3-website.dualstack.eu-central-2.amazonaws.com s3.eu-central-2.amazonaws.com s3-accesspoint.eu-central-2.amazonaws.com s3-object-lambda.eu-central-2.amazonaws.com s3-website.eu-central-2.amazonaws.com s3.dualstack.eu-north-1.amazonaws.com s3-accesspoint.dualstack.eu-north-1.amazonaws.com s3.eu-north-1.amazonaws.com s3-accesspoint.eu-north-1.amazonaws.com s3-object-lambda.eu-north-1.amazonaws.com s3-website.eu-north-1.amazonaws.com s3.dualstack.eu-south-1.amazonaws.com s3-accesspoint.dualstack.eu-south-1.amazonaws.com s3-website.dualstack.eu-south-1.amazonaws.com s3.eu-south-1.amazonaws.com s3-accesspoint.eu-south-1.amazonaws.com s3-object-lambda.eu-south-1.amazonaws.com s3-website.eu-south-1.amazonaws.com s3.dualstack.eu-south-2.amazonaws.com s3-accesspoint.dualstack.eu-south-2.amazonaws.com s3-website.dualstack.eu-south-2.amazonaws.com s3.eu-south-2.amazonaws.com s3-accesspoint.eu-south-2.amazonaws.com s3-object-lambda.eu-south-2.amazonaws.com s3-website.eu-south-2.amazonaws.com s3.dualstack.eu-west-1.amazonaws.com s3-accesspoint.dualstack.eu-west-1.amazonaws.com s3-website.dualstack.eu-west-1.amazonaws.com s3.eu-west-1.amazonaws.com s3-accesspoint.eu-west-1.amazonaws.com s3-deprecated.eu-west-1.amazonaws.com s3-object-lambda.eu-west-1.amazonaws.com s3-website.eu-west-1.amazonaws.com s3.dualstack.eu-west-2.amazonaws.com s3-accesspoint.dualstack.eu-west-2.amazonaws.com s3.eu-west-2.amazonaws.com s3-accesspoint.eu-west-2.amazonaws.com s3-object-lambda.eu-west-2.amazonaws.com s3-website.eu-west-2.amazonaws.com s3.dualstack.eu-west-3.amazonaws.com s3-accesspoint.dualstack.eu-west-3.amazonaws.com s3-website.dualstack.eu-west-3.amazonaws.com s3.eu-west-3.amazonaws.com s3-accesspoint.eu-west-3.amazonaws.com s3-object-lambda.eu-west-3.amazonaws.com s3-website.eu-west-3.amazonaws.com s3.dualstack.il-central-1.amazonaws.com s3-accesspoint.dualstack.il-central-1.amazonaws.com s3-website.dualstack.il-central-1.amazonaws.com s3.il-central-1.amazonaws.com s3-accesspoint.il-central-1.amazonaws.com s3-object-lambda.il-central-1.amazonaws.com s3-website.il-central-1.amazonaws.com s3.dualstack.me-central-1.amazonaws.com s3-accesspoint.dualstack.me-central-1.amazonaws.com s3-website.dualstack.me-central-1.amazonaws.com s3.me-central-1.amazonaws.com s3-accesspoint.me-central-1.amazonaws.com s3-object-lambda.me-central-1.amazonaws.com s3-website.me-central-1.amazonaws.com s3.dualstack.me-south-1.amazonaws.com s3-accesspoint.dualstack.me-south-1.amazonaws.com s3.me-south-1.amazonaws.com s3-accesspoint.me-south-1.amazonaws.com s3-object-lambda.me-south-1.amazonaws.com s3-website.me-south-1.amazonaws.com s3.amazonaws.com s3-1.amazonaws.com s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com mrap.accesspoint.s3-global.amazonaws.com s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com s3-us-east-2.amazonaws.com s3-us-gov-east-1.amazonaws.com s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com s3-website-ap-northeast-1.amazonaws.com s3-website-ap-southeast-1.amazonaws.com s3-website-ap-southeast-2.amazonaws.com s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com s3-website-us-east-1.amazonaws.com s3-website-us-gov-west-1.amazonaws.com s3-website-us-west-1.amazonaws.com s3-website-us-west-2.amazonaws.com s3.dualstack.sa-east-1.amazonaws.com s3-accesspoint.dualstack.sa-east-1.amazonaws.com s3-website.dualstack.sa-east-1.amazonaws.com s3.sa-east-1.amazonaws.com s3-accesspoint.sa-east-1.amazonaws.com s3-object-lambda.sa-east-1.amazonaws.com s3-website.sa-east-1.amazonaws.com s3.dualstack.us-east-1.amazonaws.com s3-accesspoint.dualstack.us-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com s3-fips.dualstack.us-east-1.amazonaws.com s3-website.dualstack.us-east-1.amazonaws.com s3.us-east-1.amazonaws.com s3-accesspoint.us-east-1.amazonaws.com s3-accesspoint-fips.us-east-1.amazonaws.com s3-deprecated.us-east-1.amazonaws.com s3-fips.us-east-1.amazonaws.com s3-object-lambda.us-east-1.amazonaws.com s3-website.us-east-1.amazonaws.com s3.dualstack.us-east-2.amazonaws.com s3-accesspoint.dualstack.us-east-2.amazonaws.com s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com s3-fips.dualstack.us-east-2.amazonaws.com s3-website.dualstack.us-east-2.amazonaws.com s3.us-east-2.amazonaws.com s3-accesspoint.us-east-2.amazonaws.com s3-accesspoint-fips.us-east-2.amazonaws.com s3-deprecated.us-east-2.amazonaws.com s3-fips.us-east-2.amazonaws.com s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com s3.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com s3-fips.dualstack.us-gov-east-1.amazonaws.com s3.us-gov-east-1.amazonaws.com s3-accesspoint.us-gov-east-1.amazonaws.com s3-accesspoint-fips.us-gov-east-1.amazonaws.com s3-fips.us-gov-east-1.amazonaws.com s3-object-lambda.us-gov-east-1.amazonaws.com s3-website.us-gov-east-1.amazonaws.com s3.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com s3-fips.dualstack.us-gov-west-1.amazonaws.com s3.us-gov-west-1.amazonaws.com s3-accesspoint.us-gov-west-1.amazonaws.com s3-accesspoint-fips.us-gov-west-1.amazonaws.com s3-fips.us-gov-west-1.amazonaws.com s3-object-lambda.us-gov-west-1.amazonaws.com s3-website.us-gov-west-1.amazonaws.com s3.dualstack.us-west-1.amazonaws.com s3-accesspoint.dualstack.us-west-1.amazonaws.com s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com s3-fips.dualstack.us-west-1.amazonaws.com s3-website.dualstack.us-west-1.amazonaws.com s3.us-west-1.amazonaws.com s3-accesspoint.us-west-1.amazonaws.com s3-accesspoint-fips.us-west-1.amazonaws.com s3-fips.us-west-1.amazonaws.com s3-object-lambda.us-west-1.amazonaws.com s3-website.us-west-1.amazonaws.com s3.dualstack.us-west-2.amazonaws.com s3-accesspoint.dualstack.us-west-2.amazonaws.com s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com s3-fips.dualstack.us-west-2.amazonaws.com s3-website.dualstack.us-west-2.amazonaws.com s3.us-west-2.amazonaws.com s3-accesspoint.us-west-2.amazonaws.com s3-accesspoint-fips.us-west-2.amazonaws.com s3-deprecated.us-west-2.amazonaws.com s3-fips.us-west-2.amazonaws.com s3-object-lambda.us-west-2.amazonaws.com s3-website.us-west-2.amazonaws.com labeling.ap-northeast-1.sagemaker.aws labeling.ap-northeast-2.sagemaker.aws labeling.ap-south-1.sagemaker.aws labeling.ap-southeast-1.sagemaker.aws labeling.ap-southeast-2.sagemaker.aws labeling.ca-central-1.sagemaker.aws labeling.eu-central-1.sagemaker.aws labeling.eu-west-1.sagemaker.aws labeling.eu-west-2.sagemaker.aws labeling.us-east-1.sagemaker.aws labeling.us-east-2.sagemaker.aws labeling.us-west-2.sagemaker.aws notebook.af-south-1.sagemaker.aws notebook.ap-east-1.sagemaker.aws notebook.ap-northeast-1.sagemaker.aws notebook.ap-northeast-2.sagemaker.aws notebook.ap-northeast-3.sagemaker.aws notebook.ap-south-1.sagemaker.aws notebook.ap-south-2.sagemaker.aws notebook.ap-southeast-1.sagemaker.aws notebook.ap-southeast-2.sagemaker.aws notebook.ap-southeast-3.sagemaker.aws notebook.ap-southeast-4.sagemaker.aws notebook.ca-central-1.sagemaker.aws notebook-fips.ca-central-1.sagemaker.aws notebook.ca-west-1.sagemaker.aws notebook-fips.ca-west-1.sagemaker.aws notebook.eu-central-1.sagemaker.aws notebook.eu-central-2.sagemaker.aws notebook.eu-north-1.sagemaker.aws notebook.eu-south-1.sagemaker.aws notebook.eu-south-2.sagemaker.aws notebook.eu-west-1.sagemaker.aws notebook.eu-west-2.sagemaker.aws notebook.eu-west-3.sagemaker.aws notebook.il-central-1.sagemaker.aws notebook.me-central-1.sagemaker.aws notebook.me-south-1.sagemaker.aws notebook.sa-east-1.sagemaker.aws notebook.us-east-1.sagemaker.aws notebook-fips.us-east-1.sagemaker.aws notebook.us-east-2.sagemaker.aws notebook-fips.us-east-2.sagemaker.aws notebook.us-gov-east-1.sagemaker.aws notebook-fips.us-gov-east-1.sagemaker.aws notebook.us-gov-west-1.sagemaker.aws notebook-fips.us-gov-west-1.sagemaker.aws notebook.us-west-1.sagemaker.aws notebook-fips.us-west-1.sagemaker.aws notebook.us-west-2.sagemaker.aws notebook-fips.us-west-2.sagemaker.aws notebook.cn-north-1.sagemaker.com.cn notebook.cn-northwest-1.sagemaker.com.cn studio.af-south-1.sagemaker.aws studio.ap-east-1.sagemaker.aws studio.ap-northeast-1.sagemaker.aws studio.ap-northeast-2.sagemaker.aws studio.ap-northeast-3.sagemaker.aws studio.ap-south-1.sagemaker.aws studio.ap-southeast-1.sagemaker.aws studio.ap-southeast-2.sagemaker.aws studio.ap-southeast-3.sagemaker.aws studio.ca-central-1.sagemaker.aws studio.eu-central-1.sagemaker.aws studio.eu-north-1.sagemaker.aws studio.eu-south-1.sagemaker.aws studio.eu-south-2.sagemaker.aws studio.eu-west-1.sagemaker.aws studio.eu-west-2.sagemaker.aws studio.eu-west-3.sagemaker.aws studio.il-central-1.sagemaker.aws studio.me-central-1.sagemaker.aws studio.me-south-1.sagemaker.aws studio.sa-east-1.sagemaker.aws studio.us-east-1.sagemaker.aws studio.us-east-2.sagemaker.aws studio.us-gov-east-1.sagemaker.aws studio-fips.us-gov-east-1.sagemaker.aws studio.us-gov-west-1.sagemaker.aws studio-fips.us-gov-west-1.sagemaker.aws studio.us-west-1.sagemaker.aws studio.us-west-2.sagemaker.aws studio.cn-north-1.sagemaker.com.cn studio.cn-northwest-1.sagemaker.com.cn *.experiments.sagemaker.aws analytics-gateway.ap-northeast-1.amazonaws.com analytics-gateway.ap-northeast-2.amazonaws.com analytics-gateway.ap-south-1.amazonaws.com analytics-gateway.ap-southeast-1.amazonaws.com analytics-gateway.ap-southeast-2.amazonaws.com analytics-gateway.eu-central-1.amazonaws.com analytics-gateway.eu-west-1.amazonaws.com analytics-gateway.us-east-1.amazonaws.com analytics-gateway.us-east-2.amazonaws.com analytics-gateway.us-west-2.amazonaws.com amplifyapp.com *.awsapprunner.com webview-assets.aws-cloud9.af-south-1.amazonaws.com vfs.cloud9.af-south-1.amazonaws.com webview-assets.cloud9.af-south-1.amazonaws.com webview-assets.aws-cloud9.ap-east-1.amazonaws.com vfs.cloud9.ap-east-1.amazonaws.com webview-assets.cloud9.ap-east-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com vfs.cloud9.ap-northeast-1.amazonaws.com webview-assets.cloud9.ap-northeast-1.amazonaws.com webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com vfs.cloud9.ap-northeast-2.amazonaws.com webview-assets.cloud9.ap-northeast-2.amazonaws.com webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com vfs.cloud9.ap-northeast-3.amazonaws.com webview-assets.cloud9.ap-northeast-3.amazonaws.com webview-assets.aws-cloud9.ap-south-1.amazonaws.com vfs.cloud9.ap-south-1.amazonaws.com webview-assets.cloud9.ap-south-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com vfs.cloud9.ap-southeast-1.amazonaws.com webview-assets.cloud9.ap-southeast-1.amazonaws.com webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com vfs.cloud9.ap-southeast-2.amazonaws.com webview-assets.cloud9.ap-southeast-2.amazonaws.com webview-assets.aws-cloud9.ca-central-1.amazonaws.com vfs.cloud9.ca-central-1.amazonaws.com webview-assets.cloud9.ca-central-1.amazonaws.com webview-assets.aws-cloud9.eu-central-1.amazonaws.com vfs.cloud9.eu-central-1.amazonaws.com webview-assets.cloud9.eu-central-1.amazonaws.com webview-assets.aws-cloud9.eu-north-1.amazonaws.com vfs.cloud9.eu-north-1.amazonaws.com webview-assets.cloud9.eu-north-1.amazonaws.com webview-assets.aws-cloud9.eu-south-1.amazonaws.com vfs.cloud9.eu-south-1.amazonaws.com webview-assets.cloud9.eu-south-1.amazonaws.com webview-assets.aws-cloud9.eu-west-1.amazonaws.com vfs.cloud9.eu-west-1.amazonaws.com webview-assets.cloud9.eu-west-1.amazonaws.com webview-assets.aws-cloud9.eu-west-2.amazonaws.com vfs.cloud9.eu-west-2.amazonaws.com webview-assets.cloud9.eu-west-2.amazonaws.com webview-assets.aws-cloud9.eu-west-3.amazonaws.com vfs.cloud9.eu-west-3.amazonaws.com webview-assets.cloud9.eu-west-3.amazonaws.com webview-assets.aws-cloud9.il-central-1.amazonaws.com vfs.cloud9.il-central-1.amazonaws.com webview-assets.aws-cloud9.me-south-1.amazonaws.com vfs.cloud9.me-south-1.amazonaws.com webview-assets.cloud9.me-south-1.amazonaws.com webview-assets.aws-cloud9.sa-east-1.amazonaws.com vfs.cloud9.sa-east-1.amazonaws.com webview-assets.cloud9.sa-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-1.amazonaws.com vfs.cloud9.us-east-1.amazonaws.com webview-assets.cloud9.us-east-1.amazonaws.com webview-assets.aws-cloud9.us-east-2.amazonaws.com vfs.cloud9.us-east-2.amazonaws.com webview-assets.cloud9.us-east-2.amazonaws.com webview-assets.aws-cloud9.us-west-1.amazonaws.com vfs.cloud9.us-west-1.amazonaws.com webview-assets.cloud9.us-west-1.amazonaws.com webview-assets.aws-cloud9.us-west-2.amazonaws.com vfs.cloud9.us-west-2.amazonaws.com webview-assets.cloud9.us-west-2.amazonaws.com awsapps.com cn-north-1.eb.amazonaws.com.cn cn-northwest-1.eb.amazonaws.com.cn elasticbeanstalk.com af-south-1.elasticbeanstalk.com ap-east-1.elasticbeanstalk.com ap-northeast-1.elasticbeanstalk.com ap-northeast-2.elasticbeanstalk.com ap-northeast-3.elasticbeanstalk.com ap-south-1.elasticbeanstalk.com ap-southeast-1.elasticbeanstalk.com ap-southeast-2.elasticbeanstalk.com ap-southeast-3.elasticbeanstalk.com ca-central-1.elasticbeanstalk.com eu-central-1.elasticbeanstalk.com eu-north-1.elasticbeanstalk.com eu-south-1.elasticbeanstalk.com eu-west-1.elasticbeanstalk.com eu-west-2.elasticbeanstalk.com eu-west-3.elasticbeanstalk.com il-central-1.elasticbeanstalk.com me-south-1.elasticbeanstalk.com sa-east-1.elasticbeanstalk.com us-east-1.elasticbeanstalk.com us-east-2.elasticbeanstalk.com us-gov-east-1.elasticbeanstalk.com us-gov-west-1.elasticbeanstalk.com us-west-1.elasticbeanstalk.com us-west-2.elasticbeanstalk.com *.elb.amazonaws.com.cn *.elb.amazonaws.com awsglobalaccelerator.com *.private.repost.aws eero.online eero-stage.online apigee.io panel.dev siiites.com appspacehosted.com appspaceusercontent.com appudo.net on-aptible.com f5.si arvanedge.ir user.aseinet.ne.jp gv.vc d.gv.vc user.party.eus pimienta.org poivron.org potager.org sweetpepper.org myasustor.com cdn.prod.atlassian-dev.net translated.page myfritz.link myfritz.net onavstack.net *.awdev.ca *.advisor.ws ecommerce-shop.pl b-data.io balena-devices.com base.ec official.ec buyshop.jp fashionstore.jp handcrafted.jp kawaiishop.jp supersale.jp theshop.jp shopselect.net base.shop beagleboard.io *.beget.app pages.gay bnr.la bitbucket.io blackbaudcdn.net of.je bluebite.io boomla.net boutir.com boxfuse.io square7.ch bplaced.com bplaced.de square7.de bplaced.net square7.net *.s.brave.io shop.brendly.hr shop.brendly.rs browsersafetymark.io radio.am radio.fm uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk cafjs.com canva-apps.cn *.my.canvasite.cn canva-apps.com *.my.canva.site drr.ac uwu.ai carrd.co crd.co ju.mp api.gov.uk cdn77-storage.com rsc.contentproxy9.cz r.cdn77.net cdn77-ssl.net c.cdn77.org rsc.cdn77.org ssl.origin.cdn77-secure.org za.bz br.com cn.com de.com eu.com jpn.com mex.com ru.com sa.com uk.com us.com za.com com.de gb.net hu.net jp.net se.net uk.net ae.org com.se cx.ua discourse.group discourse.team clerk.app clerkstage.app *.lcl.dev *.lclstage.dev *.stg.dev *.stgstage.dev cleverapps.cc *.services.clever-cloud.com cleverapps.io cleverapps.tech clickrising.net cloudns.asia cloudns.be cloud-ip.biz cloudns.biz cloudns.cc cloudns.ch cloudns.cl cloudns.club dnsabr.com ip-ddns.com cloudns.cx cloudns.eu cloudns.in cloudns.info ddns-ip.net dns-cloud.net dns-dynamic.net cloudns.nz cloudns.org ip-dynamic.org cloudns.ph cloudns.pro cloudns.pw cloudns.us c66.me cloud66.ws cloud66.zone jdevcloud.com wpdevcloud.com cloudaccess.host freesite.host cloudaccess.net *.cloudera.site cf-ipfs.com cloudflare-ipfs.com trycloudflare.com pages.dev r2.dev workers.dev cloudflare.net cdn.cloudflare.net cdn.cloudflareanycast.net cdn.cloudflarecn.net cdn.cloudflareglobal.net cust.cloudscale.ch objects.lpg.cloudscale.ch objects.rma.cloudscale.ch wnext.app cnpy.gdn *.otap.co co.ca co.com codeberg.page csb.app preview.csb.app co.nl co.no webhosting.be hosting-cluster.nl ctfcloud.net convex.site ac.ru edu.ru gov.ru int.ru mil.ru test.ru dyn.cosidns.de dnsupdater.de dynamisches-dns.de internet-dns.de l-o-g-i-n.de dynamic-dns.info feste-ip.net knx-server.net static-access.net craft.me realm.cz on.crisp.email *.cryptonomic.net curv.dev cfolks.pl cyon.link cyon.site platform0.app fnwk.site folionetwork.site biz.dk co.dk firm.dk reg.dk store.dk dyndns.dappnode.io builtwithdark.com darklang.io demo.datadetect.com instance.datadetect.com edgestack.me dattolocal.com dattorelay.com dattoweb.com mydatto.com dattolocal.net mydatto.net ddnss.de dyn.ddnss.de dyndns.ddnss.de dyn-ip24.de dyndns1.de home-webserver.de dyn.home-webserver.de myhome-server.de ddnss.org debian.net definima.io definima.net deno.dev deno-staging.dev dedyn.io deta.app deta.dev dfirma.pl dkonto.pl you2.pl ondigitalocean.app *.digitaloceanspaces.com us.kg rss.my.id diher.solutions discordsays.com discordsez.com jozi.biz dnshome.de online.th shop.th drayddns.com shoparena.pl dreamhosters.com durumis.com mydrobo.com drud.io drud.us duckdns.org dy.fi tunk.org dyndns.biz for-better.biz for-more.biz for-some.biz for-the.biz selfip.biz webhop.biz ftpaccess.cc game-server.cc myphotos.cc scrapping.cc blogdns.com cechire.com dnsalias.com dnsdojo.com doesntexist.com dontexist.com doomdns.com dyn-o-saur.com dynalias.com dyndns-at-home.com dyndns-at-work.com dyndns-blog.com dyndns-free.com dyndns-home.com dyndns-ip.com dyndns-mail.com dyndns-office.com dyndns-pics.com dyndns-remote.com dyndns-server.com dyndns-web.com dyndns-wiki.com dyndns-work.com est-a-la-maison.com est-a-la-masion.com est-le-patron.com est-mon-blogueur.com from-ak.com from-al.com from-ar.com from-ca.com from-ct.com from-dc.com from-de.com from-fl.com from-ga.com from-hi.com from-ia.com from-id.com from-il.com from-in.com from-ks.com from-ky.com from-ma.com from-md.com from-mi.com from-mn.com from-mo.com from-ms.com from-mt.com from-nc.com from-nd.com from-ne.com from-nh.com from-nj.com from-nm.com from-nv.com from-oh.com from-ok.com from-or.com from-pa.com from-pr.com from-ri.com from-sc.com from-sd.com from-tn.com from-tx.com from-ut.com from-va.com from-vt.com from-wa.com from-wi.com from-wv.com from-wy.com getmyip.com gotdns.com hobby-site.com homelinux.com homeunix.com iamallama.com is-a-anarchist.com is-a-blogger.com is-a-bookkeeper.com is-a-bulls-fan.com is-a-caterer.com is-a-chef.com is-a-conservative.com is-a-cpa.com is-a-cubicle-slave.com is-a-democrat.com is-a-designer.com is-a-doctor.com is-a-financialadvisor.com is-a-geek.com is-a-green.com is-a-guru.com is-a-hard-worker.com is-a-hunter.com is-a-landscaper.com is-a-lawyer.com is-a-liberal.com is-a-libertarian.com is-a-llama.com is-a-musician.com is-a-nascarfan.com is-a-nurse.com is-a-painter.com is-a-personaltrainer.com is-a-photographer.com is-a-player.com is-a-republican.com is-a-rockstar.com is-a-socialist.com is-a-student.com is-a-teacher.com is-a-techie.com is-a-therapist.com is-an-accountant.com is-an-actor.com is-an-actress.com is-an-anarchist.com is-an-artist.com is-an-engineer.com is-an-entertainer.com is-certified.com is-gone.com is-into-anime.com is-into-cars.com is-into-cartoons.com is-into-games.com is-leet.com is-not-certified.com is-slick.com is-uberleet.com is-with-theband.com isa-geek.com isa-hockeynut.com issmarterthanyou.com likes-pie.com likescandy.com neat-url.com saves-the-whales.com selfip.com sells-for-less.com sells-for-u.com servebbs.com simple-url.com space-to-rent.com teaches-yoga.com writesthisblog.com ath.cx fuettertdasnetz.de isteingeek.de istmein.de lebtimnetz.de leitungsen.de traeumtgerade.de barrel-of-knowledge.info barrell-of-knowledge.info dyndns.info for-our.info groks-the.info groks-this.info here-for-more.info knowsitall.info selfip.info webhop.info forgot.her.name forgot.his.name at-band-camp.net blogdns.net broke-it.net buyshouses.net dnsalias.net dnsdojo.net does-it.net dontexist.net dynalias.net dynathome.net endofinternet.net from-az.net from-co.net from-la.net from-ny.net gets-it.net ham-radio-op.net homeftp.net homeip.net homelinux.net homeunix.net in-the-band.net is-a-chef.net is-a-geek.net isa-geek.net kicks-ass.net office-on-the.net podzone.net scrapper-site.net selfip.net sells-it.net servebbs.net serveftp.net thruhere.net webhop.net merseine.nu mine.nu shacknet.nu blogdns.org blogsite.org boldlygoingnowhere.org dnsalias.org dnsdojo.org doesntexist.org dontexist.org doomdns.org dvrdns.org dynalias.org dyndns.org go.dyndns.org home.dyndns.org endofinternet.org endoftheinternet.org from-me.org game-host.org gotdns.org hobby-site.org homedns.org homeftp.org homelinux.org homeunix.org is-a-bruinsfan.org is-a-candidate.org is-a-celticsfan.org is-a-chef.org is-a-geek.org is-a-knight.org is-a-linux-user.org is-a-patsfan.org is-a-soxfan.org is-found.org is-lost.org is-saved.org is-very-bad.org is-very-evil.org is-very-good.org is-very-nice.org is-very-sweet.org isa-geek.org kicks-ass.org misconfused.org podzone.org readmyblog.org selfip.org sellsyourhome.org servebbs.org serveftp.org servegame.org stuff-4-sale.org webhop.org better-than.tv dyndns.tv on-the-web.tv worse-than.tv is-by.us land-4-sale.us stuff-4-sale.us dyndns.ws mypets.ws ddnsfree.com ddnsgeek.com giize.com gleeze.com kozow.com loseyourip.com ooguy.com theworkpc.com casacam.net dynu.net accesscam.org camdvr.org freeddns.org mywire.org webredirect.org myddns.rocks dynv6.net e4.cz easypanel.app easypanel.host *.ewp.live twmail.cc twmail.net twmail.org mymailer.com.tw url.tw at.emf.camp rt.ht elementor.cloud elementor.cool en-root.fr mytuleap.com tuleap-partners.com encr.app encoreapi.com eu.encoway.cloud eu.org al.eu.org asso.eu.org at.eu.org au.eu.org be.eu.org bg.eu.org ca.eu.org cd.eu.org ch.eu.org cn.eu.org cy.eu.org cz.eu.org de.eu.org dk.eu.org edu.eu.org ee.eu.org es.eu.org fi.eu.org fr.eu.org gr.eu.org hr.eu.org hu.eu.org ie.eu.org il.eu.org in.eu.org int.eu.org is.eu.org it.eu.org jp.eu.org kr.eu.org lt.eu.org lu.eu.org lv.eu.org me.eu.org mk.eu.org mt.eu.org my.eu.org net.eu.org ng.eu.org nl.eu.org no.eu.org nz.eu.org pl.eu.org pt.eu.org ro.eu.org ru.eu.org se.eu.org si.eu.org sk.eu.org tr.eu.org uk.eu.org us.eu.org eurodir.ru eu-1.evennode.com eu-2.evennode.com eu-3.evennode.com eu-4.evennode.com us-1.evennode.com us-2.evennode.com us-3.evennode.com us-4.evennode.com relay.evervault.app relay.evervault.dev expo.app staging.expo.app onfabrica.com ru.net adygeya.ru bashkiria.ru bir.ru cbg.ru com.ru dagestan.ru grozny.ru kalmykia.ru kustanai.ru marine.ru mordovia.ru msk.ru mytis.ru nalchik.ru nov.ru pyatigorsk.ru spb.ru vladikavkaz.ru vladimir.ru abkhazia.su adygeya.su aktyubinsk.su arkhangelsk.su armenia.su ashgabad.su azerbaijan.su balashov.su bashkiria.su bryansk.su bukhara.su chimkent.su dagestan.su east-kazakhstan.su exnet.su georgia.su grozny.su ivanovo.su jambyl.su kalmykia.su kaluga.su karacol.su karaganda.su karelia.su khakassia.su krasnodar.su kurgan.su kustanai.su lenug.su mangyshlak.su mordovia.su msk.su murmansk.su nalchik.su navoi.su north-kazakhstan.su nov.su obninsk.su penza.su pokrovsk.su sochi.su spb.su tashkent.su termez.su togliatti.su troitsk.su tselinograd.su tula.su tuva.su vladikavkaz.su vladimir.su vologda.su channelsdvr.net u.channelsdvr.net edgecompute.app fastly-edge.com fastly-terrarium.com freetls.fastly.net map.fastly.net a.prod.fastly.net global.prod.fastly.net a.ssl.fastly.net b.ssl.fastly.net global.ssl.fastly.net fastlylb.net map.fastlylb.net *.user.fm fastvps-server.com fastvps.host myfast.host fastvps.site myfast.space conn.uk copro.uk hosp.uk fedorainfracloud.org fedorapeople.org cloud.fedoraproject.org app.os.fedoraproject.org app.os.stg.fedoraproject.org mydobiss.com fh-muenster.io filegear.me firebaseapp.com fldrv.com flutterflow.app fly.dev shw.io edgeapp.net forgeblocks.com id.forgerock.io framer.ai framer.app framercanvas.com framer.media framer.photos framer.website framer.wiki 0e.vc freebox-os.com freeboxos.com fbx-os.fr fbxos.fr freebox-os.fr freeboxos.fr freedesktop.org freemyip.com *.frusky.de wien.funkfeuer.at daemon.asia dix.asia mydns.bz 0am.jp 0g0.jp 0j0.jp 0t0.jp mydns.jp pgw.jp wjg.jp keyword-on.net live-on.net server-on.net mydns.tw mydns.vc *.futurecms.at *.ex.futurecms.at *.in.futurecms.at futurehosting.at futuremailing.at *.ex.ortsinfo.at *.kunden.ortsinfo.at *.statics.cloud aliases121.com campaign.gov.uk service.gov.uk independent-commission.uk independent-inquest.uk independent-inquiry.uk independent-panel.uk independent-review.uk public-inquiry.uk royal-commission.uk gehirn.ne.jp usercontent.jp gentapps.com gentlentapis.com lab.ms cdn-edges.net localcert.net localhostcert.net gsj.bz githubusercontent.com githubpreview.dev github.io gitlab.io gitapp.si gitpage.si glitch.me nog.community co.ro shop.ro lolipop.io angry.jp babyblue.jp babymilk.jp backdrop.jp bambina.jp bitter.jp blush.jp boo.jp boy.jp boyfriend.jp but.jp candypop.jp capoo.jp catfood.jp cheap.jp chicappa.jp chillout.jp chips.jp chowder.jp chu.jp ciao.jp cocotte.jp coolblog.jp cranky.jp cutegirl.jp daa.jp deca.jp deci.jp digick.jp egoism.jp fakefur.jp fem.jp flier.jp floppy.jp fool.jp frenchkiss.jp girlfriend.jp girly.jp gloomy.jp gonna.jp greater.jp hacca.jp heavy.jp her.jp hiho.jp hippy.jp holy.jp hungry.jp icurus.jp itigo.jp jellybean.jp kikirara.jp kill.jp kilo.jp kuron.jp littlestar.jp lolipopmc.jp lolitapunk.jp lomo.jp lovepop.jp lovesick.jp main.jp mods.jp mond.jp mongolian.jp moo.jp namaste.jp nikita.jp nobushi.jp noor.jp oops.jp parallel.jp parasite.jp pecori.jp peewee.jp penne.jp pepper.jp perma.jp pigboat.jp pinoko.jp punyu.jp pupu.jp pussycat.jp pya.jp raindrop.jp readymade.jp sadist.jp schoolbus.jp secret.jp staba.jp stripper.jp sub.jp sunnyday.jp thick.jp tonkotsu.jp under.jp upper.jp velvet.jp verse.jp versus.jp vivian.jp watson.jp weblike.jp whitesnow.jp zombie.jp heteml.net graphic.design goip.de blogspot.ae blogspot.al blogspot.am *.hosted.app *.run.app web.app blogspot.com.ar blogspot.co.at blogspot.com.au blogspot.ba blogspot.be blogspot.bg blogspot.bj blogspot.com.br blogspot.com.by blogspot.ca blogspot.cf blogspot.ch blogspot.cl blogspot.com.co *.0emm.com appspot.com *.r.appspot.com blogspot.com codespot.com googleapis.com googlecode.com pagespeedmobilizer.com withgoogle.com withyoutube.com blogspot.cv blogspot.com.cy blogspot.cz blogspot.de *.gateway.dev blogspot.dk blogspot.com.ee blogspot.com.eg blogspot.com.es blogspot.fi blogspot.fr cloud.goog translate.goog *.usercontent.goog blogspot.gr blogspot.hk blogspot.hr blogspot.hu blogspot.co.id blogspot.ie blogspot.co.il blogspot.in blogspot.is blogspot.it blogspot.jp blogspot.co.ke blogspot.kr blogspot.li blogspot.lt blogspot.lu blogspot.md blogspot.mk blogspot.com.mt blogspot.mx blogspot.my cloudfunctions.net blogspot.com.ng blogspot.nl blogspot.no blogspot.co.nz blogspot.pe blogspot.pt blogspot.qa blogspot.re blogspot.ro blogspot.rs blogspot.ru blogspot.se blogspot.sg blogspot.si blogspot.sk blogspot.sn blogspot.td blogspot.com.tr blogspot.tw blogspot.ug blogspot.co.uk blogspot.com.uy blogspot.vn blogspot.co.za goupile.fr pymnt.uk cloudapps.digital london.cloudapps.digital gov.nl grafana-dev.net grayjayleagues.com g\u00fcnstigbestellen.de g\u00fcnstigliefern.de fin.ci free.hr caa.li ua.rs conf.se h\u00e4kkinen.fi hrsn.dev hashbang.sh hasura.app hasura-app.io hatenablog.com hatenadiary.com hateblo.jp hatenablog.jp hatenadiary.jp hatenadiary.org pages.it.hs-heilbronn.de pages-research.it.hs-heilbronn.de heiyu.space helioho.st heliohost.us hepforge.org herokuapp.com herokussl.com heyflow.page heyflow.site ravendb.cloud ravendb.community development.run ravendb.run homesklep.pl *.kin.one *.id.pub *.kin.pub secaas.hk hoplix.shop orx.biz biz.gl biz.ng co.biz.ng dl.biz.ng go.biz.ng lg.biz.ng on.biz.ng col.ng firm.ng gen.ng ltd.ng ngo.ng plc.ng ie.ua hostyhosting.io hf.space static.hf.space hypernode.io iobb.net co.cz *.moonscale.io moonscale.net gr.com iki.fi ibxos.it iliadboxos.it smushcdn.com wphostedmail.com wpmucdn.com tempurl.host wpmudev.host dyn-berlin.de in-berlin.de in-brb.de in-butter.de in-dsl.de in-vpn.de in-dsl.net in-vpn.net in-dsl.org in-vpn.org biz.at info.at info.cx ac.leg.br al.leg.br am.leg.br ap.leg.br ba.leg.br ce.leg.br df.leg.br es.leg.br go.leg.br ma.leg.br mg.leg.br ms.leg.br mt.leg.br pa.leg.br pb.leg.br pe.leg.br pi.leg.br pr.leg.br rj.leg.br rn.leg.br ro.leg.br rr.leg.br rs.leg.br sc.leg.br se.leg.br sp.leg.br to.leg.br pixolino.com na4u.ru apps-1and1.com live-website.com apps-1and1.net websitebuilder.online app-ionos.space iopsys.se *.dweb.link ipifony.net ir.md is-a-good.dev is-a.dev iservschule.de mein-iserv.de schulplattform.de schulserver.de test-iserv.de iserv.dev mel.cloudlets.com.au cloud.interhostsolutions.be alp1.ae.flow.ch appengine.flow.ch es-1.axarnet.cloud diadem.cloud vip.jelastic.cloud jele.cloud it1.eur.aruba.jenv-aruba.cloud it1.jenv-aruba.cloud keliweb.cloud cs.keliweb.cloud oxa.cloud tn.oxa.cloud uk.oxa.cloud primetel.cloud uk.primetel.cloud ca.reclaim.cloud uk.reclaim.cloud us.reclaim.cloud ch.trendhosting.cloud de.trendhosting.cloud jele.club dopaas.com paas.hosted-by-previder.com rag-cloud.hosteur.com rag-cloud-ch.hosteur.com jcloud.ik-server.com jcloud-ver-jpc.ik-server.com demo.jelastic.com paas.massivegrid.com jed.wafaicloud.com ryd.wafaicloud.com j.scaleforce.com.cy jelastic.dogado.eu fi.cloudplatform.fi demo.datacenter.fi paas.datacenter.fi jele.host mircloud.host paas.beebyte.io sekd1.beebyteapp.io jele.io jc.neen.it jcloud.kz cloudjiffy.net fra1-de.cloudjiffy.net west1-us.cloudjiffy.net jls-sto1.elastx.net jls-sto2.elastx.net jls-sto3.elastx.net fr-1.paas.massivegrid.net lon-1.paas.massivegrid.net lon-2.paas.massivegrid.net ny-1.paas.massivegrid.net ny-2.paas.massivegrid.net sg-1.paas.massivegrid.net jelastic.saveincloud.net nordeste-idc.saveincloud.net j.scaleforce.net sdscloud.pl unicloud.pl mircloud.ru enscaled.sg jele.site jelastic.team orangecloud.tn j.layershift.co.uk phx.enscaled.us mircloud.us myjino.ru *.hosting.myjino.ru *.landing.myjino.ru *.spectrum.myjino.ru *.vps.myjino.ru jotelulu.cloud webadorsite.com jouwweb.site *.cns.joyent.com *.triton.zone js.org kaas.gg khplay.nl kapsi.fi ezproxy.kuleuven.be kuleuven.cloud keymachine.de kinghost.net uni5.net knightpoint.systems koobin.events webthings.io krellian.net oya.to git-repos.de lcube-server.de svn-repos.de leadpages.co lpages.co lpusercontent.com lelux.site libp2p.direct runcontainers.dev co.business co.education co.events co.financial co.network co.place co.technology linkyard-cloud.ch linkyard.cloud members.linode.com *.nodebalancer.linode.com *.linodeobjects.com ip.linodeusercontent.com we.bs filegear-sg.me ggff.net *.user.localcert.dev lodz.pl pabianice.pl plock.pl sieradz.pl skierniewice.pl zgierz.pl loginline.app loginline.dev loginline.io loginline.services loginline.site lohmus.me servers.run krasnik.pl leczna.pl lubartow.pl lublin.pl poniatowa.pl swidnik.pl glug.org.uk lug.org.uk lugs.org.uk barsy.bg barsy.club barsycenter.com barsyonline.com barsy.de barsy.dev barsy.eu barsy.gr barsy.in barsy.info barsy.io barsy.me barsy.menu barsyonline.menu barsy.mobi barsy.net barsy.online barsy.org barsy.pro barsy.pub barsy.ro barsy.rs barsy.shop barsyonline.shop barsy.site barsy.store barsy.support barsy.uk barsy.co.uk barsyonline.co.uk *.magentosite.cloud hb.cldmail.ru matlab.cloud modelscape.com mwcloudnonprod.com polyspace.com mayfirst.info mayfirst.org mazeplay.com mcdir.me mcdir.ru vps.mcdir.ru mcpre.ru mediatech.by mediatech.dev hra.health medusajs.app miniserver.com memset.net messerli.app atmeta.com apps.fbsbx.com *.cloud.metacentrum.cz custom.metacentrum.cz flt.cloud.muni.cz usr.cloud.muni.cz meteorapp.com eu.meteorapp.com co.pl *.azurecontainer.io azure-api.net azure-mobile.net azureedge.net azurefd.net azurestaticapps.net 1.azurestaticapps.net 2.azurestaticapps.net 3.azurestaticapps.net 4.azurestaticapps.net 5.azurestaticapps.net 6.azurestaticapps.net 7.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net westeurope.azurestaticapps.net westus2.azurestaticapps.net azurewebsites.net cloudapp.net trafficmanager.net blob.core.windows.net servicebus.windows.net routingthecloud.com sn.mynetname.net routingthecloud.net routingthecloud.org csx.cc mydbserver.com webspaceconfig.de mittwald.info mittwaldserver.info typo3server.info project.space modx.dev bmoattachments.org net.ru org.ru pp.ru hostedpi.com caracal.mythic-beasts.com customer.mythic-beasts.com fentiger.mythic-beasts.com lynx.mythic-beasts.com ocelot.mythic-beasts.com oncilla.mythic-beasts.com onza.mythic-beasts.com sphinx.mythic-beasts.com vs.mythic-beasts.com x.mythic-beasts.com yali.mythic-beasts.com cust.retrosnub.co.uk ui.nabu.casa cloud.nospamproxy.com netfy.app netlify.app 4u.com nfshost.com ipfs.nftstorage.link ngo.us ngrok.app ngrok-free.app ngrok.dev ngrok-free.dev ngrok.io ap.ngrok.io au.ngrok.io eu.ngrok.io in.ngrok.io jp.ngrok.io sa.ngrok.io us.ngrok.io ngrok.pizza ngrok.pro torun.pl nh-serv.co.uk nimsite.uk mmafan.biz myftp.biz no-ip.biz no-ip.ca fantasyleague.cc gotdns.ch 3utilities.com blogsyte.com ciscofreak.com damnserver.com ddnsking.com ditchyourip.com dnsiskinky.com dynns.com geekgalaxy.com health-carereform.com homesecuritymac.com homesecuritypc.com myactivedirectory.com mysecuritycamera.com myvnc.com net-freaks.com onthewifi.com point2this.com quicksytes.com securitytactics.com servebeer.com servecounterstrike.com serveexchange.com serveftp.com servegame.com servehalflife.com servehttp.com servehumour.com serveirc.com servemp3.com servep2p.com servepics.com servequake.com servesarcasm.com stufftoread.com unusualperson.com workisboring.com dvrcam.info ilovecollege.info no-ip.info brasilia.me ddns.me dnsfor.me hopto.me loginto.me noip.me webhop.me bounceme.net ddns.net eating-organic.net mydissent.net myeffect.net mymediapc.net mypsx.net mysecuritycamera.net nhlfan.net no-ip.net pgafan.net privatizehealthinsurance.net redirectme.net serveblog.net serveminecraft.net sytes.net cable-modem.org collegefan.org couchpotatofries.org hopto.org mlbfan.org myftp.org mysecuritycamera.org nflfan.org no-ip.org read-books.org ufcfan.org zapto.org no-ip.co.uk golffan.us noip.us pointto.us stage.nodeart.io *.developer.app noop.app *.northflank.app *.build.run *.code.run *.database.run *.migration.run noticeable.news notion.site dnsking.ch mypi.co n4t.co 001www.com myiphost.com forumz.info soundcast.me tcp4.me dnsup.net hicam.net now-dns.net ownip.net vpndns.net dynserv.org now-dns.org x443.pw now-dns.top ntdll.top freeddns.us nsupdate.info nerdpol.ovh nyc.mn prvcy.page obl.ong observablehq.cloud static.observableusercontent.com omg.lol cloudycluster.net omniwe.site 123webseite.at 123website.be simplesite.com.br 123website.ch simplesite.com 123webseite.de 123hjemmeside.dk 123miweb.es 123kotisivu.fi 123siteweb.fr simplesite.gr 123homepage.it 123website.lu 123website.nl 123hjemmeside.no service.one simplesite.pl 123paginaweb.pt 123minsida.se is-a-fullstack.dev is-cool.dev is-not-a.dev localplayer.dev is-local.org opensocial.site opencraft.hosting 16-b.it 32-b.it 64-b.it orsites.com operaunite.com *.customer-oci.com *.oci.customer-oci.com *.ocp.customer-oci.com *.ocs.customer-oci.com *.oraclecloudapps.com *.oraclegovcloudapps.com *.oraclegovcloudapps.uk tech.orange can.re authgear-staging.com authgearapps.com skygearapp.com outsystemscloud.com *.hosting.ovh.net *.webpaas.ovh.net ownprovider.com own.pm *.owo.codes ox.rs oy.lc pgfog.com pagexl.com gotpantheon.com pantheonsite.io *.paywhirl.com *.xmit.co xmit.dev madethis.site srv.us gh.srv.us gl.srv.us lk3.ru mypep.link perspecta.cloud on-web.fr *.upsun.app upsunapp.com ent.platform.sh eu.platform.sh us.platform.sh *.platformsh.site *.tst.site platter-app.com platter-app.dev platterp.us pley.games onporter.run co.bn postman-echo.com pstmn.io mock.pstmn.io httpbin.org prequalifyme.today xen.prgmr.com priv.at protonet.io chirurgiens-dentistes-en-france.fr byen.site pubtls.org pythonanywhere.com eu.pythonanywhere.com qa2.com qcx.io *.sys.qcx.io myqnapcloud.cn alpha-myqnapcloud.com dev-myqnapcloud.com mycloudnas.com mynascloud.com myqnapcloud.com qoto.io qualifioapp.com ladesk.com qbuser.com *.quipelements.com vapor.cloud vaporcloud.io rackmaze.com rackmaze.net cloudsite.builders myradweb.net servername.us web.in in.net myrdbx.io site.rb-hosting.io *.on-rancher.cloud *.on-k3s.io *.on-rio.io ravpage.co.il readthedocs-hosted.com readthedocs.io rhcloud.com instances.spawn.cc onrender.com app.render.com replit.app id.replit.app firewalledreplit.co id.firewalledreplit.co repl.co id.repl.co replit.dev archer.replit.dev bones.replit.dev canary.replit.dev global.replit.dev hacker.replit.dev id.replit.dev janeway.replit.dev kim.replit.dev kira.replit.dev kirk.replit.dev odo.replit.dev paris.replit.dev picard.replit.dev pike.replit.dev prerelease.replit.dev reed.replit.dev riker.replit.dev sisko.replit.dev spock.replit.dev staging.replit.dev sulu.replit.dev tarpit.replit.dev teams.replit.dev tucker.replit.dev wesley.replit.dev worf.replit.dev repl.run resindevice.io devices.resinstaging.io hzc.io adimo.co.uk itcouldbewor.se aus.basketball nz.basketball git-pages.rit.edu rocky.page rub.de ruhr-uni-bochum.de io.noc.ruhr-uni-bochum.de \u0431\u0438\u0437.\u0440\u0443\u0441 \u043a\u043e\u043c.\u0440\u0443\u0441 \u043a\u0440\u044b\u043c.\u0440\u0443\u0441 \u043c\u0438\u0440.\u0440\u0443\u0441 \u043c\u0441\u043a.\u0440\u0443\u0441 \u043e\u0440\u0433.\u0440\u0443\u0441 \u0441\u0430\u043c\u0430\u0440\u0430.\u0440\u0443\u0441 \u0441\u043e\u0447\u0438.\u0440\u0443\u0441 \u0441\u043f\u0431.\u0440\u0443\u0441 \u044f.\u0440\u0443\u0441 ras.ru nyat.app 180r.com dojin.com sakuratan.com sakuraweb.com x0.com 2-d.jp bona.jp crap.jp daynight.jp eek.jp flop.jp halfmoon.jp jeez.jp matrix.jp mimoza.jp ivory.ne.jp mail-box.ne.jp mints.ne.jp mokuren.ne.jp opal.ne.jp sakura.ne.jp sumomo.ne.jp topaz.ne.jp netgamers.jp nyanta.jp o0o0.jp rdy.jp rgr.jp rulez.jp s3.isk01.sakurastorage.jp s3.isk02.sakurastorage.jp saloon.jp sblo.jp skr.jp tank.jp uh-oh.jp undo.jp rs.webaccel.jp user.webaccel.jp websozai.jp xii.jp squares.net jpn.org kirara.st x0.to from.tv sakura.tv *.builder.code.com *.dev-builder.code.com *.stg-builder.code.com *.001.test.code-builder-stg.platform.salesforce.com *.d.crm.dev *.w.crm.dev *.wa.crm.dev *.wb.crm.dev *.wc.crm.dev *.wd.crm.dev *.we.crm.dev *.wf.crm.dev sandcats.io logoip.com logoip.de fr-par-1.baremetal.scw.cloud fr-par-2.baremetal.scw.cloud nl-ams-1.baremetal.scw.cloud cockpit.fr-par.scw.cloud fnc.fr-par.scw.cloud functions.fnc.fr-par.scw.cloud k8s.fr-par.scw.cloud nodes.k8s.fr-par.scw.cloud s3.fr-par.scw.cloud s3-website.fr-par.scw.cloud whm.fr-par.scw.cloud priv.instances.scw.cloud pub.instances.scw.cloud k8s.scw.cloud cockpit.nl-ams.scw.cloud k8s.nl-ams.scw.cloud nodes.k8s.nl-ams.scw.cloud s3.nl-ams.scw.cloud s3-website.nl-ams.scw.cloud whm.nl-ams.scw.cloud cockpit.pl-waw.scw.cloud k8s.pl-waw.scw.cloud nodes.k8s.pl-waw.scw.cloud s3.pl-waw.scw.cloud s3-website.pl-waw.scw.cloud scalebook.scw.cloud smartlabeling.scw.cloud dedibox.fr schokokeks.net gov.scot service.gov.scot scrysec.com client.scrypted.io firewall-gateway.com firewall-gateway.de my-gateway.de my-router.de spdns.de spdns.eu firewall-gateway.net my-firewall.org myfirewall.org spdns.org seidat.net sellfy.store minisite.ms senseering.net servebolt.cloud biz.ua co.ua pp.ua as.sh.cn sheezy.games shiftedit.io myshopblocks.com myshopify.com shopitsite.com shopware.shop shopware.store mo-siemens.io 1kapp.com appchizi.com applinzi.com sinaapp.com vipsinaapp.com siteleaf.net small-web.org aeroport.fr avocat.fr chambagri.fr chirurgiens-dentistes.fr experts-comptables.fr medecin.fr notaires.fr pharmacien.fr port.fr veterinaire.fr vp4.me *.snowflake.app *.privatelink.snowflake.app streamlit.app streamlitapp.com try-snowplow.com mafelo.net playstation-cloud.com srht.site apps.lair.io *.stolos.io spacekit.io ind.mom customer.speedpartner.de myspreadshop.at myspreadshop.com.au myspreadshop.be myspreadshop.ca myspreadshop.ch myspreadshop.com myspreadshop.de myspreadshop.dk myspreadshop.es myspreadshop.fi myspreadshop.fr myspreadshop.ie myspreadshop.it myspreadshop.net myspreadshop.nl myspreadshop.no myspreadshop.pl myspreadshop.se myspreadshop.co.uk w-corp-staticblitz.com w-credentialless-staticblitz.com w-staticblitz.com stackhero-network.com runs.onstackit.cloud stackit.gg stackit.rocks stackit.run stackit.zone musician.io novecore.site api.stdlib.com feedback.ac forms.ac assessments.cx calculators.cx funnels.cx paynow.cx quizzes.cx researched.cx tests.cx surveys.so storebase.store storipress.app storj.farm strapiapp.com media.strapiapp.com vps-host.net atl.jelastic.vps-host.net njs.jelastic.vps-host.net ric.jelastic.vps-host.net streak-link.com streaklinks.com streakusercontent.com soc.srcf.net user.srcf.net utwente.io temp-dns.com supabase.co supabase.in supabase.net syncloud.it dscloud.biz direct.quickconnect.cn dsmynas.com familyds.com diskstation.me dscloud.me i234.me myds.me synology.me dscloud.mobi dsmynas.net familyds.net dsmynas.org familyds.org direct.quickconnect.to vpnplus.to mytabit.com mytabit.co.il tabitorder.co.il taifun-dns.de ts.net *.c.ts.net gda.pl gdansk.pl gdynia.pl med.pl sopot.pl taveusercontent.com p.tawk.email p.tawkto.email site.tb-hosting.com edugit.io s3.teckids.org telebit.app telebit.io *.telebit.xyz *.firenet.ch *.svc.firenet.ch reservd.com thingdustdata.com cust.dev.thingdust.io reservd.dev.thingdust.io cust.disrec.thingdust.io reservd.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io reservd.testing.thingdust.io tickets.io arvo.network azimuth.network tlon.network torproject.net pages.torproject.net townnews-staging.com 12hp.at 2ix.at 4lima.at lima-city.at 12hp.ch 2ix.ch 4lima.ch lima-city.ch trafficplex.cloud de.cool 12hp.de 2ix.de 4lima.de lima-city.de 1337.pictures clan.rip lima-city.rocks webspace.rocks lima.zone *.transurl.be *.transurl.eu site.transip.me *.transurl.nl tuxfamily.org dd-dns.de dray-dns.de draydns.de dyn-vpn.de dynvpn.de mein-vigor.de my-vigor.de my-wan.de syno-ds.de synology-diskstation.de synology-ds.de diskstation.eu diskstation.org typedream.app pro.typeform.com *.uberspace.de uber.space hk.com inc.hk ltd.hk hk.org it.com unison-services.cloud virtual-user.de virtualuser.de name.pm sch.tf biz.wf sch.wf org.yt rs.ba bielsko.pl upli.io urown.cloud dnsupdate.info us.org v.ua express.val.run web.val.run vercel.app v0.build vercel.dev vusercontent.net now.sh 2038.io router.management v-info.info voorloper.cloud *.vultrobjects.com wafflecell.com webflow.io webflowtest.io *.webhare.dev bookonline.app hotelwithflight.com reserve-online.com reserve-online.net cprapid.com pleskns.com wp2.host pdns.page plesk.page wpsquared.site *.wadl.top remotewd.com box.ca pages.wiardweb.com toolforge.org wmcloud.org wmflabs.org wdh.app panel.gg daemon.panel.gg wixsite.com wixstudio.com editorx.io wixstudio.io wix.run messwithdns.com woltlab-demo.com myforum.community community-pro.de diskussionsbereich.de community-pro.net meinforum.net affinitylottery.org.uk raffleentry.org.uk weeklylottery.org.uk wpenginepowered.com js.wpenginepowered.com half.host xnbay.com u2.xnbay.com u2-local.xnbay.com cistron.nl demon.nl xs4all.space yandexcloud.net storage.yandexcloud.net website.yandexcloud.net official.academy yolasite.com yombo.me ynh.fr nohost.me noho.st za.net za.org zap.cloud zeabur.app bss.design basicserver.io virtualserver.io enterprisecloud.nu'.split(' ').reduce((r,
266
266
  y)=>{const h=y.replace(/^(\*\.|!)/,''),ma=N.toASCII(h),T=y.charAt(0);if(r.has(ma))throw Error(`Multiple rules found for ${y} (${ma})`);return r.set(ma,{rule:y,suffix:h,punySuffix:ma,wildcard:T==='*',exception:T==='!'}),r},new Map),J=r=>{r=N.toASCII(r).split('.');for(let h=0;h<r.length;h++){var y=r.slice(h).join('.');if(y=P.get(y))return y}return null},C={DOMAIN_TOO_SHORT:'Domain name too short.',DOMAIN_TOO_LONG:'Domain name too long. It should be no more than 255 chars.',LABEL_STARTS_WITH_DASH:'Domain name label can not start with a dash.',
267
- LABEL_ENDS_WITH_DASH:'Domain name label can not end with a dash.',LABEL_TOO_LONG:'Domain name label should be at most 63 chars long.',LABEL_TOO_SHORT:'Domain name label should be at least 1 character long.',LABEL_INVALID_CHARS:'Domain name label can only contain alphanumeric characters or dashes.'},E=r=>{r=N.toASCII(r);if(r.length<1)return'DOMAIN_TOO_SHORT';if(r.length>255)return'DOMAIN_TOO_LONG';r=r.split('.');let y;for(let h=0;h<r.length;++h){if(y=r[h],!y.length)return'LABEL_TOO_SHORT';if(y.length>
268
- 63)return'LABEL_TOO_LONG';if(y.charAt(0)==='-')return'LABEL_STARTS_WITH_DASH';if(y.charAt(y.length-1)==='-')return'LABEL_ENDS_WITH_DASH';if(!/^[a-z0-9\-_]+$/.test(y))return'LABEL_INVALID_CHARS'}},K=r=>{if(typeof r!='string')throw new TypeError('Domain name must be a string.');let y=r.slice(0).toLowerCase();y.charAt(y.length-1)==='.'&&(y=y.slice(0,y.length-1));var h=E(y);if(h)return{input:r,error:{message:C[h],code:h}};const ma={input:r,tld:null,sld:null,domain:null,subdomain:null,listed:!1};var T=
267
+ LABEL_ENDS_WITH_DASH:'Domain name label can not end with a dash.',LABEL_TOO_LONG:'Domain name label should be at most 63 chars long.',LABEL_TOO_SHORT:'Domain name label should be at least 1 character long.',LABEL_INVALID_CHARS:'Domain name label can only contain alphanumeric characters or dashes.'},G=r=>{r=N.toASCII(r);if(r.length<1)return'DOMAIN_TOO_SHORT';if(r.length>255)return'DOMAIN_TOO_LONG';r=r.split('.');let y;for(let h=0;h<r.length;++h){if(y=r[h],!y.length)return'LABEL_TOO_SHORT';if(y.length>
268
+ 63)return'LABEL_TOO_LONG';if(y.charAt(0)==='-')return'LABEL_STARTS_WITH_DASH';if(y.charAt(y.length-1)==='-')return'LABEL_ENDS_WITH_DASH';if(!/^[a-z0-9\-_]+$/.test(y))return'LABEL_INVALID_CHARS'}},K=r=>{if(typeof r!='string')throw new TypeError('Domain name must be a string.');let y=r.slice(0).toLowerCase();y.charAt(y.length-1)==='.'&&(y=y.slice(0,y.length-1));var h=G(y);if(h)return{input:r,error:{message:C[h],code:h}};const ma={input:r,tld:null,sld:null,domain:null,subdomain:null,listed:!1};var T=
269
269
  y.split('.');if(T[T.length-1]==='local')return ma;r=()=>(/xn--/.test(y)&&(ma.domain&&(ma.domain=N.toASCII(ma.domain)),ma.subdomain&&(ma.subdomain=N.toASCII(ma.subdomain))),ma);h=J(y);if(!h)return T.length<2?ma:(ma.tld=T.pop(),ma.sld=T.pop(),ma.domain=[ma.sld,ma.tld].join('.'),T.length&&(ma.subdomain=T.pop()),r());ma.listed=!0;const n=h.suffix.split('.');T=T.slice(0,T.length-n.length);return h.exception&&T.push(n.shift()),ma.tld=n.join('.'),!T.length||(h.wildcard&&(n.unshift(T.pop()),ma.tld=n.join('.')),
270
- !T.length)||(ma.sld=T.pop(),ma.domain=[ma.sld,ma.tld].join('.'),T.length&&(ma.subdomain=T.join('.'))),r()},aa=r=>r&&K(r).domain||null,p=r=>{r=K(r);return!(!r.domain||!r.listed)};l.default={parse:K,get:aa,isValid:p};l.errorCodes=C;l.get=aa;l.isValid=p;l.parse=K;Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:'Module'}})});var _isNode=typeof module!=='undefined'&&module.exports,_psl=null;_isNode&&(_psl=require('psl'));
270
+ !T.length)||(ma.sld=T.pop(),ma.domain=[ma.sld,ma.tld].join('.'),T.length&&(ma.subdomain=T.join('.'))),r()},Z=r=>r&&K(r).domain||null,p=r=>{r=K(r);return!(!r.domain||!r.listed)};l.default={parse:K,get:Z,isValid:p};l.errorCodes=C;l.get=Z;l.isValid=p;l.parse=K;Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:'Module'}})});var _isNode=typeof module!=='undefined'&&module.exports,_psl=null;_isNode&&(_psl=require('psl'));
271
271
  function parseHostname(l){l=String(l==null?'':l).trim().replace(/^[a-z][a-z0-9+.-]*:\/\//i,'');l=l.split(/[\/?#]/)[0];if(l.charAt(0)==='['){var w=l.indexOf(']');w!==-1&&(l=l.slice(1,w))}else w=l.lastIndexOf(':'),w!==-1&&/^\d+$/.test(l.slice(w+1))&&(l=l.slice(0,w));return l}function lastTwoLabels(l){if(!l)return l;var w=l.split('.');return w.length<=2?l:w.slice(-2).join('.')}
272
- function Domain(l,w){var I=this;this.name='Domain';typeof arguments[0]==='function'&&(w=arguments[0],l=void 0);this.getRootDomain=function(N,P){P=parseHostname(N);if(/^\d+\.\d+\.\d+\.\d+$/.test(P))return{value:P,isSLD:!1,isRegisteredTldOrSld:!1};var J=_psl||(typeof window!=='undefined'&&window.psl?window.psl:null);N=null;if(J&&P)try{N=J.parse(P)}catch(E){N=null}var C=J=!1;N&&N.domain?(P=N.domain,J=!!(N.listed&&N.tld&&N.tld.indexOf('.')>-1),C=!!N.listed):P=lastTwoLabels(P);return{value:P,isSLD:J,isRegisteredTldOrSld:C}};
272
+ function Domain(l,w){var I=this;this.name='Domain';typeof arguments[0]==='function'&&(w=arguments[0],l=void 0);this.getRootDomain=function(N,P){P=parseHostname(N);if(/^\d+\.\d+\.\d+\.\d+$/.test(P))return{value:P,isSLD:!1,isRegisteredTldOrSld:!1};var J=_psl||(typeof window!=='undefined'&&window.psl?window.psl:null);N=null;if(J&&P)try{N=J.parse(P)}catch(G){N=null}var C=J=!1;N&&N.domain?(P=N.domain,J=!!(N.listed&&N.tld&&N.tld.indexOf('.')>-1),C=!!N.listed):P=lastTwoLabels(P);return{value:P,isSLD:J,isRegisteredTldOrSld:C}};
273
273
  this.updatePSL=function(N){N&&N(!1)};_isNode&&(this.getFQDN=async function(N){var P=require('os'),J=require('dns'),C=require('util');N=typeof N!=='undefined'&&N!==''?N:P.hostname();if(/\./.test(N))return N;N=await C.promisify(J.lookup)(N,{hints:J.ADDRCONFIG||J.V4MAPPED});J=await C.promisify(J.lookupService)(N.address,0);if(!/\./.test(J.hostname))throw Error('[DOMAIN][getFQDN] `'+J.hostname+'` is not a FQDN !');return J.hostname});w&&setTimeout(function(){w(!1,I)},0);return I}
274
274
  _isNode?module.exports=Domain:typeof define==='function'&&define.amd&&define('lib/domain',['vendor/gina/psl'],function(l){_psl=l;return Domain});
275
275
  function LoadingState(){var l=function(N){return!(!N||typeof N.setAttribute!='function'||typeof N.getAttribute!='function')},w=function(N){return l(N)&&N.tagName?/^(button|input)$/i.test(N.tagName)&&/^submit$/i.test(N.type||'')||/^a$/i.test(N.tagName)&&N.getAttribute('data-gina-form-submit')!=null?!0:!1:!1},I=function(){return typeof gina!='undefined'&&gina&&gina.config&&typeof gina.config.loadingAttribute=='string'&&gina.config.loadingAttribute!==''?gina.config.loadingAttribute:'data-gina-loading'};
276
- return{DEFAULT_ATTRIBUTE:'data-gina-loading',getAttributeName:I,arm:function(N){if(!l(N))return!1;N.setAttribute(I(),'true');return!0},disarm:function(N){if(!l(N))return!1;N.setAttribute(I(),'false');return!0},isArmed:function(N){return l(N)?N.getAttribute(I())==='true':!1},resolveTrigger:function(N,P,J){if(!l(N))return null;J=typeof J=='function'?J:w;for(var C=N,E=0;l(C)&&E<10;){if(J(C))return C;if(P&&C===P)break;if(C.tagName&&/^(form|body|html)$/i.test(C.tagName))break;C=C.parentNode;++E}return N}}}
276
+ return{DEFAULT_ATTRIBUTE:'data-gina-loading',getAttributeName:I,arm:function(N){if(!l(N))return!1;N.setAttribute(I(),'true');return!0},disarm:function(N){if(!l(N))return!1;N.setAttribute(I(),'false');return!0},isArmed:function(N){return l(N)?N.getAttribute(I())==='true':!1},resolveTrigger:function(N,P,J){if(!l(N))return null;J=typeof J=='function'?J:w;for(var C=N,G=0;l(C)&&G<10;){if(J(C))return C;if(P&&C===P)break;if(C.tagName&&/^(form|body|html)$/i.test(C.tagName))break;C=C.parentNode;++G}return N}}}
277
277
  typeof module!=='undefined'&&module.exports?module.exports=LoadingState():typeof define==='function'&&define.amd&&define('lib/loading-state',[],function(){return LoadingState()});
278
- define('gina/link','require lib/domain lib/loading-state lib/merge lib/uuid utils/events'.split(' '),function(l){var w=l('lib/domain'),I=null,N=l('lib/loading-state'),P=l('lib/merge'),J=l('lib/uuid');l('utils/events');return function(C){function E(U,O){var Z=ma;ma=null;Z=Z||ja(U);if(!Z)throw Error('[ LinkHandler::request(url, options) ] : no link is registered for url `'+U+'` (never bound, or bound by a later construction \u2014 the published instance walks only its own registrations)');var G=Z.id,
279
- L=document.getElementById(G)||null;if(!L)throw Error('[ LinkHandler::request(url, options) ] : link `'+G+'` is registered for url `'+U+'` but its anchor is no longer in the DOM \u2014 registrations are not removed when their element is');var la=++h;if(y&&y.readyState!==4)try{y.abort()}catch(ha){}var pa=T();y=pa;var F=null;(F=L.getAttribute('data-gina-link-event-on-success')||L.getAttribute('data-gina-link-event-on-error')?!0:!1)&&listenToXhrEvents(Z,'link');O=typeof O=='undefined'?n:P(O,n);if(/^(http|https):/.test(U)&&
280
- !(new RegExp('^'+window.location.protocol+'//'+window.location.host)).test(U)){F=I.getRootDomain(window.location.hostname).value;var X=I.getRootDomain(U).value;F=F===X?!0:!1;gina.config.envIsDev&&(console.debug('Checking CORS from Popin plugin...TODO - local CORS Proxy'),console.debug('Is request from same domain ? ',F));F||(O.withCredentials=!1)}O.url=U;Z&&typeof Z.options!='undefined'&&(O=P(Z.options,O));O.withCredentials?'withCredentials'in pa?O.isSynchrone?pa.open(O.method,O.url,O.isSynchrone):
281
- pa.open(O.method,O.url):typeof XDomainRequest!='undefined'?(pa=new XDomainRequest,pa.open(O.method,O.url)):(pa=null,triggerEvent(gina,L,'error.'+G,'CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ')):O.isSynchrone?pa.open(O.method,O.url,O.isSynchrone):pa.open(O.method,O.url);if(!pa)throw Error('No `xhr` object initiated');O.$link=Z;y=pa;handleXhr(pa,L,O,l);var oa=pa.onreadystatechange;pa.onreadystatechange=function(ha){la===h&&typeof oa=='function'&&
282
- oa.call(this,ha)};typeof pa.addEventListener=='function'&&(N.arm(L),pa.addEventListener('loadend',function(){N.disarm(L)}));try{pa.send()}catch(ha){throw N.isArmed(L)&&N.disarm(L),ha;}}function K(U,O){if(typeof O!='object')throw Error('`options` must be an object');U.options=P(O,aa.options);O=document.getElementById(U.id)||null;if(typeof p.$links[U.id]=='undefined'){if(da.indexOf(U.id)>-1)throw Error('`link '+U.id+'` already exists !');if(!gina.events[evt]){addListener(gina,O,evt,function(L){cancelEvent(L);
283
- L=k(L.target.id);var la=L.url;typeof L.options.isSynchrone=='undefined'&&(L.options.isSynchrone=!1);typeof L.options.withCredentials=='undefined'&&(L.options.withCredentials=!1);ma=L;E(la,L.options)});var Z=O.childNodes,G=0;lLen=Z.length;if(lLen>0)for(;G<lLen;++G)typeof Z[G].tagName!='undefined'&&A(Z[G],O,evt)}U.request=E;U.getLinkById=k;U.getLinkByUrl=ja;p.$links[U.id]=U}}this.plugin='link';registerEvents(this.plugin,'loaded ready open close destroy success error progress'.split(' '));var aa={options:{url:void 0,
284
- 'class':'gina-link-default'},authorizedEvents:['ready','success','error'],events:{}},p={plugin:this.plugin,id:'gina-links-'+J(),on,eventData:{},$links:{},target:document,isReady:!1,initialized:!1},r={plugin:this.plugin,on,eventData:{},target:document,url:null,request:null,$forms:[]},y=null,h=0,ma=null,T=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;if(window.ActiveXObject)try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(U){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(O){}}return null},
285
- n={url:'',method:'GET',isSynchrone:!1,withCredentials:!0,headers:{'X-Requested-With':'XMLHttpRequest'}},da=[],x=function(U){return!(!U||!(U.ctrlKey||U.metaKey||U.shiftKey||U.altKey))},u=function(U){return!(!U||('disabled'in U||U.getAttribute('disabled')==null||U.getAttribute('disabled')=='false')&&U.getAttribute('aria-disabled')!='true')},A=function(U,O,Z){addListener(gina,U,'click',function(G){x(G)||(cancelEvent(G),u(O)||triggerEvent(gina,O,Z))})},k=function(U){return typeof p.$links[U]!='undefined'?
286
- p.$links[U]:null},ja=function(U){var O=null,Z;for(Z in gina.link.$links)if(typeof gina.link.$links[Z].url!='undefined'&&gina.link.$links[Z].url==U){O=gina.link.$links[Z];break}return O},Q=function(U,O){typeof U=='undefined'&&(U=p.target);var Z=null,G=Z=null,L=null;L=L=null;U=U.getElementsByTagName('a');for(var la=0,pa=U.length;la<pa;++la)if(((Z=U[la].getAttribute('data-gina-link'))||Z=='')&&!/^false$/i.test(Z)&&(Z=U[la],G={type:'a',method:'GET'},L=Z.getAttribute('data-gina-link-url'),G.url=typeof L!=
287
- 'undefined'&&L!=null?L:Z.getAttribute('href'),Z.getAttribute('download')==null&&Z.getAttribute('target')==null&&!/^#/.test(G.url||''))){L=Z.getAttribute('id');if(typeof L=='undefined'||L==null||L==''||/popin\.link/.test(L))L='link.click.gina-link-'+p.id+'-'+J();Z.id=L;evt=G.id=L;Z.setAttribute('id',evt);addListener(gina,Z,'click',function(F){x(F)||F.preventDefault()});L=null;typeof p.$links[G.id]=='undefined'&&(G.target=Z,L=P(G,r),K(L,O))}};I||new w(function(U,O){if(U)throw U;I=O});return function(U){p.bindLinks=
288
- Q;p.request=E;p.getLinkById=k;p.getLinkByUrl=ja;p.on('init',function(O){evt='click';addListener(gina,p.target,evt,function(Z){x(Z)||typeof p.$links[Z.target.id]=='undefined'||(cancelEvent(Z),u(Z.target)||triggerEvent(gina,Z.target,Z.target.id,Z.detail))});typeof U=='undefined'&&(U={});p.options=U;Q(p.target,U);gina.linkIsBinded=!0;p.isReady=!0;gina.hasLinkHandler=!0;typeof gina.link!='undefined'&&gina.link||(gina.link=p);triggerEvent(gina,p.target,'ready.'+p.id,p)});p.initialized=!0;return p}(C)}});
289
- function insertAfter(l,w){l.parentNode.insertBefore(w,l.nextSibling)}function getElementsByAttribute(l){for(var w=[],I=0,N=document.getElementsByTagName('*'),P=0,J=N.length;P<J;++P)N[P].getAttribute(l)!==null&&(w[I]=N[P],++I);return w}
278
+ define('gina/link','require lib/domain lib/loading-state lib/merge lib/uuid utils/events'.split(' '),function(l){var w=l('lib/domain'),I=null,N=l('lib/loading-state'),P=l('lib/merge'),J=l('lib/uuid');l('utils/events');return function(C){function G(U,O){var aa=ma;ma=null;aa=aa||ja(U);if(!aa)throw Error('[ LinkHandler::request(url, options) ] : no link is registered for url `'+U+'` (never bound, or bound by a later construction \u2014 the published instance walks only its own registrations)');var F=
279
+ aa.id,L=document.getElementById(F)||null;if(!L)throw Error('[ LinkHandler::request(url, options) ] : link `'+F+'` is registered for url `'+U+'` but its anchor is no longer in the DOM \u2014 registrations are not removed when their element is');var la=++h;if(y&&y.readyState!==4)try{y.abort()}catch(ha){}var pa=T();y=pa;var E=null;(E=L.getAttribute('data-gina-link-event-on-success')||L.getAttribute('data-gina-link-event-on-error')?!0:!1)&&listenToXhrEvents(aa,'link');O=typeof O=='undefined'?n:P(O,n);
280
+ if(/^(http|https):/.test(U)&&!(new RegExp('^'+window.location.protocol+'//'+window.location.host)).test(U)){E=I.getRootDomain(window.location.hostname).value;var X=I.getRootDomain(U).value;E=E===X?!0:!1;gina.config.envIsDev&&(console.debug('Checking CORS from Popin plugin...TODO - local CORS Proxy'),console.debug('Is request from same domain ? ',E));E||(O.withCredentials=!1)}O.url=U;aa&&typeof aa.options!='undefined'&&(O=P(aa.options,O));O.withCredentials?'withCredentials'in pa?O.isSynchrone?pa.open(O.method,
281
+ O.url,O.isSynchrone):pa.open(O.method,O.url):typeof XDomainRequest!='undefined'?(pa=new XDomainRequest,pa.open(O.method,O.url)):(pa=null,triggerEvent(gina,L,'error.'+F,'CORS not supported: the server is missing the header `"Access-Control-Allow-Credentials": true` ')):O.isSynchrone?pa.open(O.method,O.url,O.isSynchrone):pa.open(O.method,O.url);if(!pa)throw Error('No `xhr` object initiated');O.$link=aa;y=pa;handleXhr(pa,L,O,l);var oa=pa.onreadystatechange;pa.onreadystatechange=function(ha){la===h&&
282
+ typeof oa=='function'&&oa.call(this,ha)};typeof pa.addEventListener=='function'&&(N.arm(L),pa.addEventListener('loadend',function(){N.disarm(L)}));try{pa.send()}catch(ha){throw N.isArmed(L)&&N.disarm(L),ha;}}function K(U,O){if(typeof O!='object')throw Error('`options` must be an object');U.options=P(O,Z.options);O=document.getElementById(U.id)||null;if(typeof p.$links[U.id]=='undefined'){if(da.indexOf(U.id)>-1)throw Error('`link '+U.id+'` already exists !');if(!gina.events[evt]){addListener(gina,
283
+ O,evt,function(L){cancelEvent(L);L=k(L.target.id);var la=L.url;typeof L.options.isSynchrone=='undefined'&&(L.options.isSynchrone=!1);typeof L.options.withCredentials=='undefined'&&(L.options.withCredentials=!1);ma=L;G(la,L.options)});var aa=O.childNodes,F=0;lLen=aa.length;if(lLen>0)for(;F<lLen;++F)typeof aa[F].tagName!='undefined'&&A(aa[F],O,evt)}U.request=G;U.getLinkById=k;U.getLinkByUrl=ja;p.$links[U.id]=U}}this.plugin='link';registerEvents(this.plugin,'loaded ready open close destroy success error progress'.split(' '));
284
+ var Z={options:{url:void 0,'class':'gina-link-default'},authorizedEvents:['ready','success','error'],events:{}},p={plugin:this.plugin,id:'gina-links-'+J(),on,eventData:{},$links:{},target:document,isReady:!1,initialized:!1},r={plugin:this.plugin,on,eventData:{},target:document,url:null,request:null,$forms:[]},y=null,h=0,ma=null,T=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;if(window.ActiveXObject)try{return new ActiveXObject('Msxml2.XMLHTTP')}catch(U){try{return new ActiveXObject('Microsoft.XMLHTTP')}catch(O){}}return null},
285
+ n={url:'',method:'GET',isSynchrone:!1,withCredentials:!0,headers:{'X-Requested-With':'XMLHttpRequest'}},da=[],x=function(U){return!(!U||!(U.ctrlKey||U.metaKey||U.shiftKey||U.altKey))},u=function(U){return!(!U||('disabled'in U||U.getAttribute('disabled')==null||U.getAttribute('disabled')=='false')&&U.getAttribute('aria-disabled')!='true')},A=function(U,O,aa){addListener(gina,U,'click',function(F){x(F)||(cancelEvent(F),u(O)||triggerEvent(gina,O,aa))})},k=function(U){return typeof p.$links[U]!='undefined'?
286
+ p.$links[U]:null},ja=function(U){var O=null,aa;for(aa in gina.link.$links)if(typeof gina.link.$links[aa].url!='undefined'&&gina.link.$links[aa].url==U){O=gina.link.$links[aa];break}return O},Q=function(U,O){typeof U=='undefined'&&(U=p.target);var aa=null,F=aa=null,L=null;L=L=null;U=U.getElementsByTagName('a');for(var la=0,pa=U.length;la<pa;++la)if(((aa=U[la].getAttribute('data-gina-link'))||aa=='')&&!/^false$/i.test(aa)&&(aa=U[la],F={type:'a',method:'GET'},L=aa.getAttribute('data-gina-link-url'),
287
+ F.url=typeof L!='undefined'&&L!=null?L:aa.getAttribute('href'),aa.getAttribute('download')==null&&aa.getAttribute('target')==null&&!/^#/.test(F.url||''))){L=aa.getAttribute('id');if(typeof L=='undefined'||L==null||L==''||/popin\.link/.test(L))L='link.click.gina-link-'+p.id+'-'+J();aa.id=L;evt=F.id=L;aa.setAttribute('id',evt);addListener(gina,aa,'click',function(E){x(E)||E.preventDefault()});L=null;typeof p.$links[F.id]=='undefined'&&(F.target=aa,L=P(F,r),K(L,O))}};I||new w(function(U,O){if(U)throw U;
288
+ I=O});return function(U){p.bindLinks=Q;p.request=G;p.getLinkById=k;p.getLinkByUrl=ja;p.on('init',function(O){evt='click';addListener(gina,p.target,evt,function(aa){x(aa)||typeof p.$links[aa.target.id]=='undefined'||(cancelEvent(aa),u(aa.target)||triggerEvent(gina,aa.target,aa.target.id,aa.detail))});typeof U=='undefined'&&(U={});p.options=U;Q(p.target,U);gina.linkIsBinded=!0;p.isReady=!0;gina.hasLinkHandler=!0;typeof gina.link!='undefined'&&gina.link||(gina.link=p);triggerEvent(gina,p.target,'ready.'+
289
+ p.id,p)});p.initialized=!0;return p}(C)}});function insertAfter(l,w){l.parentNode.insertBefore(w,l.nextSibling)}function getElementsByAttribute(l){for(var w=[],I=0,N=document.getElementsByTagName('*'),P=0,J=N.length;P<J;++P)N[P].getAttribute(l)!==null&&(w[I]=N[P],++I);return w}
290
290
  (function(l){var w=l.prototype,I=w.parseFromString;try{if((new l).parseFromString('','text/html'))return}catch(N){}w.parseFromString=function(N,P){if(/^\s*text\/html\s*(?:;|$)/i.test(P)){var J=document.implementation.createHTMLDocument('');N.toLowerCase().indexOf('<!doctype')>-1?J.documentElement.innerHTML=N:J.body.innerHTML=N;return J}return I.apply(this,arguments)}})(DOMParser);define('utils/dom',function(){});
291
291
  function fadeIn(l){var w=.1;l.style.display='block';var I=setInterval(function(){w>=1&&clearInterval(I);l.style.opacity=w;l.style.filter='alpha(opacity='+w*100+')';w+=w*.1},10)}function fadeOut(l){var w=1,I=setInterval(function(){w<=.1&&(clearInterval(I),l.style.display='none');l.style.opacity=w;l.style.filter='alpha(opacity='+w*100+')';w-=w*.1},50)}define('utils/effects',function(){});
292
- function DataHelper(){encodeRFC5987ValueChars=function(I){return encodeURIComponent(I).replace(/['()]/g,escape).replace(/\*/g,'%2A').replace(/%(?:7C|60|5E)/g,unescape)};safeDecodeURIComponent=function(I){try{return decodeURIComponent(I)}catch(N){return I}};safeDecodeURI=function(I){try{return decodeURI(I)}catch(N){return I}};formatDataFromString=function(I){typeof I=='object'&&(I=JSON.stringify(I));try{I=decodeURIComponent(I)}catch(aa){}/("false"|"true"|"on")/.test(I)&&(I=I.replace(/"false"/g,!1).replace(/"true"/g,
293
- !0).replace(/"on"/g,!0));/("null")/i.test(I)&&(I=I.replace(/"null"/ig,null));a:{var N=I,P=I=null,J=null;if(/^(\{|\[|%7B|%5B)/.test(N)){try{I=(J=/^(\{|%7B)/.test(N)?!1:!0)?[]:{};P=/^(%7B|%5B)/.test(N)?JSON.parse(decodeURIComponent(N)):JSON.parse(N);if(Array.isArray(P)){J=0;for(var C=P.length;J<C;++J)I[J]=l(P[J],I);var E=I}else E=l(P,I);var K=E;break a}catch(aa){console.error('[365] could not parse body:\n'+N)}K=void 0}else{I={};K=N.split(/&/g);/("false"|"true"|"on")/.test(N)&&N.replace(/"false"/g,
294
- !1).replace(/"true"/g,!0).replace(/"on"/g,!0);N={};C=0;for(P=K.length;C<P;++C)if(K[C])if(K[C]=safeDecodeURIComponent(K[C]),/^\{/.test(K[C])||/=\{/.test(K[C])||/=\[/.test(K[C]))try{if(/^\{/.test(K[C])){I=JSON.parse(K[C]);break}else N=K[C].match(/=(.*)/),N[0]=K[C].split(/=/)[0],I[N[0]]=JSON.parse(N[1])}catch(aa){console.error('[parseBody#1] could not parse body:\n'+K[C])}else{N=K[C].split(/=/);if(/\{\}":/.test(N[1]))try{N[1]=JSON.parse(N[1])}catch(aa){console.error('[parseBody#2] could not parse body:\n'+
295
- N[1])}typeof N[1]!='string'||/\[object /.test(N[1])||(N[0]=safeDecodeURIComponent(N[0]),N[1]=safeDecodeURIComponent(N[1]),/^(.*)\[(.*)\]/.test(N[0])?(E=N[0].replace(/\]/g,'').split(/\[/g),I=w(I,E,0,N[1])):I[N[0]]=N[1])}K=I}}return K};var l=function(I,N){var P=[];N||={};for(let C in I)if(P[0]=C,P[1]=I[C],/^(.*)\[(.*)\]/.test(P[0])){var J=P[0].replace(/\]/g,'').split(/\[/g);N=w(N,J,0,P[1])}else N[P[0]]=P[1];return N},w=function(I,N,P,J){for(var C=0,E=N.length;C<E;++C)if(N[C]==='__proto__'||N[C]==='constructor'||
296
- N[C]==='prototype')return I;for(let K=0,aa=N.length;K<aa;K++)if(C=N[P],K==P){if(typeof I[N[P]]=='undefined'||typeof I[N[P]]=='string')Array.isArray(I)?(C=~~N[P],I[C]=/^\d+$/.test(N[P+1])?[]:{}):I[N[P]]=/^\d+$/.test(N[P+1])?[]:{};if(P==N.length-1){J=typeof J!='undefined'?J:'';Array.isArray(I[N[P]])?I[N[P]].push(J):I[N[P]]=J;break}else/^\d+$/.test(N[P])&&!Array.isArray(I)&&(I=[]),typeof I[C]=='undefined'&&(I[C]=null),w(I[C],N,P+1,J)}return I};nestBracketNotationKey=w}
292
+ function DataHelper(){encodeRFC5987ValueChars=function(I){return encodeURIComponent(I).replace(/['()]/g,escape).replace(/\*/g,'%2A').replace(/%(?:7C|60|5E)/g,unescape)};safeDecodeURIComponent=function(I){try{return decodeURIComponent(I)}catch(N){return I}};safeDecodeURI=function(I){try{return decodeURI(I)}catch(N){return I}};formatDataFromString=function(I){typeof I=='object'&&(I=JSON.stringify(I));try{I=decodeURIComponent(I)}catch(Z){}/("false"|"true"|"on")/.test(I)&&(I=I.replace(/"false"/g,!1).replace(/"true"/g,
293
+ !0).replace(/"on"/g,!0));/("null")/i.test(I)&&(I=I.replace(/"null"/ig,null));a:{var N=I,P=I=null,J=null;if(/^(\{|\[|%7B|%5B)/.test(N)){try{I=(J=/^(\{|%7B)/.test(N)?!1:!0)?[]:{};P=/^(%7B|%5B)/.test(N)?JSON.parse(decodeURIComponent(N)):JSON.parse(N);if(Array.isArray(P)){J=0;for(var C=P.length;J<C;++J)I[J]=l(P[J],I);var G=I}else G=l(P,I);var K=G;break a}catch(Z){console.error('[365] could not parse body:\n'+N)}K=void 0}else{I={};K=N.split(/&/g);/("false"|"true"|"on")/.test(N)&&N.replace(/"false"/g,!1).replace(/"true"/g,
294
+ !0).replace(/"on"/g,!0);N={};C=0;for(P=K.length;C<P;++C)if(K[C])if(K[C]=safeDecodeURIComponent(K[C]),/^\{/.test(K[C])||/=\{/.test(K[C])||/=\[/.test(K[C]))try{if(/^\{/.test(K[C])){I=JSON.parse(K[C]);break}else N=K[C].match(/=(.*)/),N[0]=K[C].split(/=/)[0],I[N[0]]=JSON.parse(N[1])}catch(Z){console.error('[parseBody#1] could not parse body:\n'+K[C])}else{N=K[C].split(/=/);if(/\{\}":/.test(N[1]))try{N[1]=JSON.parse(N[1])}catch(Z){console.error('[parseBody#2] could not parse body:\n'+N[1])}typeof N[1]!=
295
+ 'string'||/\[object /.test(N[1])||(N[0]=safeDecodeURIComponent(N[0]),N[1]=safeDecodeURIComponent(N[1]),/^(.*)\[(.*)\]/.test(N[0])?(G=N[0].replace(/\]/g,'').split(/\[/g),I=w(I,G,0,N[1])):I[N[0]]=N[1])}K=I}}return K};var l=function(I,N){var P=[];N||={};for(let C in I)if(P[0]=C,P[1]=I[C],/^(.*)\[(.*)\]/.test(P[0])){var J=P[0].replace(/\]/g,'').split(/\[/g);N=w(N,J,0,P[1])}else N[P[0]]=P[1];return N},w=function(I,N,P,J){for(var C=0,G=N.length;C<G;++C)if(N[C]==='__proto__'||N[C]==='constructor'||N[C]===
296
+ 'prototype')return I;for(let K=0,Z=N.length;K<Z;K++)if(C=N[P],K==P){if(typeof I[N[P]]=='undefined'||typeof I[N[P]]=='string')Array.isArray(I)?(C=~~N[P],I[C]=/^\d+$/.test(N[P+1])?[]:{}):I[N[P]]=/^\d+$/.test(N[P+1])?[]:{};if(P==N.length-1){J=typeof J!='undefined'?J:'';Array.isArray(I[N[P]])?I[N[P]].push(J):I[N[P]]=J;break}else/^\d+$/.test(N[P])&&!Array.isArray(I)&&(I=[]),typeof I[C]=='undefined'&&(I[C]=null),w(I[C],N,P+1,J)}return I};nestBracketNotationKey=w}
297
297
  typeof module!=='undefined'&&module.exports?module.exports=DataHelper:typeof define==='function'&&define.amd&&define('utils/data',[],function(){return DataHelper()});
298
298
  function ValidatorPlugin(l,w,I,N){this.plugin='validator';var P='init ready registered success error progress uploadProgress submit reset change changed keydown keyup focusout focusin validate validated destroy asyncCompleted'.split(' '),J=typeof module!=='undefined'&&module.exports?!1:!0,C=null;if(J)require('utils/events'),registerEvents(this.plugin,P),require('utils/dom'),require('utils/effects'),require('utils/data'),C=gina.config.envIsDev;else{if(C=/^true$/i.test(process.env.NODE_ENV_IS_DEV)?
299
- !0:!1)delete require.cache[require.resolve('./form-validator')],delete require.cache[require.resolve('../../../../../helpers/data')];require('../../../../../helpers/data')}var E=J?require('lib/uuid'):require('../../../../../lib/uuid'),K=J?require('lib/merge'):require('../../../../../lib/merge'),aa=J?require('lib/inherits'):require('../../../../../lib/inherits'),p=J?require('lib/form-validator'):require('./form-validator'),r=J?require('lib/routing'):require('../../../../../lib/routing'),y=J?require('lib/loading-state'):
300
- require('../../../../../lib/loading-state'),h={id:'validator-'+E(),plugin:this.plugin,on:J?on:null,eventData:{},target:J?document:null,errors:{},initialized:!1,isReady:!1,rules:{},$forms:{},getFormById:null,validateFormById:null,setOptions:null,resetErrorsDisplay:null,resetFields:null,setErrorLabels:null,_errorLabelsByCulture:{}},ma={id:null,plugin:this.plugin,on:J?on:null,eventData:{},target:J?document:null,cachedErrors:{},lastFocused:J?[]:null,binded:!1,unbinded:!1,withUserBindings:!1,rules:{},
299
+ !0:!1)delete require.cache[require.resolve('./form-validator')],delete require.cache[require.resolve('../../../../../helpers/data')];require('../../../../../helpers/data')}var G=J?require('lib/uuid'):require('../../../../../lib/uuid'),K=J?require('lib/merge'):require('../../../../../lib/merge'),Z=J?require('lib/inherits'):require('../../../../../lib/inherits'),p=J?require('lib/form-validator'):require('./form-validator'),r=J?require('lib/routing'):require('../../../../../lib/routing'),y=J?require('lib/loading-state'):
300
+ require('../../../../../lib/loading-state'),h={id:'validator-'+G(),plugin:this.plugin,on:J?on:null,eventData:{},target:J?document:null,errors:{},initialized:!1,isReady:!1,rules:{},$forms:{},getFormById:null,validateFormById:null,setOptions:null,resetErrorsDisplay:null,resetFields:null,setErrorLabels:null,_errorLabelsByCulture:{}},ma={id:null,plugin:this.plugin,on:J?on:null,eventData:{},target:J?document:null,cachedErrors:{},lastFocused:J?[]:null,binded:!1,unbinded:!1,withUserBindings:!1,rules:{},
301
301
  setOptions:null,send:null,isValidating:null,isSubmitting:null,submit:null,destroy:null,resetErrorsDisplay:null,resetFields:null},T={},n={},da={url:'',method:'GET',isSynchrone:!1,withCredentials:!1,withRateLimit:!0,headers:{'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8','X-Requested-With':'XMLHttpRequest'}},x=function(){if(typeof document==='undefined'||!document||typeof document.cookie!=='string')return null;var a=document.cookie||'';if(!a)return null;a=a.split(';');for(var b=0,
302
302
  c=a.length;b<c;++b){for(var m=a[b];m.charAt(0)===' '||m.charAt(0)==='\t';)m=m.slice(1);var B=m.indexOf('=');if(!(B<0)&&m.slice(0,B)==='gina-csrf-token'){a=m.slice(B+1);try{return decodeURIComponent(a)}catch(H){return a}}}return null},u=function(a){if(typeof a!=='string'||!a)return!1;a=a.toUpperCase();return a!=='GET'&&a!=='HEAD'&&a!=='OPTIONS'},A=function(a){return a!==null&&typeof a=='object'&&!Array.isArray(a)&&!(a instanceof Date)},k=function(a,b){var c={count:0,map:{}},m=function(f,ba,M,V){for(var Ba in M){var Ea=
303
303
  V.concat(Ba),Da=ba+'.'+Ba;A(M[Ba])?m(f,Da,M[Ba],Ea):typeof a[Da]=='undefined'&&(a[Da]=M[Ba],c.map[Da]={kind:'nested',rootKey:f,path:Ea},++c.count)}},B=null,H=null;for(B in b)/\[/.test(B)?(H=B.replace(/\[/g,'.').replace(/\]/g,''),typeof a[H]=='undefined'&&(a[H]=b[B],c.map[H]={kind:'bracket',original:B},++c.count)):A(b[B])&&m(B,B,b[B],[B]);return c},ja=function(a,b,c,m){c=typeof c!='undefined'?{id:c}:null;var B={};for(H in b)B[H]=b[H];if(typeof a!='undefined'&&a.count()>0){b=k(B,b);try{e(a,''),v(a)}catch(Ba){throw Ba;
304
304
  }a=Rb(c,B,null,h.rules,null,m);if(b.count>0&&a&&typeof a.isValid=='function'&&typeof a.error!='undefined'){m=null;c={};for(m in a.error||{})if(B=b.map[m])if(B.kind=='bracket')c[B.original]=a.error[m];else{var H=B.path;B=B.rootKey;for(var f=1,ba=H.length;f<ba;++f)B+='['+H[f]+']';c[B]=a.error[m]}else c[m]=a.error[m];a.error=c;if((c=a.data)&&typeof c=='object')for(m in b.map){B=b.map[m];f=(H=Object.prototype.hasOwnProperty.call(c,m))?c[m]:void 0;delete c[m];B=B.kind=='bracket'?B.original.replace(/\]/g,
305
305
  '').split(/\[/g):B.path;ba=B.length-1;for(var M=c,V=0;V<ba&&M;++V)M=M[B[V]];if(M&&typeof M=='object')if(H)M[B[ba]]=f;else for(delete M[B[ba]],H=ba-1;H>=0;--H){f=c;for(ba=0;ba<H&&f;++ba)f=f[B[ba]];if(f&&A(f[B[H]])&&Object.keys(f[B[H]]).length===0)delete f[B[H]];else break}}}return a}return new p(B,void 0,void 0,void 0,m)},Q=function(a){da=a=K(a,da);return this},U=function(a){var b=null;if(!h.$forms)throw Error('`$forms` collection not found');if(typeof a=='undefined')throw Error('[ FormValidator::getFormById(formId) ] `formId` is missing');
306
- a=a.replace(/#/,'');var c=document.getElementById(a);if(c!=null&&typeof h.$forms[a]=='undefined'){if(!(c instanceof HTMLFormElement))throw Error('[ FormValidator::getFormById(formId) ] `'+a+'` resolves to <'+c.tagName+'>, not a FORM. A non-FORM element shares the same id as the target form \u2014 rename one of them so the id is unique.');var m,B=typeof(T.count()>0)?T:h.rules;c.getAttribute?(id=c.getAttribute('id')||'form.'+E(),id!==c.getAttribute('id')&&c.setAttribute('id',id)):(id='form.'+E(),c.setAttribute('id',
307
- id));c.id=ma.id=id;if(typeof c.id!='undefined'&&c.id!='null'&&c.id!=''){ma.target=c;h.$forms[c.id]=K({},ma);if(m=c.getAttribute('data-gina-form-rule')){m=m.replace(/\-|\//g,'.');if(typeof B[m]=='undefined')throw Error('['+c.id+'] no rule found with key: `null`');m=B[m]}typeof c.id=='string'&&typeof B[c.id.replace(/\-/g,'.')]!='undefined'?$target=h.$forms[c.id].target:typeof c.id=='object'?(delete h.$forms[c.id],B=c.attributes.getNamedItem('id').nodeValue||'form.'+E(),c.setAttribute('id',B),c.id=B,
306
+ a=a.replace(/#/,'');var c=document.getElementById(a);if(c!=null&&typeof h.$forms[a]=='undefined'){if(!(c instanceof HTMLFormElement))throw Error('[ FormValidator::getFormById(formId) ] `'+a+'` resolves to <'+c.tagName+'>, not a FORM. A non-FORM element shares the same id as the target form \u2014 rename one of them so the id is unique.');var m,B=typeof(T.count()>0)?T:h.rules;c.getAttribute?(id=c.getAttribute('id')||'form.'+G(),id!==c.getAttribute('id')&&c.setAttribute('id',id)):(id='form.'+G(),c.setAttribute('id',
307
+ id));c.id=ma.id=id;if(typeof c.id!='undefined'&&c.id!='null'&&c.id!=''){ma.target=c;h.$forms[c.id]=K({},ma);if(m=c.getAttribute('data-gina-form-rule')){m=m.replace(/\-|\//g,'.');if(typeof B[m]=='undefined')throw Error('['+c.id+'] no rule found with key: `null`');m=B[m]}typeof c.id=='string'&&typeof B[c.id.replace(/\-/g,'.')]!='undefined'?$target=h.$forms[c.id].target:typeof c.id=='object'?(delete h.$forms[c.id],B=c.attributes.getNamedItem('id').nodeValue||'form.'+G(),c.setAttribute('id',B),c.id=B,
308
308
  ma.target=c,h.$forms[B]=K({},ma),$target=h.$forms[B].target):$target=h.$forms[c.id].target;m?ob($target,m):ob($target)}}typeof h.$forms[a]!='undefined'&&(h.$forms[a].withUserBindings=!0,b=typeof this.$forms!='undefined'&&typeof this.$forms[a]=='undefined'?this.$forms[a]=h.$forms[a]:h.$forms[a]);if(!b)throw Error('Validator::getFormById(...) exception: could not retrieve form `'+a+'`');b.binded||(ob(b.target),b=h.$forms[a]);C&&J&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||
309
- (gina.forms.errors={}),c={id:a,rules:h.$forms[a].rules},typeof h.$forms[a].errors!='undefined'&&(c.errors=h.$forms[a].errors),window.ginaToolbar.update('forms',c));return b},O=function(){var a=!1,b=null;gina.hasPopinHandler&&gina.popinIsBinded&&(b=gina.popin.getActivePopin());b&&b.isOpen&&(a=!0);return a},Z=function(a,b){var c=typeof(T.count()>0)?T:h.rules;if(!h.$forms)throw Error('`$forms` collection not found');if(typeof a!='undefined'&&typeof h.$forms[a]!='undefined')return h.$forms[a];if(typeof a==
310
- 'undefined')if(typeof this.id!='undefined'&&this.id!=''&&this.id!=null)a=this.id;else throw Error('[ FormValidator::validateFormById(formId, customRule) ] `formId` is missing');if(typeof a=='string')a=a.replace(/#/,'');else{if(typeof a!='object'||Array.isArray(a))throw Error('[ FormValidator::validateFormById(formId[, customRule]) ] `formId` should be a `string`');var m=a.form;a=m.getAttribute('id')||'form.'+E();m.setAttribute('id',a)}var B=document.getElementsByTagName('form');for(var H={},f=0,ba=
309
+ (gina.forms.errors={}),c={id:a,rules:h.$forms[a].rules},typeof h.$forms[a].errors!='undefined'&&(c.errors=h.$forms[a].errors),window.ginaToolbar.update('forms',c));return b},O=function(){var a=!1,b=null;gina.hasPopinHandler&&gina.popinIsBinded&&(b=gina.popin.getActivePopin());b&&b.isOpen&&(a=!0);return a},aa=function(a,b){var c=typeof(T.count()>0)?T:h.rules;if(!h.$forms)throw Error('`$forms` collection not found');if(typeof a!='undefined'&&typeof h.$forms[a]!='undefined')return h.$forms[a];if(typeof a==
310
+ 'undefined')if(typeof this.id!='undefined'&&this.id!=''&&this.id!=null)a=this.id;else throw Error('[ FormValidator::validateFormById(formId, customRule) ] `formId` is missing');if(typeof a=='string')a=a.replace(/#/,'');else{if(typeof a!='object'||Array.isArray(a))throw Error('[ FormValidator::validateFormById(formId[, customRule]) ] `formId` should be a `string`');var m=a.form;a=m.getAttribute('id')||'form.'+G();m.setAttribute('id',a)}var B=document.getElementsByTagName('form');for(var H={},f=0,ba=
311
311
  B.length;f<ba;++f)m=B[f].getAttribute('id')||null,typeof H[m]=='undefined'?H[m]=!0:typeof h.$forms[m]=='undefined'||h.$forms[m].warned||(gina.popinIsBinded?console.warn('Popin/Validator::bindForm($target, customRule): `'+m+'` is a duplicate form ID. If not fixed, this could lead to an undesirable behaviour.\n Check inside your popin content'):console.warn('Validator::bindForm($target, customRule): `'+m+'` is a duplicate form ID. If not fixed, this could lead to an undesirable behaviour.'),h.$forms[m].warned=
312
312
  !0);if(typeof this.$forms!='undefined'&&typeof h.$forms[a]!='undefined')B=this.$forms[a]=h.$forms[a];else{if((m=document.getElementById(a))&&!(m instanceof HTMLFormElement))throw Error('[ FormValidator::validateFormById(formId) ] `'+a+'` resolves to <'+m.tagName+'>, not a FORM. A non-FORM element shares the same id as the target form \u2014 rename one of them so the id is unique.');ma.id=a;ma.target=m;B=this.$forms[a]=h.$forms[a]=K({},ma);if(typeof b=='undefined')H=typeof B.target!='undefined'&&B.target!==
313
313
  null&&B.target.getAttribute('data-gina-form-rule')?B.target.getAttribute('data-gina-form-rule').replace(/\-|\//g,'.'):a.replace(/\-/g,'.'),typeof c!='undefined'&&(B.rule=g(H));else if(H=b.replace(/\-|\//g,'.'),typeof c!='undefined')B.rule=g(H);else throw Error('[ FormValidator::validateFormById(formId, customRule) ] `'+b+'` is not a valid rule');m&&typeof this.isPopinContext!='undefined'&&/true/i.test(this.isPopinContext)&&(m.isPopinContext=this.isPopinContext);m&&!B.binded&&ob(m,H)}if(!B)throw Error('[ FormValidator::validateFormById(formId, customRule) ] `'+
314
- a+'` not found');return B||null},G=!1,L=null,la=function(a){L&&a&&a.isTrusted&&!G&&(L=null)},pa=function(a){var b=a.form.id||a.form.getAttribute('id'),c=a.name||a.form.getAttribute('name'),m=document.activeElement.name;if(!/^true$/i.test(h.$forms[b].isValidating)){var B=a.parentNode;a=!1;var H=B.getElementsByTagName('div');/form\-item\-warning/.test(B.className)&&m!=c?B.className=B.className.replace(/form\-item\-warning/,'form-item-error'):!/form\-item\-error/.test(B.className)||m!=c||L&&L.formId===
315
- b&&L.elName===c||(B.className=B.className.replace(/form\-item\-error/,'form-item-warning'),a=!0);if(!/^true$/i.test(h.$forms[b].isValidating)||a)for(b=0,c=H.length;b<c;++b)if(/form\-item\-error\-message/.test(H[b].className)){a?(H[b].className+=' hidden',ua(H[b])):(H[b].className=H[b].className.replace(/(\s+hidden|hidden)/,''),(a=H[b])&&typeof a.style!='undefined'&&a.style&&(a.style.cssText=''));break}}},F=function(a){if(!a||typeof document==='undefined'||!document||typeof document.getElementById!==
314
+ a+'` not found');return B||null},F=!1,L=null,la=function(a){L&&a&&a.isTrusted&&!F&&(L=null)},pa=function(a){var b=a.form.id||a.form.getAttribute('id'),c=a.name||a.form.getAttribute('name'),m=document.activeElement.name;if(!/^true$/i.test(h.$forms[b].isValidating)){var B=a.parentNode;a=!1;var H=B.getElementsByTagName('div');/form\-item\-warning/.test(B.className)&&m!=c?B.className=B.className.replace(/form\-item\-warning/,'form-item-error'):!/form\-item\-error/.test(B.className)||m!=c||L&&L.formId===
315
+ b&&L.elName===c||(B.className=B.className.replace(/form\-item\-error/,'form-item-warning'),a=!0);if(!/^true$/i.test(h.$forms[b].isValidating)||a)for(b=0,c=H.length;b<c;++b)if(/form\-item\-error\-message/.test(H[b].className)){a?(H[b].className+=' hidden',ua(H[b])):(H[b].className=H[b].className.replace(/(\s+hidden|hidden)/,''),(a=H[b])&&typeof a.style!='undefined'&&a.style&&(a.style.cssText=''));break}}},E=function(a){if(!a||typeof document==='undefined'||!document||typeof document.getElementById!==
316
316
  'function')return null;var b='gina-aria-live-'+(typeof a.id!='undefined'&&a.id?a.id:a.getAttribute('id')||'form'),c=document.getElementById(b);c?c.parentNode!==a&&(c.ginaA11yFresh=!0,a.appendChild(c)):(c=document.createElement('div'),c.id=b,c.setAttribute('role','status'),c.setAttribute('aria-live','polite'),c.setAttribute('aria-atomic','true'),c.className='gina-visually-hidden',c.style.cssText='position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;',
317
- c.ginaA11yFresh=!0,a.appendChild(c));return c},X=function(a,b){if(!a||!b)return null;var c=F(a);if(!c)return null;if(c.ginaA11yFresh)return c.ginaA11yPending=b,c.ginaA11yTimer||(c.ginaA11yTimer=setTimeout(function(){c.ginaA11yTimer=null;c.ginaA11yFresh=!1;X(a,c.ginaA11yPending)},0)),c;c&&typeof b=='string'&&(b=c.textContent===b?b+'\u00a0':b);c.textContent=b;return c},oa=function(a){var b=a.getElementsByTagName('p');if(!b.length)return a.textContent;a=[];for(var c=0,m=b.length;c<m;++c)a.push(b[c].textContent);
317
+ c.ginaA11yFresh=!0,a.appendChild(c));return c},X=function(a,b){if(!a||!b)return null;var c=E(a);if(!c)return null;if(c.ginaA11yFresh)return c.ginaA11yPending=b,c.ginaA11yTimer||(c.ginaA11yTimer=setTimeout(function(){c.ginaA11yTimer=null;c.ginaA11yFresh=!1;X(a,c.ginaA11yPending)},0)),c;c&&typeof b=='string'&&(b=c.textContent===b?b+'\u00a0':b);c.textContent=b;return c},oa=function(a){var b=a.getElementsByTagName('p');if(!b.length)return a.textContent;a=[];for(var c=0,m=b.length;c<m;++c)a.push(b[c].textContent);
318
318
  return a.join('. ')},ha={submitting:'Submitting\u2026',uploadStarted:'Upload started',uploadComplete:'Upload complete',fileRemoved:'%s removed'},sa=function(a){var b=typeof gina!='undefined'&&gina&&gina.config&&gina.config.a11y?gina.config.a11y:null;return b&&typeof b[a]=='string'&&b[a]?b[a]:ha[a]||''},xa=function(a,b){return X(a,b)},ua=function(a){if(!a||typeof a.style=='undefined'||!a.style)return!1;a.style.cssText='display:block !important;position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;';
319
319
  return!0},Fa={},ia=function(a,b,c,m){if(C)var B=null;var H=!1;if(typeof a.dataset.ginaFormIsResetting!='undefined'&&/^(true)$/i.test(a.dataset.ginaFormIsResetting))b={},Fa={},a.dataset.ginaFormIsResetting=!1;else if(/^(true)$/i.test(a.dataset.ginaFormLiveCheckEnabled)&&typeof m!='undefined'){var f=typeof a.id!='string'?a.getAttribute('id'):a.id;typeof Fa[f]=='undefined'&&(Fa[f]={});if(b&&b.count()>0){if(Fa[f][m]={},Fa[f][m]=K(b[m],Fa[f][m]),Fa[f][m].count()==0&&delete Fa[f][m],b=Fa[f],!h.$forms[f].sent||
320
320
  h.$forms[f].isValidating)if(H=!0,f=h.$forms[f].lastFocused,f.length>0&&typeof f[1]!='undefined'&&f[1].name==m||f.length>0&&!f[1]&&document.activeElement.getAttribute('name')!=f[0].name||document.activeElement.getAttribute('name')!=m)H=!1}else typeof Fa[f][m]!='undefined'&&(delete Fa[f][m],typeof window.gina.validator.$forms[f].errors!='undefined'&&typeof window.gina.validator.$forms[f].errors[m]!='undefined'&&delete window.gina.validator.$forms[f].errors[m]),(typeof h.$forms!='undefined'&&typeof h.$forms[f]!=
@@ -355,7 +355,7 @@ ba)}catch(sb){throw sb;}/^gina\-upload/i.test(m)&&vb(gina,c,'error',m,f);trigger
355
355
  ba)}catch(sb){throw sb;}/^gina\-upload/i.test(m)&&vb(gina,c,'error',m,f);triggerEvent(gina,c,'error.'+m,f);V&&triggerEvent(gina,c,'error.'+m+'.hform',f)}}};Ga.onprogress=function(kb){var ab='0';kb.lengthComputable&&(ab=kb.loaded/kb.total,ab=parseInt(ab*100));kb={status:100,progress:ab};B.eventData.onprogress=kb;triggerEvent(gina,c,'progress.'+m,kb)};if(typeof Ga.upload!='undefined'&&Ga.upload){var nb=[];if(Ba&&a instanceof FormData)for([,Sa]of a.entries())Sa instanceof File&&nb.push(Sa.name);Ga.upload.onprogress=
356
356
  function(kb){if(Ba){var ab=null;kb.lengthComputable&&kb.total>0&&(ab=kb.loaded/kb.total,ab=parseInt(ab*100));kb={status:100,progress:ab,loaded:kb.loaded,total:kb.total,lengthComputable:kb.lengthComputable,files:nb};B.eventData.uploadProgress=kb;bb(c.uploadProperties?c.uploadProperties.progressContainer:null,ab===null?'indeterminate':'uploading',kb);triggerEvent(gina,c,'uploadProgress.'+m,kb);Ea&&triggerEvent(gina,c,'uploadProgress.'+m+'.hform',kb)}};Ga.upload.onloadend=function(){Ba&&bb(c.uploadProperties?
357
357
  c.uploadProperties.progressContainer:null,'processing')}}Ga.ontimeout=function(kb){f={status:408,error:'Request Timeout'};B.eventData.ontimeout=f;B.target.removeAttribute('data-gina-form-loading');/^gina\-upload/i.test(m)&&vb(gina,c,'error',m,f);triggerEvent(gina,c,'error.'+m,f);V&&triggerEvent(gina,c,'error.'+m+'.hform',f)};a||(a=event.detail.data);if(a){var Sa=!1;if(typeof a=='object'){b=[];Xa=0;Ra={};try{if(a instanceof FormData){var Ca=event.currentTarget.getAttribute('data-gina-form-upload-group')||
358
- 'untagged',Na,Bb;for([Na,Bb]of a.entries())Bb instanceof File?(Sa||=!0,b[Xa]={key:Na,group:Ca,file:Bb,bin:''},++Xa):/^(.*)\[(.*)\]/.test(Na)?Ra=Oa(Ra,Na.replace(/\]/g,'').split(/\[/g),0,Bb):Ra[Na]=Bb}else a=JSON.stringify(a);if(Sa&&b.length>0){var db='--ginaWKBoundary'+E();return Qb(b,db,Pb(a,db),0,function(kb,ab,Fb){if(kb)/^gina\-upload/i.test(m)&&vb(gina,c,'error',m,kb),triggerEvent(gina,c,'error.'+m,kb),V&&triggerEvent(gina,c,'error.'+m+'.hform',kb);else return Fb&&(Ga.setRequestHeader('Content-Type',
358
+ 'untagged',Na,Bb;for([Na,Bb]of a.entries())Bb instanceof File?(Sa||=!0,b[Xa]={key:Na,group:Ca,file:Bb,bin:''},++Xa):/^(.*)\[(.*)\]/.test(Na)?Ra=Oa(Ra,Na.replace(/\]/g,'').split(/\[/g),0,Bb):Ra[Na]=Bb}else a=JSON.stringify(a);if(Sa&&b.length>0){var db='--ginaWKBoundary'+G();return Qb(b,db,Pb(a,db),0,function(kb,ab,Fb){if(kb)/^gina\-upload/i.test(m)&&vb(gina,c,'error',m,kb),triggerEvent(gina,c,'error.'+m,kb),V&&triggerEvent(gina,c,'error.'+m+'.hform',kb);else return Fb&&(Ga.setRequestHeader('Content-Type',
359
359
  'multipart/form-data; boundary='+db),Ga.send(ab),B.sent=!0,C&&J&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.sent||(gina.forms.sent={}),window.ginaToolbar.update('forms',{id:m,sent:ab}))),!1})}typeof Ra!='undefined'&&Ra.count()>0&&(a=JSON.stringify(Ra))}catch(kb){/^gina\-upload/i.test(m)&&vb(gina,c,'error',m,kb),triggerEvent(gina,c,'error.'+m,kb),V&&triggerEvent(gina,c,'error.'+m+'.hform',kb)}}Sa||(Ca=(Ca=c.getAttribute('enctype'))&&Ca!=''?Ca:typeof a=='string'&&/^[\[{]/.test(a.trim())?
360
360
  'application/json; charset=UTF-8':Da,typeof Ca!='undefined'&&Ca!=null&&Ca!=''&&Ga.setRequestHeader('Content-Type',Ca),Ga.send(a))}else typeof Da!='undefined'&&Da!=null&&Da!=''&&Ga.setRequestHeader('Content-Type',Da),Ga.send();B.sent=!0;C&&J&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.sent||(gina.forms.sent={}),Ca={id:m,sent:typeof a=='string'?JSON.parse(a):a},window.ginaToolbar.update('forms',Ca))}}},bb=function(a,b,c){if(a&&(a=document.getElementById(a))){var m=/^progress$/i.test(a.tagName);
361
361
  b=='reset'?(m?(a.removeAttribute('value'),a.removeAttribute('max')):a.textContent='',a.removeAttribute('data-gina-upload-progress'),a.removeAttribute('data-gina-upload-progress-state'),m||(a.removeAttribute('role'),a.removeAttribute('aria-valuemin'),a.removeAttribute('aria-valuemax'),a.removeAttribute('aria-valuenow'))):(a.setAttribute('data-gina-upload-progress-state',b),m||(a.setAttribute('role','progressbar'),a.setAttribute('aria-valuemin','0'),a.setAttribute('aria-valuemax','100')),b!='processing'&&
@@ -381,14 +381,14 @@ if(Ba>0&&M)if(/\((.*)\)/.test(M))try{console.warn('[FormValidator][upload] funct
381
381
  f.push('--'+b+'\r\nContent-Disposition: form-data; name="'+H(a[c].key)+'"; group="'+H(a[c].group)+'"; filename="'+H(a[c].file.name)+'"\r\nContent-Type: '+ba+'\r\nContent-Length: '+a[c].file.size+'\r\n\r\n');f.push(a[c].file);f.push('\r\n')}}catch(M){return B(M,null,!0)}f.push('--'+b+'--');return B(!1,new Blob(f),!0)},W=function(a){var b=a.target.getAttribute('data-gina-form-event-on-submit-success')||null;if(b!=null)if(/\((.*)\)/.test(b))try{console.warn('[gina-form-event] function-call shape no longer supported on data-gina-form-event-on-submit-success \u2014 use a bare identifier and register the handler on window: '+
382
382
  b)}catch(c){}else a.on('success.hform',window[b]);b=a.target.getAttribute('data-gina-form-event-on-submit-error')||null;if(b!=null)if(/\((.*)\)/.test(b))try{console.warn('[gina-form-event] function-call shape no longer supported on data-gina-form-event-on-submit-error \u2014 use a bare identifier and register the handler on window: '+b)}catch(c){}else a.on('error.hform',window[b]);b=a.target.getAttribute('data-gina-form-event-on-upload-progress')||null;if(b!=null)if(/\((.*)\)/.test(b))try{console.warn('[gina-form-event] function-call shape not supported on data-gina-form-event-on-upload-progress \u2014 use a bare identifier and register the handler on window: '+
383
383
  b)}catch(c){}else a.on('uploadProgress.hform',window[b])},qa=function(a){var b=null,c=a;if(!h.$forms)throw Error('`$forms` collection not found');if(typeof c=='undefined')if(typeof this.id!='undefined'&&this.id!=''&&this.id!=null)c=this.id;else throw Error('[ FormValidator::destroy(formId) ] `formId` is missing');if(typeof c=='string')c=c.replace(/#/,'');else{if(typeof c!='object'||Array.isArray(c))throw Error('[ FormValidator::destroy(formId) ] `formId` should be a `string`');a=c.form;c=a.getAttribute('id')||
384
- 'form.'+E();a.setAttribute('id',c)}typeof h.$forms[c]!='undefined'?b=h.$forms[c]:typeof this.binded!='undefined'&&(b=this);if(b)addListener(gina,b.target,'destroy.'+c,function(m){cancelEvent(m);delete h.$forms[c];removeListener(gina,m.currentTarget,m.type);removeListener(gina,m.currentTarget,'destroy')}),b=ta(b),triggerEvent(gina,b.target,'destroy.'+c);else throw Error('[ FormValidator::destroy(formId) ] `'+c+'` not found');},ea=function(){var a=typeof arguments[0]!='undefined'?arguments[0]:h.rules;
384
+ 'form.'+G();a.setAttribute('id',c)}typeof h.$forms[c]!='undefined'?b=h.$forms[c]:typeof this.binded!='undefined'&&(b=this);if(b)addListener(gina,b.target,'destroy.'+c,function(m){cancelEvent(m);delete h.$forms[c];removeListener(gina,m.currentTarget,m.type);removeListener(gina,m.currentTarget,'destroy')}),b=ta(b),triggerEvent(gina,b.target,'destroy.'+c);else throw Error('[ FormValidator::destroy(formId) ] `'+c+'` not found');},ea=function(){var a=typeof arguments[0]!='undefined'?arguments[0]:h.rules;
385
385
  for(let m in a){var b=Object.getOwnPropertyNames(a[m]),c=0;let B=b.length,H=!1,f=null;for(;c<B;){if(/^_case_/.test(b[c])){H=!0;f=b[c];break}c++}H||typeof a[m]!='object'||ea(a[m]);if(f&&Array.isArray(a[m][f].conditions)&&a[m][f].conditions.length>0)for(b=0,c=a[m][f].conditions.length;b<c;)typeof a[m][f].conditions[b].rules!='undefined'&&a[m][f].conditions[b].rules.count()==0&&(a[m][f].conditions.splice(b,1),c--,b--),b++}},v=function(a){var b=JSON.stringify(a),c=b.match(/("@import\s+[-_a-z A-Z 0-9/.]+")/g)||
386
386
  [],m=[];for(let ba=0,M=c.length;ba<M;ba++)m.indexOf(c[ba])<0&&m.push(c[ba]);c=m;m=b.match(/("_merging(.*))(\s+:|:)(.*)(",|")/g);h.rules||(h.rules={});if(c&&c.length>0){a={};for(let ba=0,M=c.length;ba<M;++ba){var B=c[ba].replace(/(@import\s+|"|')/g,'');var H=B.replace(/(@import\s+|"|')/g,'').split(/\s/g);for(let V=0,Ba=H.length;V<Ba;++V){var f=H[V].replace(/\//g,'.').replace(/\-/g,'.');typeof h.rules[f]!='undefined'?(f=JSON.stringify(h.rules[f]),f=JSON.parse(f),f._comment=typeof f._comment!='undefined'?
387
387
  f._comment+'\n':'',f._comment+='Imported from `'+B+'`',f=JSON.stringify(f),b=b.replace(new RegExp(c[ba],'g'),f),h.rules=JSON.parse(JSON.stringify(h.rules).replace(new RegExp(c[ba],'g'),'{}'))):console.warn('[formValidator:rules] <@import error> on `'+c[ba]+'`: rule `'+H[V]+'` not found. Ignoring.')}H=new RegExp(c[ba]);if(B=m&&H.test(m.join())?!0:!1)for(let V=0,Ba=m.length;V<Ba;V++)if(H.test(m[V])){B=JSON.stringify(a);B=B.substring(1,B.length-1);V<Ba-1&&(B+=',');try{b=b.replace(new RegExp(m[V],'g'),
388
- B),h.rules=JSON.parse(JSON.stringify(h.rules).replace(new RegExp(m[V],'g'),'{}'))}catch(Ea){throw Ea;}}a={}}a=JSON.parse(b);e(a,'');try{ea()}catch(ba){console.error(ba.stack)}}return a},Y=function(a){gina.hasValidator?(h=K(h,gina.validator),h.on('init',function(b){h.isReady=!0;triggerEvent(gina,h.target,'ready.'+h.id,h)})):(h.target=document,h.setOptions=Q,h.getFormById=U,h.validateFormById=Z,h.resetErrorsDisplay=jb,h.resetFields=va,h.handleErrorsDisplay=ia,h.send=mb,h.setErrorLabels=dc,h.on('init',
389
- function(b){if(typeof a!='undefined'&&a.count())try{e(a,''),a=v(a),gina.forms.rules=typeof gina.forms.rules!='undefined'&&gina.forms.rules?K(gina.forms.rules,a,!0):a,h.rules=K(h.rules,JSON.clone(gina.forms.rules),!0)}catch(Ba){throw Ba;}T.count()||(T=JSON.clone(h.rules));ma.setOptions=Q;ma.getFormById=U;ma.validateFormById=Z;ma.resetErrorsDisplay=jb;ma.resetFields=va;ma.handleErrorsDisplay=ia;ma.submit=za;ma.send=mb;ma.unbind=ta;ma.bind=ob;ma.reBind=ra;ma.destroy=qa;b=0;for(var c=document.getElementsByTagName('form'),
390
- m=0,B=c.length;m<B;++m){if(c[m].getAttribute){var H=c[m].getAttribute('id')||'form.'+E();H!==c[m].getAttribute('id')&&c[m].setAttribute('id',H)}else H='form.'+E(),c[m].setAttribute('id',H);ma.id=H;ma.target=c[m];h.$forms[H]=K({},ma);var f=c[m].getAttribute('data-gina-form-rule');if(f){f=f.replace(/\-|\//g,'.');if(typeof a!='undefined'){if(!/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(f))throw Error('Invalid form rule path: `'+f+'`');for(var ba=f.split('.'),M=gina.forms.rules,V=0;M!=null&&V<ba.length;V++)M=
391
- M[ba[V]];h.$forms[H].rules[f]=h.rules[f]=T[f]=K(JSON.clone(M),h.rules[f])}if(typeof T[f]=='undefined')throw Error('['+H+'] no rule found with key: `'+f+'`. Please check if json is not malformed @ /forms/rules/'+f.replace(/\./g,'/')+'.json');f=h.rules[f]}typeof H=='string'&&typeof T[H.replace(/\-/g,'.')]!='undefined'||typeof f=='object'?(H=h.$forms[H].target,f?ob(H,f):ob(H),++b):(typeof c[m].id=='object'?(delete h.$forms[c[m].id],H=c[m].attributes.getNamedItem('id').nodeValue||'form.'+E(),c[m].setAttribute('id',
388
+ B),h.rules=JSON.parse(JSON.stringify(h.rules).replace(new RegExp(m[V],'g'),'{}'))}catch(Ea){throw Ea;}}a={}}a=JSON.parse(b);e(a,'');try{ea()}catch(ba){console.error(ba.stack)}}return a},Y=function(a){gina.hasValidator?(h=K(h,gina.validator),h.on('init',function(b){h.isReady=!0;triggerEvent(gina,h.target,'ready.'+h.id,h)})):(h.target=document,h.setOptions=Q,h.getFormById=U,h.validateFormById=aa,h.resetErrorsDisplay=jb,h.resetFields=va,h.handleErrorsDisplay=ia,h.send=mb,h.setErrorLabels=dc,h.on('init',
389
+ function(b){if(typeof a!='undefined'&&a.count())try{e(a,''),a=v(a),gina.forms.rules=typeof gina.forms.rules!='undefined'&&gina.forms.rules?K(gina.forms.rules,a,!0):a,h.rules=K(h.rules,JSON.clone(gina.forms.rules),!0)}catch(Ba){throw Ba;}T.count()||(T=JSON.clone(h.rules));ma.setOptions=Q;ma.getFormById=U;ma.validateFormById=aa;ma.resetErrorsDisplay=jb;ma.resetFields=va;ma.handleErrorsDisplay=ia;ma.submit=za;ma.send=mb;ma.unbind=ta;ma.bind=ob;ma.reBind=ra;ma.destroy=qa;b=0;for(var c=document.getElementsByTagName('form'),
390
+ m=0,B=c.length;m<B;++m){if(c[m].getAttribute){var H=c[m].getAttribute('id')||'form.'+G();H!==c[m].getAttribute('id')&&c[m].setAttribute('id',H)}else H='form.'+G(),c[m].setAttribute('id',H);ma.id=H;ma.target=c[m];h.$forms[H]=K({},ma);var f=c[m].getAttribute('data-gina-form-rule');if(f){f=f.replace(/\-|\//g,'.');if(typeof a!='undefined'){if(!/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(f))throw Error('Invalid form rule path: `'+f+'`');for(var ba=f.split('.'),M=gina.forms.rules,V=0;M!=null&&V<ba.length;V++)M=
391
+ M[ba[V]];h.$forms[H].rules[f]=h.rules[f]=T[f]=K(JSON.clone(M),h.rules[f])}if(typeof T[f]=='undefined')throw Error('['+H+'] no rule found with key: `'+f+'`. Please check if json is not malformed @ /forms/rules/'+f.replace(/\./g,'/')+'.json');f=h.rules[f]}typeof H=='string'&&typeof T[H.replace(/\-/g,'.')]!='undefined'||typeof f=='object'?(H=h.$forms[H].target,f?ob(H,f):ob(H),++b):(typeof c[m].id=='object'?(delete h.$forms[c[m].id],H=c[m].attributes.getNamedItem('id').nodeValue||'form.'+G(),c[m].setAttribute('id',
392
392
  H),c[m].id=H,ma.target=c[m],h.$forms[H]=K({},ma),H=h.$forms[H].target):H=h.$forms[c[m].id].target,f?ob(H,f):ob(H))}h.isReady=!0;gina.hasValidator=!0;gina.validator=h;triggerEvent(gina,h.target,'ready.'+h.id,h)}));h.initialized=!0;return h},e=function(a,b){var c;for(c in a)if(typeof a[c]=='object'&&typeof h.rules[b+c]=='undefined'){var m=c;/\[|\]/.test(c)&&(m=c.replace(/\[/g,'.').replace(/\]/g,''));h.rules[b+m]=a[c];e(a[c],b+m+'.')}},g=function(a){if(typeof T[a]!='undefined')return T[a];var b=null;
393
393
  if(typeof h.rules[a]=='undefined'){if(e(T,''),T=v(T),b=T[a],!b)return{}}else b=h.rules[a];b=JSON.clone(b);var c=new RegExp('^'+a),m=new RegExp('^'+a+'.'),B=null,H=function(ba,M,V,Ba,Ea,Da,Ra){if(M.length){var Ga=Object.getOwnPropertyNames(ba)[0],Xa=M[0];Xa=Ea==''?Ea+=Xa:Ea+'['+Xa+']';M.length==1&&(ba[Ga]=K(ba[Ga],V,!0));M.splice(0,1);Xa==Ga?H(ba[Ga],M,V,Ba,Xa,Da,Ra):typeof ba[Ga]!='undefined'?H(ba[Ga],M,V,Ba,Xa,Da,Ra):H(ba,M,V,Ba,Ea,Da,Ra)}},f;for(f in h.rules)f!=a&&c.test(f)&&(B=f.replace(m,''),
394
394
  /\./.test(B)&&(B=B.split(/\./g),H(b,B,h.rules[f],b,'',0,b.count()-1)));return T[a]=b},z=formatDataFromString,ca=function(a){var b=h.$forms[a.form.getAttribute('id')],c=/^true$/i.test(a.disabled)?!0:!1;c&&typeof b.rule!='undefined'&&typeof b.rule[a.name]!='undefined'&&typeof b.rule[a.name].exclude!='undefined'&&/^false$/i.test(b.rule[a.name].exclude)&&(c=!1);if(/^(radio|text|hidden|password|number|date|email)$/i.test(a.type)&&!c){var m=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,'value'),
@@ -399,7 +399,7 @@ addListener(gina,b,m,function(M){M.preventDefault();clearTimeout(c);if(!ba&&/^ch
399
399
  '/'+M.target.id);if(!/^(radio|checkbox)$/i.test(M.target.type)&&M.target.value===M.target.defaultValue&&M.target.value!=''){var Ba=h.$forms[M.target.form.getAttribute('id')].errors;if(Ba&&Ba.count()!=0)ia(M.target.form,Ba,null,M.target.name);else return ia(M.target.form,{},null,M.target.name),cancelEvent(M)}Ba={};var Ea={};Ba[M.target.name]=M.target.value;Ea[M.target.name]=M.target;h.$forms[M.target.form.getAttribute('id')].isValidating=!0;Rb(M.target,Ba,Ea,a.rules,function(Da){Da.isValid()?ia(M.target.form,
400
400
  {},Da.data,M.target.name):ia(M.target.form,Da.error,Da.data,M.target.name);var Ra=M.target.form,Ga=null,Xa=null,nb=null;nb=Cb(Ra,B);Ga=nb.fields;Xa=nb.$fields;var Sa=Ra.getAttribute('id');nb=h.$forms[Sa].rules;h.$forms[Sa].isValidating=!0;Rb(Ra,Ga,Xa,nb,function(Ca){h.$forms[Sa].isValidating=!1;console.debug('['+Sa+'] onSilentGlobalLiveValidation: '+Ca.isValid(),Ca,Ga);var Na=Ca.isValid();C&&J&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.errors||(gina.forms.errors={}),
401
401
  window.ginaToolbar.update('forms',{id:Sa,errors:Ca.error||{}}));if(!Na&&Ca.error){h.$forms[b.form.getAttribute('id')].errors=K(Da.error,Ca.error);var Bb=M.target.name;typeof Ca.error[Bb]!='undefined'&&(pa(Xa[Bb]),ia(Ra,Ca.error,Ca.data,Bb))}else if(Na&&h.$forms[Sa].errors&&h.$forms[Sa].errors.count()>0)for(Bb in Ca=h.$forms[Sa].errors,h.$forms[Sa].errors={},Ca)ia(Ra,{},null,Bb);else h.$forms[Sa].errors&&!h.$forms[Sa].errors.count()&&(h.$forms[Sa].errors={},console.debug('resetting field: '+b.name),
402
- Fa[Sa]={},ia(Ra,{},null,b.name));eb(Ra,Na);ba=!1})})};if(/^changed\./i.test(M.type)||/^change\./i.test(M.type)&&M.target.type=='radio')return function(Ba,Ea){if(!(Ea>0))return++Ea,setTimeout(()=>{console.debug(' changed .... '+b.id);V()},0)}(ba,0);/^focusin\./i.test(M.type)?/\-error/.test(b.parentNode.className)&&!G&&(console.debug('#1 you just focusin ....'+b.id,b.value,h.$forms[b.form.getAttribute('id')].isValidating),pa(b)):/^focusout\./i.test(M.type)?/\-warning/.test(b.parentNode.className)&&
402
+ Fa[Sa]={},ia(Ra,{},null,b.name));eb(Ra,Na);ba=!1})})};if(/^changed\./i.test(M.type)||/^change\./i.test(M.type)&&M.target.type=='radio')return function(Ba,Ea){if(!(Ea>0))return++Ea,setTimeout(()=>{console.debug(' changed .... '+b.id);V()},0)}(ba,0);/^focusin\./i.test(M.type)?/\-error/.test(b.parentNode.className)&&!F&&(console.debug('#1 you just focusin ....'+b.id,b.value,h.$forms[b.form.getAttribute('id')].isValidating),pa(b)):/^focusout\./i.test(M.type)?/\-warning/.test(b.parentNode.className)&&
403
403
  (console.debug('#1 you just focusout ....'+b.id,b.value),h.$forms[b.form.getAttribute('id')].isValidating=!1,pa(b),ia(b.form,h.$forms[b.form.getAttribute('id')].errors,null,b.name)):/^keyup\./i.test(M.type)?(b.ginaFormValidatorTestedValue=b.value,c=setTimeout(function(){['91','17','16'].indexOf(''+M.keyCode)>-1&&n.count()==0||(console.debug('[A]['+n.count()+'] keyup ('+M.keyCode+') .... '+b.id,b.value,' VS ',b.ginaFormValidatorTestedValue+'(old)'),V())},1E3)):/^change\./i.test(M.type)&&!/^(checkbox)$/i.test(M.target.type)&&
404
404
  (console.debug(' change .... '+b.id),V())})}}},wa=function(a,b,c){a.setSelectionRange?(a.focus(),a.setSelectionRange(b,c)):a.createTextRange&&(a=a.createTextRange(),a.collapse(!0),a.moveEnd('character',c),a.moveStart('character',b),a.select())},Ka=function(a,b){wa(a,b,b);a._ginaAcCaret=b},Qa=function(a){a._ginaAcPending=(a._ginaAcPending||0)+1;a.setAttribute('readonly','readonly');setTimeout(()=>{a.removeAttribute('readonly');setTimeout(()=>{if(typeof a._ginaAcCaret=='number'){var b=a._ginaAcCaret;
405
405
  wa(a,b,b)}a._ginaAcPending--;a._ginaAcPending<=0&&(a._ginaAcPending=0,a._ginaAcCaret=null)},0)},0)},Ma=function(a,b){if(document.activeElement&&document.activeElement.form){a=Array.prototype.filter.call(document.activeElement.form.querySelectorAll('a:not([disabled]), button:not([disabled]), input[type=text]:not([disabled]), select:not([disabled]), [tabindex]:not([disabled]):not([tabindex="-1"])'),function(B){return B.offsetWidth>0||B.offsetHeight>0||B===document.activeElement});var c=a.indexOf(document.activeElement);
@@ -418,12 +418,12 @@ c[f],m),m=P[M],typeof gina.events[m]!='undefined'&&gina.events[m]==c[f].id&&remo
418
418
  P.length;M<V;M++)H=B=P[M],typeof gina.events[H]!='undefined'&&gina.events[H]==m&&removeListener(gina,c,H),H=m,typeof gina.events[H]!='undefined'&&gina.events[H]==m&&removeListener(gina,c,H),H=B+'.'+m,typeof gina.events[H]!='undefined'&&gina.events[H]==m&&removeListener(gina,c,H),H=B+'.'+m,typeof gina.events[H]!='undefined'&&gina.events[H]==H&&removeListener(gina,c,H),H=B+'.'+m+'.hform',typeof gina.events[H]!='undefined'&&gina.events[H]==m&&removeListener(gina,c,H)}evt=null;if(Array.isArray(b.reassociatedListeners)){for(let f=
419
419
  0,ba=b.reassociatedListeners.length;f<ba;f++)(a=b.reassociatedListeners[f])&&a.el&&a.el.removeEventListener?a.el.removeEventListener(a.evt,a.fn,!1):a&&a.el&&a.el.detachEvent&&a.el.detachEvent('on'+a.evt,a.fn);b.reassociatedListeners=[]}b.binded=!1;return b},Pa=function(a,b){b=b.name;if(!a[b])for(let c in a)if(/^\//.test(c)&&(re=c.match(/\/(.*)\//).pop(),flags=c.replace('/'+re+'/',''),re=re.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),re=new RegExp(re,flags),re.test(b))){a[b]=a[c];break}},$a=function(a,
420
420
  b){return a.getAttribute('value')===null||/^(true|false)$/.test(a.value)||typeof b!='undefined'&&b&&typeof b.isBoolean!='undefined'?!0:!1},hb=function(a){return/^true$/i.test(a.target.dataset.ginaFormCheckboxValueAsState)?!0:!1},ib={},ob=function(a,b){var c=null,m=null,B=typeof(T.count()>0)?T:h.rules;m=typeof a=='undefined'&&typeof this.target!='undefined'&&/FORM/i.test(this.target.tagName)||!/object/i.test(typeof a)?this.target.id||this.target.getAttribute('id'):/string/i.test(typeof a)?a:a.getAttribute('id');
421
- try{if(typeof h.$forms[m]!='undefined'){c=h.$forms[m];if(typeof c.target=='undefined')throw Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');a=c.target}else throw Error('form instance `'+m+'` not found');}catch(q){throw Error('Validator::bindForm($target, customRule) could not bind form `'+a+'`\n'+q.stack);}F(a);var H=!1,f=null,ba='',M=null;typeof b!='undefined'||typeof m=='string'&&typeof B[m.replace(/\-|\//g,'.')]!='undefined'?(H=!0,f=b&&typeof b=='object'?b:
421
+ try{if(typeof h.$forms[m]!='undefined'){c=h.$forms[m];if(typeof c.target=='undefined')throw Error('Validator::bindForm($target, customRule): `$target` must be a DOM element\n');a=c.target}else throw Error('form instance `'+m+'` not found');}catch(q){throw Error('Validator::bindForm($target, customRule) could not bind form `'+a+'`\n'+q.stack);}E(a);var H=!1,f=null,ba='',M=null;typeof b!='undefined'||typeof m=='string'&&typeof B[m.replace(/\-|\//g,'.')]!='undefined'?(H=!0,f=b&&typeof b=='object'?b:
422
422
  b&&typeof b=='string'&&typeof B[b.replace(/\-|\//g,'.')]!='undefined'?g(b.replace(/\-|\//g,'.')):g(m.replace(/\-|\//g,'.')),c.rules=f,C&&J&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&(gina.forms.rules||(gina.forms.rules={}),objCallback={id:m,rules:c.rules},window.ginaToolbar.update('forms',objCallback))):c.rules={};typeof c.target.dataset.ginaFormLiveCheckEnabled=='undefined'&&c.rules.count()>0?c.target.dataset.ginaFormLiveCheckEnabled=!0:c.target.dataset.ginaFormLiveCheckEnabled=
423
423
  typeof c.target.dataset.ginaFormLiveCheckEnabled!='undefined'?/^true$/i.test(c.target.dataset.ginaFormLiveCheckEnabled)?!0:!1:!1;c.fieldsSet||(c.fieldsSet={});Array.isArray(c.reassociatedListeners)||(c.reassociatedListeners=[]);b=function(q,R){var fa=[],ka=R.toUpperCase();for(let La=0,Ia=q.elements.length;La<Ia;La++){let Ta=q.elements[La];Ta.tagName===ka&&fa.push(Ta)}R=q.getElementsByTagName(R);for(let La=0,Ia=R.length;La<Ia;La++)ka=R[La],ka.form===q&&fa.indexOf(ka)===-1&&fa.push(ka);return fa};M=
424
- null;a.getElementsByTagName('a');var V=b(a,'input'),Ba=b(a,'textarea');M=b(a,'select');var Ea=function(q){var R=[];for(let fa=0,ka=q.elements.length;fa<ka;fa++){let La=q.elements[fa];La.tagName.indexOf('-')>-1&&R.push(La)}return R}(a),Da={},Ra=[],Ga={},Xa=null,nb={},Sa=null,Ca=null;for(let q=0,R=Ba.length;q<R;++q)Pa(c.rules,Ba[q]),Ca=Ba[q].getAttribute('id'),Ca&&Ca!=''||(Ca='textareas.'+E(),Ba[q].setAttribute('id',Ca)),c.fieldsSet[Ca]||(c.fieldsSet[Ca]={id:Ca,name:Ba[q].name||null,value:Ba[q].value||
424
+ null;a.getElementsByTagName('a');var V=b(a,'input'),Ba=b(a,'textarea');M=b(a,'select');var Ea=function(q){var R=[];for(let fa=0,ka=q.elements.length;fa<ka;fa++){let La=q.elements[fa];La.tagName.indexOf('-')>-1&&R.push(La)}return R}(a),Da={},Ra=[],Ga={},Xa=null,nb={},Sa=null,Ca=null;for(let q=0,R=Ba.length;q<R;++q)Pa(c.rules,Ba[q]),Ca=Ba[q].getAttribute('id'),Ca&&Ca!=''||(Ca='textareas.'+G(),Ba[q].setAttribute('id',Ca)),c.fieldsSet[Ca]||(c.fieldsSet[Ca]={id:Ca,name:Ba[q].name||null,value:Ba[q].value||
425
425
  '',defaultValue:Ba[q].value||''}),/^true$/i.test(c.target.dataset.ginaFormLiveCheckEnabled)&&D(c,Ba[q]);for(let q=0,R=Ea.length;q<R;++q){if(typeof Ea[q].form=='undefined'||Ea[q].form==null)try{Object.defineProperty(Ea[q],'form',{value:c.target,configurable:!0,writable:!0})}catch(fa){}if((typeof Ea[q].name=='undefined'||!Ea[q].name)&&Ea[q].getAttribute('name'))try{Object.defineProperty(Ea[q],'name',{value:Ea[q].getAttribute('name'),configurable:!0,writable:!0})}catch(fa){}Pa(c.rules,Ea[q]);Ca=Ea[q].getAttribute('id');
426
- Ca&&Ca!=''||(Ca='face.'+E(),Ea[q].setAttribute('id',Ca));c.fieldsSet[Ca]||(Xa=Ea[q].value||'',c.fieldsSet[Ca]={id:Ca,name:Ea[q].getAttribute('name')||null,value:Ea[q].value||'',defaultValue:Xa});/^true$/i.test(c.target.dataset.ginaFormLiveCheckEnabled)&&D(c,Ea[q])}for(let q=0,R=V.length;q<R;++q){Pa(c.rules,V[q]);Ca=V[q].getAttribute('id');Ca&&Ca!=''||(Ca='input.'+E(),V[q].setAttribute('id',Ca));c.fieldsSet[Ca]||(Xa=V[q].value,c.fieldsSet[Ca]={id:Ca,name:V[q].name||null,value:Xa||!/^(checkbox|radio)$/i.test(V[q].type)?
426
+ Ca&&Ca!=''||(Ca='face.'+G(),Ea[q].setAttribute('id',Ca));c.fieldsSet[Ca]||(Xa=Ea[q].value||'',c.fieldsSet[Ca]={id:Ca,name:Ea[q].getAttribute('name')||null,value:Ea[q].value||'',defaultValue:Xa});/^true$/i.test(c.target.dataset.ginaFormLiveCheckEnabled)&&D(c,Ea[q])}for(let q=0,R=V.length;q<R;++q){Pa(c.rules,V[q]);Ca=V[q].getAttribute('id');Ca&&Ca!=''||(Ca='input.'+G(),V[q].setAttribute('id',Ca));c.fieldsSet[Ca]||(Xa=V[q].value,c.fieldsSet[Ca]={id:Ca,name:V[q].name||null,value:Xa||!/^(checkbox|radio)$/i.test(V[q].type)?
427
427
  '':V[q].checked,defaultValue:/^(checkbox|radio)$/i.test(V[q].type)?V[q].checked:Xa},/^(checkbox|radio)$/i.test(V[q].type)&&typeof c.fieldsSet[Ca].defaultChecked=='undefined'&&(c.fieldsSet[Ca].defaultChecked=V[q].defaultChecked||hb(c)&&/^(true|on)$/.test(Xa)&&/^(checkbox)$/i.test(V[q].type)?!0:!1,/^radio$/i.test(V[q].type)&&(c.fieldsSet[Ca].value=V[q].value,c.fieldsSet[Ca].defaultValue=V[q].value),!/^(checkbox)$/i.test(V[q].type)||hb(c)||typeof c.target.dataset.ginaFormCheckboxValueAsState!='undefined'||
428
428
  V[q].hasAttribute('checked')||!/^(true|on)$/i.test(V[q].getAttribute('value'))||ib[Ca]||(ib[Ca]=!0,console.warn('[ FormValidator ] checkbox `'+Ca+'`: `value` no longer implies the checked state; add the `checked` attribute if it must render ticked, or set `data-gina-form-checkbox-value-as-state="true"` on the form to restore the legacy behavior. If the unticked rendering is intended, remove the `value` attribute (a boolean checkbox posts its live checked state either way), or set `data-gina-form-checkbox-value-as-state="false"` on the form to declare the current model and silence migration warnings')),
429
429
  Xa=V[q].getAttribute('data-value')||V[q].getAttribute('value')||V[q].value,!/^(checkbox)$/i.test(V[q].type)||hb(c)||typeof c.target.dataset.ginaFormCheckboxValueAsState!='undefined'||!V[q].hasAttribute('checked')||Xa!==''&&!/^false$/i.test(Xa)||ib[Ca]||(ib[Ca]=!0,console.warn('[ FormValidator ] checkbox `'+Ca+'`: `value` no longer un-ticks a checked box; remove the `checked` attribute if it must render unticked, or set `data-gina-form-checkbox-value-as-state="true"` on the form to restore the legacy behavior. If the ticked rendering is intended, set `data-gina-form-checkbox-value-as-state="false"` on the form to declare the current model and silence migration warnings'))));
@@ -435,12 +435,12 @@ pb=ka.getAttribute('data-gina-form-upload-on-error'),lb=ka.getAttribute('data-gi
435
435
  wb.id=Ta;wb.action=La;wb.enctype='multipart/form-data';wb.method='POST';if(typeof ka.form!='undefined'){La='files';var Gb=ka.getAttribute('data-gina-form-upload-prefix')||ka.name||ka.getAttribute('name'),Xb=ka.id||ka.getAttribute('id'),Zb=!1,ec=ka.getAttribute('data-gina-form-upload-progress')||(Xb?Xb+'-progress':null),fc=ka.getAttribute('data-gina-form-upload-dropzone')||null,Wb=ka.getAttribute('data-gina-form-upload-preview')||Xb+'-preview';Wb=O()?Nb.$target.getElementById(Wb):document.getElementById(Wb);
436
436
  typeof Wb!='undefined'&&Wb&&(Zb=!0);Gb&&(La=Gb);Gb=[];for(var Ub='name group originalFilename ext encoding size height width location mime preview'.split(' '),Yb=ka.form.getElementsByTagName('INPUT'),Ob,Lb,$b,Tb,Eb=0,hc=fa.length;Eb<hc;++Eb){Aa('reset',ka,Eb);Gb[Eb]=null;Ob=La+'['+Eb+']';Tb=new RegExp('^'+Ob.replace(/\[/g,'\\[').replace(/\]/g,'\\]'));for(var Vb=0,ic=Yb.length;Vb<ic;++Vb)Ob=Yb[Vb].getAttribute('type'),Jb=Yb[Vb].getAttribute('data-gina-form-upload-error')||Xb+'-error'||null,Ob&&/hidden/i.test(Ob)&&
437
437
  (Lb=Yb[Vb],Ob=/\[\w+\]$/i.test(Lb.name)?Lb.name.match(/\[\w+\]$/)[0].replace(/\[|\]/g,''):Lb.name,$b=/\[\w+\]$/i.test(Lb.name)?Lb.name.match(/\[\w+\]$/)[0].replace(/\[|\]/g,''):Lb.name,Lb&&typeof Ob!='undefiend'&&Ub.indexOf(Ob)>-1&&Tb.test(Lb.name)?(Gb[Eb]||(Gb[Eb]={}),/\[preview\]/i.test(Lb.name)?(typeof Gb[Eb].preview=='undefined'&&(Gb[Eb].preview={}),Gb[Eb].preview[Ob]=Lb):Gb[Eb][Ob]=Lb):Lb&&typeof Ob!='undefiend'&&Ub.indexOf(Ob)<0&&Tb.test(Lb.name)&&(Gb[Eb]||(Gb[Eb]={}),/\[preview\]/i.test(Lb.name)?
438
- (typeof Gb[Eb].preview=='undefined'&&(Gb[Eb].preview={}),Gb[Eb].preview[$b]=Lb):Gb[Eb][$b]=Lb));Tb=0;for(Vb=Ub.length;Tb<Vb;++Tb)Gb[Eb]||(Gb[Eb]={}),typeof Gb[Eb][Ub[Tb]]=='undefined'&&(Ob=La+'['+Eb+']['+Ub[Tb]+']',$newVirtualField=document.createElement('input'),$newVirtualField.type='hidden',$newVirtualField.id='input.'+E(),$newVirtualField.name=Ob,$newVirtualField.value='',ka.form.appendChild($newVirtualField),Gb[Eb][Ub[Tb]]=ka.form[ka.form.length-1])}wb.uploadProperties={id:ka.form.id||ka.getAttribute('id'),
438
+ (typeof Gb[Eb].preview=='undefined'&&(Gb[Eb].preview={}),Gb[Eb].preview[$b]=Lb):Gb[Eb][$b]=Lb));Tb=0;for(Vb=Ub.length;Tb<Vb;++Tb)Gb[Eb]||(Gb[Eb]={}),typeof Gb[Eb][Ub[Tb]]=='undefined'&&(Ob=La+'['+Eb+']['+Ub[Tb]+']',$newVirtualField=document.createElement('input'),$newVirtualField.type='hidden',$newVirtualField.id='input.'+G(),$newVirtualField.name=Ob,$newVirtualField.value='',ka.form.appendChild($newVirtualField),Gb[Eb][Ub[Tb]]=ka.form[ka.form.length-1])}wb.uploadProperties={id:ka.form.id||ka.getAttribute('id'),
439
439
  uploadTriggerId:ka.id,$form:ka.form,errorField:Jb,progressContainer:ec,dropzoneContainer:fc,mandatoryFields:Ub,uploadFields:Gb,hasPreviewContainer:Zb,isPopinContext:O()};Zb&&(wb.uploadProperties.previewContainer=Wb)}Ja?wb.setAttribute('data-gina-form-event-on-submit-success',Ja):wb.setAttribute('data-gina-form-event-on-submit-success','onGenericXhrResponse');pb?wb.setAttribute('data-gina-form-event-on-submit-error',pb):wb.setAttribute('data-gina-form-event-on-submit-error','onGenericXhrResponse');
440
440
  lb&&wb.setAttribute('data-gina-form-event-on-upload-progress',lb);O()?document.getElementById(Nb.id).appendChild(wb):document.body.appendChild(wb)}wb.uploadProperties&&wb.uploadProperties.progressContainer&&bb(wb.uploadProperties.progressContainer,'preparing');wb.uploadProperties&&wb.uploadProperties.uploadTriggerId&&(ka=document.getElementById(wb.uploadProperties.uploadTriggerId))&&ka.form&&xa(ka.form,sa('uploadStarted'));try{var jc=U(Ta),bc=new FormData;Ta=null;ka=0;for(var kc=fa.length;ka<kc;++ka)Ta=
441
441
  fa[ka],bc.append(Ia,Ta,Ta.name);jc.send(bc,{withCredentials:!0})}catch(ac){throw ac;}}})}}var Bb=function(q,R){q.setAttribute('data-value',q.value);if(/^(true)$/i.test(R.target.dataset.ginaFormLiveCheckEnabled)&&R.rules.count()>0){var fa={},ka={},La=null;La=q.form;fa[event.target.name]=event.target.value;ka[event.target.name]=event.target;h.$forms[La.getAttribute('id')].isValidating=!0;Rb(event.target,fa,ka,R.rules,function(Ia){h.$forms[La.getAttribute('id')].isValidating=!1;Ia.isValid()?ia(La,{},
442
442
  Ia.data,event.target.name):ia(La,Ia.error,Ia.data,event.target.name);var Ta=La,Ja=Ia=null,pb=null;Ja=Cb(Ta,B);Ia=Ja.fields;Ja=Ja.$fields;var lb=Ta.getAttribute('id');pb=h.$forms[lb].rules;h.$forms[lb].isValidating=!0;Rb(Ta,Ia,Ja,pb,function(Jb){h.$forms[lb].isValidating=!1;console.debug('[updateSelect]: onSilentGlobalLiveValidation: '+Jb.isValid(),Jb);var Nb=Jb.isValid();if(!Nb){h.$forms[lb].errors=Jb.error;var wb=event.target.name;typeof Jb.error[wb]!='undefined'&&ia(Ta,Jb.error,Jb.data,wb)}else if(Nb&&
443
- h.$forms[lb].errors&&h.$forms[lb].errors.count()>0)for(wb in Jb=h.$forms[lb].errors,h.$forms[lb].errors={},Jb)ia(Ta,{},null,wb);eb(Ta,Nb);once=!1})})}};Xa=nb=null;Na=0;for(Ga=M.length;Na<Ga;++Na)if(Pa(c.rules,M[Na]),Ca=M[Na].getAttribute('id'),!Ca||!/^gina\-toolbar/.test(Ca)){Ca&&Ca!=''||(Ca='select.'+E(),M[Na].setAttribute('id',Ca));if(Xa=M[Na].getAttribute('data-gina-form-element-group'))nb=M[Na].getAttribute('name')||Ca,nb===Ca&&M[Na].setAttribute('name',Ca),Da[Ca]={id:Ca,name:nb,group:Xa,target:M[Na]};
443
+ h.$forms[lb].errors&&h.$forms[lb].errors.count()>0)for(wb in Jb=h.$forms[lb].errors,h.$forms[lb].errors={},Jb)ia(Ta,{},null,wb);eb(Ta,Nb);once=!1})})}};Xa=nb=null;Na=0;for(Ga=M.length;Na<Ga;++Na)if(Pa(c.rules,M[Na]),Ca=M[Na].getAttribute('id'),!Ca||!/^gina\-toolbar/.test(Ca)){Ca&&Ca!=''||(Ca='select.'+G(),M[Na].setAttribute('id',Ca));if(Xa=M[Na].getAttribute('data-gina-form-element-group'))nb=M[Na].getAttribute('name')||Ca,nb===Ca&&M[Na].setAttribute('name',Ca),Da[Ca]={id:Ca,name:nb,group:Xa,target:M[Na]};
444
444
  addListener(gina,M[Na],'change',function(q){q=q.target;/select/i.test(q.type)&&Bb(q,c)});if(M[Na].options&&!c.fieldsSet[Ca]){nb=0;if(Xa=M[Na].getAttribute('data-value')||null)for(Ea=0,Sa=M[Na].options.length;Ea<Sa;++Ea)if(M[Na].options[Ea].value==Xa){nb=Ea;M[Na].selectedIndex=nb;break}typeof M[Na].options[M[Na].selectedIndex]!='undefined'&&M[Na].options[M[Na].selectedIndex].index&&(nb=M[Na].options[M[Na].selectedIndex].index);M[Na].options.length>0&&typeof M[Na].options[nb]!='undefined'&&(Xa=M[Na].options[nb].value);
445
445
  c.fieldsSet[Ca]={id:Ca,name:M[Na].name||null,value:Xa||null,selectedIndex:nb||0};typeof M[Na].selectedIndex!='undefined'&&M[Na].selectedIndex>-1&&(M[Na].options[nb].selected=!0,M[Na].setAttribute('data-value',M[Na].options[nb].value))}}var db=function(q,R,fa,ka){typeof ka=='undefined'&&(ka=!1);if(typeof Da[q]=='undefined')throw Error('Radio & Checkbox dependencies not met: you must use the ID attribue of the `master element` as the `data-gina-form-element-group`');var La=q.replace(/\-|_|@|#|\.|\[|\]/g,
446
446
  '\\$&');q=Da[q].target.checked;for(let Ja in Da)if(!/radio|checkbox/i.test(Da[Ja].target.type)){var Ia=new RegExp(La);var Ta=new RegExp(R);if(Ia.test(Da[Ja].group)&&Ta.test(Da[Ja].group)||Ia.test(Da[Ja].group))Da[Ja].target.disabled=!0,typeof c.rules[Da[Ja].name]=='undefined'&&(c.rules[Da[Ja].name]={}),c.rules[Da[Ja].name].exclude=!0,ka?(Da[Ja].target.disabled=q?!1:!0,c.rules[Da[Ja].name].exclude=q?!1:!0):(Da[Ja].target.disabled=fa,c.rules[Da[Ja].name].exclude=fa)}},kb=function(q,R,fa,ka){typeof ka==
@@ -450,7 +450,7 @@ Ta.test(Da[Jb].target.getAttribute('data-gina-form-element-group')))Da[Jb].targe
450
450
  Fb=function(q){q=new RegExp(q.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(let R in Da)(/checkbox/i.test(Da[R].target.type)&&q.test(Da[R].group)||/checkbox/i.test(Da[R].target.type)&&q.test(Da[R].target.getAttribute('data-gina-form-element-group')))&&kb(c,Da[R].target,Da[R].group,!0)},Db=function(q,R){R=q.id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&');R=new RegExp(R);for(let fa in Da)if(/checkbox|radio/i.test(Da[fa].target.type)||(Da[fa].target.disabled=!0,typeof c.rules[Da[fa].name]=='undefined'&&(c.rules[Da[fa].name]=
451
451
  {}),c.rules[Da[fa].name].exclude=!0),R.test(Da[fa].group)||R.test(Da[fa].target.getAttribute('data-gina-form-element-group').replace(/\-|_|@|#|\.|\[|\]/g,'\\$&')))Da[fa].target.disabled=!0,typeof c.rules[Da[fa].name]=='undefined'&&(c.rules[Da[fa].name]={}),/^(true|on)$/i.test(q.checked)?(Da[fa].target.disabled=!1,c.rules[Da[fa].name].exclude=!1):(Da[fa].target.disabled=!0,c.rules[Da[fa].name].exclude=!0);Fb(q)},Kb=null,cb=function(q,R,fa){R=typeof R!='undefined'&&R?!0:!1;fa=typeof fa!='undefined'&&
452
452
  fa?!0:!1;R&&!q.checked&&q.hasAttribute('checked')&&(q.checked=!0);var ka=q.checked,La=/^(true|false)$/i.test(q.value),Ia=document.getElementsByName(q.name);Kb=Array.prototype.filter.call(Ia,function(Ta){return Ta.form===q.form});for(let Ta=0,Ja=Kb.length;Ta<Ja;++Ta)Kb[Ta].id!==q.id&&ka&&(Kb[Ta].checked=!1,Kb[Ta].removeAttribute('checked'),Db(Kb[Ta],!0));R?Db(q):(ka&&ka!='null'&&ka!='false'&&ka!=''?setTimeout(function(){fa?Db(q):(q.checked=!1,q.removeAttribute('checked'))},0):setTimeout(function(){fa?
453
- Db(q):(q.checked=!0,q.setAttribute('checked','checked'))},0),La&&(q.value=/^true$/.test(q.value)?!0:!1))};Na=0;for(Ga=V.length;Na<Ga;++Na){M=V[Na].getAttribute('type');if(typeof V[Na].id=='undefined'||V[Na].id=='')V[Na].id=M+'-'+E(),V[Na].setAttribute('id',V[Na].id);if(typeof M!='undefined'&&/^checkbox$/i.test(M)){if(V[Na].disabled&&Ra.indexOf(V[Na].id)>-1||!V[Na].checked&&Ra.indexOf(V[Na].id)>-1){M=new RegExp(V[Na].id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(var Ua in Da)M.test(Da[Ua].group)&&(Da[Ua].target.disabled=
453
+ Db(q):(q.checked=!0,q.setAttribute('checked','checked'))},0),La&&(q.value=/^true$/.test(q.value)?!0:!1))};Na=0;for(Ga=V.length;Na<Ga;++Na){M=V[Na].getAttribute('type');if(typeof V[Na].id=='undefined'||V[Na].id=='')V[Na].id=M+'-'+G(),V[Na].setAttribute('id',V[Na].id);if(typeof M!='undefined'&&/^checkbox$/i.test(M)){if(V[Na].disabled&&Ra.indexOf(V[Na].id)>-1||!V[Na].checked&&Ra.indexOf(V[Na].id)>-1){M=new RegExp(V[Na].id.replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'));for(var Ua in Da)M.test(Da[Ua].group)&&(Da[Ua].target.disabled=
454
454
  !0)}ba='change.'+V[Na].id;M=function(q,R){addListener(gina,q,R,function(fa){ab(fa.target);triggerEvent(gina,fa.target,'changed.'+fa.target.id)});ab(q,!0)};typeof gina.events[ba]!='undefined'&&gina.events[ba]==V[Na].id&&removeListener(gina,V[Na],ba);M(V[Na],ba)}else typeof M!='undefined'&&/^radio$/i.test(M)&&(ba=V[Na].id,M=function(q,R){addListener(gina,q,R,function(fa){cb(fa.target);triggerEvent(gina,fa.target,'changed.'+fa.target.id)});cb(q,!0)},typeof gina.events[ba]!='undefined'&&gina.events[ba]==
455
455
  V[Na].id&&removeListener(gina,V[Na],ba),M(V[Na],ba))}ba='click';var tb=function(q){var R=q.target;la(q);if(typeof q.defaultPrevented!='undefined'&&q.defaultPrevented)return!1;q.preventDefault();var fa=R.id;if(!fa)return!1;/^reset\./.test(fa)||(fa='reset.'+R.id);gina.events[fa]&&triggerEvent(gina,R,fa,q.detail)},Za=function(q){var R=q.target;la(q);if(typeof q.defaultPrevented!='undefined'&&q.defaultPrevented)return!1;n[q.keyCode]=q.type=='keydown';var fa=R.id;if(!fa)return!1;/^keydown\./.test(fa)||
456
456
  (fa='keydown.'+R.id);gina.events[fa]&&(R=triggerEvent(gina,R,fa,q.detail,q))&&R.defaultPrevented&&cancelEvent(q)},fb=function(q){var R=q.target;la(q);if(typeof q.defaultPrevented!='undefined'&&q.defaultPrevented)return!1;n[q.keyCode]&&delete n[q.keyCode];var fa=R.id;if(!fa)return!1;/^keyup\./.test(fa)||(fa='keyup.'+R.id);gina.events[fa]&&(cancelEvent(q),triggerEvent(gina,R,fa,q.detail,q))},Va=function(q){var R=q.target;la(q);if(typeof q.defaultPrevented!='undefined'&&q.defaultPrevented)return!1;var fa=
@@ -459,18 +459,18 @@ q.defaultPrevented)return!1;var fa=R.id;if(!fa)return!1;/^focusout\./.test(fa)||
459
459
  typeof q.target.control!='undefined'&&q.target.control!=null&&/(checkbox|radio)/i.test(q.target.control.type)||/(label)/i.test(q.target.parentNode.tagName)&&typeof q.target.parentNode.control!='undefined'&&q.target.parentNode.control!=null&&/(checkbox|radio)/i.test(q.target.parentNode.control.type))ka=q.target.getAttribute('for')||q.target.parentNode.getAttribute('for')?!0:!1,R=q.target.control||q.target.parentNode.control;if(!R.disabled&&/(checkbox|radio)/i.test(R.type)&&!ka){if(/checkbox/i.test(R.type))return ab(R);
460
460
  if(/radio/i.test(R.type))return cb(R,!1,!0)}if(/(button|input)/i.test(R.tagName)&&/(submit|checkbox|radio)/i.test(R.type)||/a/i.test(R.tagName)&&R.attributes.getNamedItem('data-gina-form-submit')||/a/i.test(R.parentNode.tagName)&&R.parentNode.attributes.getNamedItem('data-gina-form-submit')){ka=R.attributes.getNamedItem('data-gina-form-submit');var La=R.parentNode.attributes.getNamedItem('data-gina-form-submit');if(ka||La)fa=!0,La=q.currentTarget&&q.currentTarget.getAttribute?q.currentTarget:R.form||
461
461
  null,(La=ka?R.getAttribute('data-gina-form-submit-method')||(La?La.getAttribute('method'):null):R.parentNode.getAttribute('data-gina-form-submit-method')||(La?La.getAttribute('method'):null))&&(ka&&R.form?R.form.setAttribute?R.form.setAttribute('method',La):q.currentTarget&&q.currentTarget.setAttribute&&q.currentTarget.setAttribute('method',La):R.parentNode.form&&(R.parentNode.form.setAttribute?R.parentNode.form.setAttribute('method',La):q.currentTarget&&q.currentTarget.setAttribute&&q.currentTarget.setAttribute('method',
462
- La)));typeof R.id!='undefined'&&R.getAttribute('id')||R.setAttribute('id','click.'+E());R.id=R.getAttribute('id');if(/^click\./.test(R.id)||H){ka=R.id;if(!ka)return!1;/^click\./.test(ka)||(ka=R.id);if(!R.disabled&&/(checkbox|radio)/i.test(R.type)){if(/checkbox/i.test(R.type))return ab(R);if(/radio/i.test(R.type))return cb(R,!1,!0)}if(typeof q.defaultPrevented!='undefined'&&q.defaultPrevented)return!1;if(R.type=='submit'&&!/^submit\./i.test(ka)||fa&&!/^submit\./i.test(ka))ka='submit.'+ka,h.$forms[c.id].submitTrigger=
462
+ La)));typeof R.id!='undefined'&&R.getAttribute('id')||R.setAttribute('id','click.'+G());R.id=R.getAttribute('id');if(/^click\./.test(R.id)||H){ka=R.id;if(!ka)return!1;/^click\./.test(ka)||(ka=R.id);if(!R.disabled&&/(checkbox|radio)/i.test(R.type)){if(/checkbox/i.test(R.type))return ab(R);if(/radio/i.test(R.type))return cb(R,!1,!0)}if(typeof q.defaultPrevented!='undefined'&&q.defaultPrevented)return!1;if(R.type=='submit'&&!/^submit\./i.test(ka)||fa&&!/^submit\./i.test(ka))ka='submit.'+ka,h.$forms[c.id].submitTrigger=
463
463
  c.submitTrigger=R.id;R.type!='reset'||/^reset\./i.test(ka)||(ka='reset.'+ka);if(/^submit\./i.test(ka)&&Ab(R)&&!ub(R,a,h.$forms[c.id]||c))return cancelEvent(q),xb(h.$forms[c.id]||c),!1;/^submit\./i.test(ka)&&qb(h.$forms[c.id]||c,y.resolveTrigger(R,a));gina.events[ka]?(R&&R.__ginaSubmitBoundFor!==ka&&Ya(ka,R),cancelEvent(q),triggerEvent(gina,R,ka,q.detail)):fa&&typeof this.id!='undefined'&&this.id!=''&&typeof gina.validator.$forms[this.id]!='undefined'&&(gina.validator.getFormById(this.id).submit(),
464
464
  cancelEvent(q))}}}};M=function(){var q=null;q='reset.'+a.id;typeof gina.events[q]=='undefined'&&addListener(gina,a,q,function(R){R.preventDefault();var fa=h.$forms[R.currentTarget.id||R.target.id];fa.target.dataset.ginaFormIsResetting=!0;va(fa);R=Cb(fa.target,fa.rules,!0);Rb(fa.target,R.fields,R.$fields,fa.rules,function(ka){var La=ka.isValid();console.debug('silent reset validation result[isValid:'+La+']: ',ka);ia(fa.target,{});eb(fa.target,La);fa.target.dataset.ginaFormIsResetting=!1})});addListener(gina,
465
465
  a,'reset',tb);addListener(gina,a,'keydown',Za);addListener(gina,a,'keyup',fb);addListener(gina,a,'focusin',Va);addListener(gina,a,'focusout',rb);addListener(gina,a,'change',sb);addListener(gina,a,'click',zb)};M();for(let q=0,R=a.elements.length;q<R;q++)Ua=a.elements[q],a.contains(Ua)||(addListener(gina,Ua,'keydown',Za),c.reassociatedListeners.push({el:Ua,evt:'keydown',fn:Za}),addListener(gina,Ua,'keyup',fb),c.reassociatedListeners.push({el:Ua,evt:'keyup',fn:fb}),addListener(gina,Ua,'focusin',Va),
466
466
  c.reassociatedListeners.push({el:Ua,evt:'focusin',fn:Va}),addListener(gina,Ua,'focusout',rb),c.reassociatedListeners.push({el:Ua,evt:'focusout',fn:rb}),addListener(gina,Ua,'change',sb),c.reassociatedListeners.push({el:Ua,evt:'change',fn:sb}),addListener(gina,Ua,'click',zb),c.reassociatedListeners.push({el:Ua,evt:'click',fn:zb}));ba='validate.'+m;M=function(){addListener(gina,a,ba,function(q){cancelEvent(q);var R=c.eventData.error||c.eventData.validation||q.detail;ia(q.target,R.fields||R.error,R.data);
467
- var fa=q.target.getAttribute('id');if(typeof R.isValid!='undefined'&&R.isValid()){var ka=h.$forms[fa].target.getAttribute('data-gina-form-inherits-data')||null;ka&&(R.data=K(R.data,JSON.parse(decodeURIComponent(ka))));h.$forms[fa]?h.$forms[fa].send(R.data):c&&c.send(R.data)}else if(h.$forms[fa]&&(h.$forms[fa].isSubmitting=!1),fa=h.$forms[fa]||c,/^true$/i.test(fa.isSending)||Wa(fa),R=R.fields||R.error){q=q.target;G=!0;try{for(fa=0,ka=q.length;fa<ka;++fa){var La=q[fa],Ia=La.getAttribute('name');if(Ia&&
468
- typeof R[Ia]!='undefined'&&(typeof R[Ia].count!='function'||R[Ia].count()>0)&&La.type!='hidden'&&typeof La.focus=='function'&&(La.focus(),typeof document==='undefined'||!document||document.activeElement===La)){L={formId:q.getAttribute('id'),elName:Ia};break}}}finally{G=!1}}})};typeof gina.events[ba]!='undefined'&&gina.events[ba]=='validate.'+m&&removeListener(gina,c,ba,M);M();var Ya=function(q,R){/^submit\./i.test(q)||(q='submit.'+q);R.__ginaSubmitBoundFor=q;addListener(gina,R,q,function(fa){cancelEvent(fa);
467
+ var fa=q.target.getAttribute('id');if(typeof R.isValid!='undefined'&&R.isValid()){var ka=h.$forms[fa].target.getAttribute('data-gina-form-inherits-data')||null;ka&&(R.data=K(R.data,JSON.parse(decodeURIComponent(ka))));h.$forms[fa]?h.$forms[fa].send(R.data):c&&c.send(R.data)}else if(h.$forms[fa]&&(h.$forms[fa].isSubmitting=!1),fa=h.$forms[fa]||c,/^true$/i.test(fa.isSending)||Wa(fa),R=R.fields||R.error){q=q.target;F=!0;try{for(fa=0,ka=q.length;fa<ka;++fa){var La=q[fa],Ia=La.getAttribute('name');if(Ia&&
468
+ typeof R[Ia]!='undefined'&&(typeof R[Ia].count!='function'||R[Ia].count()>0)&&La.type!='hidden'&&typeof La.focus=='function'&&(La.focus(),typeof document==='undefined'||!document||document.activeElement===La)){L={formId:q.getAttribute('id'),elName:Ia};break}}}finally{F=!1}}})};typeof gina.events[ba]!='undefined'&&gina.events[ba]=='validate.'+m&&removeListener(gina,c,ba,M);M();var Ya=function(q,R){/^submit\./i.test(q)||(q='submit.'+q);R.__ginaSubmitBoundFor=q;addListener(gina,R,q,function(fa){cancelEvent(fa);
469
469
  fa=a.getAttribute('id');if(typeof h.$forms[fa]=='undefined'||!/^true$/i.test(h.$forms[fa].isSubmitting)){var ka={};fa={_length:0};var La=a.getAttribute('id'),Ia=typeof h.$forms[La]!='undefined'?h.$forms[La].rules:null;ka=Cb(a,Ia);fa=ka.fields;ka=ka.$fields;Ia=h.$forms[La].rules;fa._length==0?(delete fa._length,fa={error:[],isValid:function(){return!0},data:z(fa)},triggerEvent(gina,a,'validate.'+m,fa)):(m=a.getAttribute('id'),f=(Ia=a.getAttribute('data-gina-form-rule'))?g(Ia.replace(/\-|\//g,'.')):
470
470
  g(m.replace(/\-/g,'.')),h.$forms[La].isSubmitting=!0,h.$forms[La].isSending=!1,Rb(a,fa,ka,f,function(Ta){triggerEvent(gina,a,'validate.'+m,Ta)}))}})};V=null;Ua=[];V=[];Ra=null;V=b(a,'button');if(V.length>0)for(let q=0,R=V.length;q<R;++q)V[q].type=='submit'&&Ua.push(V[q]);V=a.getElementsByTagName('a');if(V.length>0)for(let q=0,R=V.length;q<R;++q)V[q].attributes.getNamedItem('data-gina-form-submit')?Ua.push(V[q]):V[q].getAttribute('id')||/gina\-popin/.test(V[q].className)||gina.popinIsBinded||/gina\-link/.test(V[q].className)||
471
- (Ra='link.'+E(),V[q].id=Ra);b=null;Ra=!1;for(let q=0,R=Ua.length;q<R;++q){V=Ua[q];if(/button/i.test(V.tagName)&&typeof V.type!='undefined'&&/submit/i.test(V.type)||/a/i.test(V.tagName)&&typeof V.dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(V.dataset.ginaFormSubmit)||/a/i.test(V.parentNode.tagName)&&typeof V.parentNode.dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(V.parentNode.dataset.ginaFormSubmit)){/a/i.test(V.parentNode.tagName)&&(V=V.parentNode);if(typeof V.id=='undefined'||typeof V.id!=
472
- 'undefined'&&V.id=='')V.id='click.'+E(),V.setAttribute('id',V.id);/a/i.test(V.tagName)&&typeof V.form=='undefined'&&(V.form={id:c.id});typeof V.dataset.ginaFormSubmitTriggerFor=='undefined'&&typeof h.$forms[c.id]!='undefined'&&typeof h.$forms[c.id].submitTrigger=='undefined'&&typeof V.form.id!='undefined'&&c.id==V.form.id&&(h.$forms[c.id].submitTrigger=c.submitTrigger=V.id||V.getAttribute('id'),V.dataset.ginaFormSubmitTriggerFor=c.id)}V.tagName=='A'&&(b=V.getAttribute('onclick'),Ra=V.getAttribute('data-gina-form-submit'),
473
- b||Ra||addListener(gina,V,'click',function(fa){fa.preventDefault()}));V.id?ba=V.id:(ba='click.'+E(),V.id=ba,V.setAttribute('id',ba));b=/^submit\./i.test(ba)?ba:'submit.'+ba;typeof gina.events[b]!='undefined'&&gina.events[b]==V.id||Ya(ba,V)}ba='submit';addListener(gina,a,ba,function(q){var R=q.target,fa=R.getAttribute('id'),ka=h.$forms[fa],La=c.binded;if(ka&&q.isTrusted){var Ia=document.getElementById(ka.submitTrigger)||null;if(Ab(Ia)&&!ub(Ia,R,ka))return cancelEvent(q),xb(ka),!1}if(typeof q.defaultPrevented!=
471
+ (Ra='link.'+G(),V[q].id=Ra);b=null;Ra=!1;for(let q=0,R=Ua.length;q<R;++q){V=Ua[q];if(/button/i.test(V.tagName)&&typeof V.type!='undefined'&&/submit/i.test(V.type)||/a/i.test(V.tagName)&&typeof V.dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(V.dataset.ginaFormSubmit)||/a/i.test(V.parentNode.tagName)&&typeof V.parentNode.dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(V.parentNode.dataset.ginaFormSubmit)){/a/i.test(V.parentNode.tagName)&&(V=V.parentNode);if(typeof V.id=='undefined'||typeof V.id!=
472
+ 'undefined'&&V.id=='')V.id='click.'+G(),V.setAttribute('id',V.id);/a/i.test(V.tagName)&&typeof V.form=='undefined'&&(V.form={id:c.id});typeof V.dataset.ginaFormSubmitTriggerFor=='undefined'&&typeof h.$forms[c.id]!='undefined'&&typeof h.$forms[c.id].submitTrigger=='undefined'&&typeof V.form.id!='undefined'&&c.id==V.form.id&&(h.$forms[c.id].submitTrigger=c.submitTrigger=V.id||V.getAttribute('id'),V.dataset.ginaFormSubmitTriggerFor=c.id)}V.tagName=='A'&&(b=V.getAttribute('onclick'),Ra=V.getAttribute('data-gina-form-submit'),
473
+ b||Ra||addListener(gina,V,'click',function(fa){fa.preventDefault()}));V.id?ba=V.id:(ba='click.'+G(),V.id=ba,V.setAttribute('id',ba));b=/^submit\./i.test(ba)?ba:'submit.'+ba;typeof gina.events[b]!='undefined'&&gina.events[b]==V.id||Ya(ba,V)}ba='submit';addListener(gina,a,ba,function(q){var R=q.target,fa=R.getAttribute('id'),ka=h.$forms[fa],La=c.binded;if(ka&&q.isTrusted){var Ia=document.getElementById(ka.submitTrigger)||null;if(Ab(Ia)&&!ub(Ia,R,ka))return cancelEvent(q),xb(ka),!1}if(typeof q.defaultPrevented!=
474
474
  'undefined'&&q.defaultPrevented)return!1;ka&&(Ia=document.getElementById(ka.submitTrigger),Ab(Ia)&&!ub(Ia,R,ka)||qb(ka,Ia));(H||La)&&cancelEvent(q);q={};ka={_length:0};La=typeof gina.validator.$forms[fa]!='undefined'?gina.validator.$forms[fa].rules:null;for(var Ta=Ia=null,Ja=0,pb=R.length;Ja<pb;++Ja)Ia=R[Ja].getAttribute('name'),Ta=R[Ja].disabled||R[Ja].getAttribute('disabled'),Ta=/disabled|true/i.test(Ta)?!0:!1,Ia&&!Ta&&(typeof R[Ja].type!='undefined'&&R[Ja].type=='checkbox'&&$a(R[Ja],La?La[Ia]:
475
475
  null)?ka[Ia]=R[Ja].checked:typeof R[Ja].type!='undefined'&&R[Ja].type=='radio'||typeof R[Ja].type!='undefined'&&R[Ja].type=='checkbox'?R[Ja].checked?/^(true|false)$/.test(R[Ja].value)?ka[Ia]=R[Ja].value=/^true$/.test(R[Ja].value)?!0:!1:ka[Ia]=R[Ja].value:La&&typeof La[Ia]!='undefined'&&typeof La[Ia].isBoolean!='undefined'&&R[Ja].type=='checkbox'&&!/^(true|false)$/.test(R[Ja].value)?ka[Ia]=!1:R[Ja].type=='radio'&&La&&typeof La[Ia]!='undefined'&&/^true$/i.test(La[Ia].isRequired)&&typeof La[Ia].isBoolean==
476
476
  'undefined'&&typeof ka[Ia]=='undefined'&&(ka[Ia]=''):ka[Ia]=R[Ja].value,q[Ia]=R[Ja],q[Ia].setAttribute('data-gina-form-errors',''));ka._length=ka.count();if(ka._length==0)delete ka._length,q={error:[],isValid:function(){return!0},data:z(ka)},typeof gina.events['submit.'+fa]!='undefined'?triggerEvent(gina,R,'submit.'+fa,q):triggerEvent(gina,R,'validate.'+fa,q);else{f=(La=R.getAttribute('data-gina-form-rule'))?g(La.replace(/\-|\//g,'.')):g(fa.replace(/\-/g,'.'));La=(La=R.id||(typeof R.getAttribute==
@@ -480,8 +480,8 @@ fa]!='undefined'?(h.$forms[fa].isSubmitting=!1,triggerEvent(gina,R,'submit.'+fa,
480
480
  a.id+'`\nTo disable this warning, You just need to disable `Form Live Checking on your form by adding to your <form>: `data-gina-form-live-check-enabled=false``');else if(document.getElementById(a.submitTrigger)){var c=document.getElementById(a.submitTrigger);/^true$/i.test(b)||!/^(true)$/i.test(a.target.dataset.ginaFormLiveCheckEnabled)?(c.disabled=!1,c.removeAttribute('data-gina-form-submit-gated'),c.classList.remove('gina-form-submit-disabled')):(c.setAttribute('data-gina-form-submit-gated','true'),
481
481
  c.classList.add('gina-form-submit-disabled'))}},Ab=function(a){return a&&typeof a.getAttribute=='function'?!('disabled'in a)&&a.getAttribute('disabled')!=null&&a.getAttribute('disabled')!='false'||a.getAttribute('aria-disabled')=='true'||a.getAttribute('data-gina-form-submit-gated')=='true':!1},ub=function(a,b,c){if(!a||typeof a.getAttribute!='function'||!b||typeof b.querySelector!='function'||a.getAttribute('data-gina-form-submit-gated')!='true'||!('disabled'in a)&&a.getAttribute('disabled')!=null&&
482
482
  a.getAttribute('disabled')!='false'||a.getAttribute('aria-disabled')=='true')return!1;a=(a=b.id||(typeof b.getAttribute=='function'?b.getAttribute('id'):null))&&typeof CSS!='undefined'&&typeof CSS.escape=='function'?CSS.escape(a):a;if(!(b.querySelector('[data-gina-form-validator-query-pending]')||a&&document.querySelector('[form="'+a+'"][data-gina-form-validator-query-pending]')))return!1;if(c&&typeof c.errors!='undefined'&&c.errors)for(var m in c.errors)if(c.errors.hasOwnProperty(m)){var B=c.errors[m];
483
- if(B&&typeof B.count=='function'?B.count()>0:B)if(B=typeof CSS!='undefined'&&typeof CSS.escape=='function'?CSS.escape(m):m,!(b.querySelector('[name="'+B+'"][data-gina-form-validator-query-pending]')||a&&document.querySelector('[form="'+a+'"][name="'+B+'"][data-gina-form-validator-query-pending]')))return!1}return!0},xb=function(a){if(a&&a.target){var b=a.target,c=Cb(b,a.rules),m=function(B){var H=B.fields||B.error;ia(b,H,B.data);a:if(b&&H){G=!0;try{for(var f=0,ba=b.length;f<ba;++f){var M=b[f],V=M.getAttribute('name');
484
- if(V&&typeof H[V]!='undefined'&&(typeof H[V].count!='function'||H[V].count()>0)&&M.type!='hidden'&&typeof M.focus=='function'&&(M.focus(),typeof document==='undefined'||!document||document.activeElement===M)){L={formId:b.getAttribute('id'),elName:V};break a}}}finally{G=!1}}eb(a,B.isValid())};m.isRevealCompletion=!0;Rb(b,c.fields,c.$fields,a.rules,m)}},Cb=function(a,b,c){typeof c=='undefined'&&(c=!1);var m={},B={},H=a.id||a.getAttribute('id');typeof b=='undefined'&&(b=typeof h.$forms[H].rules!='undefined'&&
483
+ if(B&&typeof B.count=='function'?B.count()>0:B)if(B=typeof CSS!='undefined'&&typeof CSS.escape=='function'?CSS.escape(m):m,!(b.querySelector('[name="'+B+'"][data-gina-form-validator-query-pending]')||a&&document.querySelector('[form="'+a+'"][name="'+B+'"][data-gina-form-validator-query-pending]')))return!1}return!0},xb=function(a){if(a&&a.target){var b=a.target,c=Cb(b,a.rules),m=function(B){var H=B.fields||B.error;ia(b,H,B.data);a:if(b&&H){F=!0;try{for(var f=0,ba=b.length;f<ba;++f){var M=b[f],V=M.getAttribute('name');
484
+ if(V&&typeof H[V]!='undefined'&&(typeof H[V].count!='function'||H[V].count()>0)&&M.type!='hidden'&&typeof M.focus=='function'&&(M.focus(),typeof document==='undefined'||!document||document.activeElement===M)){L={formId:b.getAttribute('id'),elName:V};break a}}}finally{F=!1}}eb(a,B.isValid())};m.isRevealCompletion=!0;Rb(b,c.fields,c.$fields,a.rules,m)}},Cb=function(a,b,c){typeof c=='undefined'&&(c=!1);var m={},B={},H=a.id||a.getAttribute('id');typeof b=='undefined'&&(b=typeof h.$forms[H].rules!='undefined'&&
485
485
  h.$forms[H].rules.count()>0?h.$forms[H].rules:null,b||typeof gina.validator.$forms[H]=='undefined'||(b=gina.validator.$forms[H].rules));for(var f=0,ba=a.length;f<ba;++f){if(c)switch(a[f].tagName.toLowerCase()){case 'input':/^(hidden|text)$/i.test(a[f].type)&&(a[f].value=a[f].defaultValue)}if(/button/i.test(a[f].tagName)&&typeof a[f].type!='undefined'&&/submit/i.test(a[f].type)||/a/i.test(a[f].tagName)&&typeof a[f].dataset.ginaFormSubmit!='undefined'&&/^true$/i.test(a[f].dataset.ginaFormSubmit))/a/i.test(a[f].tagName)&&
486
486
  typeof a[f].form=='undefined'&&(a[f].form={id:H}),typeof a[f].dataset.ginaFormSubmitTriggerFor=='undefined'&&typeof h.$forms[H]!='undefined'&&typeof h.$forms[H].submitTrigger=='undefined'&&typeof a[f].form.id!='undefined'&&H==a[f].form.id&&(h.$forms[H].submitTrigger=a[f].id||a[f].getAttribute('id'),a[f].dataset.ginaFormSubmitTriggerFor=H);var M=a[f].getAttribute('name');var V=a[f].disabled||a[f].getAttribute('disabled');V=/disabled|true/i.test(V)?!0:!1;if(M&&!V){if(typeof a[f].type!='undefined'&&
487
487
  a[f].type=='radio'||typeof a[f].type!='undefined'&&a[f].type=='checkbox')if(a[f].type=='checkbox'&&$a(a[f],b?b[M]:null))b&&(typeof b[M]=='undefined'?b[M]={isBoolean:!0}:typeof b[M]!='undefined'&&typeof b[M].isBoolean=='undefined'&&(b[M].isRequired=!0,b[M].isBoolean=!0)),B[M]=a[f].checked;else if(a[f].checked||typeof b[M]=='undefined'&&a[f].value!='undefined'&&/^(true|false)$/.test(a[f].value)||!a[f].checked&&typeof b[M]!='undefined'&&typeof b[M].isBoolean!='undefined'&&/^(true|false)$/.test(a[f].value))if(/^(true|false)$/.test(a[f].value))if(typeof b[M]==
@@ -491,7 +491,7 @@ typeof a[c].isNumber!='undefined'||typeof a[c].isInteger!='undefined'||typeof a[
491
491
  lc=function(a,b,c,m){var B=JSON.parse(a.replace(/"(true|false)"/gi,'$1')),H=JSON.stringify(B);m&&(b=c[Object.getOwnPropertyNames(c)[0]].form,c=Cb(b,B),delete c.fields._length,b=c.fields,c=c.$fields);m=[];var f=0;for(ba in b)m[f]=ba,f++;m.sort().reverse();for(let V=0,Ba=m.length;V<Ba;V++){var ba=m[V].replace(/\-|_|@|#|\.|\[|\]/g,'\\$&');ba=new RegExp('\\$'+ba,'g');f='\\"'+b[m[V]]+'\\"';var M=ba.test(H);M&&typeof B[m[V]]!='undefined'?f=Sb(B,b,m[V],!0):M&&console.warn('`'+m[V]+'` is used in a dynamic rule without definition. This could lead to an evaluation error. Casting `'+
492
492
  m[V]+'` to `string`.');a=a.replace(ba,f)}if(c&&/\$(.*)/.test(a))for(let V=0,Ba=m.length;V<Ba;V++)ba=m[V].replace(/\-|_|@|#|\.|\[|\]/g,'\\$&'),ba=new RegExp('\\$'+ba,'g'),f=c[m[V]].value!=''?'\\"'+c[m[V]].value+'\\"':'\\"\\"',(M=ba.test(H))&&typeof B[m[V]]!='undefined'?f=Sb(B,b,m[V],!0):M&&console.warn('`'+m[V]+'` is used in a dynamic rule without definition. This could lead to an evaluation error. Casting `'+m[V]+'` to `string`.'),a=a.replace(ba,f||c[m[V]].checked);return JSON.parse(a)},Rb=function(a,
493
493
  b,c,m,B,H){delete b._length;var f=JSON.stringify(m);b=cc(f,b);/\$(.*)/.test(f)&&(m=c&&!/^form$/i.test(a.tagName)&&c.count()==1&&/true/i.test(a.form.dataset.ginaFormLiveCheckEnabled)?!0:!1,m=lc(f,b,c,m));var ba=null,M=f=null,V=!1,Ba=0;b.count();var Ea=!1,Da=null,Ra=null,Ga=null,Xa=0,nb={},Sa=null,Ca=null,Na=null,Bb=function(cb,Ua,tb){if(typeof Ua[cb]=='undefined'){skipTest=!1;for(var Za in Ua)if(!/^_comment$/i.test(Za)&&/^\//.test(Za)&&(Sa=Za.match(/\/(.*)\//).pop(),Ca=Za.replace('/'+Sa+'/',''),Sa=
494
- Sa.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Sa=new RegExp(Sa,Ca),Sa.test(cb))){skipTest=!0;Ua[cb]=Ua[Za];break}if(typeof Ua[cb]=='undefined')return}var fb=Object.getOwnPropertyNames(Ua)||[];Za=0;var Va=fb.length;if(Va>0)for(;Za<Va;)typeof Ua[fb[Za]].exclude!='undefined'&&/^true$/i.test(Ua[fb[Za]].exclude)&&(fb.splice(Za,1),Va--,Za--),Za++;for(var rb in Ua[cb])if(/^is\d+$/.test(rb)&&typeof db[cb][rb]=='undefined'&&(db[cb][rb]=function(){},db[cb][rb]=aa(db[cb][rb],db[cb][rb.replace(/\d+/,'')]),db[cb][rb]=
494
+ Sa.replace(/\[/g,'\\[').replace(/\]/g,'\\]'),Sa=new RegExp(Sa,Ca),Sa.test(cb))){skipTest=!0;Ua[cb]=Ua[Za];break}if(typeof Ua[cb]=='undefined')return}var fb=Object.getOwnPropertyNames(Ua)||[];Za=0;var Va=fb.length;if(Va>0)for(;Za<Va;)typeof Ua[fb[Za]].exclude!='undefined'&&/^true$/i.test(Ua[fb[Za]].exclude)&&(fb.splice(Za,1),Va--,Za--),Za++;for(var rb in Ua[cb])if(/^is\d+$/.test(rb)&&typeof db[cb][rb]=='undefined'&&(db[cb][rb]=function(){},db[cb][rb]=Z(db[cb][rb],db[cb][rb.replace(/\d+/,'')]),db[cb][rb]=
495
495
  function(fa,ka){return function(){var La=typeof window!='undefined'?window:typeof global!='undefined'?global:null;La&&(La._currentValidatorAlias=fa);return ka.apply(this,arguments)}}(rb,db[cb][rb])),typeof db[cb][rb]=='function')try{if(Array.isArray(Ua[cb][rb])){Na=JSON.clone(Ua[cb][rb]);if(/\$[\-\w\[\]]*/.test(Na[0])){var sb=Na[0].match(/\$[\-\w\[\]]*/g);Za=0;for(var zb=sb.length;Za<zb;++Za){var Ya=sb[Za].replace('$','');typeof db[Ya]!='undefined'&&typeof db[Ya].value!='undefined'&&(Na[0]=Na[0].replace(sb[Za],
496
496
  db[Ya].value))}}db[cb][rb].apply(db[cb],Na)}else if(/^query$/.test(rb)){Da=c[cb];Ra=Da.getAttribute('id');Ga='asyncCompleted.'+Ra;var q=0,R=!1;if(typeof nb[Ra]!='undefined'){console.debug('event `'+Ga+'` already armed by this pass');continue}nb[Ra]=!0;++Xa;addListener(gina,Da,Ga,function La(ka){ka.preventDefault();ka.currentTarget.removeEventListener(ka.type,La,!1);q++;--Xa;var Ia=Object.getOwnPropertyNames(Ua[cb]);Ia[Ia.length-1]==rb&&(Ea=!0);Ia='asyncCompleted.'+ka.target.getAttribute('id');if(!/true/.test(R)){db[cb]=
497
497
  ka.detail;var Ta=a;/^form$/i.test(a.tagName)||(Ta=a.form);var Ja=Ta.getAttribute('id'),pb=null;if(Ea&&Xa<=0&&!R&&(R=!0,removeListener(gina,ka.target,Ia),B._data=db.toData(),B._errors=db.getErrors(),B._errors&&B._errors.count()>0)){typeof h.$forms[Ja].errors=='undefined'&&(h.$forms[Ja].errors={});typeof B._errors[cb]!='undefined'&&(h.$forms[Ja].errors[cb]=B._errors[cb]);console.debug('[A] Refreshing warning/error on field '+cb);if(!pb&&/^true|false$/i.test(h.$forms[Ja].isValidating)||db[cb].target.value!=
@@ -513,23 +513,23 @@ K(Ta[pb],tb[pb]))))}else/^\//.test(R[lb]['case'])?(Sa=R[lb]['case'].match(/\/(.*
513
513
  {}),window.ginaToolbar.update('forms',{id:ba,validated:M}))}catch(lb){throw lb;}Ea=!0;if(!V&&Xa<=0)if(typeof rb!='undefined'&&typeof rb==='function')rb._errors=db.getErrors(),rb._data=db.toData(),triggerEvent(gina,cb,'validated.'+ba,rb);else return V=!0,{isValid:db.isValid,error:Ua,data:M}}};J&&typeof B==='function'&&addListener(gina,a,f,function tb(Ua){Ua.preventDefault();if(Ua.detail===B&&(Ua.currentTarget.removeEventListener(Ua.type,tb,!1),!V)){V=!0;Ea=!1;Xa=0;var Za=Ua.detail,fb=Za._data||db.toData(),
514
514
  Va=Za._errors||db.getErrors()||null;console.debug('instance errors: ',h.$forms[ba].errors,' VS cbErrors: ',Va,db.isValid(),' VS d.getErrors(): ',db.getErrors());Va.count()>0&&db.isValid()&&(db.isValid=function(){return!1});Za({isValid:db.isValid,error:Va,data:z(fb)});removeListener(gina,Ua.target,'validated.'+Ua.target.id)}});if(J)Kb(a,Fb,H,b,c,m,B,0);else return Kb(a,Fb,H,b,c,m,B,0)},dc=function(a,b){if(!a||typeof a!='object')return h;b||=typeof gina!='undefined'&&gina.config&&gina.config.culture?
515
515
  gina.config.culture:'en';h._errorLabelsByCulture||(h._errorLabelsByCulture={});h._errorLabelsByCulture[b]=K(JSON.clone(a),h._errorLabelsByCulture[b]||{});return h};return J?Y(l):ja(l,w,I,N)}typeof module!=='undefined'&&module.exports?module.exports=ValidatorPlugin:typeof define==='function'&&define.amd&&define('gina/validator','utils/events utils/dom utils/effects utils/data lib/form-validator lib/routing lib/loading-state'.split(' '),function(){return ValidatorPlugin});
516
- define('gina/popin',['require','lib/domain','lib/loading-state','lib/merge','utils/events'],function(l){function w(T){return(T||'gp')+'-'+ ++E}function I(T){r[T]||(r[T]=!0,typeof console!='undefined'&&typeof console.warn=='function'&&console.warn('[gina/popin] `'+T+'` is deprecated; use `'+(T==='data-gina-popin-name'?'data-gina-dialog':'data-gina-dialog-src')+'` instead. The legacy attribute still works (mapped onto the new dialog path).'))}var N=l('lib/domain'),P=null,J=l('lib/loading-state'),C=
517
- l('lib/merge');l('utils/events');var E=0,K={},aa={},p={},r={},y=!1,h=!1,ma=!1;return function(T){function n(){var e=null,g;for(g in gina.popin.$popins)if(typeof gina.popin.$popins[g].isOpen!='undefined'&&gina.popin.$popins[g].isOpen){e=gina.popin.$popins[g];break}!e&&gina.popin.activePopinId&&(e=gina.popin.$popins[gina.popin.activePopinId]);return e}function da(e){var g=!1,z=e.getAttribute('data-gina-dialog'),ca=e.getAttribute('data-gina-dialog-src');z==null&&e.getAttribute('data-gina-popin-name')!=
516
+ define('gina/popin',['require','lib/domain','lib/loading-state','lib/merge','utils/events'],function(l){function w(T){return(T||'gp')+'-'+ ++G}function I(T){r[T]||(r[T]=!0,typeof console!='undefined'&&typeof console.warn=='function'&&console.warn('[gina/popin] `'+T+'` is deprecated; use `'+(T==='data-gina-popin-name'?'data-gina-dialog':'data-gina-dialog-src')+'` instead. The legacy attribute still works (mapped onto the new dialog path).'))}var N=l('lib/domain'),P=null,J=l('lib/loading-state'),C=
517
+ l('lib/merge');l('utils/events');var G=0,K={},Z={},p={},r={},y=!1,h=!1,ma=!1;return function(T){function n(){var e=null,g;for(g in gina.popin.$popins)if(typeof gina.popin.$popins[g].isOpen!='undefined'&&gina.popin.$popins[g].isOpen){e=gina.popin.$popins[g];break}!e&&gina.popin.activePopinId&&(e=gina.popin.$popins[gina.popin.activePopinId]);return e}function da(e){var g=!1,z=e.getAttribute('data-gina-dialog'),ca=e.getAttribute('data-gina-dialog-src');z==null&&e.getAttribute('data-gina-popin-name')!=
518
518
  null&&(g=!0,z=e.getAttribute('data-gina-popin-name'),I('data-gina-popin-name'));ca==null&&e.getAttribute('data-gina-popin-url')!=null&&(g=!0,ca=e.getAttribute('data-gina-popin-url'),I('data-gina-popin-url'));if(ca==null&&/^A$/i.test(e.tagName)){var S=e.getAttribute('href');S&&S!=''&&S!='#'&&!/^#/.test(S)&&(ca=S)}S=g;g||e.getAttribute('data-gina-popin-name')!=null?g=!0:(g=e.getAttribute('data-gina-dialog-modal'),g=g!=null?g==='false'?!1:!0:bb.options.modal===!0||bb.options.modal===!1?bb.options.modal:
519
519
  typeof gina!='undefined'&&gina.config&&gina.config.popin&&(gina.config.popin.modal===!0||gina.config.popin.modal===!1)?gina.config.popin.modal:!1);return{id:z,src:ca,isLegacy:S,modal:g,partialTarget:e.getAttribute('data-gina-dialog-target'),isLink:/^true$/i.test(e.getAttribute('data-gina-popin-is-link')),formSubmit:/^true$/i.test(e.getAttribute('data-gina-form-submit'))}}function x(e,g){e&&g&&(e.setAttribute('aria-haspopup','dialog'),e.setAttribute('aria-controls',g))}function u(e){if(e&&typeof e.querySelector==
520
520
  'function'){var g=e.querySelector('[id$="-title"]')||e.querySelector('h1, h2, h3, h4, h5, h6');g&&(g.id||(g.id=(e.id||'gina-popin')+'-title',g.setAttribute('id',g.id)),e.setAttribute('aria-labelledby',g.id))}}function A(e){if(e&&typeof e.querySelector=='function'){var g=e.querySelector('[autofocus]')||e.querySelector('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])');g&&typeof g.focus=='function'?g.focus():typeof e.focus==
521
521
  'function'&&(e.getAttribute('tabindex')==null&&e.setAttribute('tabindex','-1'),e.focus())}}function k(e,g){if(g){document.body.setAttribute('data-gina-popin-scroll-lock','true');var z=function(Ma){if(Ma.key==='Escape'||Ma.keyCode===27)Ma.preventDefault(),Wa(e.name)};g.__ginaOnKeydown=z;g.addEventListener('keydown',z);z=document.body.children;for(var ca=0,S=z.length;ca<S;++ca)if(z[ca]===Ha.target)for(var wa=z[ca].querySelectorAll('dialog[open]'),Ka=0,Qa=wa.length;Ka<Qa;++Ka)wa[Ka]===g||wa[Ka].contains(g)||
522
522
  wa[Ka].getAttribute('inert')!=null||(wa[Ka].setAttribute('inert',''),wa[Ka].setAttribute('data-gina-popin-inert','true'));else z[ca]===g||z[ca].contains(g)||z[ca].getAttribute('inert')!=null||(z[ca].setAttribute('inert',''),z[ca].setAttribute('data-gina-popin-inert','true'))}}function ja(e,g,z){z=z||U(g);var ca=z,S=g.partialTarget;if(S){var wa=ca.querySelector(S);wa?(e=(new DOMParser).parseFromString(e,'text/html'),S=e.querySelector(S)||e.body,wa.innerHTML=S.innerHTML):ca.innerHTML=typeof e=='string'?
523
523
  e.trim():''}else ca.innerHTML=typeof e=='string'?e.trim():'';qb(g.name,!0);ha({target:z,type:'loaded.'+g.id},g);g.isOpen||Oa(g.name);u(z);A(z)}function Q(e,g){var z=function(){typeof g=='function'&&g()};if(/^(http|https):/.test(e)&&!(new RegExp('^'+window.location.protocol+'//'+window.location.host)).test(e))delete K[e],z();else{var ca=new XMLHttpRequest;ca.open('GET',e);ca.withCredentials=!1;ca.setRequestHeader('X-Requested-With','XMLHttpRequest');ca.onreadystatechange=function(){if(ca.readyState==
524
- 4){var S=aa[e]||[];delete aa[e];var wa=ca.getResponseHeader('Content-Type');if(/^2/.test(ca.status)&&!/application\/json/.test(wa||''))for(K[e]=ca.responseText,wa=0;wa<S.length;++wa)S[wa](ca.responseText);else for(delete K[e],wa=0;wa<S.length;++wa)S[wa](null);z()}};ca.send()}}function U(e){var g=document.getElementById(e.id);if(g!=null)return g;var z=e.options.class+' '+e.id;bb.options.useDialogMode?(g=document.createElement('dialog'),g.setAttribute('id',e.id),g.setAttribute('class',z),g.setAttribute('data-type',
525
- 'modal'),g.setAttribute('aria-labelledby',e.name),(e=document.getElementById('gina-popins-overlay'))?e.appendChild(g):Ha.target.appendChild(g)):(g=document.createElement('div'),g.setAttribute('id',e.id),g.setAttribute('class',z),Ha.target.firstChild.appendChild(g));return g}function O(e,g,z,ca){var S=function(){typeof ca=='function'&&ca()},wa=K[e];if(typeof wa=='undefined')return!1;if(wa===null)return g&&g.options&&g.options.preOpen&&xa(g,U(g)),typeof aa[e]=='undefined'&&(aa[e]=[]),aa[e].push(function(Qa){S();
526
- Qa==null?typeof z=='function'&&z():(g._contentUrl=e,GINA_ENV_IS_DEV&&sa(Qa),ja(Qa,g,U(g)))}),!0;delete K[e];g._contentUrl=e;var Ka=U(g);GINA_ENV_IS_DEV&&sa(wa);ja(wa,g,Ka);S();return!0}function Z(e){var g=e._contentUrl;g&&(e._contentUrl=null,G(g))}function G(e){var g=K[e];typeof g!='undefined'&&(g===null?(typeof aa[e]=='undefined'&&(aa[e]=[]),aa[e].push(function(){delete K[e]})):delete K[e])}function L(){if(!h){h=!0;var e=function(g){(g=g.target&&typeof g.target.closest=='function'?g.target.closest('[data-gina-dialog-src],[data-gina-popin-url]'):
524
+ 4){var S=Z[e]||[];delete Z[e];var wa=ca.getResponseHeader('Content-Type');if(/^2/.test(ca.status)&&!/application\/json/.test(wa||''))for(K[e]=ca.responseText,wa=0;wa<S.length;++wa)S[wa](ca.responseText);else for(delete K[e],wa=0;wa<S.length;++wa)S[wa](null);z()}};ca.send()}}function U(e){var g=document.getElementById(e.id);if(g!=null)return g;var z=e.options.class+' '+e.id;bb.options.useDialogMode?(g=document.createElement('dialog'),g.setAttribute('id',e.id),g.setAttribute('class',z),g.setAttribute('data-type',
525
+ 'modal'),g.setAttribute('aria-labelledby',e.name),(e=document.getElementById('gina-popins-overlay'))?e.appendChild(g):Ha.target.appendChild(g)):(g=document.createElement('div'),g.setAttribute('id',e.id),g.setAttribute('class',z),Ha.target.firstChild.appendChild(g));return g}function O(e,g,z,ca){var S=function(){typeof ca=='function'&&ca()},wa=K[e];if(typeof wa=='undefined')return!1;if(wa===null)return g&&g.options&&g.options.preOpen&&xa(g,U(g)),typeof Z[e]=='undefined'&&(Z[e]=[]),Z[e].push(function(Qa){S();
526
+ Qa==null?typeof z=='function'&&z():(g._contentUrl=e,GINA_ENV_IS_DEV&&sa(Qa),ja(Qa,g,U(g)))}),!0;delete K[e];g._contentUrl=e;var Ka=U(g);GINA_ENV_IS_DEV&&sa(wa);ja(wa,g,Ka);S();return!0}function aa(e){var g=e._contentUrl;g&&(e._contentUrl=null,F(g))}function F(e){var g=K[e];typeof g!='undefined'&&(g===null?(typeof Z[e]=='undefined'&&(Z[e]=[]),Z[e].push(function(){delete K[e]})):delete K[e])}function L(){if(!h){h=!0;var e=function(g){(g=g.target&&typeof g.target.closest=='function'?g.target.closest('[data-gina-dialog-src],[data-gina-popin-url]'):
527
527
  null)&&la(g)};document.addEventListener('mouseover',e);document.addEventListener('focusin',e)}}function la(e,g){var z=function(){typeof g=='function'&&g()};e.getAttribute('disabled')!=null&&e.getAttribute('disabled')!='false'||e.getAttribute('aria-disabled')=='true'?z():/^false$/i.test(e.getAttribute('data-gina-dialog-preload'))?z():(e=e.getAttribute('data-gina-dialog-src')||e.getAttribute('data-gina-popin-url'))&&typeof K[e]=='undefined'?(K[e]=null,Q(e,g)):z()}function pa(){if(!ma&&(ma=!0,typeof navigator==
528
528
  'undefined'||!navigator.connection||!navigator.connection.saveData)){var e=function(){for(var z=document.querySelectorAll('[data-gina-dialog-src],[data-gina-popin-url]'),ca=[],S=0,wa=z.length;S<wa;++S)/^eager$/i.test(z[S].getAttribute('data-gina-dialog-preload'))&&ca.push(z[S]);var Ka=function(){var Qa=ca.shift();Qa&&la(Qa,Ka)};Ka()},g=function(){typeof window.requestIdleCallback=='function'?window.requestIdleCallback(e):setTimeout(e,1500)};document.readyState=='complete'?g():window.addEventListener('load',
529
- g,{once:!0})}}function F(e,g){var z=e.id,ca=document.getElementById(z);if(!ca)throw Error('Popin dialog `'+z+'` not found in the DOM !');var S=qa(z);S||(S=C({},Ib),S.id=z,S.name=z,S.target=ca,S.options=C({},bb.options),S.load=ia,S.loadContent=jb,S.open=Oa,S.close=Wa,S.isInPageDialog=!0,Ha.$popins[z]=S);S.modal=e.modal;S.openTrigger=g?g.id||g.getAttribute('id'):null;x(g,z);u(ca);gina.popinIsBinded||ha({target:ca,type:'open.'+z},S);ca.classList.add('gina-popin-is-active');ca.getAttribute('open')||(e.modal&&
529
+ g,{once:!0})}}function E(e,g){var z=e.id,ca=document.getElementById(z);if(!ca)throw Error('Popin dialog `'+z+'` not found in the DOM !');var S=qa(z);S||(S=C({},Ib),S.id=z,S.name=z,S.target=ca,S.options=C({},bb.options),S.load=ia,S.loadContent=jb,S.open=Oa,S.close=Wa,S.isInPageDialog=!0,Ha.$popins[z]=S);S.modal=e.modal;S.openTrigger=g?g.id||g.getAttribute('id'):null;x(g,z);u(ca);gina.popinIsBinded||ha({target:ca,type:'open.'+z},S);ca.classList.add('gina-popin-is-active');ca.getAttribute('open')||(e.modal&&
530
530
  typeof ca.showModal==='function'?ca.showModal():typeof ca.show==='function'?(ca.show(),k(S,ca)):ca.setAttribute('open',!0));S.isOpen=!0;W(S.id);A(ca);triggerEvent(gina,Ha.target,'open.'+z,S)}function X(e){if(('disabled'in e||e.getAttribute('disabled')==null||e.getAttribute('disabled')=='false')&&e.getAttribute('aria-disabled')!='true'){var g=da(e);if(g.id||g.src){var z=e.id||e.getAttribute('id');z||(z='gina-dialog-trigger-'+w(),e.setAttribute('id',z));x(e,g.id||g.src);if(g.src){var ca=g.id||'gina-dialog-'+
531
531
  w(),S=ea(ca);if(!S){var wa=C({},Ib);yb(wa,C({name:ca},bb.options));S=ea(ca)}S.openTrigger=z;S.modal=g.modal;S.partialTarget=g.partialTarget||null;z='loaded.'+S.id;typeof gina.events[z]=='undefined'&&addListener(gina,S.target,z,function(ya){ya.preventDefault();ja(ya.detail,S,U(S))});var Ka=C({isSynchrone:!1,withCredentials:!1},S.options);z=function(){ia(ca,g.src,Ka)};var Qa=!0,Ma=!1;!/^false$/i.test(e.getAttribute('data-gina-dialog-preload'))&&O(g.src,S,z,function(){Qa=!1;Ma&&(Ma=!1,Fa(e))})?Qa&&(ua(e),
532
- Ma=!0):z()}else F(g,e)}}}function oa(){y||(y=!0,addListener(gina,document,'click',function(e){var g=e.target&&typeof e.target.closest=='function'?e.target.closest('[data-gina-dialog],[data-gina-dialog-src],[data-gina-popin-name]'):null;!g||g.getAttribute('data-gina-dialog')==null&&g.getAttribute('data-gina-dialog-src')==null||(cancelEvent(e),X(g))}))}function ha(e,g){var z=e.target,ca=e.type;typeof e.detail!='undefined'&&typeof e.detail.trim=='function'&&(z.innerHTML=e.detail.trim());e=function(ib,
532
+ Ma=!0):z()}else E(g,e)}}}function oa(){y||(y=!0,addListener(gina,document,'click',function(e){var g=e.target&&typeof e.target.closest=='function'?e.target.closest('[data-gina-dialog],[data-gina-dialog-src],[data-gina-popin-name]'):null;!g||g.getAttribute('data-gina-dialog')==null&&g.getAttribute('data-gina-dialog-src')==null||(cancelEvent(e),X(g))}))}function ha(e,g){var z=e.target,ca=e.type;typeof e.detail!='undefined'&&typeof e.detail.trim=='function'&&(z.innerHTML=e.detail.trim());e=function(ib,
533
533
  ob,eb){var Ab=eb.getAttribute('data-gina-popin-is-link');Ab=/^true$/i.test(Ab)?!0:!1;ib!='link'||Ab||(ib='action');addListener(gina,eb,ob,function(ub){cancelEvent(ub);if(ib!='close'){var xb=!1,Cb='loaded.'+g.id;typeof gina.events[Cb]=='undefined'&&addListener(gina,z,Cb,function(Sb){Sb.preventDefault();xb||(xb=!0,jb(Sb.detail))});Cb={isSynchrone:!1,withCredentials:!1};Cb=C(g.options,Cb);ia(g.name,eb.href,Cb)}removeListener(gina,ub.target,ub.type)});addListener(gina,eb,'click',function(ub){cancelEvent(ub);
534
534
  if(!('disabled'in ub.target)&&ub.target.getAttribute('disabled')!=null&&ub.target.getAttribute('disabled')!='false')return!1;if(ib=='link'){var xb=ub.target.getAttribute('href')||null,Cb=ub.target.getAttribute('target');Cb!=null&&Cb!=''?window.open(xb,Cb):triggerEvent(gina,ub.target,ub.currentTarget.id,g)}else xb=/^popin\.click\./.test(ub.currentTarget.id),xb||(cancelEvent(ub),g.isRedirecting=!1,Wa(g.name)),xb&&(cancelEvent(ub),xb=ub.target.id,Hb.test(xb)&&triggerEvent(gina,ub.target,xb,ub.detail))})};
535
535
  gina.popinIsBinded=!0;var S=null,wa=null,Ka=null;!g.isOpen&&bb.options.cancelOnOverlayClick&&(S=g.target,bb.options.useDialogMode||(S=Ha.target.childNodes[0]),addListener(gina,S,'mousedown',function(ib){if(/gina-popin-is-active/.test(ib.target.className)){removeListener(gina,ib.target,'mousedown');ib=Array.prototype.slice.call(z.querySelectorAll('.gina-popin-close'));wa=0;for(Ka=ib.length;wa<Ka;++wa){let ob=ib[wa],eb=ob.getAttribute('id');for(let Ab=0,ub=mb.length;Ab<ub;Ab++){let xb=mb[Ab];typeof gina.events[xb]!=
@@ -559,7 +559,7 @@ document.head.appendChild(z)}function za(e,g){var z=document.createElement('link
559
559
  '').replace(/:\d+$/,'');for(Ma=new RegExp(Ma+':\\d+|'+Ma);Ka<Qa;++Ka){if(typeof S[Ka].src=='undefined'||S[Ka].src=='')continue;let ya=S[Ka].src.replace(/(https|http|):\/\//,'').replace(Ma,'');ca.indexOf(ya)>-1||va(S[Ka].src,z)}Ka=0;for(Qa=wa.length;Ka<Qa;++Ka){if(typeof wa[Ka].href=='undefined'||wa[Ka].href=='')continue;ca=wa[Ka].href.replace(/(https|http|):\/\//,'').replace(Ma,'');e.indexOf(ca)>-1||za(wa[Ka].href,z)}gina.popinIsBinded||ha({target:g,type:'loaded.'+z.id},z);g.classList.add('gina-popin-is-active');
560
560
  bb.options.useDialogMode||(Ha.target.firstChild.classList.add('gina-popin-is-active'),Ha.target.firstChild.classList.contains('gina-popin-is-active')&&removeListener(gina,Ha.target,'open.'+z.id));u(g);bb.options.useDialogMode&&!g.getAttribute('open')&&(e=typeof z.modal=='boolean'?z.modal:!0,typeof g.showModal==='function'?e?g.showModal():(g.show(),k(z,g),A(g)):g.setAttribute('open',!0));bb.options.useDialogMode&&g&&!g._ginaCloseSyncBound&&(g._ginaCloseSyncBound=!0,g.addEventListener('close',function(){z.isOpen&&
561
561
  Wa(z.name)}));z.isOpen=!0;z.target=g;W(z.id);if(gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar)try{ginaToolbar.update('el-xhr',z.id)}catch(ya){throw ya;}triggerEvent(gina,Ha.target,'open.'+z.id,z)}function qb(e,g){var z=typeof e!='undefined'?ea(e):n(),ca=null;if(!z&&typeof e!='undefined')throw Error('Popin `'+e+'` not found !');if(typeof z!='undefined'&&z!=null&&(ca=z.target,g=typeof g!='undefined'?g:!1,ca!=null&&ca.classList.contains('gina-popin-is-active'))){if(!g&&(bb.options.useDialogMode||
562
- Ha.target.firstChild.classList.remove('gina-popin-is-active'),ca.classList.remove('gina-popin-is-active'),!z.isInPageDialog)){ca.innerHTML='';var S=z._contentUrl;Z(z);S&&setTimeout(function(){G(S)},120)}ca.removeAttribute('data-gina-popin-loading');J.disarm(document.getElementById(z.openTrigger));if(vb&&vb.$forms)for(e=z.$forms.slice(),g=z.$forms.length=0,ca=e.length;g<ca;++g){var wa=vb.$forms[e[g]];if(typeof wa!='undefined')try{wa.destroy()}catch(Ka){typeof console!='undefined'&&console.warn&&console.warn('[gina] popin teardown: destroy() failed for form `'+
562
+ Ha.target.firstChild.classList.remove('gina-popin-is-active'),ca.classList.remove('gina-popin-is-active'),!z.isInPageDialog)){ca.innerHTML='';var S=z._contentUrl;aa(z);S&&setTimeout(function(){F(S)},120)}ca.removeAttribute('data-gina-popin-loading');J.disarm(document.getElementById(z.openTrigger));if(vb&&vb.$forms)for(e=z.$forms.slice(),g=z.$forms.length=0,ca=e.length;g<ca;++g){var wa=vb.$forms[e[g]];if(typeof wa!='undefined')try{wa.destroy()}catch(Ka){typeof console!='undefined'&&console.warn&&console.warn('[gina] popin teardown: destroy() failed for form `'+
563
563
  e[g]+'`',Ka)}}gina.popinIsBinded=!1;removeListener(gina,z.target,'loaded.'+z.id)}}function Wa(e){if(typeof e=='undefined'&&/^true$/.test(this.isOpen)){e=this.name;var g=this}else{g=ea(e)||n();if(!g)return;e=g.name}if(!g&&typeof e!='undefined')throw Error('Popin `'+e+'` not found !');if(g.isOpen&&typeof g!='undefined'&&g!=null&&!g.isRedirecting){var z=g.target;var ca=document.getElementById(g.openTrigger)||null;typeof z.close==='function'?z.close():z.removeAttribute('open');removeListener(gina,g.target,
564
564
  'ready.'+Ha.id);g.hasForm&&(g.hasForm=!1);if(z!=null&&z.classList.contains('gina-popin-is-active')){qb(e);g.isOpen=!1;gina.popinIsBinded=!1;GINA_ENV_IS_DEV&&gina&&typeof window.ginaToolbar!='undefined'&&window.ginaToolbar&&ginaToolbar.restore();W(null);if(g.$headers.length>0){e=0;var S=g.$headers.length;try{for(;e<S;++e)document.getElementById(g.$headers[e].id).remove()}catch(Ka){console.warn('Could not remove script `'+g.$headers[e].id+'`\n'+Ka.stack)}g.$headers=[]}document.body.removeAttribute('data-gina-popin-scroll-lock');
565
565
  z&&z.__ginaOnKeydown&&(z.removeEventListener('keydown',z.__ginaOnKeydown),z.__ginaOnKeydown=null);e=document.querySelectorAll('[data-gina-popin-inert]');S=0;for(var wa=e.length;S<wa;++S)e[S].removeAttribute('inert'),e[S].removeAttribute('data-gina-popin-inert');ca&&(/^A$/i.test(ca.tagName)?ca.removeAttribute('aria-disabled',!0):ca.removeAttribute('disabled',!0),J.disarm(ca),typeof ca.focus=='function'&&ca.focus());z.removeAttribute('data-gina-popin-loading');triggerEvent(gina,g.target,'close.'+g.id,
@@ -576,26 +576,26 @@ this.getAttribute('href');if(!na)throw Error('Popin `url` not defined, please ch
576
576
  var Ma=0;lLen=S.length;if(lLen>0)for(;Ma<lLen;++Ma)typeof S[Ma].tagName!='undefined'&&Qb(S[Ma],z,ca)}}addListener(gina,document,'click',function(ya){if(!('disabled'in ya.target)&&ya.target.getAttribute('disabled')!=null&&ya.target.getAttribute('disabled')!='false')return!1;if(/^popin\.close\./.test(ya.target.id)){cancelEvent(ya);var D=ya.target.id;triggerEvent(gina,ya.target,D,ya.detail)}/^popin\.click\./.test(ya.target.id)&&(cancelEvent(ya),D=ya.target.id,Hb.test(D)&&triggerEvent(gina,ya.target,
577
577
  D,ya.detail))});gina.popinIsBinded=!1},Y={url:'',method:'GET',isSynchrone:!1,withCredentials:!0,headers:{'X-Requested-With':'XMLHttpRequest'}};gina.hasPopinHandler?(Ha.target=document.getElementById(gina.popinContainer),Ha.on=on):Pb();P||new N(function(e,g){if(e)throw e;P=g});return function(e){Ha.getPopinById=qa;Ha.getPopinByName=ea;Ha.load=ia;Ha.loadContent=jb;Ha.getActivePopin=n;Ha.open=Oa;Ha.close=Wa;Ha.destroy=gb;oa();L();pa();addListener(gina,Ha.target,'init.'+Ha.id,function(g){g=null;typeof Ha.$popins['gina-popin-'+
578
578
  Ha.id+'-'+e.name]=='undefined'&&(g=C({},Ib),yb(g,e));Ha.isReady=!0;gina.hasPopinHandler=!0;typeof gina.popin!='undefined'&&gina.popin||(gina.popin=Ha);triggerEvent(gina,Ha.target,'ready.'+Ha.id,g)});Ha.initialized=!0;return Ha}(T)}});
579
- function StoragePlugin(l){function w(T){p=JSON.parse(K.getItem(this.bucket));typeof p[T]=='undefined'&&(p[T]=[],K.setItem(this.bucket,JSON.stringify(p)),p=JSON.parse(K.getItem(this.bucket)));aa[T]={_collection:T,_bucket:this.bucket};aa[T]=N(aa[T],h);return aa[T]}function I(T){if(typeof T!=='object')throw Error('filter must be an object');var n=p[this._collection],da=T.count(),x=0,u=null;if(da==0)return null;for(var A in n)for(var k in T){var ja=typeof T[k]!='boolean'?T[k].toLocaleLowerCase():T[k];
580
- T[k]&&r.indexOf(ja)>-1&&ja=='not null'&&typeof n[A][k]!='undefined'&&typeof n[A][k]!=='object'&&n[A][k]===T[k]&&n[A][k]!='null'&&n[A][k]!='undefined'?u.indexOf(n[A][k])<0&&(++x,x===da&&(u=n[A],u._index=A,u._collection=this._collection,u._bucket=this._bucket)):typeof n[A][k]!='undefined'&&typeof n[A][k]!=='object'&&n[A][k]===T[k]&&(++x,x===da&&(u=n[A],u._index=A,u._collection=this._collection,u._bucket=this._bucket,u._filter=T))}u&&(u.save=ma);return u}var N=N||require('lib/merge');w=w||require('lib/collection');
581
- var P=P||require('lib/uuid'),J=J||require('helpers/dateFormat'),C={bucket:'default'},E={},K=null,aa={},p={},r=['not null'],y={bucket:void 0,drop:function(){K.removeItem(C.bucket);E=null;for(var T in this)delete this[T];return E},Collection:w},h={insert:function(T){T._id=Date.now().toString(36)+'-'+P(16);T._createdAt=(new Date).format('isoDateTime');T._updatedAt=(new Date).format('isoDateTime');p[this._collection][p[this._collection].length]=T;K.setItem(this._bucket,JSON.stringify(p))},find:function(T,
579
+ function StoragePlugin(l){function w(T){p=JSON.parse(K.getItem(this.bucket));typeof p[T]=='undefined'&&(p[T]=[],K.setItem(this.bucket,JSON.stringify(p)),p=JSON.parse(K.getItem(this.bucket)));Z[T]={_collection:T,_bucket:this.bucket};Z[T]=N(Z[T],h);return Z[T]}function I(T){if(typeof T!=='object')throw Error('filter must be an object');var n=p[this._collection],da=T.count(),x=0,u=null;if(da==0)return null;for(var A in n)for(var k in T){var ja=typeof T[k]!='boolean'?T[k].toLocaleLowerCase():T[k];T[k]&&
580
+ r.indexOf(ja)>-1&&ja=='not null'&&typeof n[A][k]!='undefined'&&typeof n[A][k]!=='object'&&n[A][k]===T[k]&&n[A][k]!='null'&&n[A][k]!='undefined'?u.indexOf(n[A][k])<0&&(++x,x===da&&(u=n[A],u._index=A,u._collection=this._collection,u._bucket=this._bucket)):typeof n[A][k]!='undefined'&&typeof n[A][k]!=='object'&&n[A][k]===T[k]&&(++x,x===da&&(u=n[A],u._index=A,u._collection=this._collection,u._bucket=this._bucket,u._filter=T))}u&&(u.save=ma);return u}var N=N||require('lib/merge');w=w||require('lib/collection');
581
+ var P=P||require('lib/uuid'),J=J||require('helpers/dateFormat'),C={bucket:'default'},G={},K=null,Z={},p={},r=['not null'],y={bucket:void 0,drop:function(){K.removeItem(C.bucket);G=null;for(var T in this)delete this[T];return G},Collection:w},h={insert:function(T){T._id=Date.now().toString(36)+'-'+P(16);T._createdAt=(new Date).format('isoDateTime');T._updatedAt=(new Date).format('isoDateTime');p[this._collection][p[this._collection].length]=T;K.setItem(this._bucket,JSON.stringify(p))},find:function(T,
582
582
  n){if(!T)return p[this._collection];if(typeof T!=='object')throw Error('filter must be an object');n=p[this._collection];T.count();var da=0,x=[],u;for(u in n)for(var A in T){var k=typeof T[A]!='boolean'?T[A].toLocaleLowerCase():T[A];T[A]&&r.indexOf(k)>-1&&k=='not null'&&typeof n[u][A]!='undefined'&&typeof n[u][A]!=='object'&&n[u][A]!='null'&&n[u][A]!='undefined'?x.indexOf(n[u][A])<0&&(x[da]=n[u][A],++da):typeof n[u][A]!='undefined'&&typeof n[u][A]!=='object'&&n[u][A]===T[A]&&(x[da]=n[u],++da)}return x},
583
583
  findOne:I,update:null,'delete':function(T){if(typeof T!=='object')throw Error('filter must be an object');var n=JSON.clone(p[this._collection]),da=0,x=[],u;for(u in n)for(var A in T)T[A]&&r.indexOf(T[A].toLocaleLowerCase())>-1&&T[A].toLowerCase()=='not null'&&typeof n[u][A]!='undefined'&&typeof n[u][A]!=='object'&&n[u][A]!='null'&&n[u][A]!='undefined'?x.indexOf(n[u][A])<0&&(x[da]=n[u][A],delete p[this._collection][u][A],++da):typeof n[u][A]!='undefined'&&typeof n[u][A]!=='object'&&n[u][A]===T[A]&&
584
- (x[da]=n[u],p[this._collection].splice(u,1),++da);return x.length>0?(K.setItem(this._bucket,JSON.stringify(p)),!0):!1},drop:function(T){if(typeof p[this._collection]=='undefined')throw Error('Collection `'+T+'` not found');delete aa[this._collection];delete p[this._collection];K.setItem(this._bucket,JSON.stringify(p))}},ma=function(T){T=T||!1;try{var n=JSON.clone(p),da=this._index,x=this._collection,u=this._bucket,A=this._filter;this._updatedAt=(new Date).format('isoDateTime');n[x][da]=N(n[x][da],
585
- this,!0);delete n[x][da]._index;delete n[x][da]._collection;delete n[x][da]._bucket;delete n[x][da].save;delete n[x][da]._filter;if(T&&typeof n[x][da]=='object'){var k=function(Q,U){for(var O=0,Z=Q.length;O<Z;++O)typeof U[O]!='object'||typeof Q[O]=='undefined'||Array.isArray(Q[O])?Array.isArray(Q[O])?k(Q[O],U[O]):typeof Q[O]=='undefined'&&delete U[O]:ja(Q[O],U[O]);return U},ja=function(Q,U){for(var O in U)typeof U[O]!='object'||typeof Q[O]=='undefined'||Array.isArray(Q[O])?Array.isArray(Q[O])?k(Q[O],
584
+ (x[da]=n[u],p[this._collection].splice(u,1),++da);return x.length>0?(K.setItem(this._bucket,JSON.stringify(p)),!0):!1},drop:function(T){if(typeof p[this._collection]=='undefined')throw Error('Collection `'+T+'` not found');delete Z[this._collection];delete p[this._collection];K.setItem(this._bucket,JSON.stringify(p))}},ma=function(T){T=T||!1;try{var n=JSON.clone(p),da=this._index,x=this._collection,u=this._bucket,A=this._filter;this._updatedAt=(new Date).format('isoDateTime');n[x][da]=N(n[x][da],
585
+ this,!0);delete n[x][da]._index;delete n[x][da]._collection;delete n[x][da]._bucket;delete n[x][da].save;delete n[x][da]._filter;if(T&&typeof n[x][da]=='object'){var k=function(Q,U){for(var O=0,aa=Q.length;O<aa;++O)typeof U[O]!='object'||typeof Q[O]=='undefined'||Array.isArray(Q[O])?Array.isArray(Q[O])?k(Q[O],U[O]):typeof Q[O]=='undefined'&&delete U[O]:ja(Q[O],U[O]);return U},ja=function(Q,U){for(var O in U)typeof U[O]!='object'||typeof Q[O]=='undefined'||Array.isArray(Q[O])?Array.isArray(Q[O])?k(Q[O],
586
586
  U[O]):typeof Q[O]=='undefined'&&delete U[O]:ja(Q[O],U[O]);return U};Array.isArray(n[x][da])?n[x][da]=k(this,n[x][da]):typeof n[x][da]=='object'?n[x][da]=ja(this,n[x][da]):typeof this[prop]=='undefined'&&delete n[x][da]}p[x][da]=n[x][da];K.setItem(u,JSON.stringify(p));return I(A)}catch(Q){throw Q;}};(function(T){if(!window.localStorage||window.localStorage&&!typeof window.localStorage.setItem=='undefined')throw Error('Make sure your browser supports `window.localStorage` to use Gina Storage. See: `https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API#Browser_compatibility`');
587
- if(typeof T!='object'&&typeof T!='undefined')throw Error('`options` must be an object');typeof T=='undefined'&&(T={});C=N(T,C);K=window.localStorage;T=C.bucket;if(!K.getItem(T)&&T!=void 0)K.setItem(T,JSON.stringify(p));else if(T==void 0)throw Error('`bucket` name cannot be undefined');E.bucket=T;E=N(E,y)})(l);return E}
587
+ if(typeof T!='object'&&typeof T!='undefined')throw Error('`options` must be an object');typeof T=='undefined'&&(T={});C=N(T,C);K=window.localStorage;T=C.bucket;if(!K.getItem(T)&&T!=void 0)K.setItem(T,JSON.stringify(p));else if(T==void 0)throw Error('`bucket` name cannot be undefined');G.bucket=T;G=N(G,y)})(l);return G}
588
588
  if(typeof module!=='undefined'&&module.exports){var merge=require('lib/merge');Collection=require('lib/collection');uuid=require('lib/uuid');module.exports=StoragePlugin}else typeof define==='function'&&define.amd&&define('gina/storage',['helpers/dateFormat','helpers/prototypes'],function(){return StoragePlugin});
589
- define('gina/nav',['require','lib/merge','lib/uuid','utils/events'],function(l){var w=l('lib/merge'),I=l('lib/uuid');l('utils/events');return function(N){this.plugin='nav';registerEvents(this.plugin,['init','ready','navigate','success','error']);var P={timeout:1E4},J={plugin:this.plugin,id:'gina-nav-'+I(),on,eventData:{},target:document,isReady:!1,initialized:!1},C=0,E=null,K=null,aa=null,p=[],r=[],y=null,h=!1,ma=function(A,k){A=String(A).split(/\//);for(var ja=[],Q=0,U=A.length;Q<U;++Q){var O=A[Q];
590
- if(O.indexOf(':')<0)ja.push({lit:O});else{if(!/^:[-_a-zA-Z0-9]+$/.test(O))return null;O=O.substring(1);if(k.requirements&&typeof k.requirements[O]!='undefined'){a:{var Z=String(k.requirements[O]);try{if(/^\//.test(Z)){var G=Z.match(/\/(.*)\//).pop(),L=Z.replace('/'+G+'/','');var la=new RegExp(G,L);break a}la=new RegExp(Z);break a}catch(pa){la=null;break a}la=void 0}if(!la)return null;ja.push({key:O,re:la})}else if(k.param&&typeof k.param[O]!='undefined')ja.push({key:O,re:null});else return null}}return ja},
591
- T=function(){var A=window.gina&&window.gina.config?window.gina.config:null,k=A&&A.routing&&typeof A.routing=='object'?A.routing:null;if(!k)return null;if(aa===k&&K)return K;A=A.bundle;var ja=[],Q;for(Q in k){var U=k[Q];if(U&&typeof U=='object'&&typeof U.param!='undefined'&&U.bundle==A){var O=String(U.method||''),Z=/,/.test(O),G=O.replace(/\s+/g,'');if(Z||/^(get|delete)$/i.test(G)){O=Z?/(^|,)\s*get\s*(,|$)/i.test(O):/^get$/i.test(G);Z=String(U.url).split(/,/g);G=[];for(var L=0,la=Z.length;L<la;++L)G.push(ma(Z[L],
592
- U));ja.push({rule:Q,route:U,isGet:O,variants:G,rawUrl:String(U.url)})}}}K=ja;aa=k;return ja},n=function(A){var k=T();if(!k)return null;try{var ja=decodeURI(A)}catch(oa){ja=A}for(var Q=ja.split(/\//),U=0,O=k.length;U<O;++U){var Z=k[U];if(A===Z.rawUrl||ja===Z.rawUrl)return{rule:Z.rule,route:Z.route,isGet:Z.isGet};for(var G=0,L=Z.variants.length;G<L;++G){var la=Z.variants[G];if(la&&la.length===Q.length){for(var pa=!0,F=0,X=la.length;F<X;++F)if(typeof la[F].lit!='undefined'){if(la[F].lit!==Q[F]){pa=!1;
593
- break}}else{if(!Q[F]){pa=!1;break}if(la[F].re&&!la[F].re.test(Q[F])){pa=!1;break}}if(pa)return{rule:Z.rule,route:Z.route,isGet:Z.isGet}}}}return null},da=function(A,k,ja){J.eventData.error=ja||{};triggerEvent(gina,J.target,'error.'+J.id,J.eventData.error);k?window.location.reload():window.location.href=A},x=function(A,k){if(A&&typeof A=='string')if(J.isReady&&J.target!==document){var ja=k&&k.isPopState?!0:!1,Q=++C;if(E&&E.readyState!==4)try{E.abort()}catch(O){}J.eventData.navigate={url:A,isPopState:ja};
594
- triggerEvent(gina,J.target,'navigate.'+J.id,J.eventData.navigate);var U=new XMLHttpRequest;E=U;U.open('GET',A);U.setRequestHeader('X-Gina-Navigate','fragment');U.setRequestHeader('X-Requested-With','XMLHttpRequest');U.timeout=P.timeout;U.onreadystatechange=function(){if(U.readyState===4&&Q===C){var O=U.status;if(/^2/.test(String(O))){var Z=U.getResponseHeader('Content-Type')||'';if(/application\/json/.test(Z)){var G=null;try{G=JSON.parse(U.responseText)}catch(xa){}G&&typeof G.location!='undefined'&&
595
- G.location?window.location.href=G.location:da(A,ja,{status:O,error:'unexpected JSON answer to a fragment request'})}else if(Z=U.getResponseHeader('Vary')||'',/x-gina-navigate/i.test(Z)){Z=U.responseText;O=J.target;O.innerHTML=typeof Z=='string'?Z.trim():'';Z=O.getElementsByTagName('script');for(var L=0,la=Z.length;L<la;++L){var pa=Z[L].src;if(pa&&!(p.indexOf(pa)>-1||r.indexOf(pa)>-1)){var F=document.createElement('script');F.src=pa;document.head.appendChild(F);r.push(pa)}}if(Z=typeof O.querySelector==
596
- 'function'?O.querySelector('[data-gina-nav-title]'):null)if(Z=Z.getAttribute('data-gina-nav-title'))document.title=Z;if(!ja){try{var X=window.history.state||{};X.ginaNav=!0;X.scroll=[window.pageXOffset||0,window.pageYOffset||0];window.history.replaceState(X,'',window.location.href)}catch(xa){}try{window.history.pushState({ginaNav:!0},'',A)}catch(xa){}}y=window.location.pathname+window.location.search;try{O.getAttribute('tabindex')||O.setAttribute('tabindex','-1'),O.focus({preventScroll:!0})}catch(xa){try{O.focus()}catch(ua){}}(X=
589
+ define('gina/nav',['require','lib/merge','lib/uuid','utils/events'],function(l){var w=l('lib/merge'),I=l('lib/uuid');l('utils/events');return function(N){this.plugin='nav';registerEvents(this.plugin,['init','ready','navigate','success','error']);var P={timeout:1E4},J={plugin:this.plugin,id:'gina-nav-'+I(),on,eventData:{},target:document,isReady:!1,initialized:!1},C=0,G=null,K=null,Z=null,p=[],r=[],y=null,h=!1,ma=function(A,k){A=String(A).split(/\//);for(var ja=[],Q=0,U=A.length;Q<U;++Q){var O=A[Q];
590
+ if(O.indexOf(':')<0)ja.push({lit:O});else{if(!/^:[-_a-zA-Z0-9]+$/.test(O))return null;O=O.substring(1);if(k.requirements&&typeof k.requirements[O]!='undefined'){a:{var aa=String(k.requirements[O]);try{if(/^\//.test(aa)){var F=aa.match(/\/(.*)\//).pop(),L=aa.replace('/'+F+'/','');var la=new RegExp(F,L);break a}la=new RegExp(aa);break a}catch(pa){la=null;break a}la=void 0}if(!la)return null;ja.push({key:O,re:la})}else if(k.param&&typeof k.param[O]!='undefined')ja.push({key:O,re:null});else return null}}return ja},
591
+ T=function(){var A=window.gina&&window.gina.config?window.gina.config:null,k=A&&A.routing&&typeof A.routing=='object'?A.routing:null;if(!k)return null;if(Z===k&&K)return K;A=A.bundle;var ja=[],Q;for(Q in k){var U=k[Q];if(U&&typeof U=='object'&&typeof U.param!='undefined'&&U.bundle==A){var O=String(U.method||''),aa=/,/.test(O),F=O.replace(/\s+/g,'');if(aa||/^(get|delete)$/i.test(F)){O=aa?/(^|,)\s*get\s*(,|$)/i.test(O):/^get$/i.test(F);aa=String(U.url).split(/,/g);F=[];for(var L=0,la=aa.length;L<la;++L)F.push(ma(aa[L],
592
+ U));ja.push({rule:Q,route:U,isGet:O,variants:F,rawUrl:String(U.url)})}}}K=ja;Z=k;return ja},n=function(A){var k=T();if(!k)return null;try{var ja=decodeURI(A)}catch(oa){ja=A}for(var Q=ja.split(/\//),U=0,O=k.length;U<O;++U){var aa=k[U];if(A===aa.rawUrl||ja===aa.rawUrl)return{rule:aa.rule,route:aa.route,isGet:aa.isGet};for(var F=0,L=aa.variants.length;F<L;++F){var la=aa.variants[F];if(la&&la.length===Q.length){for(var pa=!0,E=0,X=la.length;E<X;++E)if(typeof la[E].lit!='undefined'){if(la[E].lit!==Q[E]){pa=
593
+ !1;break}}else{if(!Q[E]){pa=!1;break}if(la[E].re&&!la[E].re.test(Q[E])){pa=!1;break}}if(pa)return{rule:aa.rule,route:aa.route,isGet:aa.isGet}}}}return null},da=function(A,k,ja){J.eventData.error=ja||{};triggerEvent(gina,J.target,'error.'+J.id,J.eventData.error);k?window.location.reload():window.location.href=A},x=function(A,k){if(A&&typeof A=='string')if(J.isReady&&J.target!==document){var ja=k&&k.isPopState?!0:!1,Q=++C;if(G&&G.readyState!==4)try{G.abort()}catch(O){}J.eventData.navigate={url:A,isPopState:ja};
594
+ triggerEvent(gina,J.target,'navigate.'+J.id,J.eventData.navigate);var U=new XMLHttpRequest;G=U;U.open('GET',A);U.setRequestHeader('X-Gina-Navigate','fragment');U.setRequestHeader('X-Requested-With','XMLHttpRequest');U.timeout=P.timeout;U.onreadystatechange=function(){if(U.readyState===4&&Q===C){var O=U.status;if(/^2/.test(String(O))){var aa=U.getResponseHeader('Content-Type')||'';if(/application\/json/.test(aa)){var F=null;try{F=JSON.parse(U.responseText)}catch(xa){}F&&typeof F.location!='undefined'&&
595
+ F.location?window.location.href=F.location:da(A,ja,{status:O,error:'unexpected JSON answer to a fragment request'})}else if(aa=U.getResponseHeader('Vary')||'',/x-gina-navigate/i.test(aa)){aa=U.responseText;O=J.target;O.innerHTML=typeof aa=='string'?aa.trim():'';aa=O.getElementsByTagName('script');for(var L=0,la=aa.length;L<la;++L){var pa=aa[L].src;if(pa&&!(p.indexOf(pa)>-1||r.indexOf(pa)>-1)){var E=document.createElement('script');E.src=pa;document.head.appendChild(E);r.push(pa)}}if(aa=typeof O.querySelector==
596
+ 'function'?O.querySelector('[data-gina-nav-title]'):null)if(aa=aa.getAttribute('data-gina-nav-title'))document.title=aa;if(!ja){try{var X=window.history.state||{};X.ginaNav=!0;X.scroll=[window.pageXOffset||0,window.pageYOffset||0];window.history.replaceState(X,'',window.location.href)}catch(xa){}try{window.history.pushState({ginaNav:!0},'',A)}catch(xa){}}y=window.location.pathname+window.location.search;try{O.getAttribute('tabindex')||O.setAttribute('tabindex','-1'),O.focus({preventScroll:!0})}catch(xa){try{O.focus()}catch(ua){}}(X=
597
597
  ja&&k&&k.scroll?k.scroll:null)?window.scrollTo(X[0]||0,X[1]||0):(X=(X=A.indexOf('#')>-1?A.substring(A.indexOf('#')+1):null)?document.getElementById(X):null)&&typeof X.scrollIntoView=='function'?X.scrollIntoView():window.scrollTo(0,0);try{if(gina.hasPopinHandler&&gina.popin&&typeof gina.popin.getActivePopin=='function'){var oa=gina.popin.getActivePopin();oa&&oa.isOpen&&typeof gina.popin.close=='function'&&gina.popin.close(oa.name)}}catch(xa){}try{if(gina.hasValidator&&gina.validator&&typeof gina.validator.validateFormById==
598
- 'function'){G=O.getElementsByTagName('form');oa=0;for(var ha=G.length;oa<ha;++oa){var sa=G[oa].getAttribute('id');if(sa)try{gina.validator.validateFormById(sa)}catch(xa){console.warn('[gina][nav] validator rebind skipped for `'+sa+'`: '+(xa.message||xa))}}}}catch(xa){}J.eventData.success={url:A,target:O,isPopState:ja};triggerEvent(gina,J.target,'success.'+J.id,J.eventData.success)}else da(A,ja,{status:O,error:'response is not negotiated (no `Vary: X-Gina-Navigate`)'})}else da(A,ja,{status:O||0,error:U.statusText||
598
+ 'function'){F=O.getElementsByTagName('form');oa=0;for(var ha=F.length;oa<ha;++oa){var sa=F[oa].getAttribute('id');if(sa)try{gina.validator.validateFormById(sa)}catch(xa){console.warn('[gina][nav] validator rebind skipped for `'+sa+'`: '+(xa.message||xa))}}}}catch(xa){}J.eventData.success={url:A,target:O,isPopState:ja};triggerEvent(gina,J.target,'success.'+J.id,J.eventData.success)}else da(A,ja,{status:O,error:'response is not negotiated (no `Vary: X-Gina-Navigate`)'})}else da(A,ja,{status:O||0,error:U.statusText||
599
599
  'network error or timeout'})}};U.send()}else window.location.href=A},u=function(){h||(h=!0,addListener(gina,document,'click',function(A){try{if(!(A.defaultPrevented||typeof A.button=='number'&&A.button!==0||A.ctrlKey||A.metaKey||A.shiftKey||A.altKey)){var k=A.target&&typeof A.target.closest=='function'?A.target.closest('a[href]'):null;if(k&&k.getAttribute('data-gina-link')==null&&k.getAttribute('data-gina-link-url')==null&&k.getAttribute('data-gina-dialog')==null&&k.getAttribute('data-gina-dialog-src')==
600
600
  null&&k.getAttribute('data-gina-popin-name')==null&&k.getAttribute('data-gina-popin-url')==null&&!/^false$/i.test(k.getAttribute('data-gina-nav'))){var ja=k.getAttribute('target');if((!ja||/^_self$/i.test(ja))&&k.getAttribute('download')==null){var Q=k.getAttribute('href');if(Q&&!/^#/.test(Q)&&k.protocol===window.location.protocol&&k.host===window.location.host&&(k.pathname!==window.location.pathname||k.search!==window.location.search||!k.hash)){var U=n(k.pathname);U&&U.route.negotiate===!0&&U.isGet&&
601
601
  (cancelEvent(A),x(k.pathname+k.search+k.hash))}}}}}catch(O){console.warn('[gina][nav] click interception skipped: '+(O.message||O))}}),window.addEventListener('popstate',function(A){try{var k=window.location.pathname+window.location.search;if(k!==y){var ja=A.state;ja&&ja.ginaNav?x(k+window.location.hash,{isPopState:!0,scroll:ja.scroll||null}):window.location.reload()}}catch(Q){window.location.reload()}}))};return function(A){J.navigate=x;J.matchUrl=n;J.on('init',function(k){P=w(A||{},P);k=null;try{k=
@@ -606,50 +606,50 @@ if(typeof JSON.clone=='undefined'){var clone=function(l,w){if(l==null||typeof l!
606
606
  clone}if(typeof JSON.escape=='undefined'){var escape=function(l){try{return l.replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/\t/g,'\\t')}catch(w){throw w;}};JSON.escape=escape}define('utils/polyfill',function(){});
607
607
  function Inherits(l,w){return function(I,N){var P=typeof I=='undefined'||typeof N=='undefined'?"inherits(a, b): neither [ a ] nor [ b ] can't be undefined or null":!1;if(P)throw Error(P);P=function(){return function(){if(this){this.prototype=I.prototype;this.name||(this.name=I.name);this.prototype.name=this.name;for(var J in N.prototype)this[J]||(this[J]=N.prototype[J]);N.apply(this,arguments);I.apply(this,arguments)}}}(I,N);I.prototype==void 0&&(I.prototype={});N.prototype==void 0&&(N.prototype=
608
608
  {});I.prototype=Object.create(N.prototype,{});P.prototype=Object.create(I.prototype,{});return P}}typeof module!=='undefined'&&module.exports?module.exports=Inherits():typeof define==='function'&&define.amd&&define('lib/inherits',[],function(){return Inherits()});
609
- function Collection(l,w){var I=typeof module!=='undefined'&&module.exports?!1:!0,N=I?require('lib/uuid'):require('../../../lib/uuid'),P=I?require('lib/merge'):require('../../../lib/merge'),J={isCaseSensitive:{false:{re:'^%s$',modifiers:'i'},true:{re:'^%s$'}},skipEval:!1},C=!1,E=!1,K=null;I={useLocalStorage:!1,locale:'en',searchOptionRules:J};w=typeof w=='object'?P(w,I):I;var aa=['not null'],p=/^\s*(new\s+Date\("[^"]*"\)|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(new\s+Date\("[^"]*"\)|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/,
609
+ function Collection(l,w){var I=typeof module!=='undefined'&&module.exports?!1:!0,N=I?require('lib/uuid'):require('../../../lib/uuid'),P=I?require('lib/merge'):require('../../../lib/merge'),J={isCaseSensitive:{false:{re:'^%s$',modifiers:'i'},true:{re:'^%s$'}},skipEval:!1},C=!1,G=!1,K=null;I={useLocalStorage:!1,locale:'en',searchOptionRules:J};w=typeof w=='object'?P(w,I):I;var Z=['not null'],p=/^\s*(new\s+Date\("[^"]*"\)|"[^"]*"|-?\d+(?:\.\d+)?)\s*(===|!==|<=|>=|==|!=|<|>)\s*(new\s+Date\("[^"]*"\)|"[^"]*"|-?\d+(?:\.\d+)?)\s*$/,
610
610
  r=function(x){var u=x.match(/^\s*new\s+Date\("([^"]*)"\)\s*$/);if(u)return new Date(u[1]);u=x.replace(/^\s+|\s+$/g,'');if(/^"[^"]*"$/.test(u))return u.slice(1,-1);var A=Number(u);if(!isNaN(A)&&u!=='')return A;throw Error('Invalid operand: `'+x+'`');},y=function(x){var u=typeof x=='string'?x.match(p):null;if(!u)throw Error('Could not evaluate condition `'+x+'`.\n(grammar: <operand><op><operand>; operand \u2208 number | "string" | new Date("..."); op \u2208 === !== == != < > <= >=)');try{var A=r(u[1]),
611
611
  k=u[2],ja=r(u[3]);if(k==='<'||k==='>'||k==='<='||k==='>=')A instanceof Date&&(A=A.getTime()),ja instanceof Date&&(ja=ja.getTime());switch(k){case '===':return A===ja;case '!==':return A!==ja;case '==':return A==ja;case '!=':return A!=ja;case '<':return A<ja;case '>':return A>ja;case '<=':return A<=ja;case '>=':return A>=ja}}catch(Q){throw Error('Could not evaluate condition `'+x+'`.\n'+Q.stack);}};if(typeof l=='undefined'||l==''||l==null)l=[];if(!Array.isArray(l))throw Error('`new Collection([content] [, options] )`: `content` argument must be an Array !');
612
612
  l=l?JSON.clone(l):[];for(var h=[],ma=I=0,T=l.length;ma<T;++ma)l[ma]||(l[ma]={}),typeof l[ma]._uuid!='undefined'?l[ma]._hasItsOwnUuid=!0:l[ma]._uuid=N(16),h[I]=l[ma]._uuid,++I;var n=l;n.setSearchOption=function(){if(!arguments.length)throw Error('searchOption cannot be left blank');if(arguments.length>3||arguments.length<3&&arguments.length>1)throw Error('argument length mismatch');var x=0,u=arguments.length;if(u==1){if(typeof arguments[0]!='object')throw Error('searchOption must be an object');for(var A in arguments[0])if(typeof J[A]==
613
613
  'undefined')throw Error(arguments[1]+' is not an allowed searchOption !');K=arguments[0]}else for(K||={};x<u;++x){if(typeof J[arguments[1]]=='undefined')throw Error(arguments[1]+' is not an allowed searchOption !');typeof K[arguments[0]]=='undefined'&&(K[arguments[0]]={});/true|false/i.test(arguments[2])?K[arguments[0]][arguments[1]]=/true/i.test(arguments[2])?!0:!1:K[arguments[0]][arguments[1]]=arguments[2]}return n};n.find=function(){C=!1;typeof arguments[arguments.length-1]=='boolean'&&(C=arguments[arguments.length-
614
614
  1],delete arguments[arguments.length-1],--arguments.length);for(var x=0,u=arguments.length,A=null,k=null;x<u;++x)if((A=arguments[x])&&typeof A=='object'&&!Array.isArray(A))for(k in A)if(typeof A[k]=='undefined')throw Error('filter `'+k+'` cannot be left undefined');A=x=u=A=null;try{u=JSON.stringify(arguments),x=JSON.parse(u),A=x.count()}catch(sa){throw Error('filter must be an object\n'+sa.stack);}if(typeof x!='undefined'&&A>0){A>1&&(C=!0);A=u=null;k=0;var ja=Array.isArray(this)?this:JSON.clone(l),
615
- Q=[],U='',O=null,Z=K,G=w.searchOptionRules,L=null,la=[],pa=function(sa,xa,ua,Fa,ia){K&&typeof K[xa]!='undefined'&&(ia=P(K,ia));if(sa===null&&ua===null)++Fa;else if(sa&&aa.indexOf(U)>-1&&U=='not null'&&typeof ua!='undefined'&&typeof ua!=='object'&&ua!='null'&&ua!='undefined')Q.indexOf(ua)<0&&++Fa;else if(typeof ua!='undefined'&&typeof ua!=='object'&&/(<|>|=)/.test(sa)&&!/undefined|function/.test(typeof ua)&&!ia.skipEval)xa=sa,ia=ua+sa,typeof sa=='string'&&typeof ua=='string'&&(ia=sa.replace(/^(<=|>=|!==|!=|===|!==)/g,
616
- ''),typeof ua!='string'||/^"(.*)"$/.test(ia)||(sa=sa.replace(ia,'"'+ia+'"')),ia='"'+ua+'"'+sa,sa=xa),/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(ua)&&/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(sa)?y(ua.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")')+sa.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++Fa:y(ia)&&++Fa;else if(typeof ua!='undefined'&&typeof ua!=='object'&&ua===sa&&!Z||typeof ua!=
617
- 'undefined'&&typeof ua!=='object'&&ua===sa&&typeof Z[xa]=='undefined'||typeof ua!='undefined'&&typeof ua!=='object'&&ua===sa&&typeof Z[xa]!='undefined'&&ia.skipEval)++Fa;else if(typeof ua!='undefined'&&typeof ua!=='object'&&Z&&typeof Z[xa]!='undefined'){var jb=0;var va=Z[xa].count();for(let za in Z[xa])typeof ia[za][Z[xa][za]]!='undefined'&&(ia[za][Z[xa][za]].re=ia[za][Z[xa][za]].re.replace(/%s/,sa),O=ia[za][Z[xa][za]].modifiers?new RegExp(ia[za][Z[xa][za]].re,ia[za][Z[xa][za]].modifiers):new RegExp(ia[za][Z[xa][za]].re),
618
- O.test(ua)&&++jb);jb==va&&++Fa}return{matched:Fa}},F=function(sa,xa,ua,Fa){var ia=xa.split(/\./g);ia=ia[ia.length-1];O=new RegExp('("'+ia+'":\\w+)');ia=null;try{if(ua){if(!/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(xa))throw Error('Invalid property path: `'+xa+'`');var jb=xa.split('.');xa=ua;for(ua=0;xa!=null&&ua<jb.length;ua++)xa=xa[jb[ua]];ia=xa}}catch(va){}ia&&(Array.isArray(ia)?ia=ia[1].split(/:/)[1]:typeof ia=='string'&&/:/.test(ia)&&(ia=ia.split(/:/)[1]),/(<|>|=)/.test(sa)?/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(ia)&&
619
- /(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(sa)?y(ia.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")')+sa.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++Fa:y(ia+sa)&&++Fa:ia==sa&&++Fa);return{matched:Fa}},X=function(sa,xa,ua,Fa,ia){xa=xa.split(/\[\*\]/g);ia=xa[0].replace(/\[\*\]/,'');ua=ua[ia];xa=xa[1];/^\./.test(xa)&&(xa=xa.substring(1));ia=0;if(ua)for(var jb=0,va=ua.length;jb<va&&!(la=/\./.test(xa)?F(sa,
620
- xa,ua[jb],ia):pa(sa,xa,ua[jb],ia,G),ia=la.matched,ia>0);++jb);return{matched:Fa+ia}},oa;for(oa in ja)if(ja[oa]||(ja[oa]={}),!/undefined|function/.test(typeof ja[oa]))for(let sa=0,xa=x.count();sa<xa;++sa){u=x[sa];A=u.count();L=0;for(var ha in u){if(typeof u[ha]=='undefined')throw Error('filter `'+ha+'` cannot be left undefined');U=u[ha]===null||/(boolean|number)/.test(typeof u[ha])?u[ha]:u[ha].toLocaleLowerCase();la=/\./.test(ha)?/\[\*\]/.test(ha)?X(u[ha],ha,ja[oa],L,0):F(u[ha],ha,ja[oa],L):pa(u[ha],
621
- ha,ja[oa][ha],L,G);L=la.matched}if(L==A)if(C&&E&&h.indexOf(ja[oa]._uuid)<0||E||!C){if(!C||C&&Q.indexOf(ja[oa]._uuid)<0||E)Q[k]=ja[oa],++k}else C&&!E&&Q.indexOf(ja[oa]._uuid)<0&&(Q[k]=ja[oa],++k)}}else Q=l;K=null;Q.insert=n.insert;Q.notIn=n.notIn;Q.find=this.find;Q.update=n.update;Q.replace=n.replace;Q.or=n.or;Q.findOne=n.findOne;Q.limit=n.limit;Q.orderBy=n.orderBy;Q.delete=n.delete;Q.toRaw=n.toRaw;Q.filter=n.filter;return Q};n.findOne=function(){var x=null;typeof arguments[arguments.length-1]=='string'&&
622
- (delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(x=arguments);if(typeof x=='undefined'||!x||typeof x!='object')throw Error('[ Collection ][ findOne ] `filters` argument must be defined: Array or Filter Object(s) expected');x=null;var u=Array.isArray(arguments[0])?arguments[0]:n.find.apply(this,arguments)||[];u.length>0&&(x=u.limit(1).toRaw()[0]);return x};n.or=function(){arguments[arguments.length]=!0;++arguments.length;return n.find.apply(this,arguments)};n.limit=function(x){if(typeof x==
623
- 'undefined'||typeof x!='number')throw Error('[Collection::result->limit(resultLimit)] : `resultLimit` parametter must by a `number`');var u=Array.isArray(this)?this:JSON.clone(l);u=u.splice(0,x);u.insert=n.insert;u.update=n.update;u.replace=n.replace;u.notIn=n.notIn;u.findOne=n.findOne;u.orderBy=n.orderBy;u.max=n.max;u.delete=n.delete;u.toRaw=n.toRaw;u.filter=n.filter;return u};n.notIn=function(){var x=null,u=null,A=!0;typeof arguments[arguments.length-1]=='string'&&(x=arguments[arguments.length-
624
- 1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='boolean'&&(A=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(u=arguments);if(typeof u=='undefined'||!u||typeof u!='object')throw Error('[ Collection ][ notIn ] `filters` argument must be defined: Array or Filter Object(s) expected');var k=JSON.clone(Array.isArray(this)?this:l);if(Array.isArray(arguments[0]))var ja=arguments[0];else E=!0,ja=
625
- n.find.apply(this,arguments)||[],E=!1;if(ja.length>0){if(A&&x&&typeof ja[0]=='undefined'&&typeof ja[0][x]=='undefined')throw Error('[ Collection ][ notIn ] `key` not valid');A&&!x&&typeof ja[0]._uuid!='undefined'?x='_uuid':typeof ja[0].id!='undefined'&&(x='id');if(!x||typeof ja[0][x]=='undefined')throw Error('No comparison key defined !');var Q=0,U=ja.length,O=0,Z,G=u.count(),L;if(A&&typeof k[O]!='undefined'&&k[O].hasOwnProperty(x))for(;Q<U&&k.length;++Q)for(O=0,A=k.length;O<A;++O){if(typeof k[O]!=
626
- 'undefined'&&typeof ja[Q]!='undefined'&&k[O][x]===ja[Q][x]){k.splice(O,1);break}}else if(typeof k[O]=='undefined')k=JSON.clone(ja);else for(;Q<U&&k.length;++Q)for(O=0,A=k.length;O<A;++O)if(typeof k[O]!='undefined'){for(Z=L=0;Z<G;++Z){if(typeof u[Z]=='undefined')throw Error('filter `'+Z+'` cannot be left undefined');var la=u[Z].count();var pa=0;for(x in u[Z])k[O].hasOwnProperty(x)&&k[O][x]===ja[Q][x]&&++pa;pa==la&&++L}if(L){k.splice(O,1);break}}}x=k;x.notIn=n.notIn;x.limit=n.limit;x.find=n.find;x.findOne=
627
- n.findOne;x.insert=n.insert;x.replace=n.replace;x.update=n.update;x.orderBy=n.orderBy;x.max=n.max;x.delete=n.delete;x.toRaw=n.toRaw;x.filter=n.filter;return x};n.insert=function(x){if(typeof x!=='object')throw Error('filter must be an object');var u=Array.isArray(this)?this:l;x._uuid=N(16);u.push(x);u.limit=n.limit;u.find=n.find;u.findOne=n.findOne;u.update=n.update;u.replace=n.replace;u.orderBy=n.orderBy;u.max=n.max;u.notIn=n.notIn;u.delete=n.delete;u.toRaw=n.toRaw;u.filter=n.filter;return u};n.update=
628
- function(){var x='_uuid',u,A=u=null;typeof arguments[arguments.length-1]=='string'&&(x=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='object'&&(A=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(u=arguments);if(typeof u=='undefined'||!u||typeof u!='object')throw Error('[ Collection ][ update ] `filters` argument must be defined: Array or Filter Object(s) expected');
615
+ Q=[],U='',O=null,aa=K,F=w.searchOptionRules,L=null,la=[],pa=function(sa,xa,ua,Fa,ia){K&&typeof K[xa]!='undefined'&&(ia=P(K,ia));if(sa===null&&ua===null)++Fa;else if(sa&&Z.indexOf(U)>-1&&U=='not null'&&typeof ua!='undefined'&&typeof ua!=='object'&&ua!='null'&&ua!='undefined')Q.indexOf(ua)<0&&++Fa;else if(typeof ua!='undefined'&&typeof ua!=='object'&&/(<|>|=)/.test(sa)&&!/undefined|function/.test(typeof ua)&&!ia.skipEval)xa=sa,ia=ua+sa,typeof sa=='string'&&typeof ua=='string'&&(ia=sa.replace(/^(<=|>=|!==|!=|===|!==)/g,
616
+ ''),typeof ua!='string'||/^"(.*)"$/.test(ia)||(sa=sa.replace(ia,'"'+ia+'"')),ia='"'+ua+'"'+sa,sa=xa),/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(ua)&&/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(sa)?y(ua.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")')+sa.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++Fa:y(ia)&&++Fa;else if(typeof ua!='undefined'&&typeof ua!=='object'&&ua===sa&&!aa||typeof ua!=
617
+ 'undefined'&&typeof ua!=='object'&&ua===sa&&typeof aa[xa]=='undefined'||typeof ua!='undefined'&&typeof ua!=='object'&&ua===sa&&typeof aa[xa]!='undefined'&&ia.skipEval)++Fa;else if(typeof ua!='undefined'&&typeof ua!=='object'&&aa&&typeof aa[xa]!='undefined'){var jb=0;var va=aa[xa].count();for(let za in aa[xa])typeof ia[za][aa[xa][za]]!='undefined'&&(ia[za][aa[xa][za]].re=ia[za][aa[xa][za]].re.replace(/%s/,sa),O=ia[za][aa[xa][za]].modifiers?new RegExp(ia[za][aa[xa][za]].re,ia[za][aa[xa][za]].modifiers):
618
+ new RegExp(ia[za][aa[xa][za]].re),O.test(ua)&&++jb);jb==va&&++Fa}return{matched:Fa}},E=function(sa,xa,ua,Fa){var ia=xa.split(/\./g);ia=ia[ia.length-1];O=new RegExp('("'+ia+'":\\w+)');ia=null;try{if(ua){if(!/^[A-Za-z_$][\w$]*(\.[A-Za-z_$][\w$]*)*$/.test(xa))throw Error('Invalid property path: `'+xa+'`');var jb=xa.split('.');xa=ua;for(ua=0;xa!=null&&ua<jb.length;ua++)xa=xa[jb[ua]];ia=xa}}catch(va){}ia&&(Array.isArray(ia)?ia=ia[1].split(/:/)[1]:typeof ia=='string'&&/:/.test(ia)&&(ia=ia.split(/:/)[1]),
619
+ /(<|>|=)/.test(sa)?/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(ia)&&/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/.test(sa)?y(ia.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")')+sa.replace(/(\d{4})\-(\d{2})\-(\d{2})(\s+|T)(\d{2}):(\d{2}):(\d{2})/,'new Date("$&")'))&&++Fa:y(ia+sa)&&++Fa:ia==sa&&++Fa);return{matched:Fa}},X=function(sa,xa,ua,Fa,ia){xa=xa.split(/\[\*\]/g);ia=xa[0].replace(/\[\*\]/,'');ua=ua[ia];xa=xa[1];/^\./.test(xa)&&
620
+ (xa=xa.substring(1));ia=0;if(ua)for(var jb=0,va=ua.length;jb<va&&!(la=/\./.test(xa)?E(sa,xa,ua[jb],ia):pa(sa,xa,ua[jb],ia,F),ia=la.matched,ia>0);++jb);return{matched:Fa+ia}},oa;for(oa in ja)if(ja[oa]||(ja[oa]={}),!/undefined|function/.test(typeof ja[oa]))for(let sa=0,xa=x.count();sa<xa;++sa){u=x[sa];A=u.count();L=0;for(var ha in u){if(typeof u[ha]=='undefined')throw Error('filter `'+ha+'` cannot be left undefined');U=u[ha]===null||/(boolean|number)/.test(typeof u[ha])?u[ha]:u[ha].toLocaleLowerCase();
621
+ la=/\./.test(ha)?/\[\*\]/.test(ha)?X(u[ha],ha,ja[oa],L,0):E(u[ha],ha,ja[oa],L):pa(u[ha],ha,ja[oa][ha],L,F);L=la.matched}if(L==A)if(C&&G&&h.indexOf(ja[oa]._uuid)<0||G||!C){if(!C||C&&Q.indexOf(ja[oa]._uuid)<0||G)Q[k]=ja[oa],++k}else C&&!G&&Q.indexOf(ja[oa]._uuid)<0&&(Q[k]=ja[oa],++k)}}else Q=l;K=null;Q.insert=n.insert;Q.notIn=n.notIn;Q.find=this.find;Q.update=n.update;Q.replace=n.replace;Q.or=n.or;Q.findOne=n.findOne;Q.limit=n.limit;Q.orderBy=n.orderBy;Q.delete=n.delete;Q.toRaw=n.toRaw;Q.filter=n.filter;
622
+ return Q};n.findOne=function(){var x=null;typeof arguments[arguments.length-1]=='string'&&(delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(x=arguments);if(typeof x=='undefined'||!x||typeof x!='object')throw Error('[ Collection ][ findOne ] `filters` argument must be defined: Array or Filter Object(s) expected');x=null;var u=Array.isArray(arguments[0])?arguments[0]:n.find.apply(this,arguments)||[];u.length>0&&(x=u.limit(1).toRaw()[0]);return x};n.or=function(){arguments[arguments.length]=
623
+ !0;++arguments.length;return n.find.apply(this,arguments)};n.limit=function(x){if(typeof x=='undefined'||typeof x!='number')throw Error('[Collection::result->limit(resultLimit)] : `resultLimit` parametter must by a `number`');var u=Array.isArray(this)?this:JSON.clone(l);u=u.splice(0,x);u.insert=n.insert;u.update=n.update;u.replace=n.replace;u.notIn=n.notIn;u.findOne=n.findOne;u.orderBy=n.orderBy;u.max=n.max;u.delete=n.delete;u.toRaw=n.toRaw;u.filter=n.filter;return u};n.notIn=function(){var x=null,
624
+ u=null,A=!0;typeof arguments[arguments.length-1]=='string'&&(x=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='boolean'&&(A=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(u=arguments);if(typeof u=='undefined'||!u||typeof u!='object')throw Error('[ Collection ][ notIn ] `filters` argument must be defined: Array or Filter Object(s) expected');var k=JSON.clone(Array.isArray(this)?
625
+ this:l);if(Array.isArray(arguments[0]))var ja=arguments[0];else G=!0,ja=n.find.apply(this,arguments)||[],G=!1;if(ja.length>0){if(A&&x&&typeof ja[0]=='undefined'&&typeof ja[0][x]=='undefined')throw Error('[ Collection ][ notIn ] `key` not valid');A&&!x&&typeof ja[0]._uuid!='undefined'?x='_uuid':typeof ja[0].id!='undefined'&&(x='id');if(!x||typeof ja[0][x]=='undefined')throw Error('No comparison key defined !');var Q=0,U=ja.length,O=0,aa,F=u.count(),L;if(A&&typeof k[O]!='undefined'&&k[O].hasOwnProperty(x))for(;Q<
626
+ U&&k.length;++Q)for(O=0,A=k.length;O<A;++O){if(typeof k[O]!='undefined'&&typeof ja[Q]!='undefined'&&k[O][x]===ja[Q][x]){k.splice(O,1);break}}else if(typeof k[O]=='undefined')k=JSON.clone(ja);else for(;Q<U&&k.length;++Q)for(O=0,A=k.length;O<A;++O)if(typeof k[O]!='undefined'){for(aa=L=0;aa<F;++aa){if(typeof u[aa]=='undefined')throw Error('filter `'+aa+'` cannot be left undefined');var la=u[aa].count();var pa=0;for(x in u[aa])k[O].hasOwnProperty(x)&&k[O][x]===ja[Q][x]&&++pa;pa==la&&++L}if(L){k.splice(O,
627
+ 1);break}}}x=k;x.notIn=n.notIn;x.limit=n.limit;x.find=n.find;x.findOne=n.findOne;x.insert=n.insert;x.replace=n.replace;x.update=n.update;x.orderBy=n.orderBy;x.max=n.max;x.delete=n.delete;x.toRaw=n.toRaw;x.filter=n.filter;return x};n.insert=function(x){if(typeof x!=='object')throw Error('filter must be an object');var u=Array.isArray(this)?this:l;x._uuid=N(16);u.push(x);u.limit=n.limit;u.find=n.find;u.findOne=n.findOne;u.update=n.update;u.replace=n.replace;u.orderBy=n.orderBy;u.max=n.max;u.notIn=n.notIn;
628
+ u.delete=n.delete;u.toRaw=n.toRaw;u.filter=n.filter;return u};n.update=function(){var x='_uuid',u,A=u=null;typeof arguments[arguments.length-1]=='string'&&(x=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='object'&&(A=arguments[arguments.length-1],delete arguments[arguments.length-1],--arguments.length);arguments.length>0&&(u=arguments);if(typeof u=='undefined'||!u||typeof u!='object')throw Error('[ Collection ][ update ] `filters` argument must be defined: Array or Filter Object(s) expected');
629
629
  if(typeof A=='undefined'||!A||typeof A!='object')throw Error('[ Collection ][ update ] `set` argument must be defined: Object expected');var k=Array.isArray(arguments[0])?arguments[0]:n.find.apply(this,arguments)||[];u=Array.isArray(this)?this:JSON.clone(l);if(k.length>0){k=k.toRaw();for(var ja=0,Q=k.length;ja<Q;++ja){k[ja]=P(JSON.clone(A),k[ja]);for(var U=0,O=u.length;U<O;++U)if(typeof u[U][x]=='undefined'&&x=='_uuid'&&typeof u[U].id!='undefined'&&(x='id'),u[U][x]==k[ja][x]){u[U]=k[ja];break}}}u.limit=
630
630
  n.limit;u.find=n.find;u.findOne=n.findOne;u.insert=n.insert;u.update=n.update;u.replace=n.replace;u.orderBy=n.orderBy;u.max=n.max;u.notIn=n.notIn;u.delete=n.delete;u.toRaw=n.toRaw;u.filter=n.filter;return u};n.replace=function(){var x='_uuid',u=!1,A,k=A=null;typeof arguments[arguments.length-1]=='string'&&(x=arguments[arguments.length-1],u=!0,delete arguments[arguments.length-1],--arguments.length);typeof arguments[arguments.length-1]=='object'&&(k=arguments[arguments.length-1],delete arguments[arguments.length-
631
631
  1],--arguments.length);arguments.length>0&&(A=arguments);if(typeof A=='undefined'||!A||typeof A!='object')throw Error('[ Collection ][ update ] `filters` argument must be defined: Array or Filter Object(s) expected');if(typeof k=='undefined'||!k||typeof k!='object')throw Error('[ Collection ][ update ] `set` argument must be defined: Object expected');var ja=Array.isArray(arguments[0])?arguments[0]:n.find.apply(this,arguments)||[];A=Array.isArray(this)?this:JSON.clone(l);if(ja.length>0){ja=ja.toRaw();
632
- for(var Q=0,U=ja.length;Q<U;++Q){ja[Q]=JSON.clone(k);for(var O=0,Z=A.length;O<Z;++O){var G=x;if(!u&&(typeof A[O][G]!='undefined'&&typeof ja[Q][G]!='undefined'||typeof A[O].id=='undefined'||typeof ja[Q].id=='undefined'||(G='id'),typeof A[O][G]=='undefined'||typeof ja[Q][G]=='undefined'))throw Error('No comparison key defined !');if(A[O][G]==ja[Q][G]){A[O]=ja[Q];break}}}}A.limit=n.limit;A.find=n.find;A.findOne=n.findOne;A.insert=n.insert;A.update=n.update;A.replace=n.replace;A.orderBy=n.orderBy;A.max=
632
+ for(var Q=0,U=ja.length;Q<U;++Q){ja[Q]=JSON.clone(k);for(var O=0,aa=A.length;O<aa;++O){var F=x;if(!u&&(typeof A[O][F]!='undefined'&&typeof ja[Q][F]!='undefined'||typeof A[O].id=='undefined'||typeof ja[Q].id=='undefined'||(F='id'),typeof A[O][F]=='undefined'||typeof ja[Q][F]=='undefined'))throw Error('No comparison key defined !');if(A[O][F]==ja[Q][F]){A[O]=ja[Q];break}}}}A.limit=n.limit;A.find=n.find;A.findOne=n.findOne;A.insert=n.insert;A.update=n.update;A.replace=n.replace;A.orderBy=n.orderBy;A.max=
633
633
  n.max;A.notIn=n.notIn;A.delete=n.delete;A.toRaw=n.toRaw;A.filter=n.filter;return A};n['delete']=function(){var x=n.notIn.apply(this,arguments);x.limit=n.limit;x.find=n.find;x.findOne=n.findOne;x.insert=n.insert;x.update=n.update;x.replace=n.replace;x.orderBy=n.orderBy;x.max=n.max;x.notIn=n.notIn;x.toRaw=n.toRaw;x.filter=n.filter;x.delete=this.delete;return x};n.orderBy=function(){if(typeof arguments=='undefined'||arguments.length<1)throw Error('[ Collection->orderBy(filter) ] where `filter` must not be empty or null');
634
634
  if(arguments.length==1)var x=arguments[0];else{x=Array(arguments.length);for(var u=0,A=x.length;u<A;++u)x[u]=arguments[u]}u=Array.isArray(this)?this:JSON.clone(l);return da(x,u.toRaw())};n.max=function(){if(typeof arguments=='undefined'||arguments.length<1)throw Error('[ Collection->max(filter) ] where `filter` must not be empty or null');if(arguments.length>1||Array.isArray(arguments[0])||typeof arguments[0]=='object'&&arguments[0].count()>1)throw Error('[ Collection->max(filter) ] only accept one filter length, and fileter count must be equal to 1');
635
- var x=arguments[0];try{var u=Object.keys(x)[0],A={};A[u]='desc';return n.find(x).orderBy(A).limit(1)[0][u]}catch(k){throw k;}};var da=function(x,u){if(typeof x!='object')throw Error('`filter` parametter must be an object or an array');var A={},k=null,ja=null,Q=k=null;k=[];if(x.count()==0)return null;A.asc=function(U,O){var Z=O.map(function(G,L){var la={};la.index=L;la[U]=G[U];return la});Z.sort(function(G,L){var la=function(pa,F){/^(true|false)$/i.test(pa)&&(pa=/true/i.test(pa)?1:0);/^(true|false)$/i.test(F)&&
636
- (F=/true/i.test(F)?1:0);if(typeof pa=='string'&&pa!=''||typeof F=='string'){if(typeof pa=='undefined'||pa==null)pa='';if(typeof F=='undefined'||F==null)F='';typeof pa=='number'&&(pa=''+pa);typeof F=='number'&&(F=''+F);return pa.localeCompare(F,void 0,{sensitivity:'case',caseFirst:'upper'})}return pa>F?1:pa<F?-1:0};return typeof G=='object'?la(G[U],L[U]):la(G,L)});return Z.map(function(G,L,la){return O[G.index]})};A.desc=function(U,O){return A.asc(U,O).reverse()};k=function(U,O){var Z=[],G=[];if(Array.isArray(O))for(var L=
637
- 0,la=O.length;L<la;++L)Z[L]=Object.keys(O[L])[0],G[L]=O[L][Z[L]];else for(la in L=0,O)Z[L]=la,G[L]=O[la],++L;ja=function(pa,F,X,oa,ha){var sa=oa[ha]=='desc'?1:0,xa,ua=xa=null;return typeof pa[X[ha]]=='string'&&pa[X[ha]]!=''?(xa=pa[X[ha]].localeCompare(F[X[ha]]),sa==0&&xa!=0?xa<0?-1:1:xa!=0?xa<0?1:-1:X.length-1>ha?ja(pa,F,X,oa,ha+1):0):typeof pa[X[ha]]=='number'||typeof F[X[ha]]=='number'?(xa=(''+pa[X[ha]]).localeCompare(''+F[X[ha]],void 0,{numeric:!0}),sa==0&&xa!=0?xa<0?-1:1:xa!=0?xa<0?1:-1:X.length-
638
- 1>ha?ja(pa,F,X,oa,ha+1):0):typeof pa[X[ha]]=='boolean'||typeof F[X[ha]]=='boolean'?(typeof pa[X[ha]]=='boolean'&&(xa=pa[X[ha]]?1:0),typeof F[X[ha]]=='boolean'&&(ua=F[X[ha]]?1:0),xa>ua?sa==0?1:-1:xa<ua?sa==0?-1:1:X.length-1>ha?ja(pa,F,X,oa,ha+1):0):pa[X[ha]]>F[X[ha]]?sa==0?1:-1:pa[X[ha]]<F[X[ha]]?sa==0?-1:1:X.length-1>ha?ja(pa,F,X,oa,ha+1):0};return U.sort(function(pa,F){return ja(pa,F,Z,G,0)})};Array.isArray(x)||x.count()>1?k=k(u,x):(Q=Object.keys(x)[0],k=x[Q],k=A[k](Q,u));k.find=n.find;k.findOne=
635
+ var x=arguments[0];try{var u=Object.keys(x)[0],A={};A[u]='desc';return n.find(x).orderBy(A).limit(1)[0][u]}catch(k){throw k;}};var da=function(x,u){if(typeof x!='object')throw Error('`filter` parametter must be an object or an array');var A={},k=null,ja=null,Q=k=null;k=[];if(x.count()==0)return null;A.asc=function(U,O){var aa=O.map(function(F,L){var la={};la.index=L;la[U]=F[U];return la});aa.sort(function(F,L){var la=function(pa,E){/^(true|false)$/i.test(pa)&&(pa=/true/i.test(pa)?1:0);/^(true|false)$/i.test(E)&&
636
+ (E=/true/i.test(E)?1:0);if(typeof pa=='string'&&pa!=''||typeof E=='string'){if(typeof pa=='undefined'||pa==null)pa='';if(typeof E=='undefined'||E==null)E='';typeof pa=='number'&&(pa=''+pa);typeof E=='number'&&(E=''+E);return pa.localeCompare(E,void 0,{sensitivity:'case',caseFirst:'upper'})}return pa>E?1:pa<E?-1:0};return typeof F=='object'?la(F[U],L[U]):la(F,L)});return aa.map(function(F,L,la){return O[F.index]})};A.desc=function(U,O){return A.asc(U,O).reverse()};k=function(U,O){var aa=[],F=[];if(Array.isArray(O))for(var L=
637
+ 0,la=O.length;L<la;++L)aa[L]=Object.keys(O[L])[0],F[L]=O[L][aa[L]];else for(la in L=0,O)aa[L]=la,F[L]=O[la],++L;ja=function(pa,E,X,oa,ha){var sa=oa[ha]=='desc'?1:0,xa,ua=xa=null;return typeof pa[X[ha]]=='string'&&pa[X[ha]]!=''?(xa=pa[X[ha]].localeCompare(E[X[ha]]),sa==0&&xa!=0?xa<0?-1:1:xa!=0?xa<0?1:-1:X.length-1>ha?ja(pa,E,X,oa,ha+1):0):typeof pa[X[ha]]=='number'||typeof E[X[ha]]=='number'?(xa=(''+pa[X[ha]]).localeCompare(''+E[X[ha]],void 0,{numeric:!0}),sa==0&&xa!=0?xa<0?-1:1:xa!=0?xa<0?1:-1:X.length-
638
+ 1>ha?ja(pa,E,X,oa,ha+1):0):typeof pa[X[ha]]=='boolean'||typeof E[X[ha]]=='boolean'?(typeof pa[X[ha]]=='boolean'&&(xa=pa[X[ha]]?1:0),typeof E[X[ha]]=='boolean'&&(ua=E[X[ha]]?1:0),xa>ua?sa==0?1:-1:xa<ua?sa==0?-1:1:X.length-1>ha?ja(pa,E,X,oa,ha+1):0):pa[X[ha]]>E[X[ha]]?sa==0?1:-1:pa[X[ha]]<E[X[ha]]?sa==0?-1:1:X.length-1>ha?ja(pa,E,X,oa,ha+1):0};return U.sort(function(pa,E){return ja(pa,E,aa,F,0)})};Array.isArray(x)||x.count()>1?k=k(u,x):(Q=Object.keys(x)[0],k=x[Q],k=A[k](Q,u));k.find=n.find;k.findOne=
639
639
  n.findOne;k.limit=n.limit;k.notIn=n.notIn;k.insert=n.insert;k.update=n.update;k.replace=n.replace;k.delete=n.delete;k.orderBy=n.orderBy;k.max=n.max;k.toRaw=n.toRaw;k.filter=n.filter;return k};n.toRaw=function(){for(var x=Array.isArray(this)?this.slice():l.slice(),u=0,A=x.length;u<A;++u){if(x[u]._hasItsOwnUuid){let k=/^true$/i.test(x[u]._hasItsOwnUuid)?!0:!1;delete x[u]._hasItsOwnUuid;if(k)continue}x[u]._uuid&&delete x[u]._uuid}return x};n.filter=function(x){if(typeof x=='undefined')throw Error('`filter` parametter must be a string or an array.');
640
- var u=Array.isArray(this)?this:l;if(!u.length)return[];var A=0,k=u.length,ja=[],Q=0;if(Array.isArray(x))for(var U,O=x.length,Z;A<k;++A){Z=!1;for(U=0;U<O;++U)typeof u[A][x[U]]!='undefined'&&(typeof ja[Q]=='undefined'&&(ja[Q]={}),ja[Q][x[U]]=u[A][x[U]],Z=!0);Z&&++Q}else for(;A<k;++A)typeof u[A][x]!='undefined'&&(typeof ja[Q]=='undefined'&&(ja[Q]={}),ja[Q][x]=u[A][x],++Q);return JSON.clone(ja)};return n}
640
+ var u=Array.isArray(this)?this:l;if(!u.length)return[];var A=0,k=u.length,ja=[],Q=0;if(Array.isArray(x))for(var U,O=x.length,aa;A<k;++A){aa=!1;for(U=0;U<O;++U)typeof u[A][x[U]]!='undefined'&&(typeof ja[Q]=='undefined'&&(ja[Q]={}),ja[Q][x[U]]=u[A][x[U]],aa=!0);aa&&++Q}else for(;A<k;++A)typeof u[A][x]!='undefined'&&(typeof ja[Q]=='undefined'&&(ja[Q]={}),ja[Q][x]=u[A][x],++Q);return JSON.clone(ja)};return n}
641
641
  typeof module!=='undefined'&&module.exports?module.exports=Collection:typeof define==='function'&&define.amd&&define('lib/collection',[],function(){return Collection});var readyList=[{name:'gina',ctx:window.gina,fn:window.onGinaLoaded}],readyFired=!1,readyEventHandlersInstalled=!1,_ginaDepsSettled=!1,_ginaDepsQueue=[];
642
642
  function _settleDeps(l){if(!_ginaDepsSettled)for(_ginaDepsSettled=!0,l&&typeof console!='undefined'&&console.error&&console.error('[gina] routing dependency still pending after 5s \u2014 releasing handlers with a degraded routing table');_ginaDepsQueue.length;)try{_ginaDepsQueue.shift()()}catch(w){typeof console!='undefined'&&console.error&&console.error(w.stack||w.message||w)}}function _whenDepsSettled(l){_ginaDepsSettled?l():_ginaDepsQueue.push(l)}setTimeout(function(){_settleDeps(!0)},5E3);
643
- function ready(){if(!readyFired){readyFired=!0;var l=null,w=function(I,N){if(N[I])if(N[I].name=='gina')var P=window.setInterval(function(J,C){try{typeof C=='undefined'&&(C=window.readyList),C[J].ctx=window.gina,(l=C[J].fn.call(window,C[J].ctx,window.require))&&_ginaDepsSettled&&(window.clearInterval(P),++J,w(J,C))}catch(E){throw window.clearInterval(P),E;}},50,I,N);else N[I].ctx=window.originalContext||null,N[I].fn.call(window,N[I].ctx,window.require),++I,w(I,N);else N=[]};w(0,readyList)}}
643
+ function ready(){if(!readyFired){readyFired=!0;var l=null,w=function(I,N){if(N[I])if(N[I].name=='gina')var P=window.setInterval(function(J,C){try{typeof C=='undefined'&&(C=window.readyList),C[J].ctx=window.gina,(l=C[J].fn.call(window,C[J].ctx,window.require))&&_ginaDepsSettled&&(window.clearInterval(P),++J,w(J,C))}catch(G){throw window.clearInterval(P),G;}},50,I,N);else N[I].ctx=window.originalContext||null,N[I].fn.call(window,N[I].ctx,window.require),++I,w(I,N);else N=[]};w(0,readyList)}}
644
644
  function readyStateChange(){document.readyState==='complete'&&gina.ready()}
645
645
  if(typeof window.gina=='undefined'){var gina={_global:{register:function(l){if(typeof l!='undefined')for(let w in l)window[w]=l[w]},unregister:function(l){if(typeof l=='undefined'||!Array.isArray(l))throw Error('`variables` needs to ba an array');for(let w=0,I=l.length;w<I;w++)delete window[l[w]]},initialized:[]},ready:function(l,w){readyFired?_whenDepsSettled(function(){setTimeout(function(){l(w)},1)}):(readyList.push({name:'anonymous',fn:l,ctx:w}),document.readyState==='complete'||!document.attachEvent&&
646
646
  document.readyState==='interactive'?setTimeout(ready,1):readyEventHandlersInstalled||(document.addEventListener?(document.addEventListener('DOMContentLoaded',ready,!1),window.addEventListener('load',ready,!1)):(document.attachEvent('onreadystatechange',readyStateChange),window.attachEvent('onload',ready)),readyEventHandlersInstalled=!0))}};window.gina=gina}define('core',['require','gina'],function(l){l('gina')(window.gina)});require.config({packages:['gina']});
647
- require('vendor/engine.io core helpers/prototypes helpers/binding helpers/dateFormat gina/link gina/validator gina/popin gina/storage gina/nav utils/dom utils/events utils/data utils/effects utils/polyfill lib/inherits lib/form-validator lib/collection lib/domain lib/routing lib/loading-state'.split(' '),function(){var l=0,w=function(){try{if(!window.gina||!window.gina.isFrameworkLoaded)l++<100&&(window.setTimeout||function(E){E()})(w,50);else if(!window.gina.hasPopinHandler){var C=require('gina/popin');
648
- if(typeof C=='function')(new C({name:'gina-dialog-boot'})).on('ready',function(){})}}catch(E){typeof console!='undefined'&&console.error&&console.error('[gina] popin boot failed',E.stack||E)}};w();var I=0,N=function(){try{if(!window.gina||!window.gina.isFrameworkLoaded||!_ginaDepsSettled)I++<100&&(window.setTimeout||function(aa){aa()})(N,50);else if(!window.gina.hasValidator){var C=window.gina.forms,E=C&&C.rules?C.rules:null;if(E&&Object.keys(E).length){var K=require('gina/validator');if(typeof K==
649
- 'function')(new K(E)).on('ready',function(){})}}}catch(aa){typeof console!='undefined'&&console.error&&console.error('[gina] validator boot failed',aa.stack||aa)}};N();var P=0,J=function(){try{if(!window.gina||!window.gina.isFrameworkLoaded)P++<100&&(window.setTimeout||function(E){E()})(J,50);else if(!window.gina.hasNavHandler&&typeof document.querySelector=='function'&&document.querySelector('[data-gina-nav]:not([data-gina-nav="false"])')){var C=require('gina/nav');if(typeof C=='function')(new C({})).on('ready',
650
- function(){})}}catch(E){typeof console!='undefined'&&console.error&&console.error('[gina] nav boot failed',E.stack||E)}};J()});
651
- function getDependencies(l,w){var I=new EventTarget,N=[{func:async function(P,J){J=J.url;var C=null,E=null,K=null;try{C=await fetch(J);if(!C.ok)throw Error('[ROUTING] HTTP '+C.status+' fetching '+J);E=await C.text();typeof l=='undefined'&&(l={});typeof window.gina.config=='undefined'&&(l.config={});l.config[P]=JSON.parse(E);I.dispatchEvent(new CustomEvent('deps.loaded',{detail:{data:E,error:K,timestamp:new Date}}))}catch(aa){K=Error('[ROUTING] Could not load routing\n'+(aa.stack||aa.message||aa)),
652
- I.dispatchEvent(new CustomEvent('deps.loaded',{detail:{data:null,error:K,timestamp:new Date}}))}},args:['routing',{url:(typeof window!=='undefined'&&window.__ginaWebroot||l&&l.config&&l.config.webroot||'/')+'_gina/assets/routing.json'}]}];I.addEventListener('deps.loaded',P=>{P&&P.detail&&P.detail.error&&typeof console!='undefined'&&console.error&&console.error('[gina] routing dependency failed to load \u2014 client getRoute()/toUrl() will be degraded until reload:',P.detail.error.stack||P.detail.error.message||
653
- P.detail.error);N.splice(0,1);N.length||(_settleDeps(),w())});try{for(let P=0,J=N.length;P<J;P++)N[P].func.apply(null,N[P].args)}catch(P){console.error(P.stack||P.message||P)}}
647
+ require('vendor/engine.io core helpers/prototypes helpers/binding helpers/dateFormat gina/link gina/validator gina/popin gina/storage gina/nav utils/dom utils/events utils/data utils/effects utils/polyfill lib/inherits lib/form-validator lib/collection lib/domain lib/routing lib/loading-state'.split(' '),function(){var l=0,w=function(){try{if(!window.gina||!window.gina.isFrameworkLoaded)l++<100&&(window.setTimeout||function(G){G()})(w,50);else if(!window.gina.hasPopinHandler){var C=require('gina/popin');
648
+ if(typeof C=='function')(new C({name:'gina-dialog-boot'})).on('ready',function(){})}}catch(G){typeof console!='undefined'&&console.error&&console.error('[gina] popin boot failed',G.stack||G)}};w();var I=0,N=function(){try{if(!window.gina||!window.gina.isFrameworkLoaded||!_ginaDepsSettled)I++<100&&(window.setTimeout||function(Z){Z()})(N,50);else if(!window.gina.hasValidator){var C=window.gina.forms,G=C&&C.rules?C.rules:null;if(G&&Object.keys(G).length){var K=require('gina/validator');if(typeof K==
649
+ 'function')(new K(G)).on('ready',function(){})}}}catch(Z){typeof console!='undefined'&&console.error&&console.error('[gina] validator boot failed',Z.stack||Z)}};N();var P=0,J=function(){try{if(!window.gina||!window.gina.isFrameworkLoaded)P++<100&&(window.setTimeout||function(G){G()})(J,50);else if(!window.gina.hasNavHandler&&typeof document.querySelector=='function'&&document.querySelector('[data-gina-nav]:not([data-gina-nav="false"])')){var C=require('gina/nav');if(typeof C=='function')(new C({})).on('ready',
650
+ function(){})}}catch(G){typeof console!='undefined'&&console.error&&console.error('[gina] nav boot failed',G.stack||G)}};J()});
651
+ function getDependencies(l,w){var I=new EventTarget,N=[{func:async function(P,J){J=J.url;var C=null,G=null,K=null;try{C=await fetch(J);if(!C.ok)throw Error('[ROUTING] HTTP '+C.status+' fetching '+J);G=await C.text();typeof l=='undefined'&&(l={});typeof window.gina.config=='undefined'&&(l.config={});l.config[P]=JSON.parse(G);I.dispatchEvent(new CustomEvent('deps.loaded',{detail:{data:G,error:K,timestamp:new Date}}))}catch(Z){K=Error('[ROUTING] Could not load routing\n'+(Z.stack||Z.message||Z)),I.dispatchEvent(new CustomEvent('deps.loaded',
652
+ {detail:{data:null,error:K,timestamp:new Date}}))}},args:['routing',{url:(typeof window!=='undefined'&&window.__ginaWebroot||l&&l.config&&l.config.webroot||'/')+'_gina/assets/routing.json'}]}];I.addEventListener('deps.loaded',P=>{P&&P.detail&&P.detail.error&&typeof console!='undefined'&&console.error&&console.error('[gina] routing dependency failed to load \u2014 client getRoute()/toUrl() will be degraded until reload:',P.detail.error.stack||P.detail.error.message||P.detail.error);N.splice(0,1);N.length||
653
+ (_settleDeps(),w())});try{for(let P=0,J=N.length;P<J;P++)N[P].func.apply(null,N[P].args)}catch(P){console.error(P.stack||P.message||P)}}
654
654
  for(var tags=document.getElementsByTagName('script'),t=0,len=tags.length;t<len;++t)if(/(gina\.min\.js|gina\.js)/.test(tags[t].getAttribute('src'))){tags[t].onload=function(l){console.debug('Core Gina loaded !');getDependencies(gina,function(){if(window.onGinaLoaded)var w=window.onGinaLoaded;document.addEventListener?document.addEventListener('ginaloaded',function(I){window.gina=I.detail;w(I.detail)}):document.attachEvent&&document.attachEvent('ginaloaded',function(I){window.gina=I.detail;w(I.detail)})})}();
655
655
  break};