theme_importer_rails 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +32 -0
  4. data/lib/tasks/theme_importer_rails_tasks.rake +13 -0
  5. data/lib/theme_importer_rails.rb +53 -0
  6. data/lib/theme_importer_rails/file_editor.rb +19 -0
  7. data/lib/theme_importer_rails/file_sorter.rb +167 -0
  8. data/lib/theme_importer_rails/version.rb +3 -0
  9. data/test/dummy/README.rdoc +28 -0
  10. data/test/dummy/Rakefile +6 -0
  11. data/test/dummy/app/assets/javascripts/application.js +14 -0
  12. data/test/dummy/app/assets/javascripts/welcome.js +2 -0
  13. data/test/dummy/app/assets/stylesheets/application.css +16 -0
  14. data/test/dummy/app/assets/stylesheets/welcome.css +4 -0
  15. data/test/dummy/app/controllers/application_controller.rb +5 -0
  16. data/test/dummy/app/controllers/welcome_controller.rb +4 -0
  17. data/test/dummy/app/helpers/application_helper.rb +2 -0
  18. data/test/dummy/app/helpers/welcome_helper.rb +2 -0
  19. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  20. data/test/dummy/app/views/welcome/index.html.erb +506 -0
  21. data/test/dummy/bin/bundle +3 -0
  22. data/test/dummy/bin/rails +4 -0
  23. data/test/dummy/bin/rake +4 -0
  24. data/test/dummy/bin/setup +29 -0
  25. data/test/dummy/config.ru +4 -0
  26. data/test/dummy/config/application.rb +32 -0
  27. data/test/dummy/config/boot.rb +5 -0
  28. data/test/dummy/config/environment.rb +5 -0
  29. data/test/dummy/config/environments/development.rb +38 -0
  30. data/test/dummy/config/environments/production.rb +76 -0
  31. data/test/dummy/config/environments/test.rb +42 -0
  32. data/test/dummy/config/initializers/assets.rb +11 -0
  33. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  34. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  35. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  36. data/test/dummy/config/initializers/inflections.rb +16 -0
  37. data/test/dummy/config/initializers/mime_types.rb +4 -0
  38. data/test/dummy/config/initializers/session_store.rb +3 -0
  39. data/test/dummy/config/initializers/wrap_parameters.rb +9 -0
  40. data/test/dummy/config/locales/en.yml +23 -0
  41. data/test/dummy/config/routes.rb +58 -0
  42. data/test/dummy/config/secrets.yml +22 -0
  43. data/test/dummy/log/development.log +4099 -0
  44. data/test/dummy/log/test.log +4740 -0
  45. data/test/dummy/public/404.html +67 -0
  46. data/test/dummy/public/422.html +67 -0
  47. data/test/dummy/public/500.html +66 -0
  48. data/test/dummy/public/favicon.ico +0 -0
  49. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-2AtM-Yk5iiGMnB7G9976eseOOXXrrUYUia9nw90h9s.cache +0 -0
  50. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-7hj-m4VR2m3WaiiL_mbeD6CULUYwRDB2B-46Iwalbc.cache +2 -0
  51. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-DwxbiePKT7beE5rZ1Rhk4x6_je0URxXlngjK3t2TCg.cache +1 -0
  52. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-hfPbYAm6uadbyN4Ct7WAEzyxEeDyWTLaMYlf2OgFfA.cache +2 -0
  53. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-sgL2MeNPeZtcMB44fqCSj0Z5-sWaeKhv14WKuBHmW4.cache +1 -0
  54. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-tJ58HTQIxH5jIQcgaZGT86PIZM82CNIdjSqmSYP_b0.cache +0 -0
  55. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-xq7QQ4gmsAnrekQ39EsXtRZYhMUMI7dJBztMgBxiMU.cache +1 -0
  56. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-yCwlrO5lZe1OBv-mObbkIQi5BXFbu1-0pFODspNZzs.cache +1 -0
  57. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/014QZftykRT_mSydZ1S-1zJDJMrzt65wIAVrTHKOwh0.cache +1 -0
  58. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0AEwuuwZ3VIjuiR_rcd8DlyQpc0Nh01x2zF5kS5VJ3k.cache +1 -0
  59. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0JA4QFfOYDJcyKSORLiZidZ0s4OoSucxVg98_o_YEAM.cache +0 -0
  60. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0YpomAhd-0CxzSDRgTBvSqtcul3ZXDVLG35l1nb3LIc.cache +1 -0
  61. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0Zokv6QzjuOITuuJDvMQ0b66R0Zxl8guQStutY--uf4.cache +1 -0
  62. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/12nPjTGhzZSnKjSebtja7-TIgzt8YcCCdOI3S8qaEVI.cache +1 -0
  63. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/16YTaillV4zC93TUyuFKsLwL0OtIROPHa0094Qt6Q-I.cache +1 -0
  64. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1GxgbrDKaMe7YBOE8Wy_3mu--7rImTLvSSFP99VKCgg.cache +1 -0
  65. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2-t5GF8D-xJ7tjTrv9sa0T6GRr2HRBUuE3b1kM95Xxo.cache +1 -0
  66. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/20ckCV2B6aU-50h3OH9lKr67oHxR8clOcP2r0IkiDAg.cache +1 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/26wYVuzqrPfQ6EDHmfwpuOIGuixJoZ5A85dpcFfrmWY.cache +1 -0
  68. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2D7aSujWo33oSpDPHutWJjPW47SBe3wrs1wL0FuB3fk.cache +1 -0
  69. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2F2XscR34MsHPdN0SRuiJC6IbqjPKgHbolyDhIUiZws.cache +1 -0
  70. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2GRe1DjHBMGTq77N5n9Hoko69ffj7KSqJCM1ZughK4s.cache +0 -0
  71. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2Tc9vEL5GRK80Tc8OfrpAy8QQa6OCCHl08f2dR5EfL4.cache +2 -0
  72. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2V-TndWhZxw9e93zXZuv1PpE2dFTP-k3SqT_8G1nzts.cache +1 -0
  73. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2X8ZvoD19tZ_d8NTKlzGqb-Hw0dGUYdoI3ofbQWwnSM.cache +1 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2x8NdNO3MofE-xWwhQqHhMVe53UB5JVzfBVM-wsQWsA.cache +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3GVT1PUBWOGXTfOmJZc3UNKpU3tHAzE8NdOF_T9GgmA.cache +2 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3Qzt0VbnTVRrW4aM1helClnpJEHA7m5L0iasT3IuI8o.cache +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3cZ_5EuSD7fKQxCjuNP7iJ6rg9_AMx16oyXKzM5IBYc.cache +1 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4MBzX06ZFPFjfA36pAy5_z-O1S8A8KyTzI0nCDdVlCs.cache +1 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4xmGqmNHP_kQQHc67nMv7pp2sDuUAOat-noWXc9fZv0.cache +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/59O2K2Kvbhvu0gVh6QKXZqb8Vr5KoPARbRhhtk9Q0J0.cache +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5NPC77fR9JyUBEkh_QkgadCrJzIiUDkzS84auKKIOxo.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Ojuu5bXi81dpbfJ-dcw8kE2y37iDD2gaQafcdgUpuI.cache +1 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Rd_oIe7cdhzJhjnTmzhub6SoBI2Yj4QDpwv1LL1_Rs.cache +1 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5Y5gkfrX0rI6ssHj9hwIz-gwhAyDXDmpwyTYWqJwM14.cache +2 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5q3BPGPMq1muf4GxbpowpZcm6owGD5-wNlrgDy1jFII.cache +1 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/60J1mP3sTuE4Gdzmm8DWnh9J7Gsp6jDezvvidlgsbEQ.cache +1 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/63HKBoKPs4VEYGIffxxd-KZMYpybL84AfmX0WumpVHI.cache +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/63LV-6upKyHubkb4SgriEirebrFTsXUbk0Okc3gdT2Y.cache +1 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6NuzqvwIxKDErOJBRzJ8yN6VNLmdyNkd8jNZw67UU7k.cache +1 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6RSli9aJOYm9qSg01LA89iv9MMWFc99IC5q1IHtil8g.cache +3 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6qDeaS4M03eBAMKpf3Np5YzvZ6uvWJEpeUuZbIVIsF8.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6sXe8Gi-TGmEQnbaQ0Mmcm7uAbw93DQ_JacNkzRUCLg.cache +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7DkWSCLtf0HxdZaJdbq6ZDFMzk10VKEQLW4cxYLlHNU.cache +1 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7END6OTzxOHB0MRKQCTgmLwzon9jyZCs0fQlKDZMix4.cache +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7iNDDbYTXtwS1nujdc1Tc-JdEz3HRSKdIyxszgJJFKY.cache +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7xAQnYR3ovRwPY13G6QB58XDOX663mBIbRa89BMi8aY.cache +1 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8HgAzVj963Py_AXw3hvb3TMtjyCr0V0CRbWZ4-jqOqQ.cache +0 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8XdwbriEMKpvZPQFv1OSKulbtUEUVS1IysLR3zBSJec.cache +2 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8enP-Vav_5yK1mipKVrOCVDC3V2BvA_n4EU_aO0jlK4.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9tdHQ9Ol220qcim_zs0c89bYpodviqQjwuiR7CcWu4A.cache +2 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A3Su9QBzMUIF3zTLWmhf_4JSeKSYZ2ynwTdp6Z3fnuQ.cache +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AYUTSjRSe17COVRz7bw8bKVOCahJ_i_AzzMsN0cEkBY.cache +1 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AcBrZeJHw3GR08LFrBlafg7nogkT098tnMzLw1Nz4T4.cache +1 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Af9PcVhk7L8d4H9HdjxvsS7pLgFCT0Xi1e9mPOwUBqQ.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AkRZitllHOLIeLXOzsp_ACwwEWwTwaShkcVFOT-Aw4Y.cache +1 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B0DCOI4ZXevAnYFZyraUb7bTu-tAQZlElEHoBnk1LYM.cache +1 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BKvrYTlfI1gXixTAUOdAdJT5dGPObpyYdvnR6uMba1c.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BVcaFgXprYxBX0YaG-Rfy2g7g-1Q2STDIVtW3xaAnu0.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/C_QFolgesWBenS2Dc2yaA4BGUyGMUzK8F0-Im-rPgYc.cache +1 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CiK7e66l2DfPnG4Xy4GYatM3xCYtB01o7WukxCQmhIk.cache +1 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CjPwnFltA_tH8l_WFbWxORa3lzsHd382VDt6_RaEud8.cache +1 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DDInyKFxmhK7HwpXhyQ3DI0J83tqBujusQas3ly0VW8.cache +2 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DQ0hNb3LpEYPc4mXp7nk86vWCVD5o7x6nkFsDosmsO8.cache +0 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DWOUWdtdjQSiA2pWpx3PiEjlPEfEOlOZnH1U2fpZDY8.cache +2 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DW_Y4GWASTU5gXPPHomrLXXvmthy8EutcxAOf-jAvgg.cache +2 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DdFgRIBQGVxEnn_T3gJ_W3M_NOelkHlYFvyPPhfIM54.cache +1 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Djyt4dV50gKPsVGAyyU4QXdLjUH9wgBojUL15WRW4AQ.cache +1 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/E4naYL6JJb1di0PzYS7L9UwPgWs5E2Sdk9ukwfpz3fM.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ECr48B8TLoGms3O25Fmtuk1tooq5_nXz7zJZ87lKTQM.cache +0 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EDQI-cUoWZ-55-h_qlig5qr0DVKNnMS4w-q83Fma5O8.cache +2 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EdNhjDp6pwW2_-grpfU9pGD-bKleCTIrRRNiB-Yisuc.cache +2 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EfjWc8l9wMRQlAWWNS3KkugtPkqGJ7QgEyEVYH2k4nc.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EoVKCTLbUsjo9gWbejv9Rx0MqZnUjXexvT-8dKfLaKQ.cache +1 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EsKREopYINqRfv3esdH7DJvXau7rvUP3lSToyGPlWAU.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/F2PKQX5kL8jbXykCbDo3gwWG4fJJKdPdtSoCIt9Ae18.cache +1 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FRs-bVmvlimgVXwObAE4OYN0OpZP1VZyyylHl-Bg-nQ.cache +0 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FVbl4nNcPKnQRZPiivlj3HYVZoZj5uzgtwevDWIThzo.cache +1 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FVmE1r9jyksMA_MXkDpGVCz__pXkT_AOrRrnv-WvVvg.cache +0 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FZIiHTRKRIcGt_rGwIHBkf2rGBYrwR6GMd78PQkfiYM.cache +0 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FhijODJ4OANP_VeKMX2e-G42z8kAA4aU65tUOE8OKZg.cache +2 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/G8V42rcdsJNLoqMVB7Jkaow2VoYC2os_5CmnDoOQ6O8.cache +1 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GeTfIlxa5N9tzjmH6v1aNXY_jlzM_UlnKZfTRYkHmQ8.cache +1 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GmuVAfxvECeelzCxJSKFhBrPKQPIbobAjLLquLMxS7I.cache +2 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Gx4rhwkwOoq2so8MTFm7-31ODinHbHWn3IPXL90rU60.cache +1 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Gxhad_M2vC2M0d44apEnRFAnfzeSLB9g6SCt0h8AX0E.cache +1 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HYoyxZm7z1zd8ZGGF4-IYYgncIUm92PtNdkMfGynT9E.cache +1 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HgA4sikvuk6fKAJOzHXY4ZSasZbtoKmCYe_zQuuyIc8.cache +1 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HhTc-M-qkOkbhWJhNahw0gI_aB5tvQa-tBynZIs0yfM.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HrbXkot1GL2A9-6X6MnYCZxbwo57ruTBYp0WQ_Ip9iE.cache +1 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HuUP7zE3O9cNrabBe4p_LZGZtbIwg_KiSzrbtSUOxbw.cache +1 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HwYCDAxJQriDPq6YQIS8XsG3lbAw5pOnFZ0ciCT_zGs.cache +0 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I27UJ7Kmu5P9lJQMlUiiYfnGQTiHua1eYnbagzWwM68.cache +2 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IJND0TzSPDDgCTVb_7TizMWPzNotXP6W6JdK94E28WQ.cache +0 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IMAdvoGwLysu8T-Ee5tNrGlqqnYpXr809rAm2TpfLrA.cache +2 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ig57Pa7wtkHcZEwj-HAadStRMhgbVhHPOt7bqOzdWRM.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IgZCpUTG7eXBTtb9CCtXr0Ck3-hiWtGqUgu1kxJDW00.cache +2 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IhPeH9GtCQNGlSu8WJYtTl-hfvlAs7r5m1ZvdjHCJOw.cache +0 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J-DPXm-j8paDOQ36wBlZl0pjsTnWs8b2JM5rXar_R9w.cache +0 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J4h87XxumtSn3k4BSKAMS8xk0MecXhyGUqcdoJW6jCk.cache +2 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J5XFGGJKmO3VoLTH5h4vBNtozvSCaZWt5Psr8B3J1bM.cache +1 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JWtF352XWurAZbCsJWawwR7_MkZfMb3kCBOpTCb7Kx0.cache +2 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Jc8PJFRhKYEMyofWLARCtX_mWOTA-rGMa0OPlxgXvVA.cache +2 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JeBO0h7eO--lHC1LwQw78HU-qAHgky9i-XHNHjZrAg4.cache +0 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JgVS2W6SsATDc4Uph_BqEBoUby8fyfjoxML_6AHRPuc.cache +1 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/K-B9xzdLuUyVbf1RPjeqd3AMELlBQRCrUcENE8CseMI.cache +1 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/K4RiptbkqvNqYesrPVsyjJYHM3N9JXOYJEIfWLUOMtg.cache +2 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/K930WFNfzikY6e3KqY6X4SXb54vNS1tV2xLtaRkhSog.cache +1 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KKs4UId9tHOWXPHCItStq4xO15_7-sVWH0RL7b7mDoo.cache +1 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KXxRcqO67OVELQ3MPl6eyw9FfJkXj5F_Sxa4wj4qP8Q.cache +0 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KlKT_qJGpqEK36KA5c2nAC8sJ_PPImwNrRuh3lrjLr0.cache +1 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/L320ZGVm9lMcW5XfPmLOTG70eBkp3_R4ke1doQsyOK8.cache +0 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/L6fz9gkhh-pQ1MMZxfHC2xUouf5FE7MGpnaAEkWYhQM.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LCJaZn8kVyRrchk8iHG5eZ-y6Gdfpji14E9z6vTNOtM.cache +1 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LKx2ao3wOlOvlPcYU68LmkMxnOQZl87wIqgwUVJ9TWU.cache +1 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LR-fc8mGKS8j-JzjeQDemum-58Mi_8xrLYW92vg_cDU.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LcZtXQbwrEbHz1YIiEA4FGD2XOZWW7hZrU0vqZ0mcGk.cache +2 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LiHou201sjmoaAyBHJOTV_Xxgspllg1jbJf_WxiZmKA.cache +0 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M5K0sjYHumTUl01Y8O3QUOrdazHox_qaonmmJpzLsAs.cache +1 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MAlVtHVYTg4b5qTJ_evXqJ7mqWYYhGMQhD5pS_hzaq8.cache +0 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MH5SJd336M8hHjUALXFXjUS7wIeTAU6ryJxVYoVgtn0.cache +2 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MOANWQfm6JRBvGBqUuumhOGUxGNMp9lRwLyBToXwxi0.cache +2 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MRm_1F3w72IlVMUorRfEqqRx5jizulnieJO9ndqiDe8.cache +2 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MVnFeJDqJtvf5LVo2adUeoT2EQRbzktmT2B0Eoi2xJI.cache +1 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MevK_cdL0C2-i2-IasJaJL_C3VWZVIiFbL8Hy_btb6A.cache +1 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MpnBSJ4yGeBMm9rGYCvKrhuL-qcEVWxRxm9ZdpEshw8.cache +0 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Mq-fAQpuspTJ_ucOrNQ3MsgdzKkWin4niVLV6cc7QPA.cache +1 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MsjwVABkHpd5DjhVDjKslvNAKC-pfMuk1DTdA120NjU.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N6uAoRszIG-rzj7eRJUuuXlXH1Fdvx7QVscRQVC3HP8.cache +1 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NFeoJ5c2V43SKCROO4tht3Tmeg6a2p9pC4bJ8UK3Dgc.cache +2 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NWbPhw5nAOcwFf4lFU74_CzDl4ZsslXEaA5PGU-EPmQ.cache +1 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N_Y4DIdxtre_mcldV1iMXddJ9qXAHs-2HhpGXGkFwng.cache +1 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O5PoUDv8u9OcA8jzwbnmNhCY-nmke5sP3fJp14kTnJs.cache +1 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O8TtSco2gq1VmlT1_D_ZDTS0Nxaf3sutmFetNyWzs94.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O9vNnggzhhLrizYQQ1v9Td0XAJ8cqf_Y74vokGAgrl8.cache +1 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OImL0XaymQfHCVe0Yvd2-xX9alLewPK3gVDIVCkdB8M.cache +2 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ogk4lHvIVcwsP_20gt7vKNyMVtO2_J1E2QixSY4tVmo.cache +1 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PCdMgPFnXCNHUXeT9BRGvJ74izWjpjRbxWmgKDLu4yY.cache +2 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PM3a7zUYVYXIAAwGZkUG5JwyRO1GIhcsU35vu3-yMk4.cache +1 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Q2DXvUf70CN5lC1oTlstvJnSppeky8tfjyWoE-AMcmI.cache +1 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Q5agqvgpDoRvFJBKmzf70Qq2FsG5IY7retoxc3RSyrg.cache +1 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QBCThKt0K-Fg0C7ytjc5zAqAg4IrbZVuNorca3onZPw.cache +0 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QM-Xu1ncSSrIpr0h4BCrSkqLNm7MOZzG8Q4JtbqE4Dw.cache +1 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QW7g-YEKh7bfs3DoDV2nZoY0AC41s1CD2F_-OMwPz9M.cache +1 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QWtXJ_n8JAmmg15P4ST5Wr5ykzKx71w3h3ZRIMD0-iQ.cache +1 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QXcD_O-73RCcWuO98qCnLJ9xSqEzDpH_WYLpi5WsXQk.cache +1 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QuL0iLkv-9AP1EzYC2MnXMnF4FHEHjgMDHg-obMEK2Q.cache +0 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R1ATsaYGu15_daJneurPFk-JaM6dlmO44S7tfHPHGew.cache +0 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RHMdhvMkfxTkVJBnPqXngVV2TDtulrNsXFQglyEOGNM.cache +1 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RkwC8EqpTrsjbQHiuv0QfCXN6SW0-5h7TK0o8cMdlac.cache +1 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RqNa56WxDcRftIgdPaDlXlZ1AGqdGFBgeJsGNMuqlSU.cache +0 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S3hVF0FadQ1dF-EF-Cq1v6v95SC7R10KLVA7L4ZYW7Q.cache +1 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Sybw9TkXWRPGBS92ypQCg8a42z8SFbWoTc7iXjxaVK4.cache +1 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ThMPWNpziPSGMQJzrLIqNgf02MMlEjsLD6R3cCfR8EE.cache +1 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TqVluGDPPAFg3c60uHW89hvZ-eqa-SQoiwT46qVG1DA.cache +1 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U55GO-PuwocBIJBmEtSpsMOwoSo6fvP-ka-c5T7FLuk.cache +0 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UCk00rV6LagQPwUYNCw6KBrgZ1lpeE31_OE9FBzcGwk.cache +1 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UFm3ozG439OxpTj56gYMknmFNqtuK8I2F2Lf3H1BnkY.cache +1 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UHzlSQF5NtPIWTs9iXQjO2RGGWKh0SaFz8vM2P0wsno.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UNNbIj0MEah4f5dODxUuBWNjU7_NVVKjfx0P-R5OaIw.cache +1 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UcApzL3V4f5VKq5YwYT1Yn6jp-zYEXyhSRFg5ZaeXEs.cache +1 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UeiHQTENG4xj4o99qqzp3RBgxDt__Lmu9XZYscG4W7M.cache +2 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UryvGZp19FZqHwMxlp-i0o52e4YmJIo9XHgmwFMzHsw.cache +0 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V2teKuLr1g1iv2Jrnud8rtRlBMqc7XrFnUB9qGXYTp4.cache +1 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V37ZYrC3Kbx3rFFiZCe5yo8Xn3kgWfSx0VWKAqQu6LU.cache +0 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VIt9Y1eBpPEDNEQvSJPERxnyCzdbmd_M5TnEMQVTrrM.cache +1 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VIxyKPhyYPJ0RtEPxUzPZ8VtNHexM9vQOiY6DT-7itc.cache +1 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VaTkTFiF_0QldKbtzM1y2wALe-Nzg-VWlgAuHfmr1Es.cache +1 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VzoxFcfSZH1YoINUVBzMHPmJc5B06sPGNhUBMrK4o4o.cache +0 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/W4N3I_K5gfpGI-Mr75XFE31M6swk2T8yhfxJQa_bNfk.cache +0 -0
  220. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WIAPCbu0Cbl62fo5gK6BKNSiaMsZw86O7-PiJfCytkM.cache +1 -0
  221. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WQCwYRsgCGE-_qlAgWbqTtvlsNedFTw0P37Gntop5qU.cache +2 -0
  222. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WnQ-lNNy05kVjK80qscI8rBgjFn-OyHw3qEQAN6xlpA.cache +2 -0
  223. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XOaud_b6LkofEt6keLIbONSprWgL8pXJ56b4yiXersM.cache +1 -0
  224. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XvuLYN7xuwKv1tGA3Or6xA7ZeLDjsrOsI9cZoL7Iggg.cache +1 -0
  225. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YAzMlYmzh_e2lXkYWWZ6FXR0POszDSzn2qIO79Xm48o.cache +2 -0
  226. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YfekrZ3d8sPulZmoNlk0ulXntC7ZGA7eaqUuVXZZLLE.cache +0 -0
  227. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YhxuMsjeKBDDx5Hy6NQgeAQgvyH1yoCOPMGFby8eSMQ.cache +1 -0
  228. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YivpB2h4byt32WuK-nxJ0Ru3YgoomI4t5O3FywOheNY.cache +1 -0
  229. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z7yQp2s-IXtzqJncBfxm8Z-tH4q38Fb3Jk-Bnb0rw7c.cache +1 -0
  230. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z9YHb9BAygqDwxYW9L3mliSfaxW6ofJmrGBXCCH6f4U.cache +0 -0
  231. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZLsS83r-Cf_IHM1LL_Dn8H0iOjC6WNFMbdRxwDqx57o.cache +1 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZPddw3Le0o37gJPx-OV0q96TPBPG-FDeNTebcp28Rwg.cache +1 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZxrlDUYpGFwuvweicjF1Gm6aMO-LlrlHFgbNGjC5pyI.cache +1 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_DDW6AhsLfdj6htTa9qWEyzFJUgoOo8SW-ae6iffcvI.cache +1 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_FOLrmpSNz8kuLzL78HF_4fKOdtELNtcPJYuI60cFxc.cache +0 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_Levmn24RSIVXSkHSFNAlzGRDG2LdngpOMivvkrAu_c.cache +1 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_NWcFrya84vTWJ1FFiiF46wooRRcQ5ZYx2BWe8ijdXE.cache +1 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/a0XBAU4d5qS5Wtc3HMpgFNydoK2gqDHisPgdSh7NekM.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/a59PddWz5B2mRPCXzcqUt3auuNehkZ9pLSJhCfQHw6M.cache +1 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aC_b59cMmYXpC0i9peG28_ccsmArKFstehUDE7KY21w.cache +2 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aWi-dbOZDViZcjjGedTIPKkL8BPidjLTuJvsyHZ4nPo.cache +0 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aYDaQxB2uk5pRt3a6bzo93Isnf1SZcUPf-pYq-BL9IA.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/afFWFjQmst9avw8Rl0FU-XrvFv-Yo_X00pC-QfhaxOA.cache +1 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/akUTRnmOf9EtUYeKxEucweskCdyR_rKYbmVbyjiBcl8.cache +1 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b0zUQMyzmShe-MwGvMisooATH99z9Iwp_WGNL7yBbeY.cache +2 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bEwL6gYcktvrya6ikHhHPd74-7oDPjDwjUqzqhsaq78.cache +1 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bflEtkxxt0XHUOn9xJHEUT49VfBlSX-LIgaCiA27fMo.cache +1 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/c-0P0rQ0Ddu8R-fYxG1DTM9Dyj3qr-a0MUBs-tvNjek.cache +0 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cCbhr_Toz0oY9V-VLbCBf0wwVWwUSKqiFG5DLmKzOEI.cache +1 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cMKnL2n2tKfDCbOI0BmI0bPgMlgoS01MCqBGygMxsrI.cache +2 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cO27evahxVB21q3oL0MtKxYoOxYCUUnR8V-40MdIjWw.cache +1 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cTbuQp9hpW8TVaHtMT2I1med7tt6YzlqsFbEh6SwFYg.cache +1 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ccC3VgIXS-071fBinOqCHsAjBAHpLCN3_nTkCfbGRHg.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cgVWnA3GCbY9Ut3ew1ys98R-zy7VMdwTNZxNzFFGTcY.cache +1 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cr_6egvMehO9RJVS5KLVTxQ6B8H4pmuGWOxe6X145Yg.cache +0 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d-aQCnwfDSsLoQbmrX39R1r570_tvTPApKsiiKuA2oE.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d2G9SsDE2CBq0RnyO-0p8E-nemY2OnniTTyHCcSQyMQ.cache +0 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d2tre804-GsT_cSGkBa-luTpXciBPQdRjg14XUx1WAQ.cache +2 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dKo4sCqzGKyiQnLzyBqEGXCy_H_5kRs03xt8Emdnto8.cache +1 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dYdJzW3kPKt1hAyzC6Vlx9JVpm9XP7zK-gMmBjkL2qQ.cache +0 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dZbMO2UOh-WQUG-GpBLGy76eVhtBfyPSan0N3_MgFJo.cache +2 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e4DkgBvenpMkRe0nImqZDtNjoDRXn1usmAJidkjF6aE.cache +1 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eC6cu_lgZqbE2Ou11JEp_f3f0idALP2yeQY3howYKN0.cache +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eDTcNijrdPkqoY-13a72TIvw-uVjXeYg2TSjIDyQFMY.cache +2 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eDhqSWCyYXBGEWuNk7gs-Ez4XcZ-Gg2Kc8VgxpQzouI.cache +0 -0
  266. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eHDpzdna2utvjBfoTigVY3QqGRpcqdj5-Nca4Cnmq6A.cache +1 -0
  267. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eNvXZbGG19daIssVx3H893Y-LQN4sM02HnbLmhL0a_A.cache +2 -0
  268. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ePdBBeBB02A_4cBI2zU2AN22iAf68nA4vcexSIUDSgI.cache +1 -0
  269. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/emv9-lAMplg0s5M-sjx_RxvLowMadSqTnWyMH8vkw0o.cache +0 -0
  270. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eyNjK6Mvmzh-lse2VUHjb-Oy7oP27Um8NQhnf3ehTTk.cache +0 -0
  271. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fQr6rXIUDq1c-TJIGbTfaQGsJ0Z7y60K1GRh1tvd3nM.cache +0 -0
  272. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/faS3eV1wTwCdVhE8o4IcsT13gEjWWhahnrEhye9JNPg.cache +1 -0
  273. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/flEv8sWY8Oj8GxHciOBPEP3oTdH3kzxOJ19E8PMfLM4.cache +0 -0
  274. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/g6gyJIUhoNigP4W6raefZiqLE06OVFdMg0cDLLRJDiE.cache +1 -0
  275. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gFLwk5DdiFzNRgcBq0769T4XPWFp3P5ak1sJQ3crp4k.cache +1 -0
  276. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gMBvC3DI_lFpbsE97gt5n3h81obD6ViBtCMgc2wC4n8.cache +2 -0
  277. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/h01n4_UfOZ-yNRSr74Q586sQauJo46W7L_B3B3SiMyI.cache +2 -0
  278. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hD4BWNWWl3-w77w50NW6Yen0imdQdH2PR7N-5INE8lI.cache +0 -0
  279. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hX75cXHKOvJ8GY6cVZZFo9I6MDh0tRCao1lOZbWrwRQ.cache +0 -0
  280. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hcmcqRD7SfIRcncb4tX427XiRduF4ooul4noWajQOag.cache +1 -0
  281. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hdt0A6dJWMT4itkkFrL-k3potx9AHhaG9wE5RBT6XCM.cache +1 -0
  282. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hyAHaAVQBHC8s-L31AO9ztoLkgL7jOHyK15tm405NOo.cache +1 -0
  283. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iJg0i2v1EUH4iFn5XNbk1P2q9aJ_UaG68hHInWs7V48.cache +1 -0
  284. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/icK6-_ZtDYM4JRYTAI5h_G1RElCvAxduu-H3qBGck9E.cache +1 -0
  285. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/idiXs9XTrlYeWrVSN3c8BPXrgmKWEbwRsktpilT2-FI.cache +0 -0
  286. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/igLgyP6H6xB6TvMKuHKR9QfKNbIBuyHX6YMy2F2fgzs.cache +1 -0
  287. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ihJLDSUq2Bad77fJoxKClhqdSa1N8_jSQg7H3_KbjQ4.cache +1 -0
  288. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iorADOYgG0VFj1mzW3UlUmH0SZIcLLw6xI72E-4tOtQ.cache +1 -0
  289. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ipLmJ3Od6Vj1Ysz0A2qOtbUfuCOpkXQ2O2Wa9EV34_w.cache +0 -0
  290. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j20zp0EOQiWmN5XE0CJEoJIgTr5fqroKf1ydoWxYQCY.cache +2 -0
  291. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j4Da4M7J5kirYW2TVNmiABsUNpplAn89jRofhFx3y_c.cache +1 -0
  292. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jOjeIltM5selvUfsoi_SmoxZU1_ufca-KE0pnNJ_PE0.cache +1 -0
  293. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jPVyqnkiEhKZBsXn3oGGie3ZynebJDCFjKewJ59TXcg.cache +0 -0
  294. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jjLfaisdYExC2m5GQ7O9mS5Wk_1L-1EwazSlPKpaYtw.cache +0 -0
  295. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/k-mRMyHNqqyjIm8xdlTjcz7W-lrHVvBJwCbjltvPEe4.cache +1 -0
  296. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kBj8QcqEgT7audVJ0rNiyRqWkegVjI3kjdwnCIsm-_s.cache +1 -0
  297. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kU6Fvzboisqe9O8GVaR3yikC7qdeF6k9BavmPw4jOq0.cache +2 -0
  298. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kUWhcDcg4xYhvTMBApvJL4wsdZmhtHRErPfJ2sc4ZEE.cache +0 -0
  299. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/krYJ234g152SnVHZbgh_LDGYGUme7N3P0bp36AE-B1c.cache +0 -0
  300. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lFZ5KAwfoxExfpEE_nNUG_zrk66QIA__N3PZSIP5gEk.cache +1 -0
  301. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lH8x7FrEDedefWTPqpxzFHn8N2pHoL5UnBSMBnpa-yI.cache +1 -0
  302. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lRm1ui8yStT1CsxwDYqUfGf2aYtplczx3AYDg03BcVs.cache +1 -0
  303. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/luoVNBLRjlLIshGoP7H1jkDAdPWyKoUQ-Tcu8o_FzN0.cache +0 -0
  304. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/m1dFg3zugd7PTpU1bOOGCEAB1DR2m8fW6rRDh9UiLC8.cache +2 -0
  305. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mUr4AQUnX3lvVEkvuJ1Xp3limy1I2qUamEWcMAUcI18.cache +1 -0
  306. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mom-Jdcry42nrkNPnPO8COY6_XG2SSetCDFmrl1XqGQ.cache +1 -0
  307. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nBfjH-I4KAPlsk6s0VYLNzHW0qGo8-6Bnr9uWD_zLqM.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nHVaMvmkzZg6aCAp-91tl502WB8RL7TczU2pE0FRo2M.cache +0 -0
  309. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nMuwDwLswoaX1abWE-YbML1Lg14_vi0f60tSl9Me3zs.cache +1 -0
  310. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nQEDO2vW74bONPeSDj8zxKFC7uVKc86fUiOwplVdK2E.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nYZht7lSdO8rggCcnEbcPpDe5LWQUcv-ECLdx3m2OFU.cache +0 -0
  312. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nyESBNss4UtFUZCTmQf61nAeBEQ-Cxq80VR_Vfbbsjo.cache +1 -0
  313. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nz7pVa3iPdKYx9917BWWM-eZO3AN92FSffiSzkrFe4I.cache +1 -0
  314. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o-GtyWGxIvqolG4duexHGdpZPHX3Qz_2OhDDUWIbF1I.cache +0 -0
  315. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oPO0yPc8zv4SyRIWkzd_F9R1MTcm8x3kU4_7WW2WeAc.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ox5NnRW8PJUadhf-9-SqKxviMUl0mJdhD5AMXMB3vRE.cache +2 -0
  317. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oxeU9kY7fbphuF0DgLwOxZxcIWpWwVJN0LWYzaPGqIE.cache +2 -0
  318. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p6LTlv02gall07YeoSuUBTsK16qjYFM9nLPTAU-wvMY.cache +1 -0
  319. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p8mFSlRYnCBILBt7aPuyf8XeLbk3nTNvHKHmEHrVBFI.cache +1 -0
  320. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/plhOmwuXuCwPBWfPpRpC5Pu5t-XIfpzIGNz97vzdV-w.cache +0 -0
  321. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ppCfi7O2g6f3Z2f7GUlE_Q2-umaXeczGghaG6JG8Azw.cache +2 -0
  322. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q947-2FcW7EGiy7ywxYVXFCZqKK4hjdbUJLTAjFNoJM.cache +0 -0
  323. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qMQmfyXvxQhnUV2zHHWzJqyleMn-Emg5iJTRhdmN2zQ.cache +1 -0
  324. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qWW3Sci_EJMEMKANqZcI0y5PeDAAgXGi33mo86ph6rc.cache +1 -0
  325. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qYDwDXDVU47Aad6qTh0pkhtMTtyhM_FGGF8fSGLZJwI.cache +0 -0
  326. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qqfdv1_9poDBCH5xWbLcnQLCHO9xSPdbV3uSmb-x6lE.cache +1 -0
  327. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qwxJFV3A2OEshyKVvXxxoeCuwyYlk3Mr1Yu9DMmGkO8.cache +0 -0
  328. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qxiN7WDHF75yd4ah26LyvnE9MjmSOhUYTDAGo_ERwsA.cache +1 -0
  329. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r6BIuzMD-zithUhGGhZYihsmueXa9xRktbWawY9yVF4.cache +2 -0
  330. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r90zfHPbDtWYiewYywLXFogO-j4vL3iP-nCBJLbwGqU.cache +1 -0
  331. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rBMMcTTpBw2BdNmWQJiiNXuqn50q4_zCvVwARsjqv8Y.cache +1 -0
  332. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rDinRembg0sCLDiIufZ7UJjJhwUvziEjP3utTOraeZo.cache +2 -0
  333. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rEQHxCXoq6QT8yduSGjAV5uHswU0JsYdVaPmhpYhop4.cache +1 -0
  334. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rIc0mCtcYA9oHdBzK9aibSey3yWYzcI9CxH5mRKczsY.cache +1 -0
  335. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sPquEKsRqB4CAyWD6l9wd7rty30kDS0JAsxb8F6-L8s.cache +1 -0
  336. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/saWRjis8KABBQQ_lAIAD2cmmyyPjQqqs_9gPqyj0RsE.cache +2 -0
  337. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/stG8RqT5-pbE1dRAsVvThJHtyVULE_wi0TPtMfpk_9Q.cache +1 -0
  338. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t4ak_2B5QFV_qWMg0GERVLJfioPWHEKnDL7A9YlmjaM.cache +0 -0
  339. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tA88laflbGaQTmDN48YWrlxYxeto57vM3ui5zKk2Nyg.cache +1 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tQFr5LPJcTCEhlb6PV0SJtnrUmyjE53tzKAqr5CwTf0.cache +1 -0
  341. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tW-odoaW4C9QkdNQ9CIsF6F_qrolxeVKx61DZ5ZbVXQ.cache +1 -0
  342. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t_h5wcOCdtc1A59ZnRDwkICb8dqhez-wJ3sEeaces4g.cache +1 -0
  343. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/th7KGF_IwZjPj-fKGvKUXb_QE89LLhADz64F9tyqYSg.cache +1 -0
  344. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tqgMXEegbSstkkNmObUnyp_XShsPt6u8Ub3H0ir2lZc.cache +1 -0
  345. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tucdNQdC_1zuA8MegIhUoZnbQkG_khWcclAuLMy83kc.cache +1 -0
  346. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uFC47SAQ0KIbmypiE4O6o96semCbUMWRTB11cnG_gag.cache +1 -0
  347. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uk3GeaaqLxKbyAhfqPBHc89rXUPOBnMnrIdaDjMOgGg.cache +0 -0
  348. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/v09sx7gXdUzRu02VqsQfUJLPAoUfwHA8xRmpF5CXlqE.cache +1 -0
  349. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vXCTwfiywgjTuWKwQPsWXL64IRRBlr6Mmw4D6I65PY8.cache +2 -0
  350. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vnukVGGyiwUcrCjnUPKv1Gkt9zOVWodVZY6xh-fi5BQ.cache +1 -0
  351. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/voiyfRg1f5kBiAdjYoc0V3p02Cb35S0-cHoleUTCrew.cache +1 -0
  352. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vuJHg7IJyAyi6FSpV6DGUi7I_wwmHHG6-1Xv0vr7lSs.cache +1 -0
  353. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/w8SzydUu5xsDaQyNa-JWRA7uKoiAds3X1ZyvJfkBG-Q.cache +0 -0
  354. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wOxSU1FmHpvZZcriF2m7guzP_9iQve_E89EKqurQrog.cache +0 -0
  355. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wP7z6CglUdvTrkAL3ADct_N7s9Jgn9usbVCzrdKY4Ds.cache +1 -0
  356. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/weuxAwZmm37JEoCB3tGmgMqhBynvEqZspbuyxAljuQc.cache +1 -0
  357. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wyQjT45x-dNb5lTaiZO3BBN3ZeMh8UdaYSkJ2xgyjXw.cache +2 -0
  358. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x1W1N_U0B63XEDWOBwJK5hTtMYP6Z44dBAXqs-X-Zwo.cache +1 -0
  359. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x2HAucFWUlJb1zryiJXU1_CcQiE-rwwJbHIGUErl-vk.cache +0 -0
  360. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x6qW6m8xy66Kr2sCMTBHNIAwg-Y5dQ_Z3Fszt5TNyrE.cache +0 -0
  361. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xCAv6TX5zVe4GB8vyQ7WCLDjEFBmvdcTCSPHIfBDxng.cache +1 -0
  362. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xGa8G6kTHTGu7of6GL32GcK-YiXvP-Owl8wkMt5kAlc.cache +1 -0
  363. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xGxBVM0iRDTBmRHxeAWJCoHHPrMWayDOkiaZjS0YEGA.cache +1 -0
  364. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xIqaOltMcxFIoInws47Xh9hl7BFxaASIzT8KAJ4vxf8.cache +1 -0
  365. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xo6KuE8jNuj7JJ1KZCPna4MQuCmq9qDLpSytDYYcJDQ.cache +2 -0
  366. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xoJZ0Rtr6YrmLCtd8WQ4fx941BtpsiYw3p-cY640jRA.cache +1 -0
  367. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yPuuHqQYIVyqVNVJ0MTxXyQhIWKzxOV2YoCQ2_gVgFE.cache +2 -0
  368. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ylDaP2nELe5wcDoKn_tKw__xwqmr_9bJQEK2iQ8oGyU.cache +1 -0
  369. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ysSpUsBGx5R5SMUeDpIlfydJNJfKKRexHwlmBwKGF5Y.cache +2 -0
  370. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zGTnqXYxrLhBS2vjLDR4TD7cjb_EioBfYS1p7m97tUA.cache +0 -0
  371. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zahRHiUqCTTOjUnPBlWe7CgsusXpv6IlwrAjbQ3J6QE.cache +1 -0
  372. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zc1xM0CyglQyiscEa9uMapqNYFNCqwiCWavuXJ7W-2A.cache +2 -0
  373. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zkAOhy9nxZue9kyzLAKyqPic31HF3_xVid0rwhypwLo.cache +1 -0
  374. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zss3nRgamjjvfa3MgGNPc4lZGjCtb55dKA-xYW2yzrQ.cache +1 -0
  375. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zxn5q-FolrLoC0YVozddIq9ZdkE3PjiRNeAUHGic1_A.cache +0 -0
  376. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0g_lpmgmrPTAxEQ_GJoFj9AWPDRmzb585JtN4KD9xJU.cache +0 -0
  377. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/13tg94bzPgiJbs1BNVnwY9R-el85iDwXcaP6ImUIm_w.cache +2 -0
  378. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6qDeaS4M03eBAMKpf3Np5YzvZ6uvWJEpeUuZbIVIsF8.cache +1 -0
  379. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/7DrlMKckLrWvlYS9BGKuY8Lp2VK9U24Zi9UuVard2kk.cache +1 -0
  380. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/8XdwbriEMKpvZPQFv1OSKulbtUEUVS1IysLR3zBSJec.cache +2 -0
  381. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Ai3OIerUwG9I07DnrEW34xIFxYDy_kl2aTvh08brdY0.cache +1 -0
  382. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/CoaSh1mNXTBoJ223D56_Pd5PwL3WIgD5tiV2zMH-lbM.cache +1 -0
  383. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/D9vIJEPdYdgFXFTqtJq-LKM6jLWVG5jwIrUhuucUedI.cache +1 -0
  384. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DVIHa6ZIt44C3r_3uQcNL-XZuZpNMAFY8vLGoYBz0h8.cache +1 -0
  385. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DplUu2VO7XsuR9X-fLvyjybwuCJLQUxCxo6ndkC6XKI.cache +1 -0
  386. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DzV6ZkViZ6VsCRkt1HO0cgqhQwHh4e5Ebw1ZbWOhGwo.cache +0 -0
  387. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/E4naYL6JJb1di0PzYS7L9UwPgWs5E2Sdk9ukwfpz3fM.cache +1 -0
  388. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/F46xpgSEBB69JZepbw5jnyN69h_HvGEyKkR_cv15cWg.cache +0 -0
  389. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/GmuVAfxvECeelzCxJSKFhBrPKQPIbobAjLLquLMxS7I.cache +2 -0
  390. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Iik0_uvpPiLgFziN4cO7tn23WMJa_VlKtf-WZ519yN8.cache +1 -0
  391. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/K4SRpUfD5Jl3LFWNhdopPvq3adgeAHAkkV5_QRYy6e0.cache +1 -0
  392. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KPQYHNbiXhpcZDkeCX8gBrdmFl7wcmonh6VA_oxE-ME.cache +1 -0
  393. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Ku1uGcKanHxBnl_BHWk0MdUPA3r2N-n78lSHbSt4LG0.cache +1 -0
  394. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/LHtM6NJLGD1GVN-cadHZXGOAJr503RXDVLS6WRmoTco.cache +1 -0
  395. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/V-sExvFO7CReHWd_JWKcd51ETCfvHgrCRLUXTZ9pYNQ.cache +0 -0
  396. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/VTEW269uNs7QZVpR0bA0lwPJWEN-vRUQdJpZYADoPfE.cache +0 -0
  397. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ZOzoLQW13yKH96UYzsejj5vK-RGuP0pHkh_CQKoGn80.cache +1 -0
  398. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ZtDKpEfbDJnm_KB4TYntJy_C8ncIZjjTJeQxfxejPjk.cache +1 -0
  399. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/aBUx3sOv2WloaVq0hYh2lMD-HDFOASKDwqYwvusgbuI.cache +2 -0
  400. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/eHDpzdna2utvjBfoTigVY3QqGRpcqdj5-Nca4Cnmq6A.cache +1 -0
  401. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/flJGSaCiju7a-oq6DvHbGzTpv8j06pv3WQ9peFaMgV0.cache +0 -0
  402. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hBUrOrxKdxwf4ichVEM2n7r9z1GWMJ0WU8fLOWC-pF4.cache +1 -0
  403. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hH0TgBUH0mA_1_goeTdlHiZddGYQm5W4bydGGh5KYVY.cache +1 -0
  404. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/hbgK1hLBikdLNUfkckm3vi1q6nYGCG5ptHgQRc9aq64.cache +1 -0
  405. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ipLmJ3Od6Vj1Ysz0A2qOtbUfuCOpkXQ2O2Wa9EV34_w.cache +2 -0
  406. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/kU6Fvzboisqe9O8GVaR3yikC7qdeF6k9BavmPw4jOq0.cache +2 -0
  407. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mSKMNSWq-Fzd_OYrOaC46YktRThIFCX5pCb5EE0SiDA.cache +0 -0
  408. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oxeU9kY7fbphuF0DgLwOxZxcIWpWwVJN0LWYzaPGqIE.cache +2 -0
  409. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/p2J8aGMBbmSYNYW_dmuQmuM_R5JEii6VC2pysU1_1mE.cache +0 -0
  410. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/peYTVjjm1nUZwvHsOunjBlSmOqbZWdMe6TUXmeAUbGQ.cache +1 -0
  411. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/q947-2FcW7EGiy7ywxYVXFCZqKK4hjdbUJLTAjFNoJM.cache +0 -0
  412. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qDoEX9x2iuhhcofwWaKoCxNlu3qTv9BAGlbjkCJP7OI.cache +1 -0
  413. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/qUExfDebGpnLEPNBV2XrF_p9GrVmXBcOk7SEtgctksE.cache +1 -0
  414. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/r90zfHPbDtWYiewYywLXFogO-j4vL3iP-nCBJLbwGqU.cache +1 -0
  415. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rQSNNzDOE7dxZxnvuA7G_cusQONJhPI-5LJHVVog56k.cache +2 -0
  416. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/rVdJ1gpSS_3bSTc9zCNSOCfWMZBr4_832qVj-iWYggc.cache +1 -0
  417. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/u861tEsv85HMqf786DWx4222s8EpRfNLC76qxvt7y8Q.cache +1 -0
  418. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wyQjT45x-dNb5lTaiZO3BBN3ZeMh8UdaYSkJ2xgyjXw.cache +2 -0
  419. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/yZGCPwFpVKh9NxRi9zNRrnbRp4nMX5BRKTGEveYrIME.cache +1 -0
  420. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zF-nvFnWwQQuCmmKjPYK7SpdwYlQPBOndViChufhYyo.cache +1 -0
  421. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zkAOhy9nxZue9kyzLAKyqPic31HF3_xVid0rwhypwLo.cache +1 -0
  422. data/test/edited_bootstrap.css +6829 -0
  423. data/test/file_editor_test.rb +20 -0
  424. data/test/file_sorter_test.rb +141 -0
  425. data/test/model_css_manifest.css +8 -0
  426. data/test/model_js_manifest.js +9 -0
  427. data/test/test_helper.rb +18 -0
  428. data/test/theme/LICENSE +202 -0
  429. data/test/theme/README.md +26 -0
  430. data/test/theme/css/bootstrap.css +6829 -0
  431. data/test/theme/css/bootstrap.min.css +7 -0
  432. data/test/theme/css/freelancer.css +459 -0
  433. data/test/theme/font-awesome/css/font-awesome.css +1672 -0
  434. data/test/theme/font-awesome/css/font-awesome.min.css +4 -0
  435. data/test/theme/font-awesome/fonts/FontAwesome.otf +0 -0
  436. data/test/theme/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  437. data/test/theme/font-awesome/fonts/fontawesome-webfont.svg +520 -0
  438. data/test/theme/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  439. data/test/theme/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  440. data/test/theme/font-awesome/less/bordered-pulled.less +16 -0
  441. data/test/theme/font-awesome/less/core.less +11 -0
  442. data/test/theme/font-awesome/less/fixed-width.less +6 -0
  443. data/test/theme/font-awesome/less/font-awesome.less +17 -0
  444. data/test/theme/font-awesome/less/icons.less +552 -0
  445. data/test/theme/font-awesome/less/larger.less +13 -0
  446. data/test/theme/font-awesome/less/list.less +19 -0
  447. data/test/theme/font-awesome/less/mixins.less +25 -0
  448. data/test/theme/font-awesome/less/path.less +14 -0
  449. data/test/theme/font-awesome/less/rotated-flipped.less +20 -0
  450. data/test/theme/font-awesome/less/spinning.less +29 -0
  451. data/test/theme/font-awesome/less/stacked.less +20 -0
  452. data/test/theme/font-awesome/less/variables.less +561 -0
  453. data/test/theme/font-awesome/scss/_bordered-pulled.scss +16 -0
  454. data/test/theme/font-awesome/scss/_core.scss +11 -0
  455. data/test/theme/font-awesome/scss/_fixed-width.scss +6 -0
  456. data/test/theme/font-awesome/scss/_icons.scss +552 -0
  457. data/test/theme/font-awesome/scss/_larger.scss +13 -0
  458. data/test/theme/font-awesome/scss/_list.scss +19 -0
  459. data/test/theme/font-awesome/scss/_mixins.scss +25 -0
  460. data/test/theme/font-awesome/scss/_path.scss +14 -0
  461. data/test/theme/font-awesome/scss/_rotated-flipped.scss +20 -0
  462. data/test/theme/font-awesome/scss/_spinning.scss +29 -0
  463. data/test/theme/font-awesome/scss/_stacked.scss +20 -0
  464. data/test/theme/font-awesome/scss/_variables.scss +561 -0
  465. data/test/theme/font-awesome/scss/font-awesome.scss +17 -0
  466. data/test/theme/fonts/glyphicons-halflings-regular.eot +0 -0
  467. data/test/theme/fonts/glyphicons-halflings-regular.svg +288 -0
  468. data/test/theme/fonts/glyphicons-halflings-regular.ttf +0 -0
  469. data/test/theme/fonts/glyphicons-halflings-regular.woff +0 -0
  470. data/test/theme/fonts/glyphicons-halflings-regular.woff2 +0 -0
  471. data/test/theme/img/portfolio/cabin.png +0 -0
  472. data/test/theme/img/portfolio/cake.png +0 -0
  473. data/test/theme/img/portfolio/circus.png +0 -0
  474. data/test/theme/img/portfolio/game.png +0 -0
  475. data/test/theme/img/portfolio/safe.png +0 -0
  476. data/test/theme/img/portfolio/submarine.png +0 -0
  477. data/test/theme/img/profile.png +0 -0
  478. data/test/theme/index.html +540 -0
  479. data/test/theme/js/bootstrap.js +2317 -0
  480. data/test/theme/js/bootstrap.min.js +7 -0
  481. data/test/theme/js/cbpAnimatedHeader.js +44 -0
  482. data/test/theme/js/cbpAnimatedHeader.min.js +11 -0
  483. data/test/theme/js/classie.js +80 -0
  484. data/test/theme/js/contact_me.js +73 -0
  485. data/test/theme/js/freelancer.js +37 -0
  486. data/test/theme/js/jqBootstrapValidation.js +912 -0
  487. data/test/theme/js/jquery.js +4 -0
  488. data/test/theme/less/freelancer.less +434 -0
  489. data/test/theme/less/mixins.less +37 -0
  490. data/test/theme/less/variables.less +5 -0
  491. data/test/theme/mail/contact_me.php +26 -0
  492. data/test/theme_importer_rails_test.rb +52 -0
  493. metadata +1061 -0
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * Bootstrap v3.3.4 (http://getbootstrap.com)
3
+ * Copyright 2011-2015 Twitter, Inc.
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.4",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.4",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.4",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.4",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)&&!/input|textarea/i.test(b.target.tagName)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',g.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.4",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in").attr("aria-hidden",!1),d.enforceFocus();var f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var f=a.support.transition&&e;if(this.$backdrop=a('<div class="modal-backdrop '+e+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m<p.top?"bottom":"right"==h&&k.right+l>p.width?"left":"left"==h&&k.left-l<p.left?"right":h,f.removeClass(n).addClass(h)}var q=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(q,h);var r=function(){var a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",r).emulateTransitionEnd(c.TRANSITION_DURATION):r()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(b){function d(){"in"!=e.hoverState&&f.detach(),e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);return this.$element.trigger(g),g.isDefaultPrevented()?void 0:(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var f=d?{top:0,left:0}:b.offset(),g={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},h=d?{width:a(window).width(),height:a(window).height()}:null;return a.extend({},e,g,h,f)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.4",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.4",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return this.activeTarget=null,this.clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.4",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){
7
+ var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.4",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a(document.body).height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
@@ -0,0 +1,44 @@
1
+ /**
2
+ * cbpAnimatedHeader.js v1.0.0
3
+ * http://www.codrops.com
4
+ *
5
+ * Licensed under the MIT license.
6
+ * http://www.opensource.org/licenses/mit-license.php
7
+ *
8
+ * Copyright 2013, Codrops
9
+ * http://www.codrops.com
10
+ */
11
+ var cbpAnimatedHeader = (function() {
12
+
13
+ var docElem = document.documentElement,
14
+ header = document.querySelector( '.navbar-fixed-top' ),
15
+ didScroll = false,
16
+ changeHeaderOn = 300;
17
+
18
+ function init() {
19
+ window.addEventListener( 'scroll', function( event ) {
20
+ if( !didScroll ) {
21
+ didScroll = true;
22
+ setTimeout( scrollPage, 250 );
23
+ }
24
+ }, false );
25
+ }
26
+
27
+ function scrollPage() {
28
+ var sy = scrollY();
29
+ if ( sy >= changeHeaderOn ) {
30
+ classie.add( header, 'navbar-shrink' );
31
+ }
32
+ else {
33
+ classie.remove( header, 'navbar-shrink' );
34
+ }
35
+ didScroll = false;
36
+ }
37
+
38
+ function scrollY() {
39
+ return window.pageYOffset || docElem.scrollTop;
40
+ }
41
+
42
+ init();
43
+
44
+ })();
@@ -0,0 +1,11 @@
1
+ /**
2
+ * cbpAnimatedHeader.min.js v1.0.0
3
+ * http://www.codrops.com
4
+ *
5
+ * Licensed under the MIT license.
6
+ * http://www.opensource.org/licenses/mit-license.php
7
+ *
8
+ * Copyright 2013, Codrops
9
+ * http://www.codrops.com
10
+ */
11
+ var cbpAnimatedHeader=(function(){var b=document.documentElement,g=document.querySelector(".cbp-af-header"),e=false,a=300;function f(){window.addEventListener("scroll",function(h){if(!e){e=true;setTimeout(d,250)}},false)}function d(){var h=c();if(h>=a){classie.add(g,"cbp-af-header-shrink")}else{classie.remove(g,"cbp-af-header-shrink")}e=false}function c(){return window.pageYOffset||b.scrollTop}f()})();
@@ -0,0 +1,80 @@
1
+ /*!
2
+ * classie - class helper functions
3
+ * from bonzo https://github.com/ded/bonzo
4
+ *
5
+ * classie.has( elem, 'my-class' ) -> true/false
6
+ * classie.add( elem, 'my-new-class' )
7
+ * classie.remove( elem, 'my-unwanted-class' )
8
+ * classie.toggle( elem, 'my-class' )
9
+ */
10
+
11
+ /*jshint browser: true, strict: true, undef: true */
12
+ /*global define: false */
13
+
14
+ ( function( window ) {
15
+
16
+ 'use strict';
17
+
18
+ // class helper functions from bonzo https://github.com/ded/bonzo
19
+
20
+ function classReg( className ) {
21
+ return new RegExp("(^|\\s+)" + className + "(\\s+|$)");
22
+ }
23
+
24
+ // classList support for class management
25
+ // altho to be fair, the api sucks because it won't accept multiple classes at once
26
+ var hasClass, addClass, removeClass;
27
+
28
+ if ( 'classList' in document.documentElement ) {
29
+ hasClass = function( elem, c ) {
30
+ return elem.classList.contains( c );
31
+ };
32
+ addClass = function( elem, c ) {
33
+ elem.classList.add( c );
34
+ };
35
+ removeClass = function( elem, c ) {
36
+ elem.classList.remove( c );
37
+ };
38
+ }
39
+ else {
40
+ hasClass = function( elem, c ) {
41
+ return classReg( c ).test( elem.className );
42
+ };
43
+ addClass = function( elem, c ) {
44
+ if ( !hasClass( elem, c ) ) {
45
+ elem.className = elem.className + ' ' + c;
46
+ }
47
+ };
48
+ removeClass = function( elem, c ) {
49
+ elem.className = elem.className.replace( classReg( c ), ' ' );
50
+ };
51
+ }
52
+
53
+ function toggleClass( elem, c ) {
54
+ var fn = hasClass( elem, c ) ? removeClass : addClass;
55
+ fn( elem, c );
56
+ }
57
+
58
+ var classie = {
59
+ // full names
60
+ hasClass: hasClass,
61
+ addClass: addClass,
62
+ removeClass: removeClass,
63
+ toggleClass: toggleClass,
64
+ // short names
65
+ has: hasClass,
66
+ add: addClass,
67
+ remove: removeClass,
68
+ toggle: toggleClass
69
+ };
70
+
71
+ // transport
72
+ if ( typeof define === 'function' && define.amd ) {
73
+ // AMD
74
+ define( classie );
75
+ } else {
76
+ // browser global
77
+ window.classie = classie;
78
+ }
79
+
80
+ })( window );
@@ -0,0 +1,73 @@
1
+ $(function() {
2
+
3
+ $("input,textarea").jqBootstrapValidation({
4
+ preventSubmit: true,
5
+ submitError: function($form, event, errors) {
6
+ // additional error messages or events
7
+ },
8
+ submitSuccess: function($form, event) {
9
+ // Prevent spam click and default submit behaviour
10
+ $("#btnSubmit").attr("disabled", true);
11
+ event.preventDefault();
12
+
13
+ // get values from FORM
14
+ var name = $("input#name").val();
15
+ var email = $("input#email").val();
16
+ var phone = $("input#phone").val();
17
+ var message = $("textarea#message").val();
18
+ var firstName = name; // For Success/Failure Message
19
+ // Check for white space in name for Success/Fail message
20
+ if (firstName.indexOf(' ') >= 0) {
21
+ firstName = name.split(' ').slice(0, -1).join(' ');
22
+ }
23
+ $.ajax({
24
+ url: "././mail/contact_me.php",
25
+ type: "POST",
26
+ data: {
27
+ name: name,
28
+ phone: phone,
29
+ email: email,
30
+ message: message
31
+ },
32
+ cache: false,
33
+ success: function() {
34
+ // Enable button & show success message
35
+ $("#btnSubmit").attr("disabled", false);
36
+ $('#success').html("<div class='alert alert-success'>");
37
+ $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
38
+ .append("</button>");
39
+ $('#success > .alert-success')
40
+ .append("<strong>Your message has been sent. </strong>");
41
+ $('#success > .alert-success')
42
+ .append('</div>');
43
+
44
+ //clear all fields
45
+ $('#contactForm').trigger("reset");
46
+ },
47
+ error: function() {
48
+ // Fail message
49
+ $('#success').html("<div class='alert alert-danger'>");
50
+ $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
51
+ .append("</button>");
52
+ $('#success > .alert-danger').append("<strong>Sorry " + firstName + ", it seems that my mail server is not responding. Please try again later!");
53
+ $('#success > .alert-danger').append('</div>');
54
+ //clear all fields
55
+ $('#contactForm').trigger("reset");
56
+ },
57
+ })
58
+ },
59
+ filter: function() {
60
+ return $(this).is(":visible");
61
+ },
62
+ });
63
+
64
+ $("a[data-toggle=\"tab\"]").click(function(e) {
65
+ e.preventDefault();
66
+ $(this).tab("show");
67
+ });
68
+ });
69
+
70
+ // When clicking on Full hide fail/success boxes
71
+ $('#name').focus(function() {
72
+ $('#success').html('');
73
+ });
@@ -0,0 +1,37 @@
1
+ /*!
2
+ * Start Bootstrap - Freelancer Bootstrap Theme (http://startbootstrap.com)
3
+ * Code licensed under the Apache License v2.0.
4
+ * For details, see http://www.apache.org/licenses/LICENSE-2.0.
5
+ */
6
+
7
+ // jQuery for page scrolling feature - requires jQuery Easing plugin
8
+ $(function() {
9
+ $('body').on('click', '.page-scroll a', function(event) {
10
+ var $anchor = $(this);
11
+ $('html, body').stop().animate({
12
+ scrollTop: $($anchor.attr('href')).offset().top
13
+ }, 1500, 'easeInOutExpo');
14
+ event.preventDefault();
15
+ });
16
+ });
17
+
18
+ // Floating label headings for the contact form
19
+ $(function() {
20
+ $("body").on("input propertychange", ".floating-label-form-group", function(e) {
21
+ $(this).toggleClass("floating-label-form-group-with-value", !! $(e.target).val());
22
+ }).on("focus", ".floating-label-form-group", function() {
23
+ $(this).addClass("floating-label-form-group-with-focus");
24
+ }).on("blur", ".floating-label-form-group", function() {
25
+ $(this).removeClass("floating-label-form-group-with-focus");
26
+ });
27
+ });
28
+
29
+ // Highlight the top nav as scrolling occurs
30
+ $('body').scrollspy({
31
+ target: '.navbar-fixed-top'
32
+ })
33
+
34
+ // Closes the Responsive Menu on Menu Item Click
35
+ $('.navbar-collapse ul li a').click(function() {
36
+ $('.navbar-toggle:visible').click();
37
+ });
@@ -0,0 +1,912 @@
1
+ /* jqBootstrapValidation
2
+ * A plugin for automating validation on Twitter Bootstrap formatted forms.
3
+ *
4
+ * v1.3.6
5
+ *
6
+ * License: MIT <http://opensource.org/licenses/mit-license.php> - see LICENSE file
7
+ *
8
+ * http://ReactiveRaven.github.com/jqBootstrapValidation/
9
+ */
10
+
11
+ (function( $ ){
12
+
13
+ var createdElements = [];
14
+
15
+ var defaults = {
16
+ options: {
17
+ prependExistingHelpBlock: false,
18
+ sniffHtml: true, // sniff for 'required', 'maxlength', etc
19
+ preventSubmit: true, // stop the form submit event from firing if validation fails
20
+ submitError: false, // function called if there is an error when trying to submit
21
+ submitSuccess: false, // function called just before a successful submit event is sent to the server
22
+ semanticallyStrict: false, // set to true to tidy up generated HTML output
23
+ autoAdd: {
24
+ helpBlocks: true
25
+ },
26
+ filter: function () {
27
+ // return $(this).is(":visible"); // only validate elements you can see
28
+ return true; // validate everything
29
+ }
30
+ },
31
+ methods: {
32
+ init : function( options ) {
33
+
34
+ var settings = $.extend(true, {}, defaults);
35
+
36
+ settings.options = $.extend(true, settings.options, options);
37
+
38
+ var $siblingElements = this;
39
+
40
+ var uniqueForms = $.unique(
41
+ $siblingElements.map( function () {
42
+ return $(this).parents("form")[0];
43
+ }).toArray()
44
+ );
45
+
46
+ $(uniqueForms).bind("submit", function (e) {
47
+ var $form = $(this);
48
+ var warningsFound = 0;
49
+ var $inputs = $form.find("input,textarea,select").not("[type=submit],[type=image]").filter(settings.options.filter);
50
+ $inputs.trigger("submit.validation").trigger("validationLostFocus.validation");
51
+
52
+ $inputs.each(function (i, el) {
53
+ var $this = $(el),
54
+ $controlGroup = $this.parents(".control-group").first();
55
+ if (
56
+ $controlGroup.hasClass("warning")
57
+ ) {
58
+ $controlGroup.removeClass("warning").addClass("error");
59
+ warningsFound++;
60
+ }
61
+ });
62
+
63
+ $inputs.trigger("validationLostFocus.validation");
64
+
65
+ if (warningsFound) {
66
+ if (settings.options.preventSubmit) {
67
+ e.preventDefault();
68
+ }
69
+ $form.addClass("error");
70
+ if ($.isFunction(settings.options.submitError)) {
71
+ settings.options.submitError($form, e, $inputs.jqBootstrapValidation("collectErrors", true));
72
+ }
73
+ } else {
74
+ $form.removeClass("error");
75
+ if ($.isFunction(settings.options.submitSuccess)) {
76
+ settings.options.submitSuccess($form, e);
77
+ }
78
+ }
79
+ });
80
+
81
+ return this.each(function(){
82
+
83
+ // Get references to everything we're interested in
84
+ var $this = $(this),
85
+ $controlGroup = $this.parents(".control-group").first(),
86
+ $helpBlock = $controlGroup.find(".help-block").first(),
87
+ $form = $this.parents("form").first(),
88
+ validatorNames = [];
89
+
90
+ // create message container if not exists
91
+ if (!$helpBlock.length && settings.options.autoAdd && settings.options.autoAdd.helpBlocks) {
92
+ $helpBlock = $('<div class="help-block" />');
93
+ $controlGroup.find('.controls').append($helpBlock);
94
+ createdElements.push($helpBlock[0]);
95
+ }
96
+
97
+ // =============================================================
98
+ // SNIFF HTML FOR VALIDATORS
99
+ // =============================================================
100
+
101
+ // *snort sniff snuffle*
102
+
103
+ if (settings.options.sniffHtml) {
104
+ var message = "";
105
+ // ---------------------------------------------------------
106
+ // PATTERN
107
+ // ---------------------------------------------------------
108
+ if ($this.attr("pattern") !== undefined) {
109
+ message = "Not in the expected format<!-- data-validation-pattern-message to override -->";
110
+ if ($this.data("validationPatternMessage")) {
111
+ message = $this.data("validationPatternMessage");
112
+ }
113
+ $this.data("validationPatternMessage", message);
114
+ $this.data("validationPatternRegex", $this.attr("pattern"));
115
+ }
116
+ // ---------------------------------------------------------
117
+ // MAX
118
+ // ---------------------------------------------------------
119
+ if ($this.attr("max") !== undefined || $this.attr("aria-valuemax") !== undefined) {
120
+ var max = ($this.attr("max") !== undefined ? $this.attr("max") : $this.attr("aria-valuemax"));
121
+ message = "Too high: Maximum of '" + max + "'<!-- data-validation-max-message to override -->";
122
+ if ($this.data("validationMaxMessage")) {
123
+ message = $this.data("validationMaxMessage");
124
+ }
125
+ $this.data("validationMaxMessage", message);
126
+ $this.data("validationMaxMax", max);
127
+ }
128
+ // ---------------------------------------------------------
129
+ // MIN
130
+ // ---------------------------------------------------------
131
+ if ($this.attr("min") !== undefined || $this.attr("aria-valuemin") !== undefined) {
132
+ var min = ($this.attr("min") !== undefined ? $this.attr("min") : $this.attr("aria-valuemin"));
133
+ message = "Too low: Minimum of '" + min + "'<!-- data-validation-min-message to override -->";
134
+ if ($this.data("validationMinMessage")) {
135
+ message = $this.data("validationMinMessage");
136
+ }
137
+ $this.data("validationMinMessage", message);
138
+ $this.data("validationMinMin", min);
139
+ }
140
+ // ---------------------------------------------------------
141
+ // MAXLENGTH
142
+ // ---------------------------------------------------------
143
+ if ($this.attr("maxlength") !== undefined) {
144
+ message = "Too long: Maximum of '" + $this.attr("maxlength") + "' characters<!-- data-validation-maxlength-message to override -->";
145
+ if ($this.data("validationMaxlengthMessage")) {
146
+ message = $this.data("validationMaxlengthMessage");
147
+ }
148
+ $this.data("validationMaxlengthMessage", message);
149
+ $this.data("validationMaxlengthMaxlength", $this.attr("maxlength"));
150
+ }
151
+ // ---------------------------------------------------------
152
+ // MINLENGTH
153
+ // ---------------------------------------------------------
154
+ if ($this.attr("minlength") !== undefined) {
155
+ message = "Too short: Minimum of '" + $this.attr("minlength") + "' characters<!-- data-validation-minlength-message to override -->";
156
+ if ($this.data("validationMinlengthMessage")) {
157
+ message = $this.data("validationMinlengthMessage");
158
+ }
159
+ $this.data("validationMinlengthMessage", message);
160
+ $this.data("validationMinlengthMinlength", $this.attr("minlength"));
161
+ }
162
+ // ---------------------------------------------------------
163
+ // REQUIRED
164
+ // ---------------------------------------------------------
165
+ if ($this.attr("required") !== undefined || $this.attr("aria-required") !== undefined) {
166
+ message = settings.builtInValidators.required.message;
167
+ if ($this.data("validationRequiredMessage")) {
168
+ message = $this.data("validationRequiredMessage");
169
+ }
170
+ $this.data("validationRequiredMessage", message);
171
+ }
172
+ // ---------------------------------------------------------
173
+ // NUMBER
174
+ // ---------------------------------------------------------
175
+ if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "number") {
176
+ message = settings.builtInValidators.number.message;
177
+ if ($this.data("validationNumberMessage")) {
178
+ message = $this.data("validationNumberMessage");
179
+ }
180
+ $this.data("validationNumberMessage", message);
181
+ }
182
+ // ---------------------------------------------------------
183
+ // EMAIL
184
+ // ---------------------------------------------------------
185
+ if ($this.attr("type") !== undefined && $this.attr("type").toLowerCase() === "email") {
186
+ message = "Not a valid email address<!-- data-validator-validemail-message to override -->";
187
+ if ($this.data("validationValidemailMessage")) {
188
+ message = $this.data("validationValidemailMessage");
189
+ } else if ($this.data("validationEmailMessage")) {
190
+ message = $this.data("validationEmailMessage");
191
+ }
192
+ $this.data("validationValidemailMessage", message);
193
+ }
194
+ // ---------------------------------------------------------
195
+ // MINCHECKED
196
+ // ---------------------------------------------------------
197
+ if ($this.attr("minchecked") !== undefined) {
198
+ message = "Not enough options checked; Minimum of '" + $this.attr("minchecked") + "' required<!-- data-validation-minchecked-message to override -->";
199
+ if ($this.data("validationMincheckedMessage")) {
200
+ message = $this.data("validationMincheckedMessage");
201
+ }
202
+ $this.data("validationMincheckedMessage", message);
203
+ $this.data("validationMincheckedMinchecked", $this.attr("minchecked"));
204
+ }
205
+ // ---------------------------------------------------------
206
+ // MAXCHECKED
207
+ // ---------------------------------------------------------
208
+ if ($this.attr("maxchecked") !== undefined) {
209
+ message = "Too many options checked; Maximum of '" + $this.attr("maxchecked") + "' required<!-- data-validation-maxchecked-message to override -->";
210
+ if ($this.data("validationMaxcheckedMessage")) {
211
+ message = $this.data("validationMaxcheckedMessage");
212
+ }
213
+ $this.data("validationMaxcheckedMessage", message);
214
+ $this.data("validationMaxcheckedMaxchecked", $this.attr("maxchecked"));
215
+ }
216
+ }
217
+
218
+ // =============================================================
219
+ // COLLECT VALIDATOR NAMES
220
+ // =============================================================
221
+
222
+ // Get named validators
223
+ if ($this.data("validation") !== undefined) {
224
+ validatorNames = $this.data("validation").split(",");
225
+ }
226
+
227
+ // Get extra ones defined on the element's data attributes
228
+ $.each($this.data(), function (i, el) {
229
+ var parts = i.replace(/([A-Z])/g, ",$1").split(",");
230
+ if (parts[0] === "validation" && parts[1]) {
231
+ validatorNames.push(parts[1]);
232
+ }
233
+ });
234
+
235
+ // =============================================================
236
+ // NORMALISE VALIDATOR NAMES
237
+ // =============================================================
238
+
239
+ var validatorNamesToInspect = validatorNames;
240
+ var newValidatorNamesToInspect = [];
241
+
242
+ do // repeatedly expand 'shortcut' validators into their real validators
243
+ {
244
+ // Uppercase only the first letter of each name
245
+ $.each(validatorNames, function (i, el) {
246
+ validatorNames[i] = formatValidatorName(el);
247
+ });
248
+
249
+ // Remove duplicate validator names
250
+ validatorNames = $.unique(validatorNames);
251
+
252
+ // Pull out the new validator names from each shortcut
253
+ newValidatorNamesToInspect = [];
254
+ $.each(validatorNamesToInspect, function(i, el) {
255
+ if ($this.data("validation" + el + "Shortcut") !== undefined) {
256
+ // Are these custom validators?
257
+ // Pull them out!
258
+ $.each($this.data("validation" + el + "Shortcut").split(","), function(i2, el2) {
259
+ newValidatorNamesToInspect.push(el2);
260
+ });
261
+ } else if (settings.builtInValidators[el.toLowerCase()]) {
262
+ // Is this a recognised built-in?
263
+ // Pull it out!
264
+ var validator = settings.builtInValidators[el.toLowerCase()];
265
+ if (validator.type.toLowerCase() === "shortcut") {
266
+ $.each(validator.shortcut.split(","), function (i, el) {
267
+ el = formatValidatorName(el);
268
+ newValidatorNamesToInspect.push(el);
269
+ validatorNames.push(el);
270
+ });
271
+ }
272
+ }
273
+ });
274
+
275
+ validatorNamesToInspect = newValidatorNamesToInspect;
276
+
277
+ } while (validatorNamesToInspect.length > 0)
278
+
279
+ // =============================================================
280
+ // SET UP VALIDATOR ARRAYS
281
+ // =============================================================
282
+
283
+ var validators = {};
284
+
285
+ $.each(validatorNames, function (i, el) {
286
+ // Set up the 'override' message
287
+ var message = $this.data("validation" + el + "Message");
288
+ var hasOverrideMessage = (message !== undefined);
289
+ var foundValidator = false;
290
+ message =
291
+ (
292
+ message
293
+ ? message
294
+ : "'" + el + "' validation failed <!-- Add attribute 'data-validation-" + el.toLowerCase() + "-message' to input to change this message -->"
295
+ )
296
+ ;
297
+
298
+ $.each(
299
+ settings.validatorTypes,
300
+ function (validatorType, validatorTemplate) {
301
+ if (validators[validatorType] === undefined) {
302
+ validators[validatorType] = [];
303
+ }
304
+ if (!foundValidator && $this.data("validation" + el + formatValidatorName(validatorTemplate.name)) !== undefined) {
305
+ validators[validatorType].push(
306
+ $.extend(
307
+ true,
308
+ {
309
+ name: formatValidatorName(validatorTemplate.name),
310
+ message: message
311
+ },
312
+ validatorTemplate.init($this, el)
313
+ )
314
+ );
315
+ foundValidator = true;
316
+ }
317
+ }
318
+ );
319
+
320
+ if (!foundValidator && settings.builtInValidators[el.toLowerCase()]) {
321
+
322
+ var validator = $.extend(true, {}, settings.builtInValidators[el.toLowerCase()]);
323
+ if (hasOverrideMessage) {
324
+ validator.message = message;
325
+ }
326
+ var validatorType = validator.type.toLowerCase();
327
+
328
+ if (validatorType === "shortcut") {
329
+ foundValidator = true;
330
+ } else {
331
+ $.each(
332
+ settings.validatorTypes,
333
+ function (validatorTemplateType, validatorTemplate) {
334
+ if (validators[validatorTemplateType] === undefined) {
335
+ validators[validatorTemplateType] = [];
336
+ }
337
+ if (!foundValidator && validatorType === validatorTemplateType.toLowerCase()) {
338
+ $this.data("validation" + el + formatValidatorName(validatorTemplate.name), validator[validatorTemplate.name.toLowerCase()]);
339
+ validators[validatorType].push(
340
+ $.extend(
341
+ validator,
342
+ validatorTemplate.init($this, el)
343
+ )
344
+ );
345
+ foundValidator = true;
346
+ }
347
+ }
348
+ );
349
+ }
350
+ }
351
+
352
+ if (! foundValidator) {
353
+ $.error("Cannot find validation info for '" + el + "'");
354
+ }
355
+ });
356
+
357
+ // =============================================================
358
+ // STORE FALLBACK VALUES
359
+ // =============================================================
360
+
361
+ $helpBlock.data(
362
+ "original-contents",
363
+ (
364
+ $helpBlock.data("original-contents")
365
+ ? $helpBlock.data("original-contents")
366
+ : $helpBlock.html()
367
+ )
368
+ );
369
+
370
+ $helpBlock.data(
371
+ "original-role",
372
+ (
373
+ $helpBlock.data("original-role")
374
+ ? $helpBlock.data("original-role")
375
+ : $helpBlock.attr("role")
376
+ )
377
+ );
378
+
379
+ $controlGroup.data(
380
+ "original-classes",
381
+ (
382
+ $controlGroup.data("original-clases")
383
+ ? $controlGroup.data("original-classes")
384
+ : $controlGroup.attr("class")
385
+ )
386
+ );
387
+
388
+ $this.data(
389
+ "original-aria-invalid",
390
+ (
391
+ $this.data("original-aria-invalid")
392
+ ? $this.data("original-aria-invalid")
393
+ : $this.attr("aria-invalid")
394
+ )
395
+ );
396
+
397
+ // =============================================================
398
+ // VALIDATION
399
+ // =============================================================
400
+
401
+ $this.bind(
402
+ "validation.validation",
403
+ function (event, params) {
404
+
405
+ var value = getValue($this);
406
+
407
+ // Get a list of the errors to apply
408
+ var errorsFound = [];
409
+
410
+ $.each(validators, function (validatorType, validatorTypeArray) {
411
+ if (value || value.length || (params && params.includeEmpty) || (!!settings.validatorTypes[validatorType].blockSubmit && params && !!params.submitting)) {
412
+ $.each(validatorTypeArray, function (i, validator) {
413
+ if (settings.validatorTypes[validatorType].validate($this, value, validator)) {
414
+ errorsFound.push(validator.message);
415
+ }
416
+ });
417
+ }
418
+ });
419
+
420
+ return errorsFound;
421
+ }
422
+ );
423
+
424
+ $this.bind(
425
+ "getValidators.validation",
426
+ function () {
427
+ return validators;
428
+ }
429
+ );
430
+
431
+ // =============================================================
432
+ // WATCH FOR CHANGES
433
+ // =============================================================
434
+ $this.bind(
435
+ "submit.validation",
436
+ function () {
437
+ return $this.triggerHandler("change.validation", {submitting: true});
438
+ }
439
+ );
440
+ $this.bind(
441
+ [
442
+ "keyup",
443
+ "focus",
444
+ "blur",
445
+ "click",
446
+ "keydown",
447
+ "keypress",
448
+ "change"
449
+ ].join(".validation ") + ".validation",
450
+ function (e, params) {
451
+
452
+ var value = getValue($this);
453
+
454
+ var errorsFound = [];
455
+
456
+ $controlGroup.find("input,textarea,select").each(function (i, el) {
457
+ var oldCount = errorsFound.length;
458
+ $.each($(el).triggerHandler("validation.validation", params), function (j, message) {
459
+ errorsFound.push(message);
460
+ });
461
+ if (errorsFound.length > oldCount) {
462
+ $(el).attr("aria-invalid", "true");
463
+ } else {
464
+ var original = $this.data("original-aria-invalid");
465
+ $(el).attr("aria-invalid", (original !== undefined ? original : false));
466
+ }
467
+ });
468
+
469
+ $form.find("input,select,textarea").not($this).not("[name=\"" + $this.attr("name") + "\"]").trigger("validationLostFocus.validation");
470
+
471
+ errorsFound = $.unique(errorsFound.sort());
472
+
473
+ // Were there any errors?
474
+ if (errorsFound.length) {
475
+ // Better flag it up as a warning.
476
+ $controlGroup.removeClass("success error").addClass("warning");
477
+
478
+ // How many errors did we find?
479
+ if (settings.options.semanticallyStrict && errorsFound.length === 1) {
480
+ // Only one? Being strict? Just output it.
481
+ $helpBlock.html(errorsFound[0] +
482
+ ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
483
+ } else {
484
+ // Multiple? Being sloppy? Glue them together into an UL.
485
+ $helpBlock.html("<ul role=\"alert\"><li>" + errorsFound.join("</li><li>") + "</li></ul>" +
486
+ ( settings.options.prependExistingHelpBlock ? $helpBlock.data("original-contents") : "" ));
487
+ }
488
+ } else {
489
+ $controlGroup.removeClass("warning error success");
490
+ if (value.length > 0) {
491
+ $controlGroup.addClass("success");
492
+ }
493
+ $helpBlock.html($helpBlock.data("original-contents"));
494
+ }
495
+
496
+ if (e.type === "blur") {
497
+ $controlGroup.removeClass("success");
498
+ }
499
+ }
500
+ );
501
+ $this.bind("validationLostFocus.validation", function () {
502
+ $controlGroup.removeClass("success");
503
+ });
504
+ });
505
+ },
506
+ destroy : function( ) {
507
+
508
+ return this.each(
509
+ function() {
510
+
511
+ var
512
+ $this = $(this),
513
+ $controlGroup = $this.parents(".control-group").first(),
514
+ $helpBlock = $controlGroup.find(".help-block").first();
515
+
516
+ // remove our events
517
+ $this.unbind('.validation'); // events are namespaced.
518
+ // reset help text
519
+ $helpBlock.html($helpBlock.data("original-contents"));
520
+ // reset classes
521
+ $controlGroup.attr("class", $controlGroup.data("original-classes"));
522
+ // reset aria
523
+ $this.attr("aria-invalid", $this.data("original-aria-invalid"));
524
+ // reset role
525
+ $helpBlock.attr("role", $this.data("original-role"));
526
+ // remove all elements we created
527
+ if (createdElements.indexOf($helpBlock[0]) > -1) {
528
+ $helpBlock.remove();
529
+ }
530
+
531
+ }
532
+ );
533
+
534
+ },
535
+ collectErrors : function(includeEmpty) {
536
+
537
+ var errorMessages = {};
538
+ this.each(function (i, el) {
539
+ var $el = $(el);
540
+ var name = $el.attr("name");
541
+ var errors = $el.triggerHandler("validation.validation", {includeEmpty: true});
542
+ errorMessages[name] = $.extend(true, errors, errorMessages[name]);
543
+ });
544
+
545
+ $.each(errorMessages, function (i, el) {
546
+ if (el.length === 0) {
547
+ delete errorMessages[i];
548
+ }
549
+ });
550
+
551
+ return errorMessages;
552
+
553
+ },
554
+ hasErrors: function() {
555
+
556
+ var errorMessages = [];
557
+
558
+ this.each(function (i, el) {
559
+ errorMessages = errorMessages.concat(
560
+ $(el).triggerHandler("getValidators.validation") ? $(el).triggerHandler("validation.validation", {submitting: true}) : []
561
+ );
562
+ });
563
+
564
+ return (errorMessages.length > 0);
565
+ },
566
+ override : function (newDefaults) {
567
+ defaults = $.extend(true, defaults, newDefaults);
568
+ }
569
+ },
570
+ validatorTypes: {
571
+ callback: {
572
+ name: "callback",
573
+ init: function ($this, name) {
574
+ return {
575
+ validatorName: name,
576
+ callback: $this.data("validation" + name + "Callback"),
577
+ lastValue: $this.val(),
578
+ lastValid: true,
579
+ lastFinished: true
580
+ };
581
+ },
582
+ validate: function ($this, value, validator) {
583
+ if (validator.lastValue === value && validator.lastFinished) {
584
+ return !validator.lastValid;
585
+ }
586
+
587
+ if (validator.lastFinished === true)
588
+ {
589
+ validator.lastValue = value;
590
+ validator.lastValid = true;
591
+ validator.lastFinished = false;
592
+
593
+ var rrjqbvValidator = validator;
594
+ var rrjqbvThis = $this;
595
+ executeFunctionByName(
596
+ validator.callback,
597
+ window,
598
+ $this,
599
+ value,
600
+ function (data) {
601
+ if (rrjqbvValidator.lastValue === data.value) {
602
+ rrjqbvValidator.lastValid = data.valid;
603
+ if (data.message) {
604
+ rrjqbvValidator.message = data.message;
605
+ }
606
+ rrjqbvValidator.lastFinished = true;
607
+ rrjqbvThis.data("validation" + rrjqbvValidator.validatorName + "Message", rrjqbvValidator.message);
608
+ // Timeout is set to avoid problems with the events being considered 'already fired'
609
+ setTimeout(function () {
610
+ rrjqbvThis.trigger("change.validation");
611
+ }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
612
+ }
613
+ }
614
+ );
615
+ }
616
+
617
+ return false;
618
+
619
+ }
620
+ },
621
+ ajax: {
622
+ name: "ajax",
623
+ init: function ($this, name) {
624
+ return {
625
+ validatorName: name,
626
+ url: $this.data("validation" + name + "Ajax"),
627
+ lastValue: $this.val(),
628
+ lastValid: true,
629
+ lastFinished: true
630
+ };
631
+ },
632
+ validate: function ($this, value, validator) {
633
+ if (""+validator.lastValue === ""+value && validator.lastFinished === true) {
634
+ return validator.lastValid === false;
635
+ }
636
+
637
+ if (validator.lastFinished === true)
638
+ {
639
+ validator.lastValue = value;
640
+ validator.lastValid = true;
641
+ validator.lastFinished = false;
642
+ $.ajax({
643
+ url: validator.url,
644
+ data: "value=" + value + "&field=" + $this.attr("name"),
645
+ dataType: "json",
646
+ success: function (data) {
647
+ if (""+validator.lastValue === ""+data.value) {
648
+ validator.lastValid = !!(data.valid);
649
+ if (data.message) {
650
+ validator.message = data.message;
651
+ }
652
+ validator.lastFinished = true;
653
+ $this.data("validation" + validator.validatorName + "Message", validator.message);
654
+ // Timeout is set to avoid problems with the events being considered 'already fired'
655
+ setTimeout(function () {
656
+ $this.trigger("change.validation");
657
+ }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
658
+ }
659
+ },
660
+ failure: function () {
661
+ validator.lastValid = true;
662
+ validator.message = "ajax call failed";
663
+ validator.lastFinished = true;
664
+ $this.data("validation" + validator.validatorName + "Message", validator.message);
665
+ // Timeout is set to avoid problems with the events being considered 'already fired'
666
+ setTimeout(function () {
667
+ $this.trigger("change.validation");
668
+ }, 1); // doesn't need a long timeout, just long enough for the event bubble to burst
669
+ }
670
+ });
671
+ }
672
+
673
+ return false;
674
+
675
+ }
676
+ },
677
+ regex: {
678
+ name: "regex",
679
+ init: function ($this, name) {
680
+ return {regex: regexFromString($this.data("validation" + name + "Regex"))};
681
+ },
682
+ validate: function ($this, value, validator) {
683
+ return (!validator.regex.test(value) && ! validator.negative)
684
+ || (validator.regex.test(value) && validator.negative);
685
+ }
686
+ },
687
+ required: {
688
+ name: "required",
689
+ init: function ($this, name) {
690
+ return {};
691
+ },
692
+ validate: function ($this, value, validator) {
693
+ return !!(value.length === 0 && ! validator.negative)
694
+ || !!(value.length > 0 && validator.negative);
695
+ },
696
+ blockSubmit: true
697
+ },
698
+ match: {
699
+ name: "match",
700
+ init: function ($this, name) {
701
+ var element = $this.parents("form").first().find("[name=\"" + $this.data("validation" + name + "Match") + "\"]").first();
702
+ element.bind("validation.validation", function () {
703
+ $this.trigger("change.validation", {submitting: true});
704
+ });
705
+ return {"element": element};
706
+ },
707
+ validate: function ($this, value, validator) {
708
+ return (value !== validator.element.val() && ! validator.negative)
709
+ || (value === validator.element.val() && validator.negative);
710
+ },
711
+ blockSubmit: true
712
+ },
713
+ max: {
714
+ name: "max",
715
+ init: function ($this, name) {
716
+ return {max: $this.data("validation" + name + "Max")};
717
+ },
718
+ validate: function ($this, value, validator) {
719
+ return (parseFloat(value, 10) > parseFloat(validator.max, 10) && ! validator.negative)
720
+ || (parseFloat(value, 10) <= parseFloat(validator.max, 10) && validator.negative);
721
+ }
722
+ },
723
+ min: {
724
+ name: "min",
725
+ init: function ($this, name) {
726
+ return {min: $this.data("validation" + name + "Min")};
727
+ },
728
+ validate: function ($this, value, validator) {
729
+ return (parseFloat(value) < parseFloat(validator.min) && ! validator.negative)
730
+ || (parseFloat(value) >= parseFloat(validator.min) && validator.negative);
731
+ }
732
+ },
733
+ maxlength: {
734
+ name: "maxlength",
735
+ init: function ($this, name) {
736
+ return {maxlength: $this.data("validation" + name + "Maxlength")};
737
+ },
738
+ validate: function ($this, value, validator) {
739
+ return ((value.length > validator.maxlength) && ! validator.negative)
740
+ || ((value.length <= validator.maxlength) && validator.negative);
741
+ }
742
+ },
743
+ minlength: {
744
+ name: "minlength",
745
+ init: function ($this, name) {
746
+ return {minlength: $this.data("validation" + name + "Minlength")};
747
+ },
748
+ validate: function ($this, value, validator) {
749
+ return ((value.length < validator.minlength) && ! validator.negative)
750
+ || ((value.length >= validator.minlength) && validator.negative);
751
+ }
752
+ },
753
+ maxchecked: {
754
+ name: "maxchecked",
755
+ init: function ($this, name) {
756
+ var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
757
+ elements.bind("click.validation", function () {
758
+ $this.trigger("change.validation", {includeEmpty: true});
759
+ });
760
+ return {maxchecked: $this.data("validation" + name + "Maxchecked"), elements: elements};
761
+ },
762
+ validate: function ($this, value, validator) {
763
+ return (validator.elements.filter(":checked").length > validator.maxchecked && ! validator.negative)
764
+ || (validator.elements.filter(":checked").length <= validator.maxchecked && validator.negative);
765
+ },
766
+ blockSubmit: true
767
+ },
768
+ minchecked: {
769
+ name: "minchecked",
770
+ init: function ($this, name) {
771
+ var elements = $this.parents("form").first().find("[name=\"" + $this.attr("name") + "\"]");
772
+ elements.bind("click.validation", function () {
773
+ $this.trigger("change.validation", {includeEmpty: true});
774
+ });
775
+ return {minchecked: $this.data("validation" + name + "Minchecked"), elements: elements};
776
+ },
777
+ validate: function ($this, value, validator) {
778
+ return (validator.elements.filter(":checked").length < validator.minchecked && ! validator.negative)
779
+ || (validator.elements.filter(":checked").length >= validator.minchecked && validator.negative);
780
+ },
781
+ blockSubmit: true
782
+ }
783
+ },
784
+ builtInValidators: {
785
+ email: {
786
+ name: "Email",
787
+ type: "shortcut",
788
+ shortcut: "validemail"
789
+ },
790
+ validemail: {
791
+ name: "Validemail",
792
+ type: "regex",
793
+ regex: "[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\.[A-Za-z]{2,4}",
794
+ message: "Not a valid email address<!-- data-validator-validemail-message to override -->"
795
+ },
796
+ passwordagain: {
797
+ name: "Passwordagain",
798
+ type: "match",
799
+ match: "password",
800
+ message: "Does not match the given password<!-- data-validator-paswordagain-message to override -->"
801
+ },
802
+ positive: {
803
+ name: "Positive",
804
+ type: "shortcut",
805
+ shortcut: "number,positivenumber"
806
+ },
807
+ negative: {
808
+ name: "Negative",
809
+ type: "shortcut",
810
+ shortcut: "number,negativenumber"
811
+ },
812
+ number: {
813
+ name: "Number",
814
+ type: "regex",
815
+ regex: "([+-]?\\\d+(\\\.\\\d*)?([eE][+-]?[0-9]+)?)?",
816
+ message: "Must be a number<!-- data-validator-number-message to override -->"
817
+ },
818
+ integer: {
819
+ name: "Integer",
820
+ type: "regex",
821
+ regex: "[+-]?\\\d+",
822
+ message: "No decimal places allowed<!-- data-validator-integer-message to override -->"
823
+ },
824
+ positivenumber: {
825
+ name: "Positivenumber",
826
+ type: "min",
827
+ min: 0,
828
+ message: "Must be a positive number<!-- data-validator-positivenumber-message to override -->"
829
+ },
830
+ negativenumber: {
831
+ name: "Negativenumber",
832
+ type: "max",
833
+ max: 0,
834
+ message: "Must be a negative number<!-- data-validator-negativenumber-message to override -->"
835
+ },
836
+ required: {
837
+ name: "Required",
838
+ type: "required",
839
+ message: "This is required<!-- data-validator-required-message to override -->"
840
+ },
841
+ checkone: {
842
+ name: "Checkone",
843
+ type: "minchecked",
844
+ minchecked: 1,
845
+ message: "Check at least one option<!-- data-validation-checkone-message to override -->"
846
+ }
847
+ }
848
+ };
849
+
850
+ var formatValidatorName = function (name) {
851
+ return name
852
+ .toLowerCase()
853
+ .replace(
854
+ /(^|\s)([a-z])/g ,
855
+ function(m,p1,p2) {
856
+ return p1+p2.toUpperCase();
857
+ }
858
+ )
859
+ ;
860
+ };
861
+
862
+ var getValue = function ($this) {
863
+ // Extract the value we're talking about
864
+ var value = $this.val();
865
+ var type = $this.attr("type");
866
+ if (type === "checkbox") {
867
+ value = ($this.is(":checked") ? value : "");
868
+ }
869
+ if (type === "radio") {
870
+ value = ($('input[name="' + $this.attr("name") + '"]:checked').length > 0 ? value : "");
871
+ }
872
+ return value;
873
+ };
874
+
875
+ function regexFromString(inputstring) {
876
+ return new RegExp("^" + inputstring + "$");
877
+ }
878
+
879
+ /**
880
+ * Thanks to Jason Bunting via StackOverflow.com
881
+ *
882
+ * http://stackoverflow.com/questions/359788/how-to-execute-a-javascript-function-when-i-have-its-name-as-a-string#answer-359910
883
+ * Short link: http://tinyurl.com/executeFunctionByName
884
+ **/
885
+ function executeFunctionByName(functionName, context /*, args*/) {
886
+ var args = Array.prototype.slice.call(arguments).splice(2);
887
+ var namespaces = functionName.split(".");
888
+ var func = namespaces.pop();
889
+ for(var i = 0; i < namespaces.length; i++) {
890
+ context = context[namespaces[i]];
891
+ }
892
+ return context[func].apply(this, args);
893
+ }
894
+
895
+ $.fn.jqBootstrapValidation = function( method ) {
896
+
897
+ if ( defaults.methods[method] ) {
898
+ return defaults.methods[method].apply( this, Array.prototype.slice.call( arguments, 1 ));
899
+ } else if ( typeof method === 'object' || ! method ) {
900
+ return defaults.methods.init.apply( this, arguments );
901
+ } else {
902
+ $.error( 'Method ' + method + ' does not exist on jQuery.jqBootstrapValidation' );
903
+ return null;
904
+ }
905
+
906
+ };
907
+
908
+ $.jqBootstrapValidation = function (options) {
909
+ $(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments);
910
+ };
911
+
912
+ })( jQuery );