xrono 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (520) hide show
  1. data/.gitignore +19 -0
  2. data/.rspec +1 -0
  3. data/.travis.yml +20 -0
  4. data/Gemfile +30 -0
  5. data/Gemfile.lock +336 -0
  6. data/LICENSE +21 -0
  7. data/README.md +64 -0
  8. data/RELEASE_NOTES.md +83 -0
  9. data/Rakefile +15 -0
  10. data/XRONO.md +64 -0
  11. data/app/assets/images/chosen-sprite.png +0 -0
  12. data/app/assets/images/grid.png +0 -0
  13. data/app/assets/images/isotope_logo.png +0 -0
  14. data/app/assets/images/logo.png +0 -0
  15. data/app/assets/images/logo_122x40.png +0 -0
  16. data/app/assets/images/logo_97x40.png +0 -0
  17. data/app/assets/images/main_bg.jpg +0 -0
  18. data/app/assets/images/nav_bg.jpg +0 -0
  19. data/app/assets/images/rails.png +0 -0
  20. data/app/assets/images/top_bg.jpg +0 -0
  21. data/app/assets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  22. data/app/assets/images/ui-bg_flat_0_fbf9ee_40x100.png +0 -0
  23. data/app/assets/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  24. data/app/assets/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
  25. data/app/assets/images/ui-bg_flat_75_cccccc_40x100.png +0 -0
  26. data/app/assets/images/ui-bg_flat_75_dadada_40x100.png +0 -0
  27. data/app/assets/images/ui-bg_flat_75_e6e6e6_40x100.png +0 -0
  28. data/app/assets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  29. data/app/assets/images/ui-bg_flat_95_fef1ec_40x100.png +0 -0
  30. data/app/assets/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  31. data/app/assets/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  32. data/app/assets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  33. data/app/assets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  34. data/app/assets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  35. data/app/assets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  36. data/app/assets/images/ui-icons_217bc0_256x240.png +0 -0
  37. data/app/assets/images/ui-icons_222222_256x240.png +0 -0
  38. data/app/assets/images/ui-icons_2e83ff_256x240.png +0 -0
  39. data/app/assets/images/ui-icons_454545_256x240.png +0 -0
  40. data/app/assets/images/ui-icons_469bdd_256x240.png +0 -0
  41. data/app/assets/images/ui-icons_6da8d5_256x240.png +0 -0
  42. data/app/assets/images/ui-icons_888888_256x240.png +0 -0
  43. data/app/assets/images/ui-icons_cd0a0a_256x240.png +0 -0
  44. data/app/assets/images/ui-icons_d8e7f3_256x240.png +0 -0
  45. data/app/assets/images/ui-icons_f9bd01_256x240.png +0 -0
  46. data/app/assets/javascripts/add_taxonomy.js.erb +307 -0
  47. data/app/assets/javascripts/admin_invoices.js +15 -0
  48. data/app/assets/javascripts/api/v1/clients.js.coffee +3 -0
  49. data/app/assets/javascripts/api/v1/tokens.js.coffee +3 -0
  50. data/app/assets/javascripts/application.js.erb +25 -0
  51. data/app/assets/javascripts/bootstrap-dropdown.js +92 -0
  52. data/app/assets/javascripts/bootstrap-tabs.js +80 -0
  53. data/app/assets/javascripts/bootstrap.js.coffee +4 -0
  54. data/app/assets/javascripts/calendar.js +25 -0
  55. data/app/assets/javascripts/chosen.jquery.js +898 -0
  56. data/app/assets/javascripts/client_login/clients.js.coffee +3 -0
  57. data/app/assets/javascripts/client_login/reports.js.coffee +3 -0
  58. data/app/assets/javascripts/comments.js +16 -0
  59. data/app/assets/javascripts/css_browser_selector.js +8 -0
  60. data/app/assets/javascripts/dashboard.js +3 -0
  61. data/app/assets/javascripts/data_vaults.js.coffee +3 -0
  62. data/app/assets/javascripts/file_attachments.js +9 -0
  63. data/app/assets/javascripts/jquery-tagselector.js +50 -0
  64. data/app/assets/javascripts/jquery-ui-1.8.16.custom.min.js +791 -0
  65. data/app/assets/javascripts/jquery.jeditable.js +543 -0
  66. data/app/assets/javascripts/jquery_ujs.js +336 -0
  67. data/app/assets/javascripts/schedule_modal.js +25 -0
  68. data/app/assets/javascripts/specify_project.js +21 -0
  69. data/app/assets/javascripts/ticket_board.js +104 -0
  70. data/app/assets/stylesheets/_jquery-ui-1.8.16.custom.css +568 -0
  71. data/app/assets/stylesheets/application.css +7 -0
  72. data/app/assets/stylesheets/bootstrap_and_overrides.css.scss +41 -0
  73. data/app/assets/stylesheets/chosen.css +367 -0
  74. data/app/assets/stylesheets/client_login/clients.css.scss +3 -0
  75. data/app/assets/stylesheets/client_login/reports.css.scss +3 -0
  76. data/app/assets/stylesheets/data_vaults.css.scss +3 -0
  77. data/app/assets/stylesheets/jquery-tagselector.css +49 -0
  78. data/app/assets/stylesheets/responsive.scss +650 -0
  79. data/app/assets/stylesheets/screen.scss +303 -0
  80. data/app/controllers/admin/base_controller.rb +18 -0
  81. data/app/controllers/admin/invoices_controller.rb +42 -0
  82. data/app/controllers/admin/payroll_controller.rb +29 -0
  83. data/app/controllers/admin/site_settings_controller.rb +19 -0
  84. data/app/controllers/admin/unentered_time_report_controller.rb +26 -0
  85. data/app/controllers/admin/users_controller.rb +86 -0
  86. data/app/controllers/admin/weekly_time_report_controller.rb +11 -0
  87. data/app/controllers/api/base_controller.rb +14 -0
  88. data/app/controllers/api/v1/base_controller.rb +2 -0
  89. data/app/controllers/api/v1/clients_controller.rb +10 -0
  90. data/app/controllers/api/v1/credentials_controller.rb +10 -0
  91. data/app/controllers/api/v1/projects_controller.rb +27 -0
  92. data/app/controllers/api/v1/tickets_controller.rb +46 -0
  93. data/app/controllers/api/v1/tokens_controller.rb +30 -0
  94. data/app/controllers/api/v1/work_units_controller.rb +23 -0
  95. data/app/controllers/client_login/base_controller.rb +3 -0
  96. data/app/controllers/client_login/clients_controller.rb +35 -0
  97. data/app/controllers/client_login/contacts_controller.rb +53 -0
  98. data/app/controllers/client_login/projects_controller.rb +24 -0
  99. data/app/controllers/client_login/reports_controller.rb +23 -0
  100. data/app/controllers/client_login/tickets_controller.rb +41 -0
  101. data/app/controllers/client_login/work_units_controller.rb +11 -0
  102. data/app/controllers/clients_controller.rb +103 -0
  103. data/app/controllers/comments_controller.rb +75 -0
  104. data/app/controllers/contacts_controller.rb +54 -0
  105. data/app/controllers/dashboard/base_controller.rb +79 -0
  106. data/app/controllers/data_vaults_controller.rb +12 -0
  107. data/app/controllers/doorkeeper/application_controller.rb +33 -0
  108. data/app/controllers/file_attachments_controller.rb +60 -0
  109. data/app/controllers/projects_controller.rb +62 -0
  110. data/app/controllers/tickets_controller.rb +48 -0
  111. data/app/controllers/users_controller.rb +57 -0
  112. data/app/controllers/work_units_controller.rb +114 -0
  113. data/app/controllers/xrono/application_controller.rb +65 -0
  114. data/app/helpers/admin/unentered_time_report_helper.rb +9 -0
  115. data/app/helpers/admin_base_helper.rb +14 -0
  116. data/app/helpers/clients_helper.rb +5 -0
  117. data/app/helpers/dashboard_helper.rb +9 -0
  118. data/app/helpers/gravatar_helper.rb +5 -0
  119. data/app/helpers/refurl_helper.rb +9 -0
  120. data/app/helpers/xrono/application_helper.rb +54 -0
  121. data/app/mailers/notifier.rb +18 -0
  122. data/app/models/chart_data.rb +20 -0
  123. data/app/models/client.rb +98 -0
  124. data/app/models/comment.rb +8 -0
  125. data/app/models/contact.rb +10 -0
  126. data/app/models/data_vault.rb +6 -0
  127. data/app/models/file_attachment.rb +8 -0
  128. data/app/models/project.rb +76 -0
  129. data/app/models/role.rb +3 -0
  130. data/app/models/roles_user.rb +4 -0
  131. data/app/models/site_settings.rb +4 -0
  132. data/app/models/ticket.rb +85 -0
  133. data/app/models/user.rb +147 -0
  134. data/app/models/weekly_time_report.rb +26 -0
  135. data/app/models/work_unit.rb +99 -0
  136. data/app/models/work_unit/finders.rb +67 -0
  137. data/app/views/admin/_nav.html.haml +1 -0
  138. data/app/views/admin/base/index.html.haml +3 -0
  139. data/app/views/admin/base/reports.html.haml +3 -0
  140. data/app/views/admin/invoices/index.html.haml +19 -0
  141. data/app/views/admin/invoices/show.html.haml +57 -0
  142. data/app/views/admin/payroll/index.html.haml +18 -0
  143. data/app/views/admin/payroll/show.html.haml +56 -0
  144. data/app/views/admin/site_settings/edit.html.haml +32 -0
  145. data/app/views/admin/unentered_time_report/_week_navigation.html.haml +6 -0
  146. data/app/views/admin/unentered_time_report/show.html.haml +16 -0
  147. data/app/views/admin/users/_form.html.haml +48 -0
  148. data/app/views/admin/users/_locked_users.html.haml +31 -0
  149. data/app/views/admin/users/_users_table.html.haml +25 -0
  150. data/app/views/admin/users/edit.html.haml +1 -0
  151. data/app/views/admin/users/index.html.haml +14 -0
  152. data/app/views/admin/users/locked_clients.html.haml +13 -0
  153. data/app/views/admin/users/locked_users.html.haml +13 -0
  154. data/app/views/admin/users/new.html.haml +1 -0
  155. data/app/views/admin/users/projects.html.haml +25 -0
  156. data/app/views/admin/users/unlocked_clients.html.haml +13 -0
  157. data/app/views/admin/weekly_time_report/_week_pagination.html.haml +11 -0
  158. data/app/views/admin/weekly_time_report/show.html.haml +41 -0
  159. data/app/views/client_login/_work_unit_index.haml +16 -0
  160. data/app/views/client_login/base/index.html.haml +18 -0
  161. data/app/views/client_login/clients/show.html.haml +32 -0
  162. data/app/views/client_login/contacts/_form.html.haml +34 -0
  163. data/app/views/client_login/contacts/edit.html.haml +4 -0
  164. data/app/views/client_login/contacts/index.html.haml +30 -0
  165. data/app/views/client_login/contacts/new.html.haml +5 -0
  166. data/app/views/client_login/contacts/show.html.haml +26 -0
  167. data/app/views/client_login/projects/_tickets.html.haml +31 -0
  168. data/app/views/client_login/projects/show.html.haml +8 -0
  169. data/app/views/client_login/reports/index.html.haml +4 -0
  170. data/app/views/client_login/reports/work_units.html.haml +96 -0
  171. data/app/views/client_login/tickets/_form.html.haml +33 -0
  172. data/app/views/client_login/tickets/new.html.haml +1 -0
  173. data/app/views/client_login/tickets/show.html.haml +23 -0
  174. data/app/views/client_login/work_units/show.html.haml +18 -0
  175. data/app/views/clients/_breadcrumbs.html.haml +2 -0
  176. data/app/views/clients/_clients_table.html.haml +24 -0
  177. data/app/views/clients/_form.html.haml +34 -0
  178. data/app/views/clients/_projects.html.haml +31 -0
  179. data/app/views/clients/edit.html.haml +1 -0
  180. data/app/views/clients/inactive_clients.html.haml +9 -0
  181. data/app/views/clients/index.html.haml +8 -0
  182. data/app/views/clients/new.html.haml +1 -0
  183. data/app/views/clients/show.html.haml +34 -0
  184. data/app/views/clients/suspended_clients.html.haml +8 -0
  185. data/app/views/comments/_comment.html.haml +46 -0
  186. data/app/views/comments/_comment_form.haml +29 -0
  187. data/app/views/comments/_comments.html.haml +3 -0
  188. data/app/views/contacts/_form.html.haml +34 -0
  189. data/app/views/contacts/edit.html.haml +1 -0
  190. data/app/views/contacts/index.html.haml +23 -0
  191. data/app/views/contacts/new.html.haml +1 -0
  192. data/app/views/contacts/show.html.haml +26 -0
  193. data/app/views/dashboard/base/_two_week_time_report.html.haml +13 -0
  194. data/app/views/dashboard/base/_week_pagination.html.haml +10 -0
  195. data/app/views/dashboard/base/calendar.html.haml +1 -0
  196. data/app/views/dashboard/base/calendar.js.erb +3 -0
  197. data/app/views/dashboard/base/index.html.haml +18 -0
  198. data/app/views/devise/confirmations/new.html.haml +9 -0
  199. data/app/views/devise/mailer/confirmation_instructions.html.haml +4 -0
  200. data/app/views/devise/mailer/reset_password_instructions.html.haml +6 -0
  201. data/app/views/devise/mailer/unlock_instructions.html.haml +5 -0
  202. data/app/views/devise/passwords/edit.html.haml +17 -0
  203. data/app/views/devise/passwords/new.html.haml +12 -0
  204. data/app/views/devise/registrations/edit.html.haml +36 -0
  205. data/app/views/devise/registrations/new.html.haml +32 -0
  206. data/app/views/devise/sessions/new.html.haml +22 -0
  207. data/app/views/devise/shared/_links.haml +15 -0
  208. data/app/views/devise/unlocks/new.html.haml +9 -0
  209. data/app/views/file_attachments/_file_attachment.html.haml +10 -0
  210. data/app/views/file_attachments/_file_attachment_combined.html.haml +30 -0
  211. data/app/views/file_attachments/_file_attachments.html.haml +5 -0
  212. data/app/views/file_attachments/new.html.haml +17 -0
  213. data/app/views/layouts/application.html.haml +32 -0
  214. data/app/views/layouts/doorkeeper.html.haml +31 -0
  215. data/app/views/notifier/daily.text.erb +8 -0
  216. data/app/views/notifier/work_unit_notification.text.erb +17 -0
  217. data/app/views/projects/_breadcrumbs.html.haml +5 -0
  218. data/app/views/projects/_form.html.haml +94 -0
  219. data/app/views/projects/_pie_chart_metrics.html.haml +4 -0
  220. data/app/views/projects/_specify.html.haml +11 -0
  221. data/app/views/projects/_ticket_table.html.haml +36 -0
  222. data/app/views/projects/edit.html.haml +2 -0
  223. data/app/views/projects/new.html.haml +2 -0
  224. data/app/views/projects/show.html.haml +57 -0
  225. data/app/views/shared/_calendar.html.haml +86 -0
  226. data/app/views/shared/_data_vault.html.haml +16 -0
  227. data/app/views/shared/_files_and_comments.html.haml +21 -0
  228. data/app/views/shared/_flashes.html.haml +10 -0
  229. data/app/views/shared/_javascripts.html.haml +8 -0
  230. data/app/views/shared/_menu.html.haml +14 -0
  231. data/app/views/shared/_user_roles.html.haml +7 -0
  232. data/app/views/shared/_work_unit_index.html.haml +24 -0
  233. data/app/views/tickets/_add_ticket.html.haml +27 -0
  234. data/app/views/tickets/_breadcrumbs.html.haml +8 -0
  235. data/app/views/tickets/_form.html.haml +40 -0
  236. data/app/views/tickets/_ticket_detail.html.haml +18 -0
  237. data/app/views/tickets/edit.html.haml +2 -0
  238. data/app/views/tickets/modal_new.html.haml +28 -0
  239. data/app/views/tickets/new.html.haml +1 -0
  240. data/app/views/tickets/show.html.haml +28 -0
  241. data/app/views/tickets/ticket_detail.html.haml +18 -0
  242. data/app/views/users/_change_password_form.haml +13 -0
  243. data/app/views/users/_user_head.html.haml +7 -0
  244. data/app/views/users/edit.haml +34 -0
  245. data/app/views/users/historical_time.html.haml +5 -0
  246. data/app/views/users/index.html.haml +18 -0
  247. data/app/views/users/show.html.haml +13 -0
  248. data/app/views/work_units/_add_work_unit.html.haml +81 -0
  249. data/app/views/work_units/_breadcrumbs.html.haml +11 -0
  250. data/app/views/work_units/_dashboard_line.html.haml +6 -0
  251. data/app/views/work_units/_edit_work_unit.haml +44 -0
  252. data/app/views/work_units/_shared_form.haml +40 -0
  253. data/app/views/work_units/edit.html.haml +2 -0
  254. data/app/views/work_units/index.html.haml +7 -0
  255. data/app/views/work_units/new.html.haml +6 -0
  256. data/app/views/work_units/show.html.haml +25 -0
  257. data/app/workers/daily_notifier_worker.rb +7 -0
  258. data/app/workers/work_unit_notifier_worker.rb +7 -0
  259. data/config.ru +7 -0
  260. data/config/admin_navigation.rb +71 -0
  261. data/config/admin_reports_navigation.rb +6 -0
  262. data/config/boot.rb +6 -0
  263. data/config/client_navigation.rb +64 -0
  264. data/config/cucumber.yml +8 -0
  265. data/config/initializers/00_requirements.rb +2 -0
  266. data/config/initializers/backtrace_silencers.rb +7 -0
  267. data/config/initializers/devise.rb +144 -0
  268. data/config/initializers/doorkeeper.rb +32 -0
  269. data/config/initializers/doorkeeper_monkeypatch.rb +66 -0
  270. data/config/initializers/github_concern.rb +4 -0
  271. data/config/initializers/haml.rb +13 -0
  272. data/config/initializers/inflections.rb +10 -0
  273. data/config/initializers/load_controller_mixins.rb +1 -0
  274. data/config/initializers/mime_types.rb +5 -0
  275. data/config/initializers/paper_clip.rb +1 -0
  276. data/config/initializers/simple_navigation.rb +1 -0
  277. data/config/initializers/wrap_parameters.rb +14 -0
  278. data/config/locales/devise.en.yml +39 -0
  279. data/config/locales/doorkeeper.en.yml +23 -0
  280. data/config/locales/en.yml +201 -0
  281. data/config/locales/faker.en.yml +48 -0
  282. data/config/navigation.rb +78 -0
  283. data/config/rackspace_cloudfiles.yml +14 -0
  284. data/config/routes.rb +113 -0
  285. data/config/secondary_navigation.rb +65 -0
  286. data/config/trinidad.yml +4 -0
  287. data/config/warble.rb +144 -0
  288. data/db/migrate/20100825165612_create_clients.rb +14 -0
  289. data/db/migrate/20100825185313_create_projects.rb +14 -0
  290. data/db/migrate/20100825223943_create_tickets.rb +16 -0
  291. data/db/migrate/20100902174920_create_work_units.rb +14 -0
  292. data/db/migrate/20100902190129_add_missing_fields_to_work_units.rb +13 -0
  293. data/db/migrate/20100904173839_add_guid_to_clients_projects_tickets_and_work_orders.rb +13 -0
  294. data/db/migrate/20100922181642_create_comments.rb +19 -0
  295. data/db/migrate/20100927180254_devise_create_users.rb +32 -0
  296. data/db/migrate/20100927184505_add_details_to_users.rb +13 -0
  297. data/db/migrate/20100927191329_add_user_to_work_units.rb +9 -0
  298. data/db/migrate/20100928163356_create_roles.rb +22 -0
  299. data/db/migrate/20100928203745_create_addresses.rb +19 -0
  300. data/db/migrate/20100928204544_create_contacts.rb +17 -0
  301. data/db/migrate/20101007175626_add_lockable_to_users.rb +11 -0
  302. data/db/migrate/20101020162216_add_paid_at_to_work_units_table.rb +9 -0
  303. data/db/migrate/20101020162516_add_check_number_to_work_units_table.rb +9 -0
  304. data/db/migrate/20101020215135_add_paid_field_to_work_units_table.rb +9 -0
  305. data/db/migrate/20101020215226_add_invoiced_field_to_work_units_table.rb +9 -0
  306. data/db/migrate/20101020215457_remove_paid_at_from_work_units_table.rb +9 -0
  307. data/db/migrate/20101020215624_remove_check_number_from_work_units_table.rb +9 -0
  308. data/db/migrate/20101025161443_add_invoiced_at_to_work_units_table.rb +9 -0
  309. data/db/migrate/20101026151900_add_initials_to_clients.rb +9 -0
  310. data/db/migrate/20101029145059_create_file_attachments.rb +18 -0
  311. data/db/migrate/20101030142615_add_guid_to_users.rb +9 -0
  312. data/db/migrate/20101102145137_add_paid_at_to_work_units.rb +9 -0
  313. data/db/migrate/20101112151337_add_active_to_comments.rb +9 -0
  314. data/db/migrate/20101119172727_add_recieves_email_to_contact.rb +10 -0
  315. data/db/migrate/20101122225423_projects_users.rb +11 -0
  316. data/db/migrate/20101129214537_remove_projects_users_table.rb +11 -0
  317. data/db/migrate/20101130225328_contact_receives_email.rb +9 -0
  318. data/db/migrate/20101202203051_add_address_to_contacts.rb +19 -0
  319. data/db/migrate/20101202214746_remove_address_table.rb +17 -0
  320. data/db/migrate/20101216214304_add_hours_type_to_work_unit.rb +9 -0
  321. data/db/migrate/20101217152455_add_effective_hours_to_work_units.rb +9 -0
  322. data/db/migrate/20101228154820_add_overtime_multiplier_to_clients_table.rb +9 -0
  323. data/db/migrate/20101228154951_add_overtime_multiplier_to_projects_table.rb +9 -0
  324. data/db/migrate/20101228155122_create_site_settings_table.rb +11 -0
  325. data/db/migrate/20110107190927_add_site_logo_columns_to_site_settings.rb +15 -0
  326. data/db/migrate/20110111155513_add_total_yearly_pto_per_user_to_site_settings.rb +9 -0
  327. data/db/migrate/20110111220015_add_not_valid_to_file_attachment.rb +9 -0
  328. data/db/migrate/20110125153818_add_fullwidth_to_users.rb +9 -0
  329. data/db/migrate/20110222162404_add_daily_target_hours_to_users.rb +9 -0
  330. data/db/migrate/20110310021732_add_client_to_site_settings.rb +9 -0
  331. data/db/migrate/20110630194044_add_expanded_calendar_to_user.rb +9 -0
  332. data/db/migrate/20110922175742_add_state_to_tickets.rb +9 -0
  333. data/db/migrate/20111212193345_add_estimated_hours_to_tickets.rb +5 -0
  334. data/db/migrate/20111216152557_add_client_boolean_to_user.rb +5 -0
  335. data/db/migrate/20111220193307_add_repo_and_branch_to_projects_and_ticket.rb +6 -0
  336. data/db/migrate/20111220193619_create_git_pushes.rb +9 -0
  337. data/db/migrate/20111220193620_create_git_commits.rb +10 -0
  338. data/db/migrate/20111220193621_add_user_id_to_git_push.rb +5 -0
  339. data/db/migrate/20111220193622_create_github_concernable_git_pushes.rb +11 -0
  340. data/db/migrate/20111227140859_add_token_to_user.rb +7 -0
  341. data/db/migrate/20120102185406_add_completed_boolean_to_ticket.rb +5 -0
  342. data/db/migrate/20120104132121_add_completed_to_project.rb +5 -0
  343. data/db/migrate/20120124184915_modify_project_for_new_git_integration.rb +11 -0
  344. data/db/migrate/20120125145833_add_rates_to_project.rb +6 -0
  345. data/db/migrate/20120126151009_create_data_vaults.rb +11 -0
  346. data/db/migrate/20120126151341_create_versions.rb +18 -0
  347. data/db/migrate/20120126154403_rename_column_data_to_encrypted_data.rb +8 -0
  348. data/db/migrate/20120221193022_add_index_to_user_id_on_work_units.rb +5 -0
  349. data/db/migrate/20120221195345_acts_as_taggable_on_migration.rb +30 -0
  350. data/db/migrate/20120320212313_remove_timestamps_from_roles_users_table.rb +11 -0
  351. data/db/migrate/20120710034831_create_doorkeeper_tables.rb +42 -0
  352. data/db/migrate/20121021122002_add_missing_indices.rb +21 -0
  353. data/doc/website/favicon.ico +0 -0
  354. data/doc/website/images/clock_box.png +0 -0
  355. data/doc/website/images/demo.png +0 -0
  356. data/doc/website/images/download.png +0 -0
  357. data/doc/website/images/fork_me.png +0 -0
  358. data/doc/website/images/lightbox-blank.gif +0 -0
  359. data/doc/website/images/lightbox-btn-close.gif +0 -0
  360. data/doc/website/images/lightbox-btn-next.gif +0 -0
  361. data/doc/website/images/lightbox-btn-prev.gif +0 -0
  362. data/doc/website/images/lightbox-ico-loading.gif +0 -0
  363. data/doc/website/images/main_bg.png +0 -0
  364. data/doc/website/images/nav_bg.png +0 -0
  365. data/doc/website/images/screen_1.png +0 -0
  366. data/doc/website/images/screen_2.png +0 -0
  367. data/doc/website/images/screen_3.png +0 -0
  368. data/doc/website/images/screen_4.png +0 -0
  369. data/doc/website/images/screen_5.png +0 -0
  370. data/doc/website/images/screen_6.png +0 -0
  371. data/doc/website/images/support.png +0 -0
  372. data/doc/website/images/thumb_1.png +0 -0
  373. data/doc/website/images/thumb_2.png +0 -0
  374. data/doc/website/images/thumb_3.png +0 -0
  375. data/doc/website/images/thumb_4.png +0 -0
  376. data/doc/website/images/thumb_5.png +0 -0
  377. data/doc/website/images/thumb_6.png +0 -0
  378. data/doc/website/images/xrono_logo.png +0 -0
  379. data/doc/website/index.html +274 -0
  380. data/doc/website/javascripts/application.js +18 -0
  381. data/doc/website/javascripts/greyscalebasic_regular.typeface.js +1 -0
  382. data/doc/website/javascripts/jquery.lightbox-0.5.min.js +42 -0
  383. data/doc/website/javascripts/jquery.min.js +32 -0
  384. data/doc/website/javascripts/jquery.tweet.js +181 -0
  385. data/doc/website/javascripts/typeface.js +873 -0
  386. data/doc/website/javascripts/verdana_regular.typeface.js +1 -0
  387. data/doc/website/stylesheets/jquery.lightbox.css +104 -0
  388. data/doc/website/stylesheets/jquery.tweet.css +38 -0
  389. data/doc/website/stylesheets/reset-fonts-grids.css +32 -0
  390. data/doc/website/stylesheets/screen.css +228 -0
  391. data/doc/xrono_dash.png +0 -0
  392. data/doc/xrono_ticket.png +0 -0
  393. data/features/admin/invoices.feature +37 -0
  394. data/features/admin/manage_users.feature +17 -0
  395. data/features/admin/payroll.feature +64 -0
  396. data/features/admin/roles.feature +9 -0
  397. data/features/admin/site_settings.feature +19 -0
  398. data/features/admin/unentered_time_report.feature +38 -0
  399. data/features/admin/weekly_time_report.feature +14 -0
  400. data/features/api/v1/clients_controller.feature +58 -0
  401. data/features/authorization-admin.feature +34 -0
  402. data/features/authorization-non-admin.feature +38 -0
  403. data/features/client_login.feature +15 -0
  404. data/features/collaborative_work_units.feature +112 -0
  405. data/features/daily_emails.feature +11 -0
  406. data/features/dashboard.feature +74 -0
  407. data/features/manage_clients.feature +116 -0
  408. data/features/manage_comments.feature +30 -0
  409. data/features/manage_contacts.feature +56 -0
  410. data/features/manage_file_attachments.feature +51 -0
  411. data/features/manage_projects.feature +92 -0
  412. data/features/manage_self.feature +48 -0
  413. data/features/manage_tickets.feature +74 -0
  414. data/features/manage_users.feature +76 -0
  415. data/features/manage_work_units.feature +115 -0
  416. data/features/mockups/images/asset-tracker-client-show.png +0 -0
  417. data/features/mockups/images/asset-tracker.png +0 -0
  418. data/features/mockups/images/ixi - asset tracker v3 homepage - no time entered modal.png +0 -0
  419. data/features/mockups/images/ixi - asset tracker v3 homepage - schedule on modal.png +0 -0
  420. data/features/mockups/images/ixi - asset tracker v3 homepage.png +0 -0
  421. data/features/mockups/ixi - asset tracker v3 homepage - no time entered modal.bmml +194 -0
  422. data/features/mockups/ixi - asset tracker v3 homepage - schedule on modal.bmml +208 -0
  423. data/features/mockups/ixi - asset tracker v3 homepage.bmml +172 -0
  424. data/features/project_assignment.feature +69 -0
  425. data/features/search_work_units.feature +38 -0
  426. data/features/step_definitions/calendar_expansion_steps.rb +7 -0
  427. data/features/step_definitions/client_login_steps.rb +8 -0
  428. data/features/step_definitions/client_steps.rb +29 -0
  429. data/features/step_definitions/comment_steps.rb +4 -0
  430. data/features/step_definitions/contact_steps.rb +22 -0
  431. data/features/step_definitions/debug_steps.rb +5 -0
  432. data/features/step_definitions/devise_steps.rb +26 -0
  433. data/features/step_definitions/email_steps.rb +74 -0
  434. data/features/step_definitions/file_attachment_steps.rb +8 -0
  435. data/features/step_definitions/modified_web_steps.rb +25 -0
  436. data/features/step_definitions/pickle_steps.rb +101 -0
  437. data/features/step_definitions/project_steps.rb +32 -0
  438. data/features/step_definitions/search_steps.rb +3 -0
  439. data/features/step_definitions/ticket_board_steps.rb +39 -0
  440. data/features/step_definitions/ticket_detail_steps.rb +9 -0
  441. data/features/step_definitions/ticket_steps.rb +12 -0
  442. data/features/step_definitions/unentered_time_report_steps.rb +3 -0
  443. data/features/step_definitions/user_steps.rb +43 -0
  444. data/features/step_definitions/web_steps.rb +274 -0
  445. data/features/step_definitions/weekly_time_report_steps.rb +7 -0
  446. data/features/step_definitions/work_unit_index_steps.rb +8 -0
  447. data/features/step_definitions/work_unit_steps.rb +39 -0
  448. data/features/support/email.rb +21 -0
  449. data/features/support/env.rb +80 -0
  450. data/features/support/paths.rb +96 -0
  451. data/features/support/pickle.rb +26 -0
  452. data/features/support/selectors.rb +51 -0
  453. data/features/support/xrono.rb +19 -0
  454. data/features/work_unit_notifier.feature +11 -0
  455. data/lib/controller_mixins.rb +5 -0
  456. data/lib/controller_mixins/authorization.rb +15 -0
  457. data/lib/controller_mixins/contacts.rb +37 -0
  458. data/lib/controller_mixins/generic.rb +15 -0
  459. data/lib/controller_mixins/tickets.rb +35 -0
  460. data/lib/controller_mixins/work_units.rb +13 -0
  461. data/lib/date_ext.rb +16 -0
  462. data/lib/guid_referenced.rb +19 -0
  463. data/lib/tasks/.gitkeep +0 -0
  464. data/lib/tasks/acts_as_commentable_tasks.rake +4 -0
  465. data/lib/tasks/cucumber.rake +65 -0
  466. data/lib/tasks/git_repo_tasks.rake +47 -0
  467. data/lib/tasks/notifications.rake +8 -0
  468. data/lib/tasks/paperclip_tasks.rake +79 -0
  469. data/lib/xrono.rb +1 -0
  470. data/lib/xrono/engine.rb +45 -0
  471. data/public/404.html +26 -0
  472. data/public/422.html +26 -0
  473. data/public/500.html +26 -0
  474. data/public/favicon.ico +0 -0
  475. data/public/favicon.psd +0 -0
  476. data/public/robots.txt +5 -0
  477. data/public/stylesheets/.gitkeep +0 -0
  478. data/public/stylesheets/ie.css +53 -0
  479. data/public/stylesheets/print.css +57 -0
  480. data/public/stylesheets/screen.css +182 -0
  481. data/script/cucumber +10 -0
  482. data/script/rails +6 -0
  483. data/spec/blueprints.rb +86 -0
  484. data/spec/controllers/api/v1/clients_controller_spec.rb +41 -0
  485. data/spec/controllers/api/v1/projects_controller_spec.rb +54 -0
  486. data/spec/controllers/api/v1/tickets_controller_spec.rb +122 -0
  487. data/spec/controllers/api/v1/tokens_controller_spec.rb +52 -0
  488. data/spec/controllers/client_login/clients_controller_spec.rb +5 -0
  489. data/spec/controllers/client_login/reports_controller_spec.rb +5 -0
  490. data/spec/controllers/data_vaults_controller_spec.rb +5 -0
  491. data/spec/internal/app/controllers/application_controller.rb +5 -0
  492. data/spec/internal/config/admin_navigation.rb +71 -0
  493. data/spec/internal/config/database.yml +14 -0
  494. data/spec/internal/config/database.yml.example +20 -0
  495. data/spec/internal/config/database.yml.mysql +20 -0
  496. data/spec/internal/config/database.yml.mysql.jruby +20 -0
  497. data/spec/internal/config/database.yml.postgres +20 -0
  498. data/spec/internal/config/database.yml.postgres.jruby +20 -0
  499. data/spec/internal/config/navigation.rb +80 -0
  500. data/spec/internal/config/routes.rb +3 -0
  501. data/spec/internal/config/secondary_navigation.rb +65 -0
  502. data/spec/internal/db/schema.rb +296 -0
  503. data/spec/internal/log/.gitignore +1 -0
  504. data/spec/internal/public/favicon.ico +0 -0
  505. data/spec/internal/public/system/attachment_files/2/original/tmp.txt +1 -0
  506. data/spec/internal/public/system/attachment_files/3/original/tmp.txt +1 -0
  507. data/spec/lib/date_ext_spec.rb +40 -0
  508. data/spec/mailers/notifier_spec.rb +9 -0
  509. data/spec/models/client_spec.rb +167 -0
  510. data/spec/models/contact_spec.rb +29 -0
  511. data/spec/models/data_vault_spec.rb +5 -0
  512. data/spec/models/project_spec.rb +115 -0
  513. data/spec/models/ticket_spec.rb +223 -0
  514. data/spec/models/user_spec.rb +258 -0
  515. data/spec/models/work_unit_spec.rb +467 -0
  516. data/spec/spec_helper.rb +44 -0
  517. data/spec/support/xrono/macros.rb +15 -0
  518. data/vendor/plugins/.gitkeep +0 -0
  519. data/xrono.gemspec +50 -0
  520. metadata +1209 -0
@@ -0,0 +1,18 @@
1
+ $(document).ready(function(){
2
+
3
+ $('#gallery a').lightBox({fixedNavigation:true});
4
+
5
+ $(".tweet").tweet({
6
+ username: "xrono_app",
7
+ join_text: "auto",
8
+ avatar_size: 32,
9
+ count: 3,
10
+ auto_join_text_default: "we said,",
11
+ auto_join_text_ed: "we",
12
+ auto_join_text_ing: "we were",
13
+ auto_join_text_reply: "we replied to",
14
+ auto_join_text_url: "we were checking out",
15
+ loading_text: "loading tweets..."
16
+ });
17
+
18
+ });
@@ -0,0 +1 @@
1
+ if (_typeface_js && _typeface_js.loadFace) _typeface_js.loadFace({"glyphs":{"S":{"x_min":42,"x_max":693.15625,"ha":731,"o":"m 251 980 q 158 942 198 980 q 121 849 121 902 q 159 756 121 795 l 621 348 q 669 280 654 319 q 685 202 685 242 q 669 122 685 159 q 625 58 653 86 q 561 15 597 31 q 483 0 525 0 l 76 0 q 51 11 61 0 q 42 34 42 22 q 51 60 42 49 q 76 72 61 72 l 483 72 q 576 110 539 72 q 613 202 613 148 q 574 295 613 258 l 111 703 q 65 771 82 732 q 49 849 49 809 q 64 926 49 889 q 107 992 79 963 q 251 1051 168 1051 l 658 1051 q 683 1040 673 1051 q 693 1014 694 1030 q 683 989 693 999 q 658 980 673 980 l 251 980 "},"/":{"x_min":29.25,"x_max":604.5625,"ha":628,"o":"m 583 1045 q 602 1025 598 1038 q 601 997 606 1011 l 97 18 q 76 0 90 5 q 48 1 62 -4 q 31 22 36 8 q 33 50 26 37 l 537 1030 q 557 1049 543 1045 q 583 1045 572 1052 "},"y":{"x_min":66.75,"x_max":655.734375,"ha":681,"o":"m 634 680 q 653 659 648 673 q 652 631 658 645 l 250 -225 q 228 -244 243 -238 q 201 -243 213 -250 q 181 -222 186 -236 q 183 -194 177 -209 l 327 111 l 70 630 q 68 659 63 645 q 86 680 73 672 q 113 681 100 687 q 133 662 126 676 l 366 193 l 587 662 q 607 681 594 676 q 634 680 620 687 "},"Á":{"x_min":44.71875,"x_max":900.5,"ha":959,"o":"m 440 1127 q 429 1153 429 1139 q 438 1180 429 1168 l 491 1231 q 517 1240 502 1240 q 543 1229 532 1240 q 553 1205 553 1220 q 543 1181 553 1191 l 490 1129 q 464 1118 479 1118 q 440 1127 450 1118 m 898 46 q 896 19 903 32 q 875 0 890 6 q 848 1 861 -5 q 830 24 834 8 l 719 345 l 224 345 l 115 24 q 96 1 109 8 q 69 0 83 -5 q 49 19 56 6 q 47 46 41 32 l 383 1025 q 416 1051 392 1051 l 525 1051 q 559 1025 550 1051 l 898 46 m 694 417 l 500 980 l 442 980 l 251 417 l 694 417 "},"g":{"x_min":61,"x_max":596,"ha":693,"o":"m 596 21 q 574 -82 596 -34 q 516 -166 552 -130 q 429 -223 479 -202 q 326 -244 380 -244 l 149 -244 q 125 -234 135 -244 q 115 -209 115 -224 q 125 -184 115 -193 q 150 -174 136 -174 l 326 -174 q 402 -159 366 -174 q 464 -117 437 -144 q 508 -55 492 -91 q 524 20 524 -19 l 524 83 q 435 21 485 43 q 326 0 385 0 q 224 20 273 0 q 138 77 175 40 q 80 163 99 113 q 61 266 61 212 l 61 416 q 80 518 61 469 q 138 604 99 566 q 224 662 175 643 q 326 682 273 682 q 435 659 385 682 q 524 597 485 637 l 524 647 q 533 672 524 662 q 558 682 543 682 q 584 672 573 682 q 596 647 596 662 l 596 21 m 326 69 q 402 84 366 69 q 464 127 437 100 q 508 189 492 154 q 524 266 524 225 l 524 416 q 508 492 524 456 q 464 554 492 527 q 402 597 437 581 q 326 612 366 612 q 187 554 248 612 q 145 490 159 526 q 132 416 132 454 l 132 266 q 187 126 132 186 q 252 84 216 100 q 326 69 287 69 "},"–":{"x_min":62,"x_max":502,"ha":560,"o":"m 467 559 q 490 549 479 559 q 502 524 502 540 q 490 499 502 509 q 467 490 479 490 l 99 490 q 73 499 84 490 q 62 524 62 509 q 73 549 62 540 q 99 559 84 559 l 467 559 "},"ë":{"x_min":81,"x_max":616,"ha":669,"o":"m 349 682 q 538 604 460 682 q 595 517 575 566 q 616 416 616 469 l 616 348 q 605 322 616 332 q 580 312 595 312 l 152 312 l 152 266 q 167 189 152 224 q 209 126 182 153 q 272 84 236 99 q 349 69 307 69 l 500 69 q 525 59 515 69 q 535 34 535 50 q 525 9 535 19 q 500 0 515 0 l 348 0 q 244 20 293 0 q 159 77 196 41 q 101 162 122 113 q 81 266 81 211 l 81 416 q 100 518 81 469 q 160 604 119 566 q 246 662 197 643 q 349 682 295 682 m 544 416 q 529 490 544 453 q 486 554 514 526 q 349 612 431 612 q 273 597 309 612 q 210 554 238 581 q 167 490 182 526 q 152 416 152 453 l 152 383 l 544 383 l 544 416 m 152 801 q 161 827 152 817 q 186 838 171 838 q 212 827 202 838 q 223 801 223 817 q 212 776 223 786 q 186 767 202 767 q 161 776 171 767 q 152 801 152 786 m 473 801 q 482 827 473 817 q 507 838 492 838 q 533 827 523 838 q 544 801 544 817 q 533 776 544 786 q 507 767 523 767 q 482 776 492 767 q 473 801 473 786 "},"Î":{"x_min":-10,"x_max":308,"ha":297,"o":"m 195 1127 q 184 1154 184 1139 q 193 1180 184 1169 l 246 1231 q 272 1242 257 1242 q 298 1230 287 1242 q 308 1206 308 1220 q 298 1181 308 1191 l 245 1129 q 219 1118 234 1118 q 195 1127 205 1118 m 104 1128 q 78 1117 93 1117 q 52 1126 63 1117 l 1 1179 q -10 1204 -10 1190 q 1 1230 -10 1219 q 26 1240 11 1240 q 51 1230 41 1240 l 104 1177 q 114 1152 114 1166 q 104 1128 114 1138 m 143 1051 q 168 1040 158 1051 q 179 1014 179 1030 l 179 34 q 168 9 179 19 q 143 0 158 0 q 117 9 127 0 q 107 34 107 19 l 107 1014 q 117 1040 107 1030 q 143 1051 127 1051 "},"e":{"x_min":81,"x_max":616,"ha":669,"o":"m 349 682 q 538 604 460 682 q 595 517 575 566 q 616 416 616 469 l 616 348 q 605 322 616 332 q 580 312 595 312 l 152 312 l 152 266 q 167 189 152 224 q 209 126 182 153 q 272 84 236 99 q 349 69 307 69 l 500 69 q 525 59 515 69 q 535 34 535 50 q 525 9 535 19 q 500 0 515 0 l 348 0 q 244 20 293 0 q 159 77 196 41 q 101 162 122 113 q 81 266 81 211 l 81 416 q 100 518 81 469 q 160 604 119 566 q 246 662 197 643 q 349 682 295 682 m 544 416 q 529 490 544 453 q 486 554 514 526 q 349 612 430 612 q 273 597 308 612 q 210 554 238 581 q 167 490 182 526 q 152 416 152 453 l 152 383 l 544 383 l 544 416 "},"Ã":{"x_min":44.390625,"x_max":899.890625,"ha":958,"o":"m 330 1107 q 305 1108 318 1102 q 285 1128 292 1114 q 287 1214 266 1173 q 350 1272 307 1256 q 397 1279 374 1279 q 441 1267 420 1279 q 473 1239 457 1256 q 495 1203 488 1223 q 518 1177 502 1185 q 555 1177 535 1170 q 584 1198 573 1181 q 587 1214 587 1203 q 585 1234 587 1224 q 584 1260 578 1248 q 602 1280 589 1273 q 626 1277 613 1283 q 646 1256 639 1272 q 651 1214 651 1237 q 641 1171 651 1191 q 577 1116 621 1128 q 532 1111 555 1109 q 491 1121 510 1113 q 457 1146 471 1130 q 434 1184 442 1162 q 410 1209 427 1199 q 398 1212 407 1212 q 377 1209 388 1212 q 350 1187 360 1203 q 346 1150 339 1170 q 346 1125 350 1138 q 330 1107 341 1112 m 898 46 q 896 19 902 32 q 874 0 889 6 q 847 1 860 -5 q 830 24 834 8 l 719 345 l 224 345 l 114 24 q 96 1 109 8 q 68 0 82 -5 q 48 19 56 6 q 46 46 41 32 l 382 1025 q 416 1051 392 1051 l 524 1051 q 559 1025 549 1051 l 898 46 m 694 417 l 499 980 l 442 980 l 250 417 l 694 417 "},"J":{"x_min":0,"x_max":409.4375,"ha":496,"o":"m 374 1051 q 399 1040 390 1051 q 409 1014 409 1030 l 409 374 q 380 229 409 297 q 300 110 351 161 q 181 29 249 59 q 36 0 113 0 q 10 9 20 0 q 0 34 0 19 q 10 60 0 49 q 36 72 20 72 q 154 95 98 72 q 251 160 209 119 q 316 257 292 202 q 340 374 340 312 l 340 1014 q 349 1040 340 1030 q 374 1051 359 1051 "},"»":{"x_min":52.046875,"x_max":639,"ha":656,"o":"m 405 552 q 413 539 410 547 q 417 525 417 531 q 413 511 417 518 q 405 497 410 504 l 110 252 q 85 243 98 241 q 60 256 71 245 q 52 281 50 268 q 65 306 54 295 l 323 525 l 65 743 q 52 766 54 751 q 60 791 50 780 q 85 804 71 802 q 110 797 98 805 l 405 552 m 627 552 q 635 539 632 547 q 639 525 639 531 q 635 511 639 518 q 627 497 632 504 l 332 252 q 307 243 321 241 q 282 256 293 245 q 274 281 272 268 q 287 306 276 295 l 546 525 l 287 743 q 274 766 276 751 q 282 791 272 780 q 307 804 293 802 q 332 797 321 805 l 627 552 "},"‐":{"x_min":68,"x_max":508,"ha":587,"o":"m 473 559 q 496 549 485 559 q 508 524 508 540 q 496 499 508 509 q 473 490 485 490 l 105 490 q 79 499 90 490 q 68 524 68 509 q 79 549 68 540 q 105 559 90 559 l 473 559 "}," ":{"x_min":0,"x_max":0,"ha":656},"©":{"x_min":71,"x_max":868,"ha":942,"o":"m 536 352 q 562 342 550 352 q 574 318 574 332 q 562 295 574 304 q 536 287 550 287 l 461 287 q 391 300 423 287 q 335 338 359 314 q 296 394 310 362 q 283 463 283 426 l 283 590 q 296 658 283 626 q 335 715 310 691 q 391 754 359 740 q 461 768 423 768 l 536 768 q 562 756 550 768 q 574 734 574 745 q 562 713 574 722 q 536 704 550 704 l 461 704 q 416 694 437 704 q 380 669 395 684 q 356 633 365 653 q 347 589 347 612 l 347 463 q 380 384 347 417 q 461 352 413 352 l 536 352 m 470 927 q 625 895 552 927 q 751 810 697 864 q 836 683 805 756 q 868 527 868 610 q 836 372 868 445 q 751 244 805 299 q 625 157 697 189 q 470 126 552 126 q 314 157 387 126 q 187 244 241 189 q 102 372 133 299 q 71 527 71 445 q 102 683 71 610 q 187 810 133 756 q 314 895 241 864 q 470 927 387 927 m 470 193 q 600 219 540 193 q 706 291 660 245 q 777 397 751 337 q 804 527 804 458 q 777 657 804 596 q 706 764 751 719 q 600 835 660 809 q 470 862 540 862 q 338 835 399 862 q 232 764 277 809 q 161 657 187 719 q 136 527 136 596 q 161 397 136 458 q 232 291 187 337 q 338 219 277 245 q 470 193 399 193 "},"ò":{"x_min":61,"x_max":596,"ha":695,"o":"m 382 794 q 356 783 371 783 q 330 792 341 783 l 279 845 q 268 871 268 856 q 279 897 268 886 q 304 907 289 907 q 329 897 319 907 l 382 844 q 392 818 392 833 q 382 794 392 804 m 516 604 q 575 518 554 566 q 596 416 596 469 l 596 266 q 575 162 596 211 q 517 77 554 113 q 432 20 480 41 q 327 0 383 0 q 223 20 272 0 q 138 77 174 41 q 81 162 102 113 q 61 266 61 211 l 61 416 q 81 518 61 469 q 138 604 101 566 q 226 662 177 643 q 327 682 274 682 q 430 662 381 682 q 516 604 479 643 m 327 69 q 403 84 367 69 q 465 127 438 100 q 509 189 493 154 q 525 266 525 225 l 525 416 q 509 490 525 454 q 466 554 494 526 q 327 612 408 612 q 190 554 245 612 q 147 490 162 526 q 133 416 133 454 l 133 266 q 148 189 133 225 q 190 127 163 154 q 251 84 216 100 q 327 69 287 69 "},"^":{"x_min":33.6875,"x_max":594.640625,"ha":628,"o":"m 581 688 q 556 679 570 676 q 533 693 541 682 l 315 951 l 97 693 q 72 679 86 682 q 47 688 58 676 q 34 710 36 696 q 43 736 31 725 l 287 1032 q 315 1045 302 1045 q 343 1032 330 1045 l 587 736 q 594 710 595 725 q 581 688 593 696 "},"«":{"x_min":8,"x_max":595.828125,"ha":665,"o":"m 364 791 q 373 766 375 780 q 359 743 370 751 l 100 525 l 359 306 q 373 281 370 295 q 364 256 375 268 q 341 243 356 245 q 316 252 327 241 l 20 497 q 8 525 8 512 q 20 552 8 540 l 316 797 q 341 804 327 805 q 364 791 356 802 m 586 791 q 595 766 598 780 q 581 743 592 751 l 323 525 l 581 306 q 595 281 592 295 q 586 256 598 268 q 564 243 578 245 q 538 252 549 241 l 242 497 q 230 525 230 512 q 242 552 230 540 l 538 797 q 564 804 549 805 q 586 791 578 802 "},"D":{"x_min":106,"x_max":814,"ha":895,"o":"m 437 1051 q 584 1021 515 1051 q 703 941 652 992 q 784 821 754 889 q 814 676 814 753 l 814 374 q 784 229 814 297 q 703 110 754 161 q 584 29 652 59 q 437 0 515 0 l 140 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 437 1051 m 742 675 q 719 792 742 737 q 651 889 696 848 q 555 957 610 934 q 437 980 500 980 l 175 980 l 175 72 l 437 72 q 555 95 500 72 q 653 160 611 119 q 718 257 694 202 q 742 374 742 312 l 742 675 "},"ÿ":{"x_min":66.75,"x_max":655.515625,"ha":680,"o":"m 634 680 q 653 660 648 673 q 652 632 658 646 l 250 -224 q 228 -244 243 -238 q 201 -242 213 -249 q 181 -222 186 -235 q 183 -194 177 -209 l 327 111 l 70 630 q 68 659 63 646 q 86 680 73 672 q 113 682 100 687 q 133 662 126 676 l 366 193 l 587 662 q 607 682 594 676 q 634 680 620 687 m 225 801 q 234 827 225 817 q 259 838 244 838 q 285 827 275 838 q 296 801 296 817 q 285 776 296 786 q 259 767 275 767 q 234 776 244 767 q 225 801 225 786 m 451 801 q 460 827 451 817 q 485 838 470 838 q 511 827 501 838 q 522 801 522 817 q 511 776 522 786 q 485 767 501 767 q 460 776 470 767 q 451 801 451 786 "},"à ":{"x_min":83,"x_max":216,"ha":248,"o":"m 104 781 q 93 808 93 793 q 102 834 93 823 l 155 886 q 180 896 166 896 q 206 884 195 896 q 216 860 216 875 q 206 836 216 845 l 154 783 q 128 772 142 772 q 104 781 114 772 m 154 37 q 143 10 154 20 q 117 1 133 1 q 83 37 83 1 l 83 647 q 92 672 83 662 q 117 682 102 682 q 143 672 133 682 q 154 647 154 662 l 154 37 "}," ":{"x_min":0,"x_max":0,"ha":164},"ˆ":{"x_min":15.640625,"x_max":354.375,"ha":372,"o":"m 341 819 q 315 811 330 808 q 293 824 301 813 l 186 949 l 79 824 q 54 811 68 813 q 29 819 40 808 q 15 842 18 827 q 25 867 13 856 l 158 1030 q 186 1043 173 1043 q 213 1030 201 1043 l 347 867 q 354 842 355 856 q 341 819 352 827 "},"w":{"x_min":78.375,"x_max":849.40625,"ha":928,"o":"m 822 680 q 844 664 837 677 q 848 637 851 651 l 697 27 q 662 0 690 0 l 615 0 q 580 27 587 0 l 468 495 l 348 27 q 312 0 340 0 l 268 0 q 230 27 238 0 l 79 637 q 83 664 76 651 q 104 680 90 677 q 132 675 119 683 q 148 655 145 668 l 290 86 l 433 655 q 469 682 443 682 q 490 674 480 682 q 502 655 500 666 l 638 87 l 779 655 q 795 675 783 668 q 822 680 806 683 "},"$":{"x_min":53,"x_max":573,"ha":619,"o":"m 524 411 q 560 356 547 386 q 573 294 573 326 q 560 232 573 262 q 527 183 547 202 q 414 136 475 136 l 352 136 l 352 37 q 343 13 352 22 q 318 4 334 4 q 295 13 304 4 q 287 37 287 22 l 287 136 l 88 136 q 62 145 72 136 q 53 167 53 155 q 62 194 53 183 q 88 205 72 205 l 287 205 l 287 523 q 257 549 271 537 q 231 572 242 561 q 206 594 217 583 l 128 662 l 128 665 q 91 718 105 688 q 77 781 77 748 q 89 841 77 812 q 123 894 101 870 q 177 929 147 916 q 238 942 206 942 l 287 942 l 287 1014 q 295 1039 287 1029 q 318 1049 304 1049 q 343 1039 334 1049 q 352 1014 352 1029 l 352 942 l 524 942 q 548 930 538 942 q 559 901 559 918 q 548 877 559 887 q 524 868 538 868 l 352 868 l 352 559 q 375 536 363 547 q 399 519 388 526 q 421 502 411 511 l 524 411 m 253 645 q 263 637 257 642 q 287 617 271 627 l 287 868 l 238 868 q 175 841 205 868 q 155 814 163 829 q 148 781 148 799 q 175 718 148 745 q 192 702 179 713 l 218 679 l 253 645 m 475 227 q 494 258 486 242 q 502 294 502 274 q 494 327 502 309 q 475 361 486 345 q 455 376 471 362 q 420 405 439 390 q 372 447 397 423 q 367 451 370 448 q 361 456 364 454 l 352 463 l 352 205 l 414 205 q 447 210 431 205 q 475 227 463 215 "},"\\":{"x_min":14.421875,"x_max":423.984375,"ha":443,"o":"m 398 1 q 370 3 383 -2 q 351 25 358 9 l 15 1073 q 18 1100 12 1086 q 38 1119 25 1113 q 67 1116 54 1122 q 83 1097 80 1109 l 420 47 q 419 18 427 31 q 398 1 411 4 "},"Ì":{"x_min":58,"x_max":181,"ha":296,"o":"m 171 1128 q 145 1117 160 1117 q 120 1126 131 1117 l 69 1179 q 58 1204 58 1190 q 69 1230 58 1219 q 94 1240 79 1240 q 118 1230 109 1240 l 171 1177 q 181 1152 181 1166 q 171 1128 181 1138 m 141 1051 q 166 1040 156 1051 q 177 1014 177 1030 l 177 34 q 166 9 177 19 q 141 0 156 0 q 115 9 125 0 q 105 34 105 19 l 105 1014 q 115 1040 105 1030 q 141 1051 125 1051 "},"Ç":{"x_min":76,"x_max":675,"ha":694,"o":"m 640 70 q 675 35 675 70 q 665 9 675 20 q 640 -2 655 -2 l 515 -2 q 496 -11 504 -2 q 488 -32 488 -20 q 490 -44 488 -38 q 499 -53 493 -50 q 522 -64 510 -64 q 585 -90 558 -64 q 612 -156 612 -115 q 585 -222 612 -196 q 523 -249 559 -249 l 460 -249 q 439 -239 448 -249 q 430 -218 430 -230 q 438 -197 430 -206 q 460 -188 447 -188 l 522 -188 q 542 -178 533 -188 q 552 -155 552 -169 q 542 -131 552 -140 q 522 -122 533 -122 q 486 -114 504 -122 q 453 -95 468 -106 q 427 -32 427 -72 q 429 -13 427 -21 q 434 3 431 -6 q 298 31 363 3 q 185 111 234 58 q 76 377 76 221 l 76 675 q 105 822 76 753 q 185 941 134 891 q 303 1021 235 992 q 451 1051 372 1051 l 640 1051 q 675 1016 675 1051 q 665 990 675 1001 q 640 979 655 979 l 450 979 q 332 955 388 979 q 236 890 277 931 q 171 793 195 848 q 148 676 148 738 l 148 377 q 170 259 148 314 q 235 163 192 203 q 333 94 278 118 q 450 70 388 70 l 640 70 "},"-":{"x_min":68,"x_max":508,"ha":587,"o":"m 473 559 q 496 549 485 559 q 508 524 508 540 q 496 499 508 509 q 473 490 485 490 l 105 490 q 79 499 90 490 q 68 524 68 509 q 79 549 68 540 q 105 559 90 559 l 473 559 "},"Q":{"x_min":83,"x_max":836,"ha":928,"o":"m 824 59 q 836 36 836 49 q 824 11 836 22 q 798 0 813 0 q 773 11 783 0 l 697 87 q 588 23 648 47 q 458 0 527 0 q 312 29 380 0 q 192 110 244 59 q 112 229 141 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 192 941 141 889 q 312 1021 244 992 q 458 1051 380 1051 q 601 1023 533 1051 q 724 942 670 995 q 805 819 777 888 q 833 675 833 750 l 833 374 q 810 246 833 308 q 747 135 787 185 l 824 59 m 154 374 q 177 257 154 312 q 242 160 201 202 q 340 95 284 119 q 458 72 395 72 q 575 95 520 72 q 672 160 630 119 q 737 257 713 202 q 761 374 761 312 l 761 675 q 738 792 761 737 q 672 889 716 848 q 458 980 584 980 q 340 956 395 980 q 242 891 284 932 q 177 793 201 849 q 154 675 154 738 l 154 374 "},"M":{"x_min":106,"x_max":1011,"ha":1117,"o":"m 974 1051 q 1000 1040 990 1051 q 1011 1014 1011 1030 l 1011 34 q 1000 9 1011 19 q 975 0 990 0 q 949 9 959 0 q 939 34 939 19 l 939 980 l 912 980 l 607 506 q 577 490 594 490 q 548 503 558 490 l 204 980 l 178 980 l 178 34 q 166 9 178 19 q 140 0 155 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 223 1051 q 252 1035 241 1051 l 576 588 l 861 1034 q 893 1051 873 1051 l 974 1051 "},"C":{"x_min":78,"x_max":678,"ha":695,"o":"m 643 72 q 668 60 658 72 q 678 34 678 49 q 668 9 678 19 q 643 0 658 0 l 453 0 q 309 27 378 0 q 187 108 240 55 q 106 230 135 162 q 78 374 78 299 l 78 676 q 107 821 78 753 q 187 941 136 889 q 306 1021 237 992 q 453 1051 375 1051 l 641 1051 q 667 1040 657 1051 q 678 1014 678 1030 q 667 989 678 999 q 641 980 657 980 l 453 980 q 335 956 390 980 q 237 891 279 932 q 172 793 196 849 q 149 675 149 738 l 149 374 q 239 160 149 248 q 335 94 280 116 q 453 72 390 72 l 643 72 "},"!":{"x_min":64,"x_max":136,"ha":208,"o":"m 101 69 q 126 59 116 69 q 136 34 136 50 q 126 9 136 19 q 101 0 116 0 q 75 9 86 0 q 64 34 64 19 q 75 59 64 50 q 101 69 86 69 m 101 1050 q 126 1040 116 1050 q 136 1015 136 1030 l 136 329 q 126 303 136 313 q 101 293 116 293 q 75 303 86 293 q 64 329 64 313 l 64 1015 q 75 1040 64 1030 q 101 1050 86 1050 "},"ç":{"x_min":71,"x_max":503,"ha":554,"o":"m 468 71 q 494 60 485 71 q 503 36 503 50 q 494 10 503 20 q 468 0 485 0 l 358 0 q 339 -9 348 0 q 331 -27 331 -18 q 342 -49 331 -36 q 350 -54 344 -54 q 362 -55 355 -55 q 427 -82 398 -55 q 456 -148 456 -109 q 427 -213 456 -187 q 362 -240 398 -240 l 301 -240 q 279 -231 287 -240 q 271 -210 271 -223 q 279 -188 271 -197 q 301 -179 287 -179 l 362 -179 q 381 -170 373 -179 q 389 -148 389 -161 q 381 -129 389 -138 q 362 -120 373 -120 q 326 -113 343 -120 q 296 -92 310 -105 q 271 -27 271 -66 q 277 6 271 -6 q 195 43 233 18 q 129 102 157 68 q 86 180 101 137 q 71 271 71 223 l 71 421 q 92 523 71 475 q 150 609 114 572 q 235 667 186 646 q 341 688 284 688 l 468 688 q 493 677 484 688 q 503 653 503 667 q 494 627 503 637 q 468 617 485 617 l 342 617 q 264 601 300 617 q 201 558 228 585 q 157 496 173 532 q 142 421 142 460 l 142 271 q 157 193 142 229 q 201 130 173 157 q 264 86 228 102 q 342 71 300 71 l 468 71 "},"È":{"x_min":106,"x_max":764.328125,"ha":770,"o":"m 478 1128 q 452 1117 467 1117 q 426 1126 437 1117 l 375 1179 q 364 1204 364 1190 q 375 1230 364 1219 q 400 1239 385 1239 q 425 1230 415 1239 l 478 1177 q 488 1152 488 1166 q 478 1128 488 1138 m 175 980 l 175 611 l 662 611 q 688 600 678 611 q 699 575 699 590 q 688 549 699 559 q 662 539 678 539 l 175 539 l 175 72 l 728 72 q 753 60 743 72 q 764 34 764 49 q 753 9 764 19 q 728 0 743 0 l 140 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 728 1051 q 753 1040 743 1051 q 764 1014 764 1030 q 753 989 764 999 q 728 980 743 980 l 175 980 "},"X":{"x_min":90.484375,"x_max":840.0625,"ha":931,"o":"m 834 56 q 839 29 841 43 q 825 5 837 15 q 797 0 812 -2 q 773 15 783 4 l 465 465 l 155 15 q 131 0 147 4 q 105 5 116 -2 q 90 29 93 15 q 95 56 88 43 l 422 526 l 98 995 q 91 1022 90 1007 q 106 1045 93 1037 q 133 1050 118 1052 q 156 1036 148 1047 l 465 591 l 773 1036 q 795 1050 780 1047 q 822 1045 811 1052 q 836 1022 833 1037 q 831 995 838 1007 l 506 526 l 834 56 "},"ô":{"x_min":61,"x_max":596,"ha":695,"o":"m 483 748 q 457 740 472 737 q 434 754 442 743 l 327 879 l 220 754 q 195 740 209 743 q 170 748 181 737 q 157 771 159 757 q 166 797 155 786 l 299 959 q 327 972 315 972 q 355 959 342 972 l 488 797 q 495 771 497 786 q 483 748 494 757 m 516 604 q 575 518 554 566 q 596 416 596 469 l 596 266 q 575 162 596 211 q 517 77 554 113 q 432 20 480 41 q 327 0 383 0 q 223 20 272 0 q 138 77 174 41 q 81 162 102 113 q 61 266 61 211 l 61 416 q 81 518 61 469 q 138 604 101 566 q 226 662 177 643 q 327 682 274 682 q 430 662 381 682 q 516 604 479 643 m 327 69 q 403 84 367 69 q 465 127 438 100 q 509 189 493 154 q 525 266 525 225 l 525 416 q 509 490 525 454 q 466 554 494 526 q 327 612 408 612 q 190 554 245 612 q 147 490 162 526 q 133 416 133 454 l 133 266 q 148 189 133 225 q 190 127 163 154 q 251 84 216 100 q 327 69 287 69 "},"#":{"x_min":61,"x_max":585,"ha":646,"o":"m 501 623 l 501 425 l 550 425 q 575 416 565 425 q 585 391 585 407 q 550 353 585 353 l 501 353 l 501 294 q 490 272 501 283 q 464 261 480 261 q 439 272 449 261 q 430 294 430 283 l 430 353 l 215 353 l 215 294 q 204 272 215 283 q 178 261 194 261 q 154 272 163 261 q 145 294 145 283 l 145 353 l 92 353 q 61 391 61 353 q 69 416 61 407 q 92 425 77 425 l 145 425 l 145 623 l 92 623 q 69 633 77 623 q 61 659 61 644 q 69 683 61 674 q 92 693 77 693 l 145 693 l 145 751 q 154 777 145 766 q 178 789 163 789 q 204 777 194 789 q 215 751 215 766 l 215 693 l 430 693 l 430 751 q 439 777 430 766 q 464 789 449 789 q 490 777 480 789 q 501 751 501 766 l 501 693 l 550 693 q 575 683 565 693 q 585 659 585 674 q 575 633 585 644 q 550 623 565 623 l 501 623 m 430 623 l 215 623 l 215 425 l 430 425 l 430 623 "},"Ê":{"x_min":106,"x_max":764.328125,"ha":770,"o":"m 514 1127 q 503 1154 503 1139 q 512 1180 503 1169 l 565 1231 q 591 1241 576 1241 q 617 1230 606 1241 q 627 1205 627 1220 q 617 1181 627 1191 l 564 1129 q 538 1118 553 1118 q 514 1127 524 1118 m 381 1128 q 355 1117 370 1117 q 329 1126 340 1117 l 278 1178 q 267 1204 267 1190 q 278 1230 267 1219 q 303 1239 288 1239 q 328 1230 318 1239 l 381 1177 q 391 1152 391 1166 q 381 1128 391 1138 m 175 980 l 175 611 l 663 611 q 688 600 678 611 q 699 575 699 590 q 688 549 699 559 q 663 539 678 539 l 175 539 l 175 72 l 728 72 q 753 60 743 72 q 764 34 764 49 q 753 9 764 19 q 728 0 743 0 l 140 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 728 1051 q 753 1040 743 1051 q 764 1014 764 1030 q 753 989 764 999 q 728 980 743 980 l 175 980 "},")":{"x_min":25,"x_max":307,"ha":393,"o":"m 59 1064 q 156 1044 111 1064 q 234 991 201 1025 q 287 913 268 958 q 307 816 307 868 l 307 233 q 287 136 307 181 q 234 58 268 91 q 156 5 201 24 q 59 -14 111 -14 q 34 -4 43 -14 q 25 20 25 5 q 34 45 25 36 q 59 55 43 55 q 127 69 95 55 q 183 107 159 83 q 221 164 207 131 q 235 233 235 197 l 235 816 q 221 885 235 852 q 183 942 207 918 q 127 980 159 966 q 59 994 95 994 q 34 1004 43 994 q 25 1029 25 1013 q 34 1054 25 1044 q 59 1064 43 1064 "},"Å":{"x_min":44.828125,"x_max":900.0625,"ha":943,"o":"m 898 46 q 896 19 902 32 q 874 0 890 6 q 847 1 860 -5 q 830 24 834 8 l 719 345 l 224 345 l 115 24 q 96 1 109 8 q 69 0 83 -5 q 49 19 56 6 q 47 46 41 32 l 383 1025 q 416 1051 392 1051 l 524 1051 q 559 1025 549 1051 l 898 46 m 694 417 l 499 980 l 442 980 l 251 417 l 694 417 m 470 1106 q 396 1137 427 1106 q 368 1209 368 1169 q 397 1281 368 1251 q 470 1311 427 1311 q 541 1281 510 1311 q 572 1209 572 1251 q 563 1170 572 1188 q 542 1137 555 1152 q 470 1106 512 1106 m 470 1258 q 434 1243 449 1258 q 419 1209 419 1228 q 435 1174 419 1191 q 450 1164 441 1167 q 470 1161 459 1161 q 487 1164 478 1161 q 503 1174 496 1167 q 519 1209 519 1188 q 504 1243 519 1228 q 470 1258 489 1258 "},"ø":{"x_min":83,"x_max":622,"ha":694,"o":"m 622 266 q 601 164 622 212 q 541 77 580 116 q 353 0 463 0 q 261 16 305 0 q 182 61 218 33 l 148 12 q 123 0 137 2 q 96 5 110 -1 q 84 30 85 16 q 89 57 82 44 l 131 111 q 95 185 107 144 q 83 266 83 226 l 83 416 q 103 522 83 473 q 161 608 124 571 q 247 666 198 645 q 353 687 296 687 q 441 671 399 687 q 520 624 484 656 l 555 673 q 608 680 577 695 q 621 655 621 668 q 615 628 621 641 l 571 574 q 622 416 622 505 l 622 266 m 155 266 q 161 218 155 243 q 178 175 167 194 l 477 570 q 418 603 450 591 q 353 615 386 615 q 275 599 311 615 q 212 557 239 584 q 170 494 185 530 q 155 416 155 458 l 155 266 m 353 71 q 427 86 392 71 q 490 128 463 101 q 532 191 517 155 q 548 266 548 226 l 548 416 q 542 466 548 441 q 524 510 536 491 l 225 115 q 285 82 253 94 q 353 71 317 71 "},"â":{"x_min":39,"x_max":546,"ha":668,"o":"m 458 748 q 432 740 447 737 q 409 754 417 743 l 302 879 l 195 754 q 170 740 184 743 q 145 748 156 737 q 132 771 134 757 q 141 797 130 786 l 274 959 q 302 972 290 972 q 330 959 317 972 l 463 797 q 470 771 472 786 q 458 748 469 757 m 389 682 q 449 669 420 682 q 499 636 477 657 q 533 586 521 615 q 546 525 546 558 l 546 34 q 536 9 546 19 q 511 0 526 0 q 485 9 495 0 q 474 34 474 19 l 474 56 q 326 0 410 0 l 256 0 q 171 17 211 0 q 102 63 131 34 q 56 132 73 92 q 39 217 39 172 q 56 303 39 263 q 102 372 73 342 q 171 419 131 402 q 256 437 210 437 l 373 437 l 409 437 q 456 455 437 437 q 474 501 474 473 l 474 505 l 474 524 q 449 586 474 561 q 388 612 424 612 l 324 612 l 295 612 l 124 612 q 99 622 109 612 q 89 647 89 631 q 99 672 89 662 q 125 682 109 682 l 295 682 l 325 682 l 389 682 m 428 112 q 472 217 472 158 l 472 383 q 442 369 459 373 q 409 365 426 365 l 373 365 l 256 365 q 199 353 226 365 q 153 321 173 341 q 122 275 133 302 q 111 217 111 248 q 122 160 111 187 q 153 113 133 133 q 199 81 173 93 q 256 69 226 69 l 326 69 q 382 81 355 69 q 428 112 409 93 "},"Ä":{"x_min":56.609375,"x_max":910.5,"ha":969,"o":"m 907 46 q 907 19 913 32 q 885 0 900 6 q 857 1 870 -5 q 839 24 845 8 l 728 345 l 237 345 l 126 24 q 106 1 119 8 q 81 0 94 -5 q 60 19 66 6 q 58 46 54 32 l 394 1025 q 427 1051 403 1051 l 535 1051 q 570 1025 560 1051 l 907 46 m 703 417 l 510 980 l 453 980 l 259 417 l 703 417 m 268 1087 q 278 1112 268 1102 q 304 1123 288 1123 q 329 1112 319 1123 q 340 1087 340 1102 q 329 1061 340 1071 q 304 1051 319 1051 q 278 1061 288 1051 q 268 1087 268 1071 m 622 1087 q 632 1112 622 1102 q 658 1123 642 1123 q 683 1112 673 1123 q 694 1087 694 1102 q 683 1061 694 1071 q 658 1051 673 1051 q 632 1061 642 1051 q 622 1087 622 1071 "},"a":{"x_min":58,"x_max":565,"ha":668,"o":"m 408 682 q 467 670 438 682 q 519 637 496 659 q 565 525 565 591 l 565 416 l 565 34 q 555 9 565 19 q 530 0 545 0 q 504 9 515 0 q 493 34 493 19 l 493 56 q 345 0 431 0 l 277 0 q 192 17 231 0 q 122 63 152 34 q 75 132 92 92 q 58 217 58 172 q 74 301 58 262 q 121 373 91 341 q 192 420 152 403 q 277 437 232 437 l 394 437 l 429 437 q 476 455 456 437 q 493 501 493 473 l 493 505 l 493 524 q 468 587 493 562 q 441 605 456 598 q 408 612 426 612 l 344 612 l 315 612 l 145 612 q 118 622 128 612 q 108 647 108 631 q 118 672 108 662 q 145 682 128 682 l 314 682 l 344 682 l 408 682 m 448 112 q 493 217 493 156 l 493 383 q 461 368 477 371 q 429 365 445 365 l 394 365 l 277 365 q 172 322 214 365 q 130 217 130 280 q 141 160 130 187 q 173 113 153 133 q 219 81 192 93 q 277 69 246 69 l 345 69 q 401 81 374 69 q 448 112 429 93 "},"—":{"x_min":100,"x_max":540,"ha":657,"o":"m 505 559 q 528 549 517 559 q 540 524 540 540 q 528 499 540 509 q 505 490 517 490 l 137 490 q 111 499 122 490 q 100 524 100 509 q 111 549 100 540 q 137 559 122 559 l 505 559 "},"=":{"x_min":103,"x_max":563,"ha":666,"o":"m 528 682 q 551 672 540 682 q 563 647 563 662 q 551 622 563 631 q 528 612 540 612 l 140 612 q 114 622 125 612 q 103 647 103 631 q 114 672 103 662 q 140 682 125 682 l 528 682 m 528 560 q 551 550 540 560 q 563 525 563 540 q 551 500 563 510 q 528 490 540 490 l 140 490 q 114 500 125 490 q 103 525 103 510 q 114 550 103 540 q 140 560 125 560 l 528 560 "},"N":{"x_min":106,"x_max":849,"ha":955,"o":"m 813 1051 q 838 1040 828 1051 q 849 1014 849 1030 l 849 34 q 838 9 849 19 q 812 0 828 0 l 725 0 q 693 19 703 0 l 205 980 l 178 980 l 178 34 q 167 9 178 19 q 142 0 157 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 142 1051 126 1051 l 229 1051 q 260 1031 251 1051 l 746 72 l 777 72 l 777 1014 q 787 1040 777 1030 q 813 1051 797 1051 "},"ú":{"x_min":97,"x_max":609,"ha":717,"o":"m 332 781 q 321 808 321 793 q 330 834 321 823 l 383 886 q 408 895 394 895 q 434 884 423 895 q 444 860 444 875 q 434 836 444 845 l 381 783 q 356 772 370 772 q 332 781 342 772 m 609 34 q 598 9 609 19 q 574 0 588 0 q 548 9 559 0 q 537 34 537 19 l 537 56 q 470 14 508 29 q 388 0 433 0 l 317 0 q 232 17 272 0 q 162 63 192 34 q 114 133 131 93 q 97 219 97 173 l 97 647 q 107 672 97 662 q 131 682 117 682 q 157 672 147 682 q 168 647 168 662 l 168 219 q 179 161 168 188 q 212 113 191 134 q 260 81 233 93 q 318 69 287 69 l 388 69 q 445 80 419 69 q 492 111 472 91 q 525 158 512 131 q 537 213 537 184 l 537 647 q 548 672 537 662 q 574 682 559 682 q 598 672 588 682 q 609 647 609 662 l 609 34 "},"2":{"x_min":35.78125,"x_max":687,"ha":729,"o":"m 649 69 q 675 60 664 69 q 687 34 687 51 q 675 9 687 19 q 649 0 664 0 l 71 0 q 38 18 48 0 q 42 56 31 37 l 580 768 l 580 770 l 581 770 q 606 847 606 806 q 567 941 606 900 q 475 980 528 980 l 78 980 q 55 990 66 980 q 44 1015 44 999 q 55 1040 44 1030 q 78 1050 66 1050 l 475 1050 q 553 1035 515 1050 q 620 991 590 1020 q 662 926 647 964 q 677 847 677 889 q 666 784 677 815 q 635 725 656 753 l 143 69 l 649 69 "},"ü":{"x_min":97,"x_max":609,"ha":717,"o":"m 609 34 q 598 9 609 19 q 574 0 588 0 q 548 9 559 0 q 537 34 537 19 l 537 56 q 470 14 508 29 q 388 0 433 0 l 317 0 q 232 17 271 0 q 162 63 192 34 q 114 133 131 93 q 97 219 97 173 l 97 647 q 107 672 97 662 q 131 682 117 682 q 157 672 147 682 q 168 647 168 662 l 168 219 q 179 161 168 188 q 212 113 191 134 q 260 81 233 93 q 318 69 287 69 l 388 69 q 445 80 419 69 q 492 111 472 91 q 525 158 512 131 q 537 213 537 184 l 537 647 q 548 672 537 662 q 574 682 559 682 q 598 672 588 682 q 609 647 609 662 l 609 34 m 168 801 q 177 827 168 817 q 202 838 187 838 q 228 827 218 838 q 239 801 239 817 q 228 776 239 786 q 202 767 218 767 q 177 776 187 767 q 168 801 168 786 m 466 801 q 475 827 466 817 q 500 838 485 838 q 526 827 516 838 q 537 801 537 817 q 526 776 537 786 q 500 767 516 767 q 475 776 485 767 q 466 801 466 786 "},"Z":{"x_min":36,"x_max":715,"ha":757,"o":"m 680 72 q 705 60 695 72 q 714 34 714 49 q 705 9 714 19 q 680 0 695 0 l 72 0 q 45 11 59 0 q 36 34 36 23 l 36 95 q 40 106 38 101 q 44 116 41 112 l 643 956 l 643 980 l 72 980 q 47 989 58 980 q 36 1014 36 999 q 47 1040 36 1030 q 72 1051 58 1051 l 680 1051 q 705 1039 694 1051 q 715 1014 715 1030 l 715 943 q 709 923 715 930 l 108 83 l 108 72 l 680 72 "}," ":{"x_min":0,"x_max":0,"ha":218},"u":{"x_min":97,"x_max":609,"ha":717,"o":"m 609 34 q 598 9 609 19 q 574 0 588 0 q 548 9 559 0 q 537 34 537 19 l 537 56 q 470 14 508 29 q 388 0 433 0 l 317 0 q 232 17 272 0 q 162 63 192 34 q 114 133 131 93 q 97 219 97 173 l 97 647 q 107 672 97 662 q 131 682 117 682 q 157 672 147 682 q 168 647 168 662 l 168 219 q 179 161 168 188 q 212 113 191 134 q 260 81 233 93 q 318 69 287 69 l 388 69 q 445 80 419 69 q 492 111 472 91 q 525 158 512 131 q 537 213 537 184 l 537 647 q 548 672 537 662 q 574 682 559 682 q 598 672 588 682 q 609 647 609 662 l 609 34 "},"Ó":{"x_min":83,"x_max":833,"ha":916,"o":"m 412 1127 q 401 1154 401 1139 q 410 1180 401 1169 l 463 1231 q 489 1241 474 1241 q 515 1230 504 1241 q 525 1205 525 1220 q 515 1181 525 1191 l 462 1129 q 436 1118 451 1118 q 412 1127 422 1118 m 457 1051 q 602 1023 534 1051 q 724 942 670 995 q 805 819 777 888 q 833 676 833 750 l 833 374 q 803 229 833 297 q 723 110 774 161 q 603 29 671 59 q 458 0 535 0 q 311 29 380 0 q 192 110 242 59 q 112 229 141 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 192 941 141 889 q 311 1021 242 992 q 457 1051 380 1051 m 762 675 q 739 792 762 737 q 671 889 716 848 q 575 957 630 934 q 457 980 520 980 q 340 956 395 980 q 243 891 285 932 q 178 793 202 849 q 155 675 155 738 l 155 374 q 178 257 155 312 q 243 160 202 202 q 340 95 285 119 q 457 72 395 72 q 575 95 520 72 q 673 160 631 119 q 738 257 714 202 q 762 374 762 312 l 762 675 "},"k":{"x_min":106,"x_max":585.078125,"ha":605,"o":"m 581 50 q 583 22 587 37 q 564 1 578 8 q 537 0 551 -4 q 515 18 522 5 l 282 490 l 175 490 l 175 34 q 166 9 175 19 q 140 0 157 0 q 115 9 125 0 q 106 34 106 19 l 106 1015 q 115 1040 106 1030 q 140 1050 125 1050 q 166 1040 157 1050 q 175 1015 175 1030 l 175 560 l 294 560 l 456 676 q 482 681 467 683 q 504 669 497 679 q 511 640 512 655 q 496 618 510 625 l 350 514 l 581 50 "}," ":{"x_min":0,"x_max":0,"ha":656},"Ù":{"x_min":94,"x_max":844,"ha":938,"o":"m 809 1051 q 834 1040 824 1051 q 844 1014 844 1030 l 844 374 q 814 229 844 297 q 734 110 785 161 q 615 29 684 59 q 469 0 546 0 q 323 29 391 0 q 204 110 255 59 q 123 229 153 161 q 94 374 94 297 l 94 1014 q 104 1040 94 1030 q 130 1051 114 1051 q 155 1040 145 1051 q 166 1014 166 1030 l 166 374 q 189 257 166 312 q 254 160 213 202 q 351 95 296 119 q 468 72 406 72 q 586 95 531 72 q 684 160 642 119 q 750 257 725 202 q 774 374 774 312 l 774 1014 q 784 1040 774 1030 q 809 1051 794 1051 m 505 1128 q 479 1117 494 1117 q 453 1126 464 1117 l 402 1179 q 391 1204 391 1190 q 402 1230 391 1219 q 427 1240 412 1240 q 452 1230 442 1240 l 505 1177 q 515 1152 515 1166 q 505 1128 515 1138 "},"Ÿ":{"x_min":39.15625,"x_max":785.328125,"ha":823,"o":"m 321 1194 q 347 1184 337 1194 q 358 1159 358 1175 q 347 1134 358 1144 q 321 1125 337 1125 q 296 1134 306 1125 q 287 1159 287 1144 q 296 1184 287 1175 q 321 1194 306 1194 m 543 1194 q 569 1184 559 1194 q 580 1159 580 1175 q 569 1134 580 1144 q 543 1125 559 1125 q 518 1134 528 1125 q 509 1159 509 1144 q 518 1184 509 1175 q 543 1194 528 1194 m 770 1045 q 784 1022 782 1037 q 780 995 786 1006 l 449 516 l 449 34 q 438 9 449 19 q 413 0 428 0 q 387 9 397 0 q 377 34 377 19 l 377 516 q 372 521 374 519 q 368 526 371 523 l 46 995 q 39 1022 37 1006 q 53 1045 42 1037 q 81 1049 67 1052 q 105 1036 95 1047 l 411 591 l 721 1036 q 743 1049 728 1047 q 770 1045 757 1052 "},"€":{"x_min":82,"x_max":674,"ha":763,"o":"m 608 261 q 634 271 619 271 q 660 261 649 271 q 670 236 670 251 q 660 211 670 220 q 569 149 619 170 q 460 129 518 129 q 347 151 400 129 q 255 213 294 174 q 193 305 216 252 q 171 417 171 358 l 171 422 l 116 422 q 92 431 102 422 q 82 455 82 441 q 92 476 82 468 q 116 485 102 485 l 171 485 l 171 575 l 116 575 q 92 583 102 575 q 82 605 82 591 q 92 629 82 620 q 116 639 102 639 l 171 639 l 171 641 q 193 755 171 702 q 255 847 216 808 q 347 909 294 887 q 459 932 400 932 q 570 909 518 932 q 663 845 622 887 q 674 821 674 836 q 662 795 674 806 q 637 786 653 786 q 612 795 622 786 q 542 843 580 826 q 460 861 504 861 q 376 843 415 861 q 306 796 336 826 q 259 727 276 766 q 242 641 242 687 l 242 639 l 445 639 q 467 629 458 639 q 476 605 476 620 q 467 583 476 591 q 445 575 458 575 l 242 575 l 242 485 l 445 485 q 467 476 458 485 q 476 455 476 468 q 467 431 476 441 q 445 422 458 422 l 242 422 l 242 417 q 259 333 242 373 q 306 264 276 294 q 376 218 336 235 q 460 201 415 201 q 539 217 500 201 q 608 261 578 233 "},"ß":{"x_min":101,"x_max":694,"ha":784,"o":"m 507 604 q 582 571 548 594 q 641 517 616 548 q 680 447 666 486 q 694 365 694 408 l 694 251 q 673 152 694 198 q 620 72 653 106 q 542 19 587 38 q 447 0 497 0 l 341 0 q 318 11 329 0 q 307 37 307 22 q 317 63 307 52 q 340 75 328 75 l 446 75 q 513 88 481 75 q 571 126 546 102 q 609 182 595 150 q 624 251 624 214 l 624 365 q 609 434 624 403 q 571 490 595 466 q 513 528 546 514 q 446 542 481 542 l 345 542 q 319 553 329 542 q 309 578 309 564 q 319 603 309 593 q 345 614 329 614 q 415 627 382 614 q 471 666 447 641 q 509 722 495 690 q 523 791 523 754 l 523 805 q 509 873 523 841 q 471 929 495 905 q 415 967 448 953 q 345 981 382 981 q 277 967 309 981 q 222 929 245 953 q 186 873 199 905 q 173 805 173 841 l 173 791 l 173 37 q 161 11 173 22 q 135 0 150 0 q 111 11 121 0 q 101 37 101 22 l 101 791 l 101 805 q 120 901 101 856 q 173 978 139 945 q 250 1031 206 1012 q 345 1051 295 1051 q 441 1031 396 1051 q 521 978 487 1012 q 574 901 555 945 q 594 805 594 856 l 594 791 q 571 687 594 736 q 507 604 548 639 "},"é":{"x_min":81,"x_max":616,"ha":669,"o":"m 349 682 q 538 604 460 682 q 595 517 575 566 q 616 416 616 469 l 616 348 q 605 322 616 332 q 580 312 595 312 l 152 312 l 152 266 q 167 189 152 224 q 209 126 182 153 q 271 84 236 99 q 348 69 307 69 l 500 69 q 525 59 515 69 q 535 34 535 50 q 525 9 535 19 q 500 0 515 0 l 348 0 q 244 20 293 0 q 159 77 196 41 q 101 162 122 113 q 81 266 81 211 l 81 416 q 100 518 81 469 q 160 604 119 566 q 246 662 197 643 q 349 682 294 682 m 544 416 q 529 490 544 453 q 486 554 514 526 q 349 612 431 612 q 273 597 308 612 q 210 554 238 581 q 167 490 182 526 q 152 416 152 453 l 152 383 l 544 383 l 544 416 m 332 795 q 321 822 321 807 q 330 848 321 837 l 383 900 q 409 909 394 909 q 435 898 424 909 q 445 874 445 888 q 435 849 445 859 l 382 797 q 356 786 371 786 q 332 795 342 786 "},"s":{"x_min":53,"x_max":500,"ha":561,"o":"m 455 238 q 500 137 500 198 q 458 40 500 81 q 359 0 418 0 l 87 0 q 62 9 72 0 q 53 34 53 19 q 62 59 53 50 q 87 69 72 69 l 359 69 q 385 75 373 69 q 408 88 397 80 q 423 112 419 100 q 428 137 428 125 q 422 165 428 152 q 408 188 416 177 l 116 443 q 74 545 74 486 q 115 643 74 602 q 214 685 154 685 l 451 685 q 477 675 467 685 q 488 650 488 665 q 477 623 488 633 q 451 614 467 614 l 214 614 q 165 593 186 614 q 146 545 146 573 q 150 517 146 530 q 165 495 154 504 q 455 238 168 493 "},"B":{"x_min":106,"x_max":831,"ha":903,"o":"m 650 604 q 722 570 689 593 q 780 517 756 548 q 817 447 804 486 q 831 365 831 408 l 831 247 q 811 150 831 195 q 758 72 792 105 q 680 19 725 38 q 583 0 635 0 l 143 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 143 1051 126 1051 l 486 1051 q 583 1031 538 1051 q 661 978 628 1012 q 714 901 695 945 q 734 805 734 856 l 734 788 q 711 686 734 733 q 650 604 688 638 m 662 805 q 648 873 662 841 q 610 928 634 905 q 554 966 586 952 q 486 980 522 980 l 178 980 l 178 612 l 486 612 q 554 626 522 612 q 610 663 586 640 q 648 719 634 687 q 662 788 662 752 l 662 805 m 761 365 q 747 433 761 401 q 709 490 733 466 q 652 529 685 515 q 583 543 619 543 l 486 543 l 178 543 l 178 72 l 583 72 q 652 85 619 72 q 709 123 685 99 q 747 178 733 147 q 761 247 761 210 l 761 365 "},"?":{"x_min":8,"x_max":566,"ha":574,"o":"m 153 69 q 176 59 165 69 q 188 34 188 50 q 176 9 188 19 q 153 0 165 0 q 126 9 136 0 q 116 34 116 19 q 126 59 116 50 q 153 69 136 69 m 318 1050 q 415 1030 370 1050 q 493 977 460 1011 q 546 899 527 944 q 566 803 566 854 q 546 706 566 751 q 493 628 527 661 q 415 575 460 594 q 318 556 369 556 q 225 519 264 556 q 197 475 207 498 q 188 423 188 451 l 188 338 q 176 311 188 322 q 153 301 165 301 q 126 311 136 301 q 116 338 116 322 l 116 423 q 131 502 116 463 q 174 568 146 540 q 318 628 233 628 q 386 641 354 628 q 442 679 418 655 q 481 734 467 702 q 495 802 495 766 q 481 871 495 838 q 442 928 467 904 q 386 966 418 952 q 318 980 354 980 l 42 980 q 17 990 27 980 q 8 1015 8 999 q 17 1040 8 1030 q 42 1050 27 1050 l 318 1050 "},"H":{"x_min":106,"x_max":859,"ha":965,"o":"m 824 1051 q 849 1040 839 1051 q 859 1014 859 1030 l 859 34 q 849 9 859 19 q 824 0 839 0 q 799 9 809 0 q 789 34 789 19 l 789 545 l 178 545 l 178 34 q 167 9 178 19 q 142 0 157 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 142 1051 126 1051 q 167 1040 157 1051 q 178 1014 178 1030 l 178 617 l 789 617 l 789 1014 q 799 1040 789 1030 q 824 1051 809 1051 "},"î":{"x_min":-52.125,"x_max":286.75,"ha":249,"o":"m 274 748 q 248 740 262 737 q 225 754 233 743 l 118 879 l 11 754 q -13 740 0 743 q -38 748 -27 737 q -51 771 -49 757 q -42 797 -53 786 l 90 959 q 118 972 105 972 q 146 959 133 972 l 279 797 q 286 771 287 786 q 274 748 285 757 m 156 37 q 145 10 156 20 q 119 1 135 1 q 85 37 85 1 l 85 647 q 94 672 85 662 q 119 682 104 682 q 145 672 135 682 q 156 647 156 662 l 156 37 "},"c":{"x_min":75,"x_max":504,"ha":554,"o":"m 342 612 q 266 597 302 612 q 203 554 230 581 q 162 492 177 527 q 147 416 147 456 l 147 266 q 162 189 147 225 q 203 127 177 154 q 266 84 230 100 q 342 69 302 69 l 467 69 q 493 59 483 69 q 504 34 504 50 q 493 9 504 19 q 467 0 483 0 l 342 0 q 237 20 286 0 q 152 77 188 41 q 95 162 116 113 q 75 266 75 211 l 75 416 q 95 519 75 470 q 152 604 116 568 q 237 661 188 640 q 342 682 286 682 l 467 682 q 493 672 483 682 q 504 647 504 662 q 493 622 504 631 q 467 612 483 612 l 342 612 "},"•":{"x_min":101,"x_max":305,"ha":473,"o":"m 203 417 q 129 448 160 417 q 101 520 101 480 q 130 592 101 562 q 203 622 160 622 q 274 592 243 622 q 305 520 305 562 q 296 481 305 499 q 275 448 288 463 q 203 417 245 417 m 203 569 q 167 554 182 569 q 152 520 152 539 q 168 485 152 502 q 183 475 174 478 q 203 472 192 472 q 220 475 211 472 q 236 485 229 478 q 252 520 252 499 q 237 554 252 539 q 203 569 222 569 "},"¥":{"x_min":119.765625,"x_max":705.90625,"ha":824,"o":"m 693 929 q 705 908 704 922 q 700 880 707 894 l 497 586 l 582 586 q 605 577 597 586 q 614 555 614 568 q 582 521 614 521 l 453 521 l 449 516 l 449 417 l 582 417 q 614 385 614 417 q 605 362 614 371 q 582 353 597 353 l 449 353 l 449 153 q 437 127 449 137 q 411 117 426 117 q 389 127 400 117 q 378 153 378 137 l 378 353 l 246 353 q 223 362 233 353 q 214 385 214 371 q 223 408 214 400 q 246 417 233 417 l 378 417 l 378 516 q 374 518 374 516 l 374 521 l 246 521 q 223 530 233 521 q 214 555 214 540 q 223 577 214 568 q 246 586 233 586 l 329 586 l 125 880 q 120 908 118 894 q 134 929 122 922 q 161 936 145 938 q 183 922 176 934 l 411 592 l 640 922 q 662 936 647 934 q 693 929 677 938 "},"(":{"x_min":83,"x_max":365,"ha":390,"o":"m 154 233 q 167 164 154 197 q 205 107 181 131 q 260 69 228 83 q 328 55 292 55 q 354 45 344 55 q 365 20 365 36 q 354 -4 365 5 q 328 -14 344 -14 q 233 5 277 -14 q 155 58 188 24 q 102 136 121 91 q 83 233 83 181 l 83 816 q 102 913 83 868 q 155 991 121 958 q 233 1044 188 1025 q 328 1064 277 1064 q 354 1054 344 1064 q 365 1029 365 1044 q 354 1004 365 1013 q 328 994 344 994 q 260 980 292 994 q 205 942 228 966 q 167 885 181 918 q 154 816 154 852 l 154 233 "},"U":{"x_min":94,"x_max":844,"ha":938,"o":"m 809 1051 q 834 1040 824 1051 q 844 1014 844 1030 l 844 374 q 814 229 844 297 q 734 110 785 161 q 615 29 684 59 q 469 0 546 0 q 323 29 391 0 q 204 110 255 59 q 123 229 153 161 q 94 374 94 297 l 94 1014 q 104 1040 94 1030 q 130 1051 114 1051 q 155 1040 145 1051 q 166 1014 166 1030 l 166 374 q 189 257 166 312 q 254 160 213 202 q 351 95 296 119 q 468 72 406 72 q 586 95 531 72 q 684 160 642 119 q 750 257 725 202 q 774 374 774 312 l 774 1014 q 784 1040 774 1030 q 809 1051 794 1051 "},"Ñ":{"x_min":106,"x_max":849,"ha":955,"o":"m 812 1051 q 838 1039 828 1051 q 849 1013 849 1028 l 849 37 q 838 11 849 22 q 812 0 828 0 l 723 0 q 691 20 701 0 l 208 981 l 178 981 l 178 37 q 169 11 178 22 q 146 0 160 0 q 117 11 128 0 q 106 37 106 22 l 106 1013 q 117 1039 106 1028 q 146 1051 128 1051 l 230 1051 q 250 1046 241 1051 q 264 1031 259 1042 l 746 75 l 779 75 l 779 1013 q 788 1039 779 1028 q 812 1051 797 1051 m 364 1107 q 339 1108 352 1102 q 319 1128 326 1114 q 321 1214 300 1173 q 384 1272 341 1256 q 431 1279 408 1279 q 475 1267 454 1279 q 507 1239 491 1256 q 529 1203 522 1223 q 552 1177 536 1185 q 589 1177 569 1170 q 618 1198 607 1181 q 621 1214 621 1203 q 619 1234 621 1224 q 618 1260 612 1248 q 636 1280 623 1273 q 660 1277 647 1283 q 680 1256 673 1272 q 685 1214 685 1237 q 675 1171 685 1191 q 611 1116 655 1128 q 566 1111 589 1109 q 525 1121 544 1113 q 491 1146 505 1130 q 468 1184 476 1162 q 444 1209 461 1199 q 432 1212 441 1212 q 411 1209 422 1212 q 384 1187 394 1203 q 380 1150 373 1170 q 380 1125 384 1138 q 364 1107 375 1112 "},"F":{"x_min":106,"x_max":764.109375,"ha":764,"o":"m 729 1051 q 754 1040 744 1051 q 764 1014 764 1030 q 754 989 764 999 q 729 980 744 980 l 178 980 l 178 611 l 664 611 q 689 600 679 611 q 698 575 698 590 q 689 549 698 559 q 664 539 679 539 l 178 539 l 178 34 q 166 9 178 19 q 140 0 155 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 140 1051 126 1051 l 729 1051 "},"­":{"x_min":68,"x_max":508,"ha":587,"o":"m 473 559 q 496 549 485 559 q 508 524 508 540 q 496 499 508 509 q 473 490 485 490 l 105 490 q 79 499 90 490 q 68 524 68 509 q 79 549 68 540 q 105 559 90 559 l 473 559 "},":":{"x_min":94,"x_max":165,"ha":259,"o":"m 128 315 q 154 305 144 315 q 165 280 165 295 q 154 254 165 264 q 128 244 144 244 q 103 254 113 244 q 94 280 94 264 q 103 305 94 295 q 128 315 113 315 m 128 559 q 154 549 144 559 q 165 524 165 540 q 154 499 165 509 q 128 490 144 490 q 103 499 113 490 q 94 524 94 509 q 103 549 94 540 q 128 559 113 559 "},"Û":{"x_min":94,"x_max":844,"ha":938,"o":"m 809 1051 q 834 1040 824 1051 q 844 1014 844 1030 l 844 374 q 814 229 844 297 q 734 110 785 161 q 615 29 684 59 q 469 0 546 0 q 323 29 391 0 q 204 110 255 59 q 123 229 153 161 q 94 374 94 297 l 94 1014 q 104 1040 94 1030 q 130 1051 114 1051 q 155 1040 145 1051 q 166 1014 166 1030 l 166 374 q 189 257 166 312 q 254 160 213 202 q 351 95 296 119 q 468 72 406 72 q 586 95 531 72 q 684 160 642 119 q 750 257 725 202 q 774 374 774 312 l 774 1014 q 784 1040 774 1030 q 809 1051 794 1051 m 541 1127 q 530 1154 530 1139 q 539 1180 530 1169 l 592 1231 q 618 1242 603 1242 q 644 1230 633 1242 q 654 1206 654 1220 q 644 1181 654 1191 l 591 1129 q 565 1118 580 1118 q 541 1127 551 1118 m 408 1128 q 382 1117 397 1117 q 356 1126 367 1117 l 305 1179 q 294 1204 294 1190 q 305 1230 294 1219 q 330 1240 315 1240 q 355 1230 345 1240 l 408 1177 q 418 1152 418 1166 q 408 1128 418 1138 "},"*":{"x_min":60.109375,"x_max":417.078125,"ha":483,"o":"m 409 966 q 415 943 417 955 q 402 923 413 930 l 301 862 l 402 805 q 409 761 427 784 q 392 744 405 747 q 365 750 380 741 l 272 809 l 272 709 q 261 689 272 697 q 238 682 251 682 q 216 689 226 682 q 207 709 207 697 l 207 809 l 108 750 q 84 744 95 741 q 68 761 73 747 q 76 805 48 784 l 176 862 l 76 923 q 61 943 63 930 q 68 966 59 955 q 84 982 73 978 q 108 978 95 986 l 207 919 l 207 1014 q 216 1039 207 1029 q 238 1049 226 1049 q 261 1039 251 1049 q 272 1014 272 1029 l 272 919 l 365 978 q 392 982 380 986 q 409 966 405 978 "},"°":{"x_min":32,"x_max":236,"ha":312,"o":"m 134 1041 q 60 1072 91 1041 q 32 1144 32 1104 q 61 1216 32 1186 q 134 1246 91 1246 q 205 1216 174 1246 q 236 1144 236 1186 q 227 1105 236 1123 q 206 1072 219 1087 q 134 1041 176 1041 m 134 1193 q 98 1178 113 1193 q 83 1144 83 1163 q 99 1109 83 1126 q 114 1099 105 1102 q 134 1096 123 1096 q 151 1099 142 1096 q 167 1109 160 1102 q 183 1144 183 1123 q 168 1178 183 1163 q 134 1193 153 1193 "},"V":{"x_min":51.109375,"x_max":906.4375,"ha":957,"o":"m 881 1048 q 903 1030 897 1042 q 902 1002 909 1017 l 548 23 q 513 0 538 0 l 440 0 q 405 23 415 0 l 52 1002 q 54 1030 48 1017 q 75 1049 61 1042 q 102 1047 90 1054 q 120 1029 115 1041 l 465 72 l 488 72 l 836 1029 q 854 1047 841 1041 q 881 1048 868 1054 "},"å":{"x_min":47,"x_max":554,"ha":632,"o":"m 554 34 q 543 9 554 19 q 519 0 533 0 q 492 9 504 0 q 481 34 481 19 l 481 56 q 334 0 420 0 l 264 0 q 179 17 219 0 q 110 63 140 34 q 64 132 81 92 q 47 217 47 172 q 64 303 47 263 q 110 372 81 342 q 179 419 140 402 q 265 437 219 437 l 381 437 l 416 437 q 462 455 444 437 q 481 501 481 473 l 481 505 l 481 524 q 456 586 481 561 q 396 612 431 612 l 332 612 l 303 612 l 131 612 q 106 622 116 612 q 97 647 97 631 q 106 672 97 662 q 131 682 116 682 l 303 682 l 333 682 l 397 682 q 457 669 428 682 q 507 636 485 657 q 541 586 529 615 q 554 525 554 558 l 554 34 m 439 112 q 479 205 479 149 l 479 383 q 416 365 453 365 l 381 365 l 265 365 q 160 322 202 365 q 119 217 119 280 q 130 160 119 187 q 161 113 141 133 q 207 81 181 93 q 264 69 234 69 l 334 69 q 391 81 364 69 q 439 112 417 93 m 324 767 q 251 796 281 767 q 222 869 222 825 q 251 941 222 911 q 324 971 281 971 q 396 941 367 971 q 426 869 426 911 q 417 829 426 848 q 396 795 409 811 q 324 767 364 767 m 324 918 q 289 903 303 918 q 275 869 275 888 q 289 833 275 848 q 324 818 303 818 q 341 822 332 818 q 357 831 350 826 q 373 869 373 848 q 359 903 373 888 q 324 918 345 918 "}," ":{"x_min":0,"x_max":0,"ha":375},"0":{"x_min":83,"x_max":833,"ha":916,"o":"m 458 1050 q 603 1020 535 1050 q 723 940 671 991 q 803 821 774 890 q 833 675 833 752 l 833 373 q 803 227 833 295 q 723 109 774 159 q 603 29 671 58 q 458 0 535 0 q 312 29 380 0 q 193 109 244 58 q 112 227 142 159 q 83 373 83 295 l 83 675 q 112 821 83 752 q 193 940 142 890 q 312 1020 244 991 q 458 1050 380 1050 m 155 373 q 178 255 155 311 q 243 158 202 200 q 340 93 285 116 q 457 69 395 69 q 557 87 510 69 q 645 136 605 105 l 234 880 q 175 787 196 840 q 155 674 155 734 l 155 373 m 762 675 q 738 794 762 738 q 673 891 714 850 q 575 956 631 933 q 457 980 520 980 q 368 966 410 980 q 291 927 325 952 l 696 186 q 745 273 728 226 q 762 373 762 320 l 762 675 "},"@":{"x_min":92,"x_max":1066,"ha":1144,"o":"m 691 1136 q 835 1107 767 1136 q 957 1026 903 1079 q 1038 904 1010 972 q 1066 762 1066 837 l 1066 655 l 1066 223 q 1056 199 1066 209 q 1031 189 1046 189 q 1005 199 1016 189 q 994 223 994 209 l 994 655 l 994 762 q 971 877 994 822 q 906 976 949 932 q 807 1042 861 1020 q 690 1064 753 1064 l 608 1064 l 467 1064 q 347 1040 403 1064 q 250 975 292 1016 q 185 880 208 934 q 161 762 161 825 l 161 283 q 151 257 161 267 q 126 247 142 247 q 101 257 110 247 q 92 283 92 267 l 92 762 q 121 906 92 838 q 201 1026 150 974 q 320 1106 251 1077 q 467 1136 389 1136 l 608 1136 l 691 1136 m 126 248 q 151 258 142 248 q 161 284 161 268 q 185 165 161 221 q 250 68 208 110 q 347 3 292 27 q 467 -21 403 -21 l 682 -21 q 744 4 718 -21 q 770 65 770 29 l 770 183 q 745 179 755 179 l 652 179 l 482 179 q 369 224 418 179 q 335 277 347 248 q 323 338 323 306 l 323 462 q 335 522 323 494 q 370 572 348 551 q 420 605 392 593 q 482 618 449 618 l 561 618 l 620 618 l 685 618 q 730 612 709 618 q 770 593 750 606 l 770 597 l 770 708 q 745 767 770 739 q 682 792 721 792 l 620 792 l 591 792 l 445 792 l 445 737 q 434 712 445 722 q 408 701 424 701 q 384 712 394 701 q 374 737 374 722 l 374 827 q 384 853 374 843 q 408 864 394 864 l 590 864 l 620 864 l 682 864 q 795 818 749 864 q 829 767 818 796 q 841 708 841 739 l 841 597 l 841 464 l 841 462 l 841 458 l 841 214 l 841 65 q 829 3 841 32 q 795 -46 817 -24 q 745 -80 774 -67 q 682 -93 716 -93 l 467 -93 q 320 -63 389 -93 q 201 17 251 -33 q 121 136 150 68 q 92 283 92 205 q 101 258 92 268 q 126 248 110 248 m 744 251 q 762 257 755 251 q 769 276 769 264 l 769 285 l 769 465 q 744 523 769 500 q 685 546 720 546 l 620 546 l 561 546 l 482 546 q 420 522 446 546 q 395 462 395 498 l 395 338 q 420 276 395 303 q 482 251 449 251 l 651 251 l 744 251 "},"ö":{"x_min":61,"x_max":596,"ha":657,"o":"m 516 604 q 575 518 554 566 q 596 416 596 469 l 596 266 q 575 162 596 211 q 517 77 554 113 q 432 20 480 41 q 327 0 383 0 q 223 20 272 0 q 138 77 174 41 q 81 162 102 113 q 61 266 61 211 l 61 416 q 81 518 61 469 q 138 604 101 566 q 226 662 177 643 q 327 682 274 682 q 430 662 381 682 q 516 604 479 643 m 327 69 q 403 84 367 69 q 465 127 438 100 q 509 189 493 154 q 525 266 525 225 l 525 416 q 509 490 525 454 q 466 554 494 526 q 327 612 408 612 q 190 554 245 612 q 147 490 162 526 q 133 416 133 454 l 133 266 q 148 189 133 225 q 190 127 163 154 q 251 84 216 100 q 327 69 287 69 m 133 801 q 142 827 133 817 q 167 838 152 838 q 193 827 183 838 q 204 801 204 817 q 193 776 204 786 q 167 767 183 767 q 142 776 152 767 q 133 801 133 786 m 454 801 q 463 827 454 817 q 488 838 473 838 q 514 827 504 838 q 525 801 525 817 q 514 776 525 786 q 488 767 504 767 q 463 776 473 767 q 454 801 454 786 "},"i":{"x_min":83,"x_max":154,"ha":248,"o":"m 117 768 q 92 778 102 768 q 83 805 83 788 q 92 830 83 820 q 117 840 102 840 q 143 830 133 840 q 154 805 154 820 q 143 778 154 788 q 117 768 133 768 m 154 37 q 143 10 154 20 q 117 1 133 1 q 83 37 83 1 l 83 647 q 92 672 83 662 q 117 682 102 682 q 143 672 133 682 q 154 647 154 662 l 154 37 "},"Õ":{"x_min":83,"x_max":833,"ha":916,"o":"m 457 1051 q 602 1023 534 1051 q 724 942 670 995 q 805 819 777 888 q 833 676 833 750 l 833 374 q 803 229 833 297 q 723 110 774 161 q 603 29 671 59 q 458 0 535 0 q 311 29 380 0 q 192 110 242 59 q 112 229 141 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 192 941 141 889 q 311 1021 242 992 q 457 1051 380 1051 m 762 675 q 739 792 762 737 q 671 889 716 848 q 575 957 630 934 q 457 980 520 980 q 340 956 395 980 q 243 891 285 932 q 178 793 202 849 q 155 675 155 738 l 155 374 q 178 257 155 312 q 243 160 202 202 q 340 95 285 119 q 457 72 395 72 q 575 95 520 72 q 673 160 631 119 q 738 257 714 202 q 762 374 762 312 l 762 675 m 330 1107 q 305 1108 318 1102 q 285 1128 292 1114 q 286 1214 266 1173 q 350 1272 307 1256 q 397 1279 374 1279 q 441 1267 420 1279 q 473 1239 457 1256 q 495 1203 488 1223 q 518 1177 502 1185 q 555 1177 535 1170 q 584 1198 573 1181 q 587 1214 587 1203 q 585 1234 587 1224 q 584 1260 578 1248 q 602 1280 589 1273 q 626 1277 613 1283 q 646 1256 639 1272 q 651 1214 651 1237 q 641 1171 651 1191 q 577 1116 621 1128 q 532 1111 555 1109 q 491 1121 510 1113 q 457 1146 471 1130 q 434 1184 442 1162 q 410 1209 427 1199 q 398 1212 407 1212 q 377 1209 388 1212 q 350 1187 360 1203 q 346 1150 339 1170 q 346 1125 350 1138 q 330 1107 341 1112 "},"]":{"x_min":29,"x_max":308.4375,"ha":408,"o":"m 147 1064 q 210 1051 180 1064 q 261 1016 240 1039 q 295 964 283 994 q 308 900 308 934 l 308 147 q 295 84 308 113 q 261 33 283 55 q 210 -1 240 11 q 147 -14 180 -14 l 63 -14 q 39 -4 49 -14 q 29 20 29 5 q 39 45 29 36 q 63 55 49 55 l 147 55 q 212 82 186 55 q 239 147 239 109 l 239 900 q 212 967 239 940 q 147 994 186 994 l 63 994 q 39 1004 49 994 q 29 1029 29 1013 q 39 1054 29 1044 q 63 1064 49 1064 l 147 1064 "},"m":{"x_min":106,"x_max":1030,"ha":1133,"o":"m 808 682 q 893 664 853 682 q 963 618 933 647 q 1011 548 993 588 q 1030 462 1030 508 l 1030 34 q 1019 9 1030 19 q 994 0 1009 0 q 968 9 978 0 q 958 34 958 19 l 958 462 q 946 520 958 493 q 914 568 934 547 q 866 600 893 588 q 808 612 839 612 l 751 612 q 693 600 721 612 q 647 568 666 588 q 615 520 627 547 q 604 462 604 493 l 604 34 q 592 9 604 19 q 568 0 581 0 q 542 9 552 0 q 532 34 532 19 l 532 462 q 520 520 532 493 q 487 568 508 547 q 439 600 466 588 q 381 612 412 612 l 324 612 q 268 600 295 612 q 220 569 241 588 q 188 522 200 550 q 177 466 177 495 l 177 34 q 166 9 177 19 q 140 0 156 0 q 115 9 125 0 q 106 34 106 19 l 106 647 q 115 672 106 662 q 140 682 125 682 q 166 672 156 682 q 177 647 177 662 l 177 623 q 325 682 239 682 l 382 682 q 489 654 440 682 q 568 583 537 627 q 645 654 597 627 q 751 682 693 682 l 808 682 "},"8":{"x_min":81,"x_max":764,"ha":845,"o":"m 628 603 q 726 513 688 572 q 764 383 764 454 l 764 247 q 744 150 764 195 q 691 72 725 105 q 612 19 658 38 q 515 0 566 0 l 326 0 q 230 19 275 0 q 153 72 186 38 q 100 150 119 105 q 81 247 81 195 l 81 383 q 118 513 81 454 q 216 603 156 572 q 160 673 181 632 q 139 764 139 715 l 139 844 q 154 923 139 886 q 199 989 170 961 q 265 1034 227 1018 q 346 1050 302 1050 l 500 1050 q 579 1034 542 1050 q 645 989 617 1018 q 690 923 674 961 q 706 844 706 886 l 706 764 q 685 673 706 715 q 628 603 664 632 m 210 764 q 220 711 210 736 q 249 668 230 687 q 293 639 268 650 q 346 628 318 628 l 499 628 l 500 628 q 552 639 528 628 q 595 668 576 650 q 625 711 614 687 q 636 764 636 736 l 636 844 q 625 896 636 872 q 595 939 614 920 q 552 969 576 958 q 500 980 528 980 l 346 980 q 293 969 318 980 q 249 939 268 958 q 220 896 230 920 q 210 844 210 872 l 210 764 m 693 383 q 679 450 693 418 q 640 506 665 482 q 584 544 616 530 q 515 558 551 558 l 326 558 q 258 544 290 558 q 203 506 226 530 q 165 450 179 482 q 152 383 152 418 l 152 247 q 165 178 152 211 q 203 121 179 145 q 258 83 226 97 q 326 69 290 69 l 515 69 q 584 83 551 69 q 640 121 616 97 q 679 178 665 145 q 693 247 693 211 l 693 383 "},"R":{"x_min":106,"x_max":781.953125,"ha":866,"o":"m 777 54 q 781 29 783 43 q 765 5 778 15 q 738 0 753 -2 q 717 18 724 4 l 450 439 l 175 439 l 175 34 q 165 9 175 19 q 140 0 156 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 143 1051 l 469 1051 q 589 1026 533 1051 q 686 960 645 1002 q 752 863 728 919 q 777 744 777 808 q 758 638 777 688 q 706 549 739 588 q 629 482 674 509 q 532 443 584 454 l 777 54 m 175 510 l 470 510 q 561 528 518 510 q 636 579 604 547 q 686 653 668 611 q 705 744 705 695 q 686 835 705 792 q 636 910 668 878 q 561 961 604 942 q 470 980 518 980 l 175 980 l 175 510 "}," ":{"x_min":0,"x_max":0,"ha":261},"á":{"x_min":58,"x_max":565,"ha":668,"o":"m 318 781 q 307 808 307 793 q 316 834 307 823 l 369 886 q 394 895 380 895 q 420 884 409 895 q 430 860 430 875 q 420 836 430 845 l 367 783 q 342 772 356 772 q 318 781 328 772 m 408 682 q 467 670 438 682 q 519 637 496 659 q 565 525 565 591 l 565 416 l 565 34 q 555 9 565 19 q 530 0 545 0 q 504 9 515 0 q 493 34 493 19 l 493 56 q 345 0 431 0 l 277 0 q 191 17 231 0 q 122 63 152 34 q 75 132 92 92 q 58 217 58 172 q 74 301 58 262 q 121 373 91 341 q 192 420 152 403 q 277 437 233 437 l 394 437 l 428 437 q 476 455 456 437 q 493 501 493 473 l 493 505 l 493 524 q 467 587 493 562 q 441 605 456 598 q 407 612 425 612 l 344 612 l 315 612 l 145 612 q 118 622 128 612 q 108 647 108 631 q 118 672 108 662 q 145 682 128 682 l 314 682 l 344 682 l 408 682 m 448 112 q 493 217 493 156 l 493 383 q 461 368 477 371 q 428 365 445 365 l 394 365 l 277 365 q 172 322 215 365 q 130 217 130 280 q 141 160 130 187 q 173 113 153 133 q 219 81 192 93 q 277 69 246 69 l 345 69 q 401 81 374 69 q 448 112 429 93 "},"×":{"x_min":75.265625,"x_max":480.28125,"ha":563,"o":"m 473 308 q 479 284 481 297 q 469 266 477 272 q 445 261 458 259 q 426 273 433 262 l 277 488 l 129 273 q 111 261 123 262 q 88 266 98 259 q 75 284 77 272 q 81 308 73 297 l 241 541 l 81 770 q 76 795 75 783 q 88 812 77 807 q 111 818 98 819 q 130 805 123 816 l 277 591 l 425 805 q 443 818 431 816 q 466 812 455 819 q 479 795 477 807 q 472 770 480 783 l 311 541 l 473 308 "},"o":{"x_min":81,"x_max":614.4375,"ha":695,"o":"m 536 604 q 594 518 574 566 q 614 416 614 469 l 614 266 q 593 162 614 211 q 535 77 572 113 q 450 20 499 41 q 347 0 401 0 q 243 20 292 0 q 158 77 194 41 q 101 162 122 113 q 81 266 81 211 l 81 416 q 101 518 81 469 q 158 604 121 566 q 244 662 195 643 q 347 682 293 682 q 450 662 401 682 q 536 604 499 643 m 347 69 q 423 84 388 69 q 485 127 458 100 q 529 189 513 154 q 545 266 545 225 l 545 416 q 529 490 545 454 q 486 554 514 526 q 347 612 428 612 q 207 554 268 612 q 166 490 181 526 q 152 416 152 454 l 152 266 q 167 189 152 225 q 208 127 182 154 q 271 84 235 100 q 347 69 307 69 "},"5":{"x_min":50,"x_max":700,"ha":747,"o":"m 450 628 q 546 608 501 628 q 625 555 591 589 q 679 477 659 522 q 700 380 700 432 l 700 247 q 679 150 700 195 q 625 72 659 105 q 546 19 591 38 q 449 0 501 0 l 87 0 q 62 9 73 0 q 51 34 51 19 q 62 59 51 50 q 87 69 73 69 l 450 69 q 518 83 486 69 q 575 121 551 97 q 614 178 600 145 q 628 247 628 211 l 628 380 q 614 448 628 417 q 575 504 600 480 q 518 542 551 528 q 450 556 486 556 l 249 556 l 248 556 l 245 560 q 109 614 165 560 q 50 758 50 678 l 50 931 q 84 1015 50 981 q 122 1041 101 1033 q 167 1050 144 1050 l 365 1050 l 657 1050 q 682 1040 672 1050 q 692 1015 692 1030 q 682 990 692 999 q 657 980 672 980 l 365 980 l 167 980 q 149 976 158 980 q 135 966 141 972 q 122 931 122 945 l 122 758 q 131 708 122 732 q 158 666 141 684 q 249 628 199 628 l 255 628 l 450 628 "},"õ":{"x_min":74,"x_max":609,"ha":683,"o":"m 529 604 q 588 518 567 566 q 609 416 609 469 l 609 266 q 588 162 609 211 q 530 77 567 113 q 445 20 493 41 q 340 0 396 0 q 236 20 285 0 q 151 77 187 41 q 94 162 115 113 q 74 266 74 211 l 74 416 q 94 518 74 469 q 151 604 114 566 q 239 662 190 643 q 340 682 287 682 q 443 662 394 682 q 529 604 492 643 m 340 69 q 416 84 380 69 q 478 127 451 100 q 522 189 506 154 q 538 266 538 225 l 538 416 q 522 490 538 454 q 479 554 507 526 q 340 612 421 612 q 202 554 258 612 q 160 490 175 526 q 146 416 146 454 l 146 266 q 161 189 146 225 q 203 127 176 154 q 264 84 229 100 q 340 69 300 69 m 209 747 q 185 747 198 741 q 165 767 172 754 q 166 854 146 812 q 230 911 187 895 q 277 918 254 918 q 321 906 300 918 q 353 878 337 895 q 375 842 368 862 q 398 817 382 824 q 435 816 415 809 q 464 837 453 820 q 467 853 467 842 q 465 873 467 863 q 464 899 458 887 q 482 919 469 912 q 506 916 493 922 q 526 895 519 911 q 531 853 531 876 q 521 810 531 830 q 457 755 501 767 q 412 750 435 748 q 371 760 390 752 q 337 785 351 769 q 314 823 322 801 q 290 848 307 838 q 278 851 287 851 q 257 848 268 851 q 230 826 240 842 q 226 790 219 809 q 225 764 230 777 q 209 747 221 751 "},"7":{"x_min":8,"x_max":636,"ha":672,"o":"m 466 1050 q 586 999 540 1050 q 636 880 636 949 q 633 850 636 865 q 627 820 630 835 l 627 817 l 287 20 q 268 0 283 5 q 242 1 254 -4 q 222 20 227 8 q 223 48 217 33 l 558 845 q 564 880 564 860 q 537 951 564 920 q 466 979 507 979 l 42 979 q 18 988 28 979 q 8 1014 8 998 q 18 1040 8 1030 q 42 1050 28 1050 l 466 1050 "},"K":{"x_min":106,"x_max":840.5,"ha":925,"o":"m 778 1039 q 803 1051 789 1051 q 829 1041 818 1051 q 840 1016 840 1031 q 830 991 840 1002 l 446 572 l 819 56 q 824 29 826 44 q 809 5 822 15 q 784 0 798 -2 q 758 13 769 2 l 383 539 l 178 539 l 178 34 q 167 9 178 19 q 140 0 157 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 q 167 1040 157 1051 q 178 1014 178 1030 l 178 611 l 386 611 l 778 1039 "},",":{"x_min":78,"x_max":131,"ha":210,"o":"m 103 70 q 122 63 114 70 q 131 44 131 56 l 131 -85 q 122 -104 131 -97 q 103 -111 114 -111 q 85 -104 93 -111 q 78 -85 78 -97 l 78 44 q 85 63 78 56 q 103 70 93 70 "},"d":{"x_min":19,"x_max":522,"ha":630,"o":"m 522 34 q 520 22 522 29 q 512 9 519 16 q 487 0 502 0 l 292 0 q 185 21 235 0 q 98 80 135 43 q 40 168 62 118 q 19 275 19 218 l 19 409 q 40 516 19 466 q 98 604 62 566 q 185 663 135 641 q 292 685 235 685 l 452 685 l 452 1019 q 462 1044 452 1034 q 487 1054 472 1054 q 512 1044 502 1054 q 522 1019 522 1034 l 522 34 m 90 276 q 105 197 90 234 q 149 131 121 159 q 214 87 177 103 q 292 72 251 72 l 452 72 l 452 302 l 452 614 l 292 614 q 214 598 251 614 q 149 553 177 582 q 105 488 121 525 q 90 409 90 451 l 90 276 "},"E":{"x_min":106,"x_max":764.328125,"ha":770,"o":"m 175 980 l 175 611 l 662 611 q 688 600 678 611 q 699 575 699 590 q 688 549 699 559 q 662 539 678 539 l 175 539 l 175 72 l 728 72 q 753 60 743 72 q 764 34 764 49 q 753 9 764 19 q 728 0 743 0 l 140 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 728 1051 q 753 1040 743 1051 q 764 1014 764 1030 q 753 989 764 999 q 728 980 743 980 l 175 980 "},"Y":{"x_min":39.875,"x_max":785.890625,"ha":824,"o":"m 770 1045 q 785 1022 783 1037 q 780 995 787 1007 l 450 516 l 450 34 q 439 9 450 19 q 414 0 429 0 q 388 9 398 0 q 378 34 378 19 l 378 516 q 373 521 375 519 q 369 526 372 523 l 47 995 q 40 1022 37 1007 q 54 1045 43 1037 q 82 1050 68 1052 q 105 1036 96 1047 l 412 591 l 722 1036 q 743 1050 729 1047 q 770 1045 758 1052 "},"Ô":{"x_min":83,"x_max":833,"ha":916,"o":"m 527 1127 q 516 1154 516 1139 q 525 1180 516 1169 l 578 1231 q 604 1242 589 1242 q 630 1230 619 1242 q 640 1206 640 1220 q 630 1181 640 1191 l 577 1129 q 551 1118 566 1118 q 527 1127 537 1118 m 394 1128 q 368 1117 383 1117 q 342 1126 353 1117 l 291 1179 q 280 1204 280 1190 q 291 1230 280 1219 q 316 1240 301 1240 q 341 1230 331 1240 l 394 1177 q 404 1152 404 1166 q 394 1128 404 1138 m 457 1051 q 602 1023 534 1051 q 724 942 670 995 q 805 819 777 888 q 833 676 833 750 l 833 374 q 803 229 833 297 q 723 110 774 161 q 603 29 671 59 q 458 0 535 0 q 311 29 380 0 q 192 110 242 59 q 112 229 141 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 192 941 141 889 q 311 1021 242 992 q 457 1051 380 1051 m 762 675 q 739 792 762 737 q 671 889 716 848 q 575 957 630 934 q 457 980 520 980 q 340 956 395 980 q 243 891 285 932 q 178 793 202 849 q 155 675 155 738 l 155 374 q 178 257 155 312 q 243 160 202 202 q 340 95 285 119 q 457 72 395 72 q 575 95 520 72 q 673 160 631 119 q 738 257 714 202 q 762 374 762 312 l 762 675 "},"\"":{"x_min":35,"x_max":185,"ha":224,"o":"m 60 1053 q 79 1046 71 1053 q 88 1027 88 1039 l 88 925 q 79 906 88 913 q 60 900 71 900 q 42 906 50 900 q 35 925 35 913 l 35 1027 q 42 1046 35 1039 q 60 1053 50 1053 m 157 1053 q 176 1046 168 1053 q 185 1027 185 1039 l 185 925 q 176 906 185 913 q 157 900 168 900 q 139 906 147 900 q 132 925 132 913 l 132 1027 q 139 1046 132 1039 q 157 1053 147 1053 "},"‹":{"x_min":8,"x_max":373.84375,"ha":421,"o":"m 364 791 q 373 766 376 780 q 359 743 370 751 l 101 525 l 359 306 q 373 281 370 295 q 364 256 376 268 q 342 243 356 245 q 316 252 327 241 l 20 497 q 8 525 8 512 q 20 552 8 540 l 316 797 q 342 804 327 805 q 364 791 356 802 "},"ê":{"x_min":81,"x_max":616,"ha":669,"o":"m 510 748 q 484 740 498 737 q 461 754 469 743 l 354 879 l 247 754 q 222 740 236 743 q 197 748 208 737 q 184 771 186 757 q 193 797 182 786 l 326 959 q 354 972 342 972 q 382 959 369 972 l 515 797 q 522 771 523 786 q 510 748 521 757 m 349 682 q 538 604 460 682 q 595 517 575 566 q 616 416 616 469 l 616 348 q 605 322 616 332 q 580 312 595 312 l 152 312 l 152 266 q 167 189 152 224 q 209 126 182 153 q 272 84 236 99 q 349 69 307 69 l 500 69 q 525 59 515 69 q 535 34 535 50 q 525 9 535 19 q 500 0 515 0 l 348 0 q 244 20 293 0 q 159 77 196 41 q 101 162 122 113 q 81 266 81 211 l 81 416 q 100 518 81 469 q 160 604 119 566 q 246 662 197 643 q 349 682 295 682 m 544 416 q 529 490 544 453 q 486 554 514 526 q 349 612 430 612 q 273 597 308 612 q 210 554 238 581 q 167 490 182 526 q 152 416 152 453 l 152 383 l 544 383 l 544 416 "},"Ï":{"x_min":36,"x_max":246,"ha":297,"o":"m 70 1194 q 96 1184 86 1194 q 107 1159 107 1175 q 96 1134 107 1144 q 70 1125 86 1125 q 45 1134 55 1125 q 36 1159 36 1144 q 45 1184 36 1175 q 70 1194 55 1194 m 209 1194 q 235 1184 225 1194 q 246 1159 246 1175 q 235 1134 246 1144 q 209 1125 225 1125 q 184 1134 194 1125 q 175 1159 175 1144 q 184 1184 175 1175 q 209 1194 194 1194 m 142 1051 q 167 1040 157 1051 q 178 1014 178 1030 l 178 34 q 167 9 178 19 q 142 0 157 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 142 1051 126 1051 "},"Â":{"x_min":44.390625,"x_max":900.0625,"ha":958,"o":"m 534 1127 q 523 1153 523 1139 q 532 1180 523 1168 l 585 1231 q 611 1240 596 1240 q 637 1229 626 1240 q 647 1205 647 1220 q 637 1181 647 1191 l 584 1129 q 558 1118 573 1118 q 534 1127 544 1118 m 401 1127 q 375 1116 390 1116 q 349 1126 360 1116 l 298 1178 q 287 1204 287 1189 q 298 1229 287 1218 q 323 1239 308 1239 q 348 1229 338 1239 l 401 1177 q 411 1151 411 1166 q 401 1127 411 1137 m 898 46 q 896 19 902 32 q 874 0 890 6 q 847 1 860 -5 q 830 24 834 8 l 719 345 l 224 345 l 114 24 q 96 1 109 8 q 68 0 82 -5 q 48 19 56 6 q 46 46 41 32 l 383 1025 q 416 1051 392 1051 l 524 1051 q 559 1025 549 1051 l 898 46 m 694 417 l 499 980 l 442 980 l 250 417 l 694 417 "},"Í":{"x_min":106,"x_max":234,"ha":298,"o":"m 121 1127 q 110 1154 110 1139 q 119 1180 110 1169 l 172 1232 q 198 1242 183 1242 q 224 1230 213 1242 q 234 1206 234 1221 q 224 1182 234 1191 l 171 1129 q 145 1118 159 1118 q 121 1127 131 1118 m 142 1051 q 167 1040 157 1051 q 178 1014 178 1030 l 178 34 q 167 9 178 19 q 142 0 157 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 142 1051 126 1051 "}," ":{"x_min":0,"x_max":0,"ha":436},"ì":{"x_min":19,"x_max":154,"ha":248,"o":"m 133 794 q 107 783 122 783 q 81 792 92 783 l 30 845 q 19 871 19 856 q 30 897 19 886 q 55 907 40 907 q 80 897 70 907 l 133 844 q 143 818 143 833 q 133 794 143 804 m 154 37 q 143 10 154 20 q 117 1 133 1 q 83 37 83 1 l 83 647 q 92 672 83 662 q 117 682 102 682 q 143 672 133 682 q 154 647 154 662 l 154 37 "},"|":{"x_min":106,"x_max":178,"ha":297,"o":"m 142 1163 q 167 1152 157 1163 q 178 1126 178 1142 l 178 -76 q 167 -101 178 -91 q 142 -111 157 -111 q 116 -101 126 -111 q 106 -76 106 -91 l 106 1126 q 116 1152 106 1142 q 142 1163 126 1163 "},"Ú":{"x_min":94,"x_max":844,"ha":938,"o":"m 809 1051 q 834 1040 824 1051 q 844 1014 844 1030 l 844 374 q 814 229 844 297 q 734 110 785 161 q 615 29 684 59 q 469 0 546 0 q 323 29 391 0 q 204 110 255 59 q 123 229 153 161 q 94 374 94 297 l 94 1014 q 104 1040 94 1030 q 130 1051 114 1051 q 155 1040 145 1051 q 166 1014 166 1030 l 166 374 q 189 257 166 312 q 254 160 213 202 q 351 95 296 119 q 468 72 406 72 q 586 95 531 72 q 684 160 642 119 q 750 257 725 202 q 774 374 774 312 l 774 1014 q 784 1040 774 1030 q 809 1051 794 1051 m 440 1127 q 429 1154 429 1139 q 438 1180 429 1169 l 491 1231 q 516 1241 502 1241 q 542 1230 531 1241 q 552 1206 552 1220 q 542 1181 552 1191 l 489 1129 q 464 1118 478 1118 q 440 1127 450 1118 "}," ":{"x_min":0,"x_max":0,"ha":261},"§":{"x_min":133,"x_max":695,"ha":828,"o":"m 309 1103 q 235 1070 267 1103 q 209 1036 219 1055 q 200 994 200 1016 q 209 951 200 970 q 235 916 219 933 q 253 902 240 913 l 283 876 q 323 840 301 861 l 517 668 l 635 562 q 680 501 665 536 q 695 428 695 466 q 685 371 695 398 q 658 321 675 344 q 617 283 640 299 q 567 259 593 267 l 635 195 q 680 134 665 168 q 695 63 695 100 q 680 -6 695 25 q 641 -64 665 -39 q 584 -103 617 -89 q 516 -117 552 -117 l 313 -117 q 186 -61 237 -117 q 147 -5 159 -37 q 136 63 136 25 q 170 98 136 98 q 204 63 204 98 q 212 23 204 43 q 234 -14 220 2 q 313 -47 265 -47 l 516 -47 q 557 -38 538 -47 q 591 -14 577 -29 q 614 21 606 1 q 623 63 623 41 q 613 106 623 87 q 588 142 603 125 q 564 163 584 146 l 523 199 l 466 248 l 276 416 l 190 492 q 133 629 133 549 q 145 699 133 665 q 184 757 158 733 q 223 783 204 775 l 262 801 l 190 866 q 147 923 161 890 q 133 994 133 956 q 186 1119 133 1064 q 309 1171 237 1171 l 514 1171 q 639 1119 588 1171 q 695 994 695 1063 q 683 968 695 978 q 660 958 672 958 q 632 968 641 958 q 623 994 623 978 q 589 1070 623 1040 q 555 1094 574 1086 q 514 1103 535 1103 l 309 1103 m 588 511 q 564 530 584 513 l 523 566 q 466 613 498 588 l 423 657 q 380 697 403 676 l 334 737 l 309 737 q 270 728 290 737 q 235 704 251 719 q 209 669 219 690 q 200 629 200 648 q 235 548 200 584 q 253 533 240 545 l 283 506 q 323 470 301 491 l 385 415 l 441 366 q 489 324 469 341 l 516 324 q 591 354 560 324 q 623 429 623 384 q 613 472 623 452 q 588 511 603 491 "},"Ý":{"x_min":39.65625,"x_max":786.28125,"ha":824,"o":"m 386 1127 q 375 1154 375 1139 q 384 1180 375 1169 l 437 1232 q 463 1242 448 1242 q 489 1230 478 1242 q 499 1206 499 1221 q 489 1182 499 1191 l 436 1129 q 410 1118 425 1118 q 386 1127 396 1118 m 771 1045 q 785 1022 783 1037 q 780 995 787 1006 l 450 516 l 450 34 q 439 9 450 19 q 414 0 429 0 q 388 9 398 0 q 378 34 378 19 l 378 516 q 373 521 375 519 q 369 526 372 523 l 47 995 q 40 1022 37 1006 q 54 1045 43 1037 q 81 1049 68 1052 q 105 1036 95 1047 l 412 591 l 722 1036 q 744 1049 729 1047 q 771 1045 758 1052 "}," ":{"x_min":0,"x_max":0,"ha":1311},"b":{"x_min":106,"x_max":610,"ha":629,"o":"m 335 682 q 440 661 389 682 q 529 601 490 641 q 589 512 569 562 q 610 408 610 462 l 610 273 q 589 167 610 217 q 529 78 569 117 q 440 19 490 40 q 335 -1 389 -1 l 168 -1 l 140 -1 q 127 1 135 -1 q 115 8 119 3 q 106 33 106 18 l 106 645 l 106 647 l 106 1016 q 115 1041 106 1031 q 140 1051 125 1051 q 167 1041 157 1051 q 177 1016 177 1031 l 177 682 l 335 682 m 538 408 q 478 552 538 493 q 413 596 450 580 q 335 612 376 612 l 177 612 l 177 70 l 335 70 q 478 131 419 70 q 522 196 507 158 q 538 273 538 233 l 538 408 "},"q":{"x_min":28,"x_max":561.4375,"ha":670,"o":"m 561 -209 q 551 -234 561 -224 q 526 -244 542 -244 q 501 -234 511 -244 q 492 -209 492 -224 l 492 83 q 403 21 453 43 q 294 0 353 0 q 190 20 239 0 q 105 77 141 41 q 48 162 69 113 q 28 266 28 211 l 28 416 q 48 518 28 469 q 105 604 68 566 q 191 662 142 643 q 294 682 240 682 q 403 659 353 682 q 492 597 453 637 l 492 647 q 501 672 492 662 q 526 682 511 682 q 551 672 542 682 q 561 647 561 662 l 561 -209 m 294 69 q 370 84 335 69 q 432 127 405 100 q 476 189 460 154 q 492 266 492 225 l 492 416 q 476 492 492 456 q 432 554 460 527 q 370 597 405 581 q 294 612 335 612 q 154 554 215 612 q 113 490 128 526 q 99 416 99 454 l 99 266 q 114 189 99 225 q 155 127 129 154 q 218 84 182 100 q 294 69 254 69 "},"Ö":{"x_min":86,"x_max":837,"ha":923,"o":"m 460 1051 q 607 1021 538 1051 q 726 941 675 992 q 807 821 777 889 q 837 676 837 753 l 837 374 q 807 229 837 297 q 726 110 777 161 q 607 29 675 59 q 460 0 538 0 q 317 27 385 0 q 197 108 249 55 q 114 231 142 162 q 86 374 86 299 l 86 676 q 115 821 86 753 q 196 941 145 889 q 315 1021 247 992 q 460 1051 383 1051 m 766 675 q 742 792 766 737 q 677 889 718 848 q 460 980 586 980 q 343 956 398 980 q 246 891 288 932 q 181 793 205 849 q 158 675 158 738 l 158 374 q 180 258 158 312 q 247 160 202 203 q 344 94 290 116 q 460 72 399 72 q 578 95 523 72 q 675 160 634 119 q 741 257 717 202 q 766 374 766 312 l 766 675 m 158 1085 q 167 1111 158 1101 q 192 1122 177 1122 q 218 1111 208 1122 q 229 1085 229 1101 q 218 1060 229 1070 q 192 1051 208 1051 q 167 1060 177 1051 q 158 1085 158 1070 m 696 1085 q 705 1111 696 1101 q 730 1122 715 1122 q 756 1111 746 1122 q 767 1085 767 1101 q 756 1060 767 1070 q 730 1051 746 1051 q 705 1060 715 1051 q 696 1085 696 1070 "},"z":{"x_min":67,"x_max":518,"ha":585,"o":"m 483 69 q 508 59 498 69 q 518 34 518 50 q 508 9 518 19 q 483 0 498 0 l 104 0 q 79 9 86 0 q 67 34 67 18 l 67 83 q 71 95 69 90 q 76 105 72 100 l 445 612 l 104 612 q 78 622 89 612 q 67 647 67 631 q 78 672 67 662 q 104 682 89 682 l 483 682 q 508 672 499 682 q 518 647 518 662 l 518 601 q 512 581 518 588 l 139 72 l 139 69 l 483 69 "},"™":{"x_min":69,"x_max":541,"ha":620,"o":"m 522 1048 q 534 1043 528 1048 q 541 1031 541 1039 l 541 790 q 534 776 541 781 q 523 772 528 772 q 505 790 505 772 l 505 1009 l 436 898 q 429 896 434 898 q 417 894 424 894 q 411 896 416 894 q 403 898 406 898 l 330 1009 l 330 790 q 312 772 330 772 q 300 776 306 772 q 294 790 294 781 l 294 1031 q 300 1043 294 1039 q 312 1048 306 1048 l 336 1048 q 346 1042 338 1048 l 417 941 l 482 1042 q 499 1048 491 1048 l 522 1048 m 248 1049 q 260 1044 255 1049 q 265 1032 265 1040 q 260 1018 265 1022 q 248 1014 255 1014 l 183 1014 l 183 790 q 166 772 183 772 q 150 790 150 772 l 150 1014 l 82 1014 q 69 1032 69 1014 q 82 1049 69 1049 l 166 1049 l 248 1049 "},"ã":{"x_min":39,"x_max":546,"ha":606,"o":"m 389 682 q 449 669 420 682 q 499 636 477 657 q 533 586 521 615 q 546 525 546 558 l 546 34 q 536 9 546 19 q 511 0 526 0 q 485 9 495 0 q 474 34 474 19 l 474 56 q 326 0 410 0 l 256 0 q 171 17 211 0 q 102 63 131 34 q 56 132 73 92 q 39 217 39 172 q 56 303 39 263 q 102 372 73 342 q 171 419 131 402 q 256 437 210 437 l 373 437 l 409 437 q 456 455 437 437 q 474 501 474 473 l 474 505 l 474 524 q 449 586 474 561 q 388 612 424 612 l 324 612 l 295 612 l 124 612 q 99 622 109 612 q 89 647 89 631 q 99 672 89 662 q 125 682 109 682 l 295 682 l 325 682 l 389 682 m 429 112 q 472 217 472 158 l 472 383 q 442 369 459 373 q 409 365 426 365 l 373 365 l 256 365 q 199 353 226 365 q 153 321 173 341 q 122 275 133 302 q 111 217 111 248 q 122 160 111 187 q 153 113 133 133 q 199 81 173 93 q 256 69 226 69 l 326 69 q 382 81 355 69 q 429 112 409 93 m 172 747 q 147 747 160 741 q 127 767 134 754 q 129 854 108 812 q 192 911 149 895 q 239 918 216 918 q 283 906 262 918 q 315 878 299 895 q 337 842 330 862 q 360 817 344 824 q 397 816 377 809 q 426 837 415 820 q 429 853 429 842 q 427 873 429 863 q 426 899 420 887 q 444 919 431 912 q 468 916 455 922 q 488 895 481 911 q 493 853 493 876 q 483 810 493 830 q 419 755 463 767 q 374 750 397 748 q 333 760 352 752 q 299 785 313 769 q 276 823 284 801 q 252 848 269 838 q 240 851 249 851 q 219 848 230 851 q 192 826 202 842 q 188 790 181 809 q 188 764 192 777 q 172 747 183 751 "},"æ":{"x_min":47,"x_max":1015,"ha":1071,"o":"m 751 688 q 935 607 855 688 q 994 519 973 568 q 1015 417 1015 470 l 1015 406 q 1006 376 1015 388 q 977 365 997 365 q 840 365 912 365 q 702 365 777 365 q 552 365 627 365 l 552 266 q 566 190 552 224 q 605 129 580 156 q 663 89 630 103 q 735 75 696 75 l 922 75 q 949 63 937 75 q 961 37 961 52 q 949 11 961 22 q 922 0 937 0 l 735 0 q 635 21 681 0 q 552 80 588 43 q 538 97 546 88 q 527 113 530 105 q 508 90 517 102 q 488 68 498 77 q 416 18 455 36 q 328 0 377 0 l 262 0 q 178 17 217 0 q 109 64 138 34 q 63 134 80 94 q 47 218 47 173 q 63 304 47 263 q 109 374 80 344 q 178 421 138 404 q 262 439 217 439 l 483 439 l 483 525 q 455 588 483 562 q 395 614 428 614 l 328 614 l 299 614 l 129 614 q 105 624 115 614 q 96 646 96 634 q 105 675 96 662 q 129 688 115 688 l 299 688 l 329 688 l 395 688 q 485 658 444 688 q 545 586 526 629 q 631 658 578 629 q 751 688 684 688 m 751 614 q 679 599 713 614 q 619 561 645 585 q 575 505 592 537 q 552 436 557 472 l 942 436 q 920 501 937 469 q 883 555 902 533 q 822 599 856 584 q 751 614 788 614 m 437 118 q 469 165 456 138 q 483 218 483 191 l 483 368 l 262 368 q 205 356 231 368 q 159 324 179 344 q 129 276 140 304 q 118 218 118 248 q 129 162 118 188 q 159 116 140 136 q 205 86 179 97 q 262 75 231 75 l 328 75 q 437 118 394 75 "},"®":{"x_min":60,"x_max":859,"ha":920,"o":"m 629 337 q 632 311 636 323 q 620 294 629 299 q 570 305 587 278 l 463 471 l 375 471 l 375 319 q 366 296 375 305 q 345 287 357 287 q 321 296 332 287 q 310 319 310 305 l 310 502 l 310 506 l 310 510 l 310 734 q 321 756 310 745 q 346 768 332 768 l 483 768 q 538 755 511 768 q 584 723 565 742 q 620 676 609 702 q 632 617 632 649 q 620 562 632 588 q 584 516 609 536 l 562 494 q 536 479 551 483 l 629 337 m 375 536 l 483 536 q 541 559 518 536 q 560 588 552 573 q 568 617 568 602 q 560 649 568 634 q 541 676 552 665 q 483 704 516 704 l 375 704 l 375 536 m 462 927 q 617 895 544 927 q 742 810 689 864 q 827 683 796 756 q 859 527 859 610 q 827 372 859 445 q 742 244 796 299 q 617 157 689 189 q 462 126 544 126 q 306 157 379 126 q 178 244 233 189 q 91 372 123 299 q 60 527 60 445 q 91 683 60 610 q 178 810 123 756 q 306 895 233 864 q 462 927 379 927 m 462 193 q 592 219 531 193 q 697 291 653 245 q 768 397 742 337 q 795 527 795 458 q 768 657 795 596 q 697 764 742 719 q 592 835 653 809 q 462 862 531 862 q 330 835 392 862 q 222 764 268 809 q 150 657 176 719 q 124 527 124 596 q 150 397 124 458 q 222 291 176 337 q 330 219 268 245 q 462 193 392 193 "},"É":{"x_min":106,"x_max":764.328125,"ha":770,"o":"m 407 1134 q 396 1161 396 1146 q 405 1187 396 1175 l 458 1238 q 484 1248 469 1248 q 510 1237 499 1248 q 520 1212 520 1227 q 510 1188 520 1198 l 457 1136 q 431 1125 446 1125 q 407 1134 417 1125 m 175 980 l 175 611 l 662 611 q 688 600 678 611 q 699 575 699 590 q 688 549 699 559 q 662 539 678 539 l 175 539 l 175 72 l 728 72 q 753 60 743 72 q 764 34 764 49 q 753 9 764 19 q 728 0 743 0 l 140 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 728 1051 q 753 1040 743 1051 q 764 1014 764 1030 q 753 989 764 999 q 728 980 743 980 l 175 980 "},"~":{"x_min":162,"x_max":720,"ha":869,"o":"m 710 662 q 720 600 720 632 q 704 536 720 568 q 667 488 693 509 q 613 456 640 467 q 549 444 581 444 q 489 458 517 444 q 439 496 461 472 q 404 553 417 520 q 388 585 399 572 q 361 605 377 598 q 329 613 346 613 q 291 607 311 613 q 241 561 259 594 q 234 491 223 527 q 232 464 238 475 q 216 448 227 452 q 189 448 202 442 q 171 468 177 455 q 162 532 162 500 q 175 592 162 564 q 212 642 189 619 q 267 676 236 664 q 332 685 298 685 q 393 669 366 685 q 474 578 454 639 q 519 526 485 540 q 590 524 553 511 q 640 567 627 535 q 645 636 653 603 q 644 666 638 651 q 665 686 650 680 q 690 683 676 689 q 710 662 703 678 "},"[":{"x_min":97,"x_max":375,"ha":407,"o":"m 258 994 q 195 967 222 994 q 168 900 168 940 l 168 147 q 195 82 168 109 q 258 55 222 55 l 340 55 q 365 45 355 55 q 375 20 375 36 q 365 -4 375 5 q 340 -14 355 -14 l 258 -14 q 194 -1 224 -14 q 143 33 165 11 q 109 84 122 55 q 97 147 97 113 l 97 900 q 109 964 97 934 q 143 1016 122 994 q 194 1051 165 1039 q 258 1064 224 1064 l 340 1064 q 365 1054 355 1064 q 375 1029 375 1044 q 365 1004 375 1013 q 340 994 355 994 l 258 994 "},"L":{"x_min":106,"x_max":755.78125,"ha":756,"o":"m 718 72 q 744 60 733 72 q 755 34 755 49 q 744 9 755 19 q 718 0 733 0 l 160 0 l 150 0 l 143 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 143 1051 126 1051 q 168 1040 158 1051 q 178 1014 178 1030 l 178 72 l 718 72 "}," ":{"x_min":0,"x_max":0,"ha":375},"P":{"x_min":106,"x_max":780,"ha":791,"o":"m 472 1051 q 591 1026 535 1051 q 689 960 647 1002 q 755 863 731 919 q 780 744 780 808 q 755 624 780 680 q 689 527 731 569 q 591 462 648 486 q 472 439 535 439 l 178 439 l 178 34 q 168 9 178 19 q 143 0 158 0 q 117 9 128 0 q 106 34 106 19 l 106 1014 q 117 1040 106 1030 q 143 1051 128 1051 l 144 1051 l 472 1051 m 472 510 q 564 528 521 510 q 638 579 606 547 q 689 653 670 611 q 708 744 708 695 q 689 835 708 792 q 638 910 670 878 q 564 961 606 942 q 472 980 521 980 l 178 980 l 178 510 l 472 510 "},"À":{"x_min":45.328125,"x_max":901.109375,"ha":959,"o":"m 520 1127 q 494 1116 509 1116 q 468 1125 479 1116 l 417 1178 q 406 1204 406 1189 q 417 1230 406 1219 q 442 1239 427 1239 q 467 1230 457 1239 l 520 1177 q 530 1151 530 1166 q 520 1127 530 1137 m 899 46 q 897 19 903 32 q 875 0 891 6 q 848 1 861 -5 q 831 24 835 8 l 720 345 l 225 345 l 115 24 q 96 1 110 8 q 69 0 83 -5 q 49 19 57 6 q 47 46 42 32 l 383 1025 q 417 1051 393 1051 l 525 1051 q 560 1025 550 1051 l 899 46 m 695 417 l 500 980 l 443 980 l 251 417 l 695 417 "},"_":{"x_min":100,"x_max":558,"ha":658,"o":"m 523 69 q 546 59 535 69 q 558 34 558 50 q 546 9 558 19 q 523 0 535 0 l 136 0 q 110 9 120 0 q 100 34 100 19 q 110 59 100 50 q 136 69 120 69 l 523 69 "},"ñ":{"x_min":104.609375,"x_max":638,"ha":738,"o":"m 417 688 q 501 669 461 688 q 572 621 542 651 q 619 551 601 592 q 638 464 638 510 l 638 37 q 627 11 638 22 q 600 0 617 0 q 577 11 588 0 q 566 37 566 22 l 566 464 q 554 521 566 494 q 522 569 542 548 q 475 602 503 590 q 417 614 447 614 l 325 614 q 267 602 295 614 q 220 571 240 591 q 188 525 200 551 q 177 471 177 500 l 177 37 q 165 11 177 22 q 140 0 154 0 q 115 11 125 0 q 106 37 106 22 l 106 342 q 104 343 104 342 l 104 344 l 104 464 l 104 466 q 105 468 104 468 q 106 471 106 469 l 106 646 q 115 675 106 662 q 140 688 125 688 q 165 675 154 688 q 177 646 177 662 l 177 629 q 242 671 204 654 q 325 688 279 688 l 417 688 m 236 750 q 212 750 225 744 q 192 771 199 757 q 193 857 172 815 q 257 914 214 898 q 303 921 280 921 q 347 909 326 921 q 379 881 364 898 q 401 845 394 865 q 425 820 408 827 q 461 819 441 812 q 490 840 479 823 q 493 856 493 845 q 491 876 493 866 q 490 902 484 890 q 508 922 495 915 q 532 919 519 925 q 552 898 545 914 q 557 856 557 879 q 547 813 557 833 q 483 758 527 771 q 438 753 461 751 q 397 764 416 755 q 363 788 377 772 q 340 826 348 804 q 316 851 333 841 q 304 854 314 854 q 283 851 294 854 q 256 829 267 845 q 253 793 246 812 q 252 767 257 780 q 236 750 247 754 "},"+":{"x_min":19,"x_max":595,"ha":628,"o":"m 557 560 q 584 550 574 560 q 595 525 595 541 q 584 500 595 510 q 557 491 574 491 l 343 491 l 343 274 q 333 248 343 258 q 308 238 323 238 q 282 248 292 238 q 272 274 272 258 l 272 491 l 55 491 q 29 500 39 491 q 19 525 19 510 q 29 550 19 541 q 55 560 39 560 l 272 560 l 272 778 q 282 803 272 793 q 308 813 292 813 q 333 803 323 813 q 343 778 343 793 l 343 560 l 557 560 "},"‑":{"x_min":68,"x_max":508,"ha":587,"o":"m 473 559 q 496 549 485 559 q 508 524 508 540 q 496 499 508 509 q 473 490 485 490 l 105 490 q 79 499 90 490 q 68 524 68 509 q 79 549 68 540 q 105 559 90 559 l 473 559 "},"Ë":{"x_min":106,"x_max":764.328125,"ha":770,"o":"m 350 1194 q 376 1184 366 1194 q 387 1159 387 1175 q 376 1134 387 1144 q 350 1125 366 1125 q 325 1134 335 1125 q 316 1159 316 1144 q 325 1184 316 1175 q 350 1194 335 1194 m 572 1194 q 598 1184 588 1194 q 609 1159 609 1175 q 598 1134 609 1144 q 572 1125 588 1125 q 547 1134 557 1125 q 538 1159 538 1144 q 547 1184 538 1175 q 572 1194 557 1194 m 175 980 l 175 611 l 663 611 q 688 600 678 611 q 699 575 699 590 q 688 549 699 559 q 663 539 678 539 l 175 539 l 175 72 l 728 72 q 753 60 743 72 q 764 34 764 49 q 753 9 764 19 q 728 0 743 0 l 140 0 q 115 9 125 0 q 106 34 106 19 l 106 1014 q 115 1040 106 1030 q 140 1051 125 1051 l 728 1051 q 753 1040 743 1051 q 764 1014 764 1030 q 753 989 764 999 q 728 980 743 980 l 175 980 "},"'":{"x_min":60,"x_max":113,"ha":163,"o":"m 85 1053 q 104 1046 96 1053 q 113 1027 113 1039 l 113 925 q 104 906 113 913 q 85 900 96 900 q 67 906 75 900 q 60 925 60 913 l 60 1027 q 67 1046 60 1039 q 85 1053 75 1053 "}," ":{"x_min":0,"x_max":0,"ha":1311},"T":{"x_min":25,"x_max":721,"ha":746,"o":"m 686 1051 q 711 1040 701 1051 q 721 1014 721 1030 q 711 989 721 999 q 686 980 701 980 l 411 980 l 411 34 q 400 9 411 19 q 374 0 390 0 q 349 9 359 0 q 340 34 340 19 l 340 980 l 61 980 q 35 989 45 980 q 25 1014 25 999 q 35 1040 25 1030 q 61 1051 45 1051 l 686 1051 "},"j":{"x_min":0,"x_max":301.4375,"ha":382,"o":"m 266 769 q 241 779 250 769 q 232 806 232 789 q 241 831 232 821 q 266 841 250 841 q 291 831 281 841 q 301 806 301 821 q 291 779 301 789 q 266 769 281 769 m 301 21 q 280 -82 301 -34 q 222 -166 259 -130 q 137 -223 186 -202 q 34 -244 88 -244 q 9 -234 19 -244 q 0 -209 0 -224 q 9 -184 0 -193 q 34 -174 19 -174 q 110 -159 75 -174 q 172 -117 145 -144 q 216 -55 200 -91 q 232 21 232 -19 l 232 647 q 241 672 232 662 q 266 682 250 682 q 291 672 281 682 q 301 647 301 662 l 301 21 "},"1":{"x_min":2.84375,"x_max":176.4375,"ha":288,"o":"m 141 1050 q 166 1040 156 1050 q 176 1015 176 1030 l 176 34 q 166 9 176 19 q 141 0 156 0 q 116 9 126 0 q 107 34 107 19 l 107 980 l 40 980 q 13 990 25 980 q 2 1015 2 999 q 13 1040 2 1030 q 40 1050 25 1050 l 141 1050 "}," ":{"x_min":0,"x_max":0,"ha":328},"›":{"x_min":86.046875,"x_max":451,"ha":528,"o":"m 439 552 q 447 539 444 547 q 451 525 451 531 q 447 511 451 518 q 439 497 444 504 l 144 252 q 119 243 132 241 q 94 256 105 245 q 86 281 84 268 q 99 306 88 295 l 357 525 l 99 743 q 86 766 88 751 q 94 791 84 780 q 119 804 105 802 q 144 797 132 805 l 439 552 "}," ":{"x_min":0,"x_max":0,"ha":218},"ä":{"x_min":39,"x_max":546,"ha":624,"o":"m 389 682 q 449 669 420 682 q 499 636 477 657 q 533 586 521 615 q 546 525 546 558 l 546 34 q 536 9 546 19 q 511 0 526 0 q 485 9 495 0 q 474 34 474 19 l 474 56 q 326 0 410 0 l 256 0 q 171 17 211 0 q 102 63 131 34 q 56 132 73 92 q 39 217 39 172 q 56 303 39 263 q 102 372 73 342 q 171 419 132 402 q 256 437 211 437 l 373 437 l 409 437 q 456 455 437 437 q 474 501 474 473 l 474 505 l 474 524 q 449 586 474 561 q 388 612 424 612 l 324 612 l 295 612 l 124 612 q 99 622 109 612 q 89 647 89 631 q 99 672 89 662 q 125 682 109 682 l 295 682 l 325 682 l 389 682 m 428 112 q 472 217 472 158 l 472 383 q 442 369 459 373 q 409 365 426 365 l 373 365 l 256 365 q 199 353 226 365 q 153 321 173 341 q 122 275 133 302 q 111 217 111 248 q 122 160 111 187 q 153 113 133 133 q 199 81 173 93 q 256 69 226 69 l 326 69 q 382 81 355 69 q 428 112 409 93 m 111 801 q 120 827 111 817 q 145 838 130 838 q 171 827 161 838 q 182 801 182 817 q 171 776 182 786 q 145 767 161 767 q 120 776 130 767 q 111 801 111 786 m 404 801 q 413 827 404 817 q 438 838 423 838 q 464 827 454 838 q 475 801 475 817 q 464 776 475 786 q 438 767 454 767 q 413 776 423 767 q 404 801 404 786 "},"<":{"x_min":8,"x_max":373.84375,"ha":461,"o":"m 364 791 q 373 766 376 780 q 359 743 370 751 l 101 525 l 359 306 q 373 281 370 295 q 364 256 376 268 q 342 243 356 245 q 316 252 327 241 l 20 497 q 8 525 8 512 q 20 552 8 540 l 316 797 q 342 804 327 805 q 364 791 356 802 "},"£":{"x_min":107,"x_max":618.625,"ha":728,"o":"m 600 248 q 617 226 614 240 q 614 201 620 212 q 601 183 612 198 q 566 151 590 167 q 504 126 541 135 q 412 129 466 117 l 362 138 q 317 146 336 143 q 281 150 298 150 q 245 147 263 150 q 202 136 227 144 q 191 132 196 136 l 185 132 q 176 129 181 129 q 153 136 163 129 q 140 155 142 143 q 143 184 134 170 q 164 201 152 198 q 171 204 169 201 l 178 204 q 217 221 199 211 q 250 248 234 232 q 287 305 275 272 q 300 375 300 338 q 300 397 300 386 q 295 418 300 408 l 135 418 q 115 427 124 418 q 107 450 107 436 q 115 471 107 461 q 135 482 124 482 l 263 482 q 256 491 261 487 q 250 500 252 494 q 219 536 231 516 q 196 578 206 555 l 135 578 q 115 587 124 578 q 107 608 107 596 q 115 632 107 623 q 135 642 124 642 l 178 642 q 176 658 176 650 l 176 675 q 194 771 176 725 q 250 852 213 818 q 331 906 284 888 q 425 925 377 925 q 520 906 473 925 q 602 852 566 888 q 614 828 614 843 q 602 804 614 813 q 577 793 591 793 q 552 804 564 793 q 492 842 525 829 q 425 855 459 855 q 358 842 391 855 q 301 804 326 829 q 247 675 247 750 q 248 657 247 665 q 250 642 250 650 l 468 642 q 493 632 483 642 q 503 608 503 623 q 493 587 503 596 q 468 578 483 578 l 276 578 l 287 564 q 301 551 293 557 q 327 519 316 536 l 348 482 l 468 482 q 493 471 483 482 q 503 450 503 461 q 493 427 503 436 q 468 418 483 418 l 369 418 q 372 397 372 408 l 372 375 q 322 220 372 284 q 378 211 344 215 l 426 201 q 485 198 461 194 q 524 211 509 202 q 545 227 539 219 q 552 235 551 235 q 573 251 559 247 q 600 248 587 255 "},"t":{"x_min":94,"x_max":463,"ha":463,"o":"m 428 69 q 452 59 442 69 q 463 34 463 50 q 452 9 463 19 q 428 0 442 0 l 363 0 q 257 20 306 0 q 172 77 209 41 q 114 162 135 113 q 94 266 94 211 l 94 1015 q 105 1040 94 1030 q 131 1050 116 1050 q 155 1040 145 1050 q 166 1015 166 1030 l 166 682 l 378 682 q 404 672 393 682 q 414 647 414 662 q 404 622 414 631 q 378 612 393 612 l 166 612 l 166 266 q 181 189 166 225 q 223 127 196 154 q 286 84 250 100 q 363 69 321 69 l 428 69 "},"ù":{"x_min":97,"x_max":609,"ha":717,"o":"m 409 794 q 383 783 398 783 q 358 792 369 783 l 307 845 q 296 871 296 856 q 307 897 296 886 q 332 907 317 907 q 356 897 347 907 l 409 844 q 419 818 419 833 q 409 794 419 804 m 609 34 q 598 9 609 19 q 574 0 588 0 q 548 9 559 0 q 537 34 537 19 l 537 56 q 470 14 508 29 q 388 0 433 0 l 317 0 q 232 17 272 0 q 162 63 192 34 q 114 133 131 93 q 97 219 97 173 l 97 647 q 107 672 97 662 q 131 682 117 682 q 157 672 147 682 q 168 647 168 662 l 168 219 q 179 161 168 188 q 212 113 191 134 q 260 81 233 93 q 318 69 287 69 l 388 69 q 445 80 419 69 q 492 111 472 91 q 525 158 512 131 q 537 213 537 184 l 537 647 q 548 672 537 662 q 574 682 559 682 q 598 672 588 682 q 609 647 609 662 l 609 34 "},"W":{"x_min":76.21875,"x_max":1268.84375,"ha":1342,"o":"m 1241 1049 q 1263 1034 1256 1046 q 1268 1006 1270 1021 l 1026 27 q 1013 7 1023 15 q 991 0 1002 0 l 915 0 q 880 27 887 0 l 677 864 l 466 27 q 431 0 456 0 l 354 0 q 320 27 327 0 l 77 1006 q 80 1034 73 1021 q 102 1049 87 1046 q 130 1045 118 1053 q 145 1024 143 1037 l 383 72 l 404 72 l 645 1024 q 680 1051 650 1051 q 701 1043 691 1051 q 713 1024 711 1035 l 943 72 l 963 72 l 1197 1024 q 1213 1045 1201 1037 q 1241 1049 1226 1053 "},"ï":{"x_min":12,"x_max":225,"ha":249,"o":"m 154 37 q 143 10 154 20 q 117 1 133 1 q 83 37 83 1 l 83 647 q 92 672 83 662 q 117 682 102 682 q 143 672 133 682 q 154 647 154 662 l 154 37 m 12 800 q 21 826 12 816 q 46 837 31 837 q 72 826 62 837 q 83 800 83 816 q 72 775 83 785 q 46 766 62 766 q 21 775 31 766 q 12 800 12 785 m 154 800 q 163 826 154 816 q 188 837 173 837 q 214 826 204 837 q 225 800 225 816 q 214 775 225 785 q 188 766 204 766 q 163 775 173 766 q 154 800 154 785 "},">":{"x_min":86.046875,"x_max":451,"ha":460,"o":"m 439 552 q 447 539 444 547 q 451 525 451 531 q 447 511 451 518 q 439 497 444 504 l 144 252 q 119 243 132 241 q 94 256 105 245 q 86 281 84 268 q 99 306 88 295 l 357 525 l 99 743 q 86 766 88 751 q 94 791 84 780 q 119 804 105 802 q 144 797 132 805 l 439 552 "},"v":{"x_min":51.109375,"x_max":611.390625,"ha":663,"o":"m 587 680 q 607 661 601 673 q 609 633 613 648 l 387 23 q 352 0 379 0 l 308 0 q 273 23 281 0 l 52 633 q 54 661 48 648 q 76 680 61 673 q 103 677 90 683 q 119 656 116 672 l 329 73 l 541 656 q 559 677 547 672 q 587 680 572 683 "},"û":{"x_min":97,"x_max":609,"ha":717,"o":"m 519 748 q 493 740 508 737 q 470 754 479 743 l 363 879 l 256 754 q 231 740 245 743 q 206 748 218 737 q 193 771 195 757 q 202 797 191 786 l 336 959 q 363 972 351 972 q 391 959 379 972 l 525 797 q 531 771 533 786 q 519 748 530 757 m 609 34 q 598 9 609 19 q 574 0 588 0 q 548 9 559 0 q 537 34 537 19 l 537 56 q 470 14 508 29 q 388 0 433 0 l 317 0 q 232 17 272 0 q 162 63 192 34 q 114 133 131 93 q 97 219 97 173 l 97 647 q 107 672 97 662 q 131 682 117 682 q 157 672 147 682 q 168 647 168 662 l 168 219 q 179 161 168 188 q 212 113 191 134 q 260 81 233 93 q 318 69 287 69 l 388 69 q 445 80 419 69 q 492 111 472 91 q 525 158 512 131 q 537 213 537 184 l 537 647 q 548 672 537 662 q 574 682 559 682 q 598 672 588 682 q 609 647 609 662 l 609 34 "},"Ò":{"x_min":83,"x_max":833,"ha":916,"o":"m 457 1051 q 602 1023 534 1051 q 724 942 670 995 q 805 819 777 888 q 833 676 833 750 l 833 374 q 803 229 833 297 q 723 110 774 161 q 603 29 671 59 q 458 0 535 0 q 311 29 380 0 q 192 110 242 59 q 112 229 141 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 192 941 141 889 q 311 1021 242 992 q 457 1051 380 1051 m 762 675 q 739 792 762 737 q 671 889 716 848 q 575 957 630 934 q 457 980 520 980 q 340 956 395 980 q 243 891 285 932 q 178 793 202 849 q 155 675 155 738 l 155 374 q 178 257 155 312 q 243 160 202 202 q 340 95 285 119 q 457 72 395 72 q 575 95 520 72 q 673 160 631 119 q 738 257 714 202 q 762 374 762 312 l 762 675 m 505 1128 q 479 1117 494 1117 q 453 1126 464 1117 l 402 1179 q 391 1204 391 1190 q 402 1230 391 1219 q 427 1239 412 1239 q 452 1230 442 1239 l 505 1177 q 515 1152 515 1166 q 505 1128 515 1138 "},"&":{"x_min":49,"x_max":771,"ha":796,"o":"m 764 62 q 771 37 771 51 q 758 15 771 23 q 708 20 732 -6 l 600 165 l 564 120 q 462 36 522 66 q 336 7 403 7 q 224 30 276 7 q 132 93 171 54 q 71 185 93 133 q 49 296 49 238 q 78 423 49 363 q 160 524 107 482 l 260 604 l 171 721 q 130 845 130 775 q 145 925 130 888 q 190 991 161 963 q 256 1035 218 1019 q 336 1051 293 1051 q 417 1035 379 1051 q 483 991 454 1019 q 528 925 511 963 q 545 845 545 888 q 528 761 545 802 q 478 693 511 721 l 478 691 l 475 691 l 356 591 l 600 277 l 708 407 q 733 421 719 418 q 758 413 747 424 q 771 389 771 405 q 764 360 771 373 l 647 217 l 764 62 m 314 649 l 431 743 q 463 789 450 764 q 475 845 475 813 q 464 896 475 871 q 434 939 453 920 q 390 968 415 958 q 336 979 365 979 q 284 968 308 979 q 241 939 260 958 q 212 896 222 920 q 202 845 202 871 q 229 763 202 799 l 314 649 m 556 220 l 302 546 l 205 468 l 205 466 q 142 393 164 437 q 121 296 121 349 q 138 211 121 251 q 184 142 155 171 q 253 96 214 113 q 336 79 291 79 q 431 101 386 79 q 508 165 476 123 l 556 220 "},"I":{"x_min":106,"x_max":178,"ha":297,"o":"m 142 1051 q 167 1040 157 1051 q 178 1014 178 1030 l 178 34 q 167 9 178 19 q 142 0 157 0 q 116 9 126 0 q 106 34 106 19 l 106 1014 q 116 1040 106 1030 q 142 1051 126 1051 "},"G":{"x_min":83,"x_max":834,"ha":903,"o":"m 796 562 q 824 549 811 562 q 834 524 834 539 l 834 374 q 804 228 834 296 q 723 110 774 160 q 604 29 672 59 q 457 0 535 0 q 312 29 380 0 q 193 110 244 59 q 112 229 142 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 193 941 142 889 q 312 1021 244 992 q 457 1051 380 1051 q 654 996 566 1051 q 791 846 742 941 q 794 819 798 834 q 777 798 791 805 q 749 796 763 791 q 728 814 735 800 q 616 936 688 892 q 457 980 545 980 q 340 956 395 980 q 243 891 285 932 q 178 793 202 849 q 155 675 155 738 l 155 374 q 178 257 155 312 q 243 160 202 202 q 340 95 285 119 q 457 72 395 72 q 575 95 520 72 q 673 160 631 119 q 738 257 714 202 q 762 374 762 312 l 762 490 l 632 490 q 607 499 617 490 q 598 524 598 509 q 607 550 598 539 q 632 562 617 562 l 796 562 "},"`":{"x_min":115,"x_max":239,"ha":368,"o":"m 229 1128 q 203 1117 218 1117 q 177 1126 188 1117 l 126 1179 q 115 1205 115 1190 q 126 1231 115 1220 q 151 1241 136 1241 q 176 1231 166 1241 l 229 1178 q 239 1152 239 1167 q 229 1128 239 1138 "},"r":{"x_min":106,"x_max":454.390625,"ha":457,"o":"m 419 682 q 444 672 434 682 q 454 647 454 662 q 444 622 454 631 q 419 612 434 612 l 325 612 q 268 601 296 612 q 221 569 240 590 q 178 465 178 523 l 178 456 l 178 34 q 167 9 178 19 q 140 0 157 0 q 117 9 128 0 q 106 34 106 19 l 106 647 q 117 672 106 662 q 140 682 128 682 q 167 672 157 682 q 178 647 178 662 l 178 626 q 325 682 240 682 l 419 682 "},"¿":{"x_min":6,"x_max":564,"ha":575,"o":"m 418 966 q 395 976 406 966 q 384 1001 384 986 q 395 1026 384 1016 q 418 1036 406 1036 q 445 1026 435 1036 q 456 1001 456 1016 q 445 976 456 986 q 418 966 435 966 m 253 0 q 156 18 201 0 q 78 70 111 37 q 25 149 44 104 q 6 247 6 194 q 25 343 6 298 q 78 421 44 388 q 156 474 111 455 q 253 494 202 494 q 346 530 307 494 q 374 574 364 551 q 384 626 384 598 l 384 711 q 395 738 384 727 q 418 748 406 748 q 445 738 435 748 q 456 711 456 727 l 456 626 q 440 547 456 586 q 397 481 425 509 q 253 422 338 422 q 184 408 217 422 q 128 370 152 394 q 90 315 104 347 q 77 247 77 283 q 90 178 77 211 q 128 121 104 145 q 184 83 152 97 q 253 69 217 69 l 529 69 q 554 59 544 69 q 564 34 564 50 q 554 9 564 19 q 529 0 544 0 l 253 0 "},"ý":{"x_min":67.140625,"x_max":656.515625,"ha":681,"o":"m 360 781 q 349 808 349 793 q 358 834 349 823 l 411 886 q 437 896 422 896 q 463 884 452 896 q 473 860 473 875 q 463 836 473 845 l 410 783 q 384 772 399 772 q 360 781 370 772 m 635 680 q 654 659 649 673 q 653 631 659 645 l 250 -225 q 228 -244 243 -239 q 201 -243 214 -250 q 182 -223 186 -236 q 183 -194 178 -210 l 328 110 l 71 630 q 69 658 64 645 q 86 680 74 671 q 113 681 100 687 q 133 662 126 676 l 367 192 l 588 662 q 608 681 595 676 q 635 680 621 687 "},"x":{"x_min":70.625,"x_max":564.515625,"ha":654,"o":"m 556 56 q 563 27 566 43 q 550 4 561 12 q 520 0 536 -2 q 498 15 505 2 l 318 276 l 136 15 q 113 0 129 2 q 87 4 98 -2 q 71 27 75 12 q 77 56 68 43 l 273 340 l 77 622 q 72 650 70 636 q 87 672 75 663 q 113 677 98 679 q 137 662 129 676 l 318 402 l 497 662 q 520 677 505 676 q 547 672 534 679 q 561 650 559 663 q 555 622 563 636 l 359 340 l 556 56 "},"è":{"x_min":81,"x_max":616,"ha":669,"o":"m 382 794 q 356 783 371 783 q 331 792 342 783 l 280 845 q 269 871 269 856 q 280 896 269 885 q 305 906 290 906 q 329 896 320 906 l 382 844 q 392 818 392 833 q 382 794 392 804 m 349 682 q 538 604 460 682 q 595 517 575 566 q 616 416 616 469 l 616 348 q 605 322 616 332 q 580 312 595 312 l 152 312 l 152 266 q 167 189 152 224 q 209 126 182 153 q 272 84 236 99 q 349 69 307 69 l 500 69 q 525 59 515 69 q 535 34 535 50 q 525 9 535 19 q 500 0 515 0 l 348 0 q 244 20 293 0 q 159 77 196 41 q 101 162 122 113 q 81 266 81 211 l 81 416 q 100 518 81 469 q 160 604 119 566 q 246 662 197 643 q 349 682 295 682 m 544 416 q 529 490 544 453 q 486 554 514 526 q 349 612 430 612 q 273 597 308 612 q 210 554 238 581 q 167 490 182 526 q 152 416 152 453 l 152 383 l 544 383 l 544 416 "},"º":{"x_min":65,"x_max":269,"ha":325,"o":"m 167 1106 q 93 1137 124 1106 q 65 1209 65 1169 q 94 1281 65 1251 q 167 1311 124 1311 q 238 1281 207 1311 q 269 1209 269 1251 q 260 1170 269 1188 q 239 1137 252 1152 q 167 1106 209 1106 m 167 1258 q 131 1243 146 1258 q 116 1209 116 1228 q 132 1174 116 1191 q 147 1164 138 1167 q 167 1161 156 1161 q 184 1164 175 1161 q 200 1174 193 1167 q 216 1209 216 1188 q 201 1243 216 1228 q 167 1258 186 1258 "},"Ø":{"x_min":86,"x_max":836.796875,"ha":917,"o":"m 822 1042 q 836 1018 833 1034 q 831 994 838 1002 l 764 898 q 817 796 798 851 q 836 681 836 741 l 836 373 q 806 228 836 295 q 726 109 777 161 q 606 29 674 58 q 461 0 538 0 q 322 27 386 0 q 206 98 258 54 l 151 13 q 129 0 144 2 q 101 6 115 -4 q 88 29 90 13 q 97 56 86 45 l 161 152 q 86 373 86 248 l 86 681 q 115 824 86 756 q 195 942 144 891 q 314 1021 245 992 q 461 1051 383 1051 q 600 1024 536 1051 q 716 953 663 998 l 769 1034 q 793 1048 780 1045 q 822 1042 806 1051 m 155 373 q 167 288 155 329 q 204 215 180 248 l 675 894 q 577 959 632 937 q 461 981 522 981 q 343 957 398 981 q 245 892 287 932 q 179 796 204 851 q 155 681 155 741 l 155 373 m 764 681 q 752 761 764 721 q 719 835 741 801 l 248 158 q 344 95 290 116 q 461 75 398 75 q 578 98 523 75 q 675 162 633 122 q 740 256 716 202 q 764 373 764 311 l 764 681 "},"÷":{"x_min":19.53125,"x_max":594.84375,"ha":621,"o":"m 573 1045 q 593 1025 588 1038 q 591 997 597 1011 l 87 18 q 66 0 80 5 q 38 1 52 -4 q 21 22 26 8 q 23 50 16 37 l 527 1030 q 547 1049 533 1045 q 573 1045 562 1052 "},"h":{"x_min":106,"x_max":641,"ha":669,"o":"m 372 682 q 476 661 428 682 q 561 604 525 640 q 619 519 597 568 q 641 416 641 470 l 641 34 q 630 9 641 19 q 605 0 620 0 q 580 9 591 0 q 569 34 569 19 l 569 416 q 553 492 569 456 q 511 554 538 527 q 449 597 485 581 q 372 612 413 612 q 235 553 296 612 q 192 489 207 526 q 178 416 178 453 l 178 33 q 167 8 178 19 q 140 -2 157 -2 q 117 8 128 -2 q 106 32 106 18 l 106 1016 q 117 1041 106 1031 q 140 1051 128 1051 q 167 1041 157 1051 q 178 1016 178 1031 l 178 598 q 180 601 178 601 q 183 603 182 601 q 372 682 261 682 "},".":{"x_min":69,"x_max":151,"ha":229,"o":"m 109 70 q 139 58 127 70 q 151 29 151 47 q 139 0 151 11 q 109 -11 127 -11 q 80 0 91 -11 q 69 29 69 11 q 80 58 69 47 q 109 70 91 70 "},";":{"x_min":94,"x_max":166,"ha":258,"o":"m 128 560 q 154 550 143 560 q 166 525 166 541 q 154 500 166 510 q 128 491 143 491 q 103 500 113 491 q 94 525 94 510 q 103 550 94 541 q 128 560 113 560 m 129 357 q 148 350 140 357 q 157 332 157 343 l 157 187 q 148 169 157 176 q 129 163 140 163 q 111 169 119 163 q 104 187 104 176 l 104 332 q 111 350 104 343 q 129 357 119 357 "},"f":{"x_min":100,"x_max":508,"ha":508,"o":"m 471 1050 q 497 1040 487 1050 q 508 1015 508 1030 q 497 990 508 999 q 472 980 487 980 l 321 980 q 263 968 290 980 q 215 936 236 956 q 182 888 194 915 q 171 830 171 861 l 171 682 l 433 682 q 459 672 448 682 q 469 647 469 662 q 459 622 469 631 q 433 612 448 612 l 171 612 l 171 34 q 161 9 171 19 q 136 0 151 0 q 110 9 120 0 q 100 34 100 19 l 100 830 q 117 916 100 876 q 165 986 134 956 q 235 1032 195 1015 q 320 1050 274 1050 l 471 1050 "}," ":{"x_min":0,"x_max":0,"ha":328},"6":{"x_min":97,"x_max":782,"ha":865,"o":"m 534 696 q 631 676 586 696 q 709 623 676 657 q 762 545 743 590 q 782 448 782 500 l 782 247 q 762 150 782 195 q 709 72 743 105 q 631 19 676 38 q 534 0 586 0 l 345 0 q 249 19 294 0 q 169 72 204 38 q 116 150 135 105 q 97 247 97 195 l 97 802 q 116 899 97 854 q 169 977 135 944 q 249 1030 203 1011 q 345 1050 294 1050 l 509 1050 q 605 1030 560 1050 q 685 977 651 1011 q 738 899 719 944 q 758 803 758 854 q 746 777 758 787 q 720 767 735 767 q 695 777 705 767 q 686 803 686 787 q 672 871 686 839 q 633 928 658 904 q 577 966 609 952 q 509 980 545 980 l 345 980 q 276 966 309 980 q 220 928 244 952 q 182 871 196 904 q 169 802 169 838 l 169 622 q 345 696 239 696 l 534 696 m 710 448 q 696 517 710 484 q 658 574 682 550 q 602 612 634 598 q 534 626 570 626 l 345 626 q 276 612 309 626 q 220 574 244 598 q 182 517 196 550 q 169 448 169 484 l 169 247 q 182 178 169 211 q 220 121 196 145 q 276 83 244 97 q 345 69 309 69 l 534 69 q 602 83 570 69 q 658 121 634 97 q 696 178 682 145 q 710 247 710 211 l 710 448 "},"A":{"x_min":52.9375,"x_max":907.875,"ha":958,"o":"m 906 46 q 904 19 909 32 q 883 0 898 6 q 856 1 869 -5 q 838 24 843 8 l 726 345 l 233 345 l 123 24 q 104 1 118 8 q 77 0 91 -5 q 56 19 62 6 q 55 46 50 32 l 391 1025 q 425 1051 401 1051 l 533 1051 q 566 1025 559 1051 l 906 46 m 702 417 l 508 980 l 451 980 l 256 417 l 702 417 "},"O":{"x_min":83,"x_max":833,"ha":916,"o":"m 457 1051 q 602 1023 534 1051 q 724 942 670 995 q 805 819 777 888 q 833 676 833 750 l 833 374 q 803 229 833 297 q 723 110 774 161 q 603 29 671 59 q 458 0 535 0 q 311 29 380 0 q 192 110 242 59 q 112 229 141 161 q 83 374 83 297 l 83 676 q 112 821 83 753 q 192 941 141 889 q 311 1021 242 992 q 457 1051 380 1051 m 762 675 q 739 792 762 737 q 671 889 716 848 q 575 957 630 934 q 457 980 520 980 q 340 956 395 980 q 243 891 285 932 q 178 793 202 849 q 155 675 155 738 l 155 374 q 178 257 155 312 q 243 160 202 202 q 340 95 285 119 q 457 72 395 72 q 575 95 520 72 q 673 160 631 119 q 738 257 714 202 q 762 374 762 312 l 762 675 "},"n":{"x_min":106,"x_max":641,"ha":738,"o":"m 418 682 q 504 664 464 682 q 574 618 545 647 q 622 548 604 588 q 641 462 641 508 l 641 34 q 629 9 641 19 q 606 0 618 0 q 579 9 589 0 q 569 34 569 19 l 569 462 q 557 520 569 493 q 524 568 545 547 q 476 600 503 588 q 418 612 448 612 l 326 612 q 268 600 295 612 q 221 569 242 588 q 189 522 201 550 q 178 466 178 495 l 178 34 q 167 9 178 19 q 142 0 157 0 q 116 9 126 0 q 106 34 106 19 l 106 647 q 116 672 106 662 q 142 682 126 682 q 167 672 157 682 q 178 647 178 662 l 178 623 q 326 682 239 682 l 418 682 "},"3":{"x_min":8,"x_max":624,"ha":716,"o":"m 396 1050 q 483 1031 442 1050 q 556 982 525 1013 q 605 909 587 951 q 624 820 624 868 l 624 715 q 595 605 624 655 q 520 525 567 554 q 595 444 567 494 q 624 332 624 393 l 624 228 q 605 139 624 180 q 556 66 587 97 q 483 18 525 36 q 396 0 442 0 l 44 0 q 18 9 28 0 q 8 34 8 19 q 18 59 8 50 q 43 69 28 69 l 396 69 q 456 81 428 69 q 506 116 485 94 q 539 166 526 137 q 552 227 552 194 l 552 332 q 513 437 552 393 q 417 488 475 481 l 133 488 q 108 498 117 488 q 99 524 99 508 l 99 525 q 133 560 99 560 l 417 560 q 513 612 475 569 q 552 715 552 655 l 552 821 q 539 882 552 854 q 506 932 526 911 q 456 965 485 953 q 396 978 428 978 l 43 978 q 18 989 28 978 q 8 1012 8 1000 q 18 1039 8 1029 q 44 1050 28 1050 l 396 1050 "},"9":{"x_min":83,"x_max":766,"ha":863,"o":"m 518 1050 q 615 1030 570 1050 q 693 977 660 1011 q 746 899 727 944 q 766 802 766 854 l 766 247 q 746 150 766 195 q 693 72 727 105 q 615 19 660 38 q 519 0 570 0 l 353 0 q 257 19 302 0 q 179 72 212 38 q 126 150 145 105 q 107 247 107 195 q 117 272 107 262 q 144 282 127 282 q 169 272 159 282 q 179 247 179 262 q 192 178 179 211 q 230 121 206 145 q 285 83 253 97 q 353 69 317 69 l 519 69 q 587 83 555 69 q 642 121 619 97 q 680 178 666 145 q 694 247 694 211 l 694 490 q 616 435 662 454 q 519 417 570 417 l 330 417 q 233 436 278 417 q 155 489 188 455 q 102 566 121 522 q 83 662 83 611 l 83 802 q 102 899 83 854 q 155 977 121 944 q 233 1030 188 1011 q 330 1050 278 1050 l 518 1050 m 694 802 q 680 871 694 839 q 642 928 666 904 q 587 966 618 952 q 518 980 555 980 l 330 980 q 261 966 293 980 q 206 928 230 952 q 168 871 182 904 q 155 802 155 839 l 155 662 q 168 594 155 626 q 206 539 182 562 q 261 501 230 515 q 330 488 293 488 l 518 488 q 587 501 555 488 q 642 539 618 515 q 680 594 666 562 q 694 662 694 626 l 694 802 "},"l":{"x_min":106,"x_max":178,"ha":297,"o":"m 143 1051 q 166 1041 155 1051 q 178 1016 178 1031 l 178 37 q 166 10 178 20 q 143 1 155 1 q 116 10 126 1 q 106 37 106 20 l 106 1016 q 116 1041 106 1031 q 143 1051 126 1051 "},"4":{"x_min":8,"x_max":700,"ha":772,"o":"m 662 351 q 689 340 679 351 q 700 314 700 330 q 689 290 700 300 q 662 280 679 280 l 631 280 l 631 34 q 621 9 631 19 q 596 0 612 0 q 571 9 581 0 q 562 34 562 19 l 562 280 l 169 280 q 106 293 135 280 q 55 327 77 306 q 21 378 34 349 q 8 441 8 407 q 24 510 8 474 q 68 574 40 545 l 68 577 l 509 1038 q 535 1050 520 1050 l 596 1050 q 621 1040 612 1050 q 631 1015 631 1030 l 631 351 l 662 351 m 562 351 l 562 980 l 549 980 l 120 528 q 90 484 102 508 q 79 441 79 460 q 106 378 79 405 q 169 351 133 351 l 562 351 "},"p":{"x_min":106,"x_max":641,"ha":672,"o":"m 372 682 q 476 662 426 682 q 561 604 525 643 q 621 518 602 566 q 641 416 641 469 l 641 266 q 620 162 641 211 q 562 77 599 113 q 476 20 525 41 q 372 0 428 0 q 264 21 315 0 q 178 83 214 43 l 178 -209 q 167 -234 178 -224 q 142 -244 157 -244 q 116 -234 126 -244 q 106 -209 106 -224 l 106 647 q 116 672 106 662 q 142 682 126 682 q 167 672 157 682 q 178 647 178 662 l 178 597 q 180 600 178 600 q 183 604 182 601 q 372 682 261 682 m 570 416 q 554 490 570 454 q 513 554 539 526 q 372 612 454 612 q 235 554 290 612 q 192 490 207 526 q 178 416 178 454 l 178 266 q 193 189 178 225 q 234 127 208 154 q 296 84 261 100 q 372 69 332 69 q 449 84 414 69 q 512 127 485 100 q 554 189 539 154 q 570 266 570 225 l 570 416 "}," ":{"x_min":0,"x_max":0,"ha":72},"à ":{"x_min":58,"x_max":565,"ha":668,"o":"m 408 682 q 467 670 438 682 q 519 637 496 659 q 565 525 565 591 l 565 416 l 565 34 q 555 9 565 19 q 530 0 545 0 q 504 9 515 0 q 493 34 493 19 l 493 56 q 345 0 431 0 l 277 0 q 192 17 231 0 q 122 63 152 34 q 75 132 92 92 q 58 217 58 172 q 74 301 58 262 q 121 373 91 341 q 192 420 152 403 q 277 437 233 437 l 393 437 l 428 437 q 476 455 456 437 q 493 501 493 473 l 493 505 l 493 524 q 467 587 493 562 q 441 605 456 598 q 407 612 425 612 l 343 612 l 314 612 l 145 612 q 118 622 128 612 q 108 647 108 631 q 118 672 108 662 q 145 682 128 682 l 314 682 l 344 682 l 408 682 m 448 112 q 493 217 493 156 l 493 383 q 461 368 477 371 q 428 365 445 365 l 393 365 l 277 365 q 172 322 215 365 q 130 217 130 280 q 141 160 130 187 q 173 113 153 133 q 219 81 192 93 q 277 69 246 69 l 345 69 q 401 81 374 69 q 448 112 429 93 m 270 883 q 297 894 282 894 q 323 886 311 894 l 374 833 q 384 807 384 822 q 372 780 384 792 q 348 771 363 771 q 324 782 334 771 l 272 834 q 261 859 261 845 q 270 883 261 873 "},"Ü":{"x_min":94,"x_max":844,"ha":938,"o":"m 809 1051 q 834 1040 824 1051 q 844 1014 844 1030 l 844 374 q 814 229 844 297 q 734 110 785 161 q 615 29 684 59 q 469 0 546 0 q 323 29 391 0 q 204 110 255 59 q 123 229 153 161 q 94 374 94 297 l 94 1014 q 104 1040 94 1030 q 130 1051 114 1051 q 155 1040 145 1051 q 166 1014 166 1030 l 166 374 q 189 257 166 312 q 254 160 213 202 q 351 95 296 119 q 468 72 406 72 q 586 95 531 72 q 684 160 642 119 q 750 257 725 202 q 774 374 774 312 l 774 1014 q 784 1040 774 1030 q 809 1051 794 1051 m 329 1158 q 338 1184 329 1174 q 363 1195 348 1195 q 389 1184 379 1195 q 400 1158 400 1174 q 389 1133 400 1143 q 363 1124 379 1124 q 338 1133 348 1124 q 329 1158 329 1143 m 551 1158 q 560 1184 551 1174 q 585 1195 570 1195 q 611 1184 601 1195 q 622 1158 622 1174 q 611 1133 622 1143 q 585 1124 601 1124 q 560 1133 570 1124 q 551 1158 551 1143 "},"ó":{"x_min":61,"x_max":596,"ha":695,"o":"m 318 781 q 307 808 307 793 q 316 834 307 823 l 369 886 q 394 895 380 895 q 420 884 409 895 q 430 860 430 875 q 420 836 430 845 l 367 783 q 342 772 356 772 q 318 781 328 772 m 516 604 q 575 518 554 566 q 596 416 596 469 l 596 266 q 575 162 596 211 q 517 77 554 113 q 432 20 480 41 q 327 0 383 0 q 223 20 272 0 q 138 77 174 41 q 81 162 102 113 q 61 266 61 211 l 61 416 q 81 518 61 469 q 138 604 101 566 q 226 662 177 643 q 327 682 274 682 q 430 662 381 682 q 516 604 479 643 m 327 69 q 403 84 367 69 q 465 127 438 100 q 509 189 493 154 q 525 266 525 225 l 525 416 q 509 490 525 454 q 466 554 494 526 q 327 612 408 612 q 190 554 245 612 q 147 490 162 526 q 133 416 133 454 l 133 266 q 148 189 133 225 q 190 127 163 154 q 251 84 216 100 q 327 69 287 69 "}},"cssFontWeight":"normal","ascender":1312,"underlinePosition":-75,"cssFontStyle":"normal","boundingBox":{"yMin":-249,"xMin":-52.125,"yMax":1311,"xMax":1268.84375},"resolution":1000,"original_font_information":{"postscript_name":"GreyscaleBasic","version_string":"Version 001.000","vendor_url":"","full_font_name":"GreyscaleBasic","font_family_name":"GreyscaleBasic","copyright":"Copyright (c) 2007 by GreyscaleNet. All rights reserved.","description":"Copyright (c) 2007 by GreyscaleNet. All rights reserved.","trademark":"GreyscaleBasic is a trademark of GreyscaleNet.","designer":"Greyscale","designer_url":"","unique_font_identifier":"GreyscaleNet: GreyscaleBasic: 2007","license_url":"","license_description":"","manufacturer_name":"GreyscaleNet","font_sub_family_name":"Regular"},"descender":-249,"familyName":"GreyscaleBasic","lineHeight":1560,"underlineThickness":50});
@@ -0,0 +1,42 @@
1
+ /**
2
+ * jQuery lightBox plugin
3
+ * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
4
+ * and adapted to me for use like a plugin from jQuery.
5
+ * @name jquery-lightbox-0.5.js
6
+ * @author Leandro Vieira Pinho - http://leandrovieira.com
7
+ * @version 0.5
8
+ * @date April 11, 2008
9
+ * @category jQuery plugin
10
+ * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
11
+ * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US
12
+ * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
13
+ */
14
+ (function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;}
15
+ function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i<jQueryMatchedObj.length;i++){settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title')));}}
16
+ while(settings.imageArray[settings.activeImage][0]!=objClicked.getAttribute('href')){settings.activeImage++;}
17
+ _set_image_to_view();}
18
+ function _set_interface(){$('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="'+settings.imageLoading+'"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="'+settings.imageBtnClose+'"></a></div></div></div></div>');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});}
19
+ function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}
20
+ var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}}
21
+ $('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();}
22
+ if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}}
23
+ function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}}
24
+ if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}}
25
+ _enable_keyboard_navigation();}
26
+ function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});}
27
+ function _disable_keyboard_navigation(){$(document).unbind();}
28
+ function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;}
29
+ key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();}
30
+ if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}}
31
+ if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}}
32
+ function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];}
33
+ if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}}
34
+ function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});}
35
+ function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;}
36
+ var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;}
37
+ windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;}
38
+ if(yScroll<windowHeight){pageHeight=windowHeight;}else{pageHeight=yScroll;}
39
+ if(xScroll<windowWidth){pageWidth=xScroll;}else{pageWidth=windowWidth;}
40
+ arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);return arrayPageSize;};function ___getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}
41
+ arrayPageScroll=new Array(xScroll,yScroll);return arrayPageScroll;};function ___pause(ms){var date=new Date();curDate=null;do{var curDate=new Date();}
42
+ while(curDate-date<ms);};return this.unbind('click').click(_initialize);};})(jQuery);
@@ -0,0 +1,32 @@
1
+ /*
2
+ * jQuery 1.2.3 - New Wave Javascript
3
+ *
4
+ * Copyright (c) 2008 John Resig (jquery.com)
5
+ * Dual licensed under the MIT (MIT-LICENSE.txt)
6
+ * and GPL (GPL-LICENSE.txt) licenses.
7
+ *
8
+ * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $
9
+ * $Rev: 4663 $
10
+ */
11
+ (function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else
12
+ selector=[];}}else
13
+ return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
14
+ return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
15
+ selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
16
+ return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
17
+ this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else
18
+ return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
19
+ jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
20
+ script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else
21
+ for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else
22
+ for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
23
+ jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
24
+ ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else
25
+ ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else
26
+ for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
27
+ for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
28
+ jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
29
+ jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
30
+ for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
31
+ s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
32
+ e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})();
@@ -0,0 +1,181 @@
1
+ (function($) {
2
+
3
+ $.fn.tweet = function(o){
4
+ var s = {
5
+ username: ["seaofclouds"], // [string] required, unless you want to display our tweets. :) it can be an array, just do ["username1","username2","etc"]
6
+ list: null, // [string] optional name of list belonging to username
7
+ avatar_size: null, // [integer] height and width of avatar if displayed (48px max)
8
+ count: 3, // [integer] how many tweets to display?
9
+ intro_text: null, // [string] do you want text BEFORE your your tweets?
10
+ outro_text: null, // [string] do you want text AFTER your tweets?
11
+ join_text: null, // [string] optional text in between date and tweet, try setting to "auto"
12
+ auto_join_text_default: "i said,", // [string] auto text for non verb: "i said" bullocks
13
+ auto_join_text_ed: "i", // [string] auto text for past tense: "i" surfed
14
+ auto_join_text_ing: "i am", // [string] auto tense for present tense: "i was" surfing
15
+ auto_join_text_reply: "i replied to", // [string] auto tense for replies: "i replied to" @someone "with"
16
+ auto_join_text_url: "i was looking at", // [string] auto tense for urls: "i was looking at" http:...
17
+ loading_text: null, // [string] optional loading text, displayed while tweets load
18
+ query: null, // [string] optional search query
19
+ refresh_interval: null , // [integer] optional number of seconds after which to reload tweets
20
+ twitter_url: "twitter.com", // [string] custom twitter url, if any (apigee, etc.)
21
+ twitter_api_url: "api.twitter.com", // [string] custom twitter api url, if any (apigee, etc.)
22
+ twitter_search_url: "search.twitter.com" // [string] custom twitter search url, if any (apigee, etc.)
23
+ };
24
+
25
+ if(o) $.extend(s, o);
26
+
27
+ $.fn.extend({
28
+ linkUrl: function() {
29
+ var returning = [];
30
+ // See http://daringfireball.net/2010/07/improved_regex_for_matching_urls
31
+ var regexp = /\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/gi;
32
+ this.each(function() {
33
+ returning.push(this.replace(regexp,
34
+ function(match) {
35
+ var url = (/^[a-z]+:/i).test(match) ? match : "http://"+match;
36
+ return "<a href=\""+url+"\">"+match+"</a>";
37
+ }));
38
+ });
39
+ return $(returning);
40
+ },
41
+ linkUser: function() {
42
+ var returning = [];
43
+ var regexp = /[\@]+([A-Za-z0-9-_]+)/gi;
44
+ this.each(function() {
45
+ returning.push(this.replace(regexp,"<a href=\"http://"+s.twitter_url+"/$1\">@$1</a>")); });
46
+ return $(returning);
47
+ },
48
+ linkHash: function() {
49
+ var returning = [];
50
+ var regexp = /(?:^| )[\#]+([A-Za-z0-9-_]+)/gi;
51
+ this.each(function() {
52
+ returning.push(this.replace(regexp, ' <a href="http://'+s.twitter_search_url+'/search?q=&tag=$1&lang=all&from='+s.username.join("%2BOR%2B")+'">#$1</a>'));
53
+ });
54
+ return $(returning);
55
+ },
56
+ capAwesome: function() {
57
+ var returning = [];
58
+ this.each(function() {
59
+ returning.push(this.replace(/\b(awesome)\b/gi, '<span class="awesome">$1</span>'));
60
+ });
61
+ return $(returning);
62
+ },
63
+ capEpic: function() {
64
+ var returning = [];
65
+ this.each(function() {
66
+ returning.push(this.replace(/\b(epic)\b/gi, '<span class="epic">$1</span>'));
67
+ });
68
+ return $(returning);
69
+ },
70
+ makeHeart: function() {
71
+ var returning = [];
72
+ this.each(function() {
73
+ returning.push(this.replace(/(&lt;)+[3]/gi, "<tt class='heart'>&#x2665;</tt>"));
74
+ });
75
+ return $(returning);
76
+ }
77
+ });
78
+
79
+ function parse_date(date_str) {
80
+ // The non-search twitter APIs return inconsistently-formatted dates, which Date.parse
81
+ // cannot handle in IE. We therefore perform the following transformation:
82
+ // "Wed Apr 29 08:53:31 +0000 2009" => "Wed, Apr 29 2009 08:53:31 +0000"
83
+ return Date.parse(date_str.replace(/^([a-z]{3})( [a-z]{3} \d\d?)(.*)( \d{4})$/i, '$1,$2$4$3'));
84
+ }
85
+
86
+ function relative_time(time_value) {
87
+ var parsed_date = parse_date(time_value);
88
+ var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
89
+ var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
90
+ var r = '';
91
+ if (delta < 60) {
92
+ r = delta + ' seconds ago';
93
+ } else if(delta < 120) {
94
+ r = 'a minute ago';
95
+ } else if(delta < (45*60)) {
96
+ r = (parseInt(delta / 60, 10)).toString() + ' minutes ago';
97
+ } else if(delta < (2*60*60)) {
98
+ r = 'an hour ago';
99
+ } else if(delta < (24*60*60)) {
100
+ r = '' + (parseInt(delta / 3600, 10)).toString() + ' hours ago';
101
+ } else if(delta < (48*60*60)) {
102
+ r = 'a day ago';
103
+ } else {
104
+ r = (parseInt(delta / 86400, 10)).toString() + ' days ago';
105
+ }
106
+ return 'about ' + r;
107
+ }
108
+
109
+ function build_url() {
110
+ var proto = ('https:' == document.location.protocol ? 'https:' : 'http:');
111
+ if (s.list) {
112
+ return proto+"//"+s.twitter_api_url+"/1/"+s.username[0]+"/lists/"+s.list+"/statuses.json?per_page="+s.count+"&callback=?";
113
+ } else if (s.query == null && s.username.length == 1) {
114
+ return proto+'//'+s.twitter_api_url+'/1/statuses/user_timeline.json?screen_name='+s.username[0]+'&count='+s.count+'&include_rts=1&callback=?';
115
+ } else {
116
+ var query = (s.query || 'from:'+s.username.join(' OR from:'));
117
+ return proto+'//'+s.twitter_search_url+'/search.json?&q='+encodeURIComponent(query)+'&rpp='+s.count+'&callback=?';
118
+ }
119
+ }
120
+
121
+ return this.each(function(i, widget){
122
+ var list = $('<ul class="tweet_list">').appendTo(widget);
123
+ var intro = '<p class="tweet_intro">'+s.intro_text+'</p>';
124
+ var outro = '<p class="tweet_outro">'+s.outro_text+'</p>';
125
+ var loading = $('<p class="loading">'+s.loading_text+'</p>');
126
+
127
+ if(typeof(s.username) == "string"){
128
+ s.username = [s.username];
129
+ }
130
+
131
+ if (s.loading_text) $(widget).append(loading);
132
+ $(widget).bind("load", function(){
133
+ $.getJSON(build_url(), function(data){
134
+ if (s.loading_text) loading.remove();
135
+ if (s.intro_text) list.before(intro);
136
+ list.empty();
137
+ var tweets = (data.results || data);
138
+ $.each(tweets, function(i,item){
139
+ // auto join text based on verb tense and content
140
+ if (s.join_text == "auto") {
141
+ if (item.text.match(/^(@([A-Za-z0-9-_]+)) .*/i)) {
142
+ var join_text = s.auto_join_text_reply;
143
+ } else if (item.text.match(/(^\w+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&\?\/.=]+) .*/i)) {
144
+ var join_text = s.auto_join_text_url;
145
+ } else if (item.text.match(/^((\w+ed)|just) .*/im)) {
146
+ var join_text = s.auto_join_text_ed;
147
+ } else if (item.text.match(/^(\w*ing) .*/i)) {
148
+ var join_text = s.auto_join_text_ing;
149
+ } else {
150
+ var join_text = s.auto_join_text_default;
151
+ }
152
+ } else {
153
+ var join_text = s.join_text;
154
+ };
155
+
156
+ var from_user = item.from_user || item.user.screen_name;
157
+ var profile_image_url = item.profile_image_url || item.user.profile_image_url;
158
+ var join_template = '<span class="tweet_join"> '+join_text+' </span>';
159
+ var join = ((s.join_text) ? join_template : ' ');
160
+ var avatar_template = '<a class="tweet_avatar" href="http://'+s.twitter_url+'/'+from_user+'"><img src="'+profile_image_url+'" height="'+s.avatar_size+'" width="'+s.avatar_size+'" alt="'+from_user+'\'s avatar" title="'+from_user+'\'s avatar" border="0"/></a>';
161
+ var avatar = (s.avatar_size ? avatar_template : '');
162
+ var date = '<span class="tweet_time"><a href="http://'+s.twitter_url+'/'+from_user+'/statuses/'+item.id_str+'" title="view tweet on twitter">'+relative_time(item.created_at)+'</a></span>';
163
+ var text = '<span class="tweet_text">' +$([item.text]).linkUrl().linkUser().linkHash().makeHeart().capAwesome().capEpic()[0]+ '</span>';
164
+
165
+ // until we create a template option, arrange the items below to alter a tweet's display.
166
+ list.append('<li>' + avatar + date + join + text + '</li>');
167
+
168
+ list.children('li:first').addClass('tweet_first');
169
+ list.children('li:odd').addClass('tweet_even');
170
+ list.children('li:even').addClass('tweet_odd');
171
+ });
172
+ if (s.outro_text) list.after(outro);
173
+ $(widget).trigger("loaded").trigger((tweets.length == 0 ? "empty" : "full"));
174
+ if (s.refresh_interval) {
175
+ window.setTimeout(function() { $(widget).trigger("load"); }, 1000 * s.refresh_interval);
176
+ };
177
+ });
178
+ }).trigger("load");
179
+ });
180
+ };
181
+ })(jQuery);
@@ -0,0 +1,873 @@
1
+ /*****************************************************************
2
+
3
+ typeface.js, version 0.14 | typefacejs.neocracy.org
4
+
5
+ Copyright (c) 2008 - 2009, David Chester davidchester@gmx.net
6
+
7
+ Permission is hereby granted, free of charge, to any person
8
+ obtaining a copy of this software and associated documentation
9
+ files (the "Software"), to deal in the Software without
10
+ restriction, including without limitation the rights to use,
11
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the
13
+ Software is furnished to do so, subject to the following
14
+ conditions:
15
+
16
+ The above copyright notice and this permission notice shall be
17
+ included in all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
23
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
24
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
25
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
26
+ OTHER DEALINGS IN THE SOFTWARE.
27
+
28
+ *****************************************************************/
29
+
30
+ (function() {
31
+
32
+ var _typeface_js = {
33
+
34
+ faces: {},
35
+
36
+ loadFace: function(typefaceData) {
37
+
38
+ var familyName = typefaceData.familyName.toLowerCase();
39
+
40
+ if (!this.faces[familyName]) {
41
+ this.faces[familyName] = {};
42
+ }
43
+ if (!this.faces[familyName][typefaceData.cssFontWeight]) {
44
+ this.faces[familyName][typefaceData.cssFontWeight] = {};
45
+ }
46
+
47
+ var face = this.faces[familyName][typefaceData.cssFontWeight][typefaceData.cssFontStyle] = typefaceData;
48
+ face.loaded = true;
49
+ },
50
+
51
+ log: function(message) {
52
+
53
+ if (this.quiet) {
54
+ return;
55
+ }
56
+
57
+ message = "typeface.js: " + message;
58
+
59
+ if (this.customLogFn) {
60
+ this.customLogFn(message);
61
+
62
+ } else if (window.console && window.console.log) {
63
+ window.console.log(message);
64
+ }
65
+
66
+ },
67
+
68
+ pixelsFromPoints: function(face, style, points, dimension) {
69
+ var pixels = points * parseInt(style.fontSize) * 72 / (face.resolution * 100);
70
+ if (dimension == 'horizontal' && style.fontStretchPercent) {
71
+ pixels *= style.fontStretchPercent;
72
+ }
73
+ return pixels;
74
+ },
75
+
76
+ pointsFromPixels: function(face, style, pixels, dimension) {
77
+ var points = pixels * face.resolution / (parseInt(style.fontSize) * 72 / 100);
78
+ if (dimension == 'horizontal' && style.fontStretchPrecent) {
79
+ points *= style.fontStretchPercent;
80
+ }
81
+ return points;
82
+ },
83
+
84
+ cssFontWeightMap: {
85
+ normal: 'normal',
86
+ bold: 'bold',
87
+ 400: 'normal',
88
+ 700: 'bold'
89
+ },
90
+
91
+ cssFontStretchMap: {
92
+ 'ultra-condensed': 0.55,
93
+ 'extra-condensed': 0.77,
94
+ 'condensed': 0.85,
95
+ 'semi-condensed': 0.93,
96
+ 'normal': 1,
97
+ 'semi-expanded': 1.07,
98
+ 'expanded': 1.15,
99
+ 'extra-expanded': 1.23,
100
+ 'ultra-expanded': 1.45,
101
+ 'default': 1
102
+ },
103
+
104
+ fallbackCharacter: '.',
105
+
106
+ configure: function(args) {
107
+ var configurableOptionNames = [ 'customLogFn', 'customClassNameRegex', 'customTypefaceElementsList', 'quiet', 'verbose', 'disableSelection' ];
108
+
109
+ for (var i = 0; i < configurableOptionNames.length; i++) {
110
+ var optionName = configurableOptionNames[i];
111
+ if (args[optionName]) {
112
+ if (optionName == 'customLogFn') {
113
+ if (typeof args[optionName] != 'function') {
114
+ throw "customLogFn is not a function";
115
+ } else {
116
+ this.customLogFn = args.customLogFn;
117
+ }
118
+ } else {
119
+ this[optionName] = args[optionName];
120
+ }
121
+ }
122
+ }
123
+ },
124
+
125
+ getTextExtents: function(face, style, text) {
126
+ var extentX = 0;
127
+ var extentY = 0;
128
+ var horizontalAdvance;
129
+
130
+ var textLength = text.length;
131
+ for (var i = 0; i < textLength; i++) {
132
+ var glyph = face.glyphs[text.charAt(i)] ? face.glyphs[text.charAt(i)] : face.glyphs[this.fallbackCharacter];
133
+ var letterSpacingAdjustment = this.pointsFromPixels(face, style, style.letterSpacing);
134
+
135
+ // if we're on the last character, go with the glyph extent if that's more than the horizontal advance
136
+ extentX += i + 1 == textLength ? Math.max(glyph.x_max, glyph.ha) : glyph.ha;
137
+ extentX += letterSpacingAdjustment;
138
+
139
+ horizontalAdvance += glyph.ha + letterSpacingAdjustment;
140
+ }
141
+ return {
142
+ x: extentX,
143
+ y: extentY,
144
+ ha: horizontalAdvance
145
+
146
+ };
147
+ },
148
+
149
+ pixelsFromCssAmount: function(cssAmount, defaultValue, element) {
150
+
151
+ var matches = undefined;
152
+
153
+ if (cssAmount == 'normal') {
154
+ return defaultValue;
155
+
156
+ } else if (matches = cssAmount.match(/([\-\d+\.]+)px/)) {
157
+ return matches[1];
158
+
159
+ } else {
160
+ // thanks to Dean Edwards for this very sneaky way to get IE to convert
161
+ // relative values to pixel values
162
+
163
+ var pixelAmount;
164
+
165
+ var leftInlineStyle = element.style.left;
166
+ var leftRuntimeStyle = element.runtimeStyle.left;
167
+
168
+ element.runtimeStyle.left = element.currentStyle.left;
169
+
170
+ if (!cssAmount.match(/\d(px|pt)$/)) {
171
+ element.style.left = '1em';
172
+ } else {
173
+ element.style.left = cssAmount || 0;
174
+ }
175
+
176
+ pixelAmount = element.style.pixelLeft;
177
+
178
+ element.style.left = leftInlineStyle;
179
+ element.runtimeStyle.left = leftRuntimeStyle;
180
+
181
+ return pixelAmount || defaultValue;
182
+ }
183
+ },
184
+
185
+ capitalizeText: function(text) {
186
+ return text.replace(/(^|\s)[a-z]/g, function(match) { return match.toUpperCase() } );
187
+ },
188
+
189
+ getElementStyle: function(e) {
190
+ if (window.getComputedStyle) {
191
+ return window.getComputedStyle(e, '');
192
+
193
+ } else if (e.currentStyle) {
194
+ return e.currentStyle;
195
+ }
196
+ },
197
+
198
+ getRenderedText: function(e) {
199
+
200
+ var browserStyle = this.getElementStyle(e.parentNode);
201
+
202
+ var inlineStyleAttribute = e.parentNode.getAttribute('style');
203
+ if (inlineStyleAttribute && typeof(inlineStyleAttribute) == 'object') {
204
+ inlineStyleAttribute = inlineStyleAttribute.cssText;
205
+ }
206
+
207
+ if (inlineStyleAttribute) {
208
+
209
+ var inlineStyleDeclarations = inlineStyleAttribute.split(/\s*\;\s*/);
210
+
211
+ var inlineStyle = {};
212
+ for (var i = 0; i < inlineStyleDeclarations.length; i++) {
213
+ var declaration = inlineStyleDeclarations[i];
214
+ var declarationOperands = declaration.split(/\s*\:\s*/);
215
+ inlineStyle[declarationOperands[0]] = declarationOperands[1];
216
+ }
217
+ }
218
+
219
+ var style = {
220
+ color: browserStyle.color,
221
+ fontFamily: browserStyle.fontFamily.split(/\s*,\s*/)[0].replace(/(^"|^'|'$|"$)/g, '').toLowerCase(),
222
+ fontSize: this.pixelsFromCssAmount(browserStyle.fontSize, 12, e.parentNode),
223
+ fontWeight: this.cssFontWeightMap[browserStyle.fontWeight],
224
+ fontStyle: browserStyle.fontStyle ? browserStyle.fontStyle : 'normal',
225
+ fontStretchPercent: this.cssFontStretchMap[inlineStyle && inlineStyle['font-stretch'] ? inlineStyle['font-stretch'] : 'default'],
226
+ textDecoration: browserStyle.textDecoration,
227
+ lineHeight: this.pixelsFromCssAmount(browserStyle.lineHeight, 'normal', e.parentNode),
228
+ letterSpacing: this.pixelsFromCssAmount(browserStyle.letterSpacing, 0, e.parentNode),
229
+ textTransform: browserStyle.textTransform
230
+ };
231
+
232
+ var face;
233
+ if (
234
+ this.faces[style.fontFamily]
235
+ && this.faces[style.fontFamily][style.fontWeight]
236
+ ) {
237
+ face = this.faces[style.fontFamily][style.fontWeight][style.fontStyle];
238
+ }
239
+
240
+ var text = e.nodeValue;
241
+
242
+ if (
243
+ e.previousSibling
244
+ && e.previousSibling.nodeType == 1
245
+ && e.previousSibling.tagName != 'BR'
246
+ && this.getElementStyle(e.previousSibling).display.match(/inline/)
247
+ ) {
248
+ text = text.replace(/^\s+/, ' ');
249
+ } else {
250
+ text = text.replace(/^\s+/, '');
251
+ }
252
+
253
+ if (
254
+ e.nextSibling
255
+ && e.nextSibling.nodeType == 1
256
+ && e.nextSibling.tagName != 'BR'
257
+ && this.getElementStyle(e.nextSibling).display.match(/inline/)
258
+ ) {
259
+ text = text.replace(/\s+$/, ' ');
260
+ } else {
261
+ text = text.replace(/\s+$/, '');
262
+ }
263
+
264
+ text = text.replace(/\s+/g, ' ');
265
+
266
+ if (style.textTransform && style.textTransform != 'none') {
267
+ switch (style.textTransform) {
268
+ case 'capitalize':
269
+ text = this.capitalizeText(text);
270
+ break;
271
+ case 'uppercase':
272
+ text = text.toUpperCase();
273
+ break;
274
+ case 'lowercase':
275
+ text = text.toLowerCase();
276
+ break;
277
+ }
278
+ }
279
+
280
+ if (!face) {
281
+ var excerptLength = 12;
282
+ var textExcerpt = text.substring(0, excerptLength);
283
+ if (text.length > excerptLength) {
284
+ textExcerpt += '...';
285
+ }
286
+
287
+ var fontDescription = style.fontFamily;
288
+ if (style.fontWeight != 'normal') fontDescription += ' ' + style.fontWeight;
289
+ if (style.fontStyle != 'normal') fontDescription += ' ' + style.fontStyle;
290
+
291
+ this.log("couldn't find typeface font: " + fontDescription + ' for text "' + textExcerpt + '"');
292
+ return;
293
+ }
294
+
295
+ var words = text.split(/\b(?=\w)/);
296
+
297
+ var containerSpan = document.createElement('span');
298
+ containerSpan.className = 'typeface-js-vector-container';
299
+
300
+ var wordsLength = words.length;
301
+ for (var i = 0; i < wordsLength; i++) {
302
+ var word = words[i];
303
+
304
+ var vector = this.renderWord(face, style, word);
305
+
306
+ if (vector) {
307
+ containerSpan.appendChild(vector.element);
308
+
309
+ if (!this.disableSelection) {
310
+ var selectableSpan = document.createElement('span');
311
+ selectableSpan.className = 'typeface-js-selected-text';
312
+
313
+ var wordNode = document.createTextNode(word);
314
+ selectableSpan.appendChild(wordNode);
315
+
316
+ if (this.vectorBackend != 'vml') {
317
+ selectableSpan.style.marginLeft = -1 * (vector.width + 1) + 'px';
318
+ }
319
+ selectableSpan.targetWidth = vector.width;
320
+ //selectableSpan.style.lineHeight = 1 + 'px';
321
+
322
+ if (this.vectorBackend == 'vml') {
323
+ vector.element.appendChild(selectableSpan);
324
+ } else {
325
+ containerSpan.appendChild(selectableSpan);
326
+ }
327
+ }
328
+ }
329
+ }
330
+
331
+ return containerSpan;
332
+ },
333
+
334
+ renderDocument: function(callback) {
335
+
336
+ if (!callback)
337
+ callback = function(e) { e.style.visibility = 'visible' };
338
+
339
+ var elements = document.getElementsByTagName('*');
340
+
341
+ var elementsLength = elements.length;
342
+ for (var i = 0; i < elements.length; i++) {
343
+ if (elements[i].className.match(/(^|\s)typeface-js(\s|$)/) || elements[i].tagName.match(/^(H1|H2|H3|H4|H5|H6)$/)) {
344
+ this.replaceText(elements[i]);
345
+ if (typeof callback == 'function') {
346
+ callback(elements[i]);
347
+ }
348
+ }
349
+ }
350
+
351
+ if (this.vectorBackend == 'vml') {
352
+ // lamely work around IE's quirky leaving off final dynamic shapes
353
+ var dummyShape = document.createElement('v:shape');
354
+ dummyShape.style.display = 'none';
355
+ document.body.appendChild(dummyShape);
356
+ }
357
+ },
358
+
359
+ replaceText: function(e) {
360
+
361
+ var childNodes = [];
362
+ var childNodesLength = e.childNodes.length;
363
+
364
+ for (var i = 0; i < childNodesLength; i++) {
365
+ this.replaceText(e.childNodes[i]);
366
+ }
367
+
368
+ if (e.nodeType == 3 && e.nodeValue.match(/\S/)) {
369
+ var parentNode = e.parentNode;
370
+
371
+ if (parentNode.className == 'typeface-js-selected-text') {
372
+ return;
373
+ }
374
+
375
+ var renderedText = this.getRenderedText(e);
376
+
377
+ if (
378
+ parentNode.tagName == 'A'
379
+ && this.vectorBackend == 'vml'
380
+ && this.getElementStyle(parentNode).display == 'inline'
381
+ ) {
382
+ // something of a hack, use inline-block to get IE to accept clicks in whitespace regions
383
+ parentNode.style.display = 'inline-block';
384
+ parentNode.style.cursor = 'pointer';
385
+ }
386
+
387
+ if (this.getElementStyle(parentNode).display == 'inline') {
388
+ parentNode.style.display = 'inline-block';
389
+ }
390
+
391
+ if (renderedText) {
392
+ if (parentNode.replaceChild) {
393
+ parentNode.replaceChild(renderedText, e);
394
+ } else {
395
+ parentNode.insertBefore(renderedText, e);
396
+ parentNode.removeChild(e);
397
+ }
398
+ if (this.vectorBackend == 'vml') {
399
+ renderedText.innerHTML = renderedText.innerHTML;
400
+ }
401
+
402
+ var childNodesLength = renderedText.childNodes.length
403
+ for (var i; i < childNodesLength; i++) {
404
+
405
+ // do our best to line up selectable text with rendered text
406
+
407
+ var e = renderedText.childNodes[i];
408
+ if (e.hasChildNodes() && !e.targetWidth) {
409
+ e = e.childNodes[0];
410
+ }
411
+
412
+ if (e && e.targetWidth) {
413
+ var letterSpacingCount = e.innerHTML.length;
414
+ var wordSpaceDelta = e.targetWidth - e.offsetWidth;
415
+ var letterSpacing = wordSpaceDelta / (letterSpacingCount || 1);
416
+
417
+ if (this.vectorBackend == 'vml') {
418
+ letterSpacing = Math.ceil(letterSpacing);
419
+ }
420
+
421
+ e.style.letterSpacing = letterSpacing + 'px';
422
+ e.style.width = e.targetWidth + 'px';
423
+ }
424
+ }
425
+ }
426
+ }
427
+ },
428
+
429
+ applyElementVerticalMetrics: function(face, style, e) {
430
+
431
+ if (style.lineHeight == 'normal') {
432
+ style.lineHeight = this.pixelsFromPoints(face, style, face.lineHeight);
433
+ }
434
+
435
+ var cssLineHeightAdjustment = style.lineHeight - this.pixelsFromPoints(face, style, face.lineHeight);
436
+
437
+ e.style.marginTop = Math.round( cssLineHeightAdjustment / 2 ) + 'px';
438
+ e.style.marginBottom = Math.round( cssLineHeightAdjustment / 2) + 'px';
439
+
440
+ },
441
+
442
+ vectorBackends: {
443
+
444
+ canvas: {
445
+
446
+ _initializeSurface: function(face, style, text) {
447
+
448
+ var extents = this.getTextExtents(face, style, text);
449
+
450
+ var canvas = document.createElement('canvas');
451
+ if (this.disableSelection) {
452
+ canvas.innerHTML = text;
453
+ }
454
+
455
+ canvas.height = Math.round(this.pixelsFromPoints(face, style, face.lineHeight));
456
+ canvas.width = Math.round(this.pixelsFromPoints(face, style, extents.x, 'horizontal'));
457
+
458
+ this.applyElementVerticalMetrics(face, style, canvas);
459
+
460
+ if (extents.x > extents.ha)
461
+ canvas.style.marginRight = Math.round(this.pixelsFromPoints(face, style, extents.x - extents.ha, 'horizontal')) + 'px';
462
+
463
+ var ctx = canvas.getContext('2d');
464
+
465
+ var pointScale = this.pixelsFromPoints(face, style, 1);
466
+ ctx.scale(pointScale * style.fontStretchPercent, -1 * pointScale);
467
+ ctx.translate(0, -1 * face.ascender);
468
+ ctx.fillStyle = style.color;
469
+
470
+ return { context: ctx, canvas: canvas };
471
+ },
472
+
473
+ _renderGlyph: function(ctx, face, char, style) {
474
+
475
+ var glyph = face.glyphs[char];
476
+
477
+ if (!glyph) {
478
+ //this.log.error("glyph not defined: " + char);
479
+ return this.renderGlyph(ctx, face, this.fallbackCharacter, style);
480
+ }
481
+
482
+ if (glyph.o) {
483
+
484
+ var outline;
485
+ if (glyph.cached_outline) {
486
+ outline = glyph.cached_outline;
487
+ } else {
488
+ outline = glyph.o.split(' ');
489
+ glyph.cached_outline = outline;
490
+ }
491
+
492
+ var outlineLength = outline.length;
493
+ for (var i = 0; i < outlineLength; ) {
494
+
495
+ var action = outline[i++];
496
+
497
+ switch(action) {
498
+ case 'm':
499
+ ctx.moveTo(outline[i++], outline[i++]);
500
+ break;
501
+ case 'l':
502
+ ctx.lineTo(outline[i++], outline[i++]);
503
+ break;
504
+
505
+ case 'q':
506
+ var cpx = outline[i++];
507
+ var cpy = outline[i++];
508
+ ctx.quadraticCurveTo(outline[i++], outline[i++], cpx, cpy);
509
+ break;
510
+
511
+ case 'b':
512
+ var x = outline[i++];
513
+ var y = outline[i++];
514
+ ctx.bezierCurveTo(outline[i++], outline[i++], outline[i++], outline[i++], x, y);
515
+ break;
516
+ }
517
+ }
518
+ }
519
+ if (glyph.ha) {
520
+ var letterSpacingPoints =
521
+ style.letterSpacing && style.letterSpacing != 'normal' ?
522
+ this.pointsFromPixels(face, style, style.letterSpacing) :
523
+ 0;
524
+
525
+ ctx.translate(glyph.ha + letterSpacingPoints, 0);
526
+ }
527
+ },
528
+
529
+ _renderWord: function(face, style, text) {
530
+ var surface = this.initializeSurface(face, style, text);
531
+ var ctx = surface.context;
532
+ var canvas = surface.canvas;
533
+ ctx.beginPath();
534
+ ctx.save();
535
+
536
+ var chars = text.split('');
537
+ var charsLength = chars.length;
538
+ for (var i = 0; i < charsLength; i++) {
539
+ this.renderGlyph(ctx, face, chars[i], style);
540
+ }
541
+
542
+ ctx.fill();
543
+
544
+ if (style.textDecoration == 'underline') {
545
+
546
+ ctx.beginPath();
547
+ ctx.moveTo(0, face.underlinePosition);
548
+ ctx.restore();
549
+ ctx.lineTo(0, face.underlinePosition);
550
+ ctx.strokeStyle = style.color;
551
+ ctx.lineWidth = face.underlineThickness;
552
+ ctx.stroke();
553
+ }
554
+
555
+ return { element: ctx.canvas, width: Math.floor(canvas.width) };
556
+
557
+ }
558
+ },
559
+
560
+ vml: {
561
+
562
+ _initializeSurface: function(face, style, text) {
563
+
564
+ var shape = document.createElement('v:shape');
565
+
566
+ var extents = this.getTextExtents(face, style, text);
567
+
568
+ shape.style.width = shape.style.height = style.fontSize + 'px';
569
+ shape.style.marginLeft = '-1px'; // this seems suspect...
570
+
571
+ if (extents.x > extents.ha) {
572
+ shape.style.marginRight = this.pixelsFromPoints(face, style, extents.x - extents.ha, 'horizontal') + 'px';
573
+ }
574
+
575
+ this.applyElementVerticalMetrics(face, style, shape);
576
+
577
+ var resolutionScale = face.resolution * 100 / 72;
578
+ shape.coordsize = (resolutionScale / style.fontStretchPercent) + "," + resolutionScale;
579
+
580
+ shape.coordorigin = '0,' + face.ascender;
581
+ shape.style.flip = 'y';
582
+
583
+ shape.fillColor = style.color;
584
+ shape.stroked = false;
585
+
586
+ shape.path = 'hh m 0,' + face.ascender + ' l 0,' + face.descender + ' ';
587
+
588
+ return shape;
589
+ },
590
+
591
+ _renderGlyph: function(shape, face, char, offsetX, style, vmlSegments) {
592
+
593
+ var glyph = face.glyphs[char];
594
+
595
+ if (!glyph) {
596
+ this.log("glyph not defined: " + char);
597
+ this.renderGlyph(shape, face, this.fallbackCharacter, offsetX, style);
598
+ return;
599
+ }
600
+
601
+ vmlSegments.push('m');
602
+
603
+ if (glyph.o) {
604
+
605
+ var outline, outlineLength;
606
+
607
+ if (glyph.cached_outline) {
608
+ outline = glyph.cached_outline;
609
+ outlineLength = outline.length;
610
+ } else {
611
+ outline = glyph.o.split(' ');
612
+ outlineLength = outline.length;
613
+
614
+ for (var i = 0; i < outlineLength;) {
615
+
616
+ switch(outline[i++]) {
617
+ case 'q':
618
+ outline[i] = Math.round(outline[i++]);
619
+ outline[i] = Math.round(outline[i++]);
620
+ case 'm':
621
+ case 'l':
622
+ outline[i] = Math.round(outline[i++]);
623
+ outline[i] = Math.round(outline[i++]);
624
+ break;
625
+ }
626
+ }
627
+
628
+ glyph.cached_outline = outline;
629
+ }
630
+
631
+ var prevX, prevY;
632
+
633
+ for (var i = 0; i < outlineLength;) {
634
+
635
+ var action = outline[i++];
636
+
637
+ var x = Math.round(outline[i++]) + offsetX;
638
+ var y = Math.round(outline[i++]);
639
+
640
+ switch(action) {
641
+ case 'm':
642
+ vmlSegments.push('xm ', x, ',', y);
643
+ break;
644
+
645
+ case 'l':
646
+ vmlSegments.push('l ', x, ',', y);
647
+ break;
648
+
649
+ case 'q':
650
+ var cpx = outline[i++] + offsetX;
651
+ var cpy = outline[i++];
652
+
653
+ var cp1x = Math.round(prevX + 2.0 / 3.0 * (cpx - prevX));
654
+ var cp1y = Math.round(prevY + 2.0 / 3.0 * (cpy - prevY));
655
+
656
+ var cp2x = Math.round(cp1x + (x - prevX) / 3.0);
657
+ var cp2y = Math.round(cp1y + (y - prevY) / 3.0);
658
+
659
+ vmlSegments.push('c ', cp1x, ',', cp1y, ',', cp2x, ',', cp2y, ',', x, ',', y);
660
+ break;
661
+
662
+ case 'b':
663
+ var cp1x = Math.round(outline[i++]) + offsetX;
664
+ var cp1y = outline[i++];
665
+
666
+ var cp2x = Math.round(outline[i++]) + offsetX;
667
+ var cp2y = outline[i++];
668
+
669
+ vmlSegments.push('c ', cp1x, ',', cp1y, ',', cp2x, ',', cp2y, ',', x, ',', y);
670
+ break;
671
+ }
672
+
673
+ prevX = x;
674
+ prevY = y;
675
+ }
676
+ }
677
+
678
+ vmlSegments.push('x e');
679
+ return vmlSegments;
680
+ },
681
+
682
+ _renderWord: function(face, style, text) {
683
+ var offsetX = 0;
684
+ var shape = this.initializeSurface(face, style, text);
685
+
686
+ var letterSpacingPoints =
687
+ style.letterSpacing && style.letterSpacing != 'normal' ?
688
+ this.pointsFromPixels(face, style, style.letterSpacing) :
689
+ 0;
690
+
691
+ letterSpacingPoints = Math.round(letterSpacingPoints);
692
+ var chars = text.split('');
693
+ var vmlSegments = [];
694
+ for (var i = 0; i < chars.length; i++) {
695
+ var char = chars[i];
696
+ vmlSegments = this.renderGlyph(shape, face, char, offsetX, style, vmlSegments);
697
+ offsetX += face.glyphs[char].ha + letterSpacingPoints ;
698
+ }
699
+
700
+ if (style.textDecoration == 'underline') {
701
+ var posY = face.underlinePosition - (face.underlineThickness / 2);
702
+ vmlSegments.push('xm ', 0, ',', posY);
703
+ vmlSegments.push('l ', offsetX, ',', posY);
704
+ vmlSegments.push('l ', offsetX, ',', posY + face.underlineThickness);
705
+ vmlSegments.push('l ', 0, ',', posY + face.underlineThickness);
706
+ vmlSegments.push('l ', 0, ',', posY);
707
+ vmlSegments.push('x e');
708
+ }
709
+
710
+ // make sure to preserve trailing whitespace
711
+ shape.path += vmlSegments.join('') + 'm ' + offsetX + ' 0 l ' + offsetX + ' ' + face.ascender;
712
+
713
+ return {
714
+ element: shape,
715
+ width: Math.floor(this.pixelsFromPoints(face, style, offsetX, 'horizontal'))
716
+ };
717
+ }
718
+
719
+ }
720
+
721
+ },
722
+
723
+ setVectorBackend: function(backend) {
724
+
725
+ this.vectorBackend = backend;
726
+ var backendFunctions = ['renderWord', 'initializeSurface', 'renderGlyph'];
727
+
728
+ for (var i = 0; i < backendFunctions.length; i++) {
729
+ var backendFunction = backendFunctions[i];
730
+ this[backendFunction] = this.vectorBackends[backend]['_' + backendFunction];
731
+ }
732
+ },
733
+
734
+ initialize: function() {
735
+
736
+ // quit if this function has already been called
737
+ if (arguments.callee.done) return;
738
+
739
+ // flag this function so we don't do the same thing twice
740
+ arguments.callee.done = true;
741
+
742
+ // kill the timer
743
+ if (window._typefaceTimer) clearInterval(_typefaceTimer);
744
+
745
+ this.renderDocument( function(e) { e.style.visibility = 'visible' } );
746
+
747
+ }
748
+
749
+ };
750
+
751
+ // IE won't accept real selectors...
752
+ var typefaceSelectors = ['.typeface-js', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6'];
753
+
754
+ if (document.createStyleSheet) {
755
+
756
+ var styleSheet = document.createStyleSheet();
757
+ for (var i = 0; i < typefaceSelectors.length; i++) {
758
+ var selector = typefaceSelectors[i];
759
+ styleSheet.addRule(selector, 'visibility: hidden');
760
+ }
761
+
762
+ styleSheet.addRule(
763
+ '.typeface-js-selected-text',
764
+ '-ms-filter: \
765
+ "Chroma(color=black) \
766
+ progid:DXImageTransform.Microsoft.MaskFilter(Color=white) \
767
+ progid:DXImageTransform.Microsoft.MaskFilter(Color=blue) \
768
+ alpha(opacity=30)" !important; \
769
+ color: black; \
770
+ font-family: Modern; \
771
+ position: absolute; \
772
+ white-space: pre; \
773
+ filter: alpha(opacity=0) !important;'
774
+ );
775
+
776
+ styleSheet.addRule(
777
+ '.typeface-js-vector-container',
778
+ 'position: relative'
779
+ );
780
+
781
+ } else if (document.styleSheets) {
782
+
783
+ if (!document.styleSheets.length) { (function() {
784
+ // create a stylesheet if we need to
785
+ var styleSheet = document.createElement('style');
786
+ styleSheet.type = 'text/css';
787
+ document.getElementsByTagName('head')[0].appendChild(styleSheet);
788
+ })() }
789
+
790
+ var styleSheet = document.styleSheets[0];
791
+ document.styleSheets[0].insertRule(typefaceSelectors.join(',') + ' { visibility: hidden; }', styleSheet.cssRules.length);
792
+
793
+ document.styleSheets[0].insertRule(
794
+ '.typeface-js-selected-text { \
795
+ color: rgba(128, 128, 128, 0); \
796
+ opacity: 0.30; \
797
+ position: absolute; \
798
+ font-family: Arial, sans-serif; \
799
+ white-space: pre \
800
+ }',
801
+ styleSheet.cssRules.length
802
+ );
803
+
804
+ try {
805
+ // set selection style for Mozilla / Firefox
806
+ document.styleSheets[0].insertRule(
807
+ '.typeface-js-selected-text::-moz-selection { background: blue; }',
808
+ styleSheet.cssRules.length
809
+ );
810
+
811
+ } catch(e) {};
812
+
813
+ try {
814
+ // set styles for browsers with CSS3 selectors (Safari, Chrome)
815
+ document.styleSheets[0].insertRule(
816
+ '.typeface-js-selected-text::selection { background: blue; }',
817
+ styleSheet.cssRules.length
818
+ );
819
+
820
+ } catch(e) {};
821
+
822
+ // most unfortunately, sniff for WebKit's quirky selection behavior
823
+ if (/WebKit/i.test(navigator.userAgent)) {
824
+ document.styleSheets[0].insertRule(
825
+ '.typeface-js-vector-container { position: relative }',
826
+ styleSheet.cssRules.length
827
+ );
828
+ }
829
+
830
+ }
831
+
832
+ var backend = !!(window.attachEvent && !window.opera) ? 'vml' : window.CanvasRenderingContext2D || document.createElement('canvas').getContext ? 'canvas' : null;
833
+
834
+ if (backend == 'vml') {
835
+
836
+ document.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML");
837
+
838
+ var styleSheet = document.createStyleSheet();
839
+ styleSheet.addRule('v\\:shape', "display: inline-block;");
840
+ }
841
+
842
+ _typeface_js.setVectorBackend(backend);
843
+ window._typeface_js = _typeface_js;
844
+
845
+ if (/WebKit/i.test(navigator.userAgent)) {
846
+
847
+ var _typefaceTimer = setInterval(function() {
848
+ if (/loaded|complete/.test(document.readyState)) {
849
+ _typeface_js.initialize();
850
+ }
851
+ }, 10);
852
+ }
853
+
854
+ if (document.addEventListener) {
855
+ window.addEventListener('DOMContentLoaded', function() { _typeface_js.initialize() }, false);
856
+ }
857
+
858
+ /*@cc_on @*/
859
+ /*@if (@_win32)
860
+
861
+ document.write("<script id=__ie_onload_typeface defer src=//:><\/script>");
862
+ var script = document.getElementById("__ie_onload_typeface");
863
+ script.onreadystatechange = function() {
864
+ if (this.readyState == "complete") {
865
+ _typeface_js.initialize();
866
+ }
867
+ };
868
+
869
+ /*@end @*/
870
+
871
+ try { console.log('initializing typeface.js') } catch(e) {};
872
+
873
+ })();