瀏覽代碼

server/dashboarding

Steve Nyemba 5 年之前
父節點
當前提交
3b8e7b20fd
共有 100 個文件被更改,包括 122877 次插入0 次删除
  1. 84 0
      healthcareio/server/__init__.py
  2. 84 0
      healthcareio/server/index.py
  3. 469 0
      healthcareio/server/out.html
  4. 37 0
      healthcareio/server/static/css/borders.css
  5. 8 0
      healthcareio/server/static/css/default.css
  6. 34 0
      healthcareio/server/static/css/fa/LICENSE.txt
  7. 4556 0
      healthcareio/server/static/css/fa/css/all.css
  8. 5 0
      healthcareio/server/static/css/fa/css/all.min.css
  9. 15 0
      healthcareio/server/static/css/fa/css/brands.css
  10. 5 0
      healthcareio/server/static/css/fa/css/brands.min.css
  11. 4522 0
      healthcareio/server/static/css/fa/css/fontawesome.css
  12. 5 0
      healthcareio/server/static/css/fa/css/fontawesome.min.css
  13. 15 0
      healthcareio/server/static/css/fa/css/regular.css
  14. 5 0
      healthcareio/server/static/css/fa/css/regular.min.css
  15. 16 0
      healthcareio/server/static/css/fa/css/solid.css
  16. 5 0
      healthcareio/server/static/css/fa/css/solid.min.css
  17. 371 0
      healthcareio/server/static/css/fa/css/svg-with-js.css
  18. 5 0
      healthcareio/server/static/css/fa/css/svg-with-js.min.css
  19. 2172 0
      healthcareio/server/static/css/fa/css/v4-shims.css
  20. 5 0
      healthcareio/server/static/css/fa/css/v4-shims.min.css
  21. 4441 0
      healthcareio/server/static/css/fa/js/all.js
  22. 5 0
      healthcareio/server/static/css/fa/js/all.min.js
  23. 571 0
      healthcareio/server/static/css/fa/js/brands.js
  24. 5 0
      healthcareio/server/static/css/fa/js/brands.min.js
  25. 998 0
      healthcareio/server/static/css/fa/js/conflict-detection.js
  26. 5 0
      healthcareio/server/static/css/fa/js/conflict-detection.min.js
  27. 2478 0
      healthcareio/server/static/css/fa/js/fontawesome.js
  28. 5 0
      healthcareio/server/static/css/fa/js/fontawesome.min.js
  29. 280 0
      healthcareio/server/static/css/fa/js/regular.js
  30. 5 0
      healthcareio/server/static/css/fa/js/regular.min.js
  31. 1124 0
      healthcareio/server/static/css/fa/js/solid.js
  32. 5 0
      healthcareio/server/static/css/fa/js/solid.min.js
  33. 68 0
      healthcareio/server/static/css/fa/js/v4-shims.js
  34. 5 0
      healthcareio/server/static/css/fa/js/v4-shims.min.js
  35. 19 0
      healthcareio/server/static/css/fa/less/_animated.less
  36. 16 0
      healthcareio/server/static/css/fa/less/_bordered-pulled.less
  37. 12 0
      healthcareio/server/static/css/fa/less/_core.less
  38. 6 0
      healthcareio/server/static/css/fa/less/_fixed-width.less
  39. 1441 0
      healthcareio/server/static/css/fa/less/_icons.less
  40. 27 0
      healthcareio/server/static/css/fa/less/_larger.less
  41. 18 0
      healthcareio/server/static/css/fa/less/_list.less
  42. 56 0
      healthcareio/server/static/css/fa/less/_mixins.less
  43. 24 0
      healthcareio/server/static/css/fa/less/_rotated-flipped.less
  44. 5 0
      healthcareio/server/static/css/fa/less/_screen-reader.less
  45. 2066 0
      healthcareio/server/static/css/fa/less/_shims.less
  46. 22 0
      healthcareio/server/static/css/fa/less/_stacked.less
  47. 1453 0
      healthcareio/server/static/css/fa/less/_variables.less
  48. 23 0
      healthcareio/server/static/css/fa/less/brands.less
  49. 16 0
      healthcareio/server/static/css/fa/less/fontawesome.less
  50. 23 0
      healthcareio/server/static/css/fa/less/regular.less
  51. 24 0
      healthcareio/server/static/css/fa/less/solid.less
  52. 6 0
      healthcareio/server/static/css/fa/less/v4-shims.less
  53. 2562 0
      healthcareio/server/static/css/fa/metadata/categories.yml
  54. 57762 0
      healthcareio/server/static/css/fa/metadata/icons.json
  55. 21485 0
      healthcareio/server/static/css/fa/metadata/icons.yml
  56. 2317 0
      healthcareio/server/static/css/fa/metadata/shims.json
  57. 298 0
      healthcareio/server/static/css/fa/metadata/shims.yml
  58. 688 0
      healthcareio/server/static/css/fa/metadata/sponsors.yml
  59. 20 0
      healthcareio/server/static/css/fa/scss/_animated.scss
  60. 20 0
      healthcareio/server/static/css/fa/scss/_bordered-pulled.scss
  61. 21 0
      healthcareio/server/static/css/fa/scss/_core.scss
  62. 6 0
      healthcareio/server/static/css/fa/scss/_fixed-width.scss
  63. 1441 0
      healthcareio/server/static/css/fa/scss/_icons.scss
  64. 23 0
      healthcareio/server/static/css/fa/scss/_larger.scss
  65. 18 0
      healthcareio/server/static/css/fa/scss/_list.scss
  66. 56 0
      healthcareio/server/static/css/fa/scss/_mixins.scss
  67. 24 0
      healthcareio/server/static/css/fa/scss/_rotated-flipped.scss
  68. 5 0
      healthcareio/server/static/css/fa/scss/_screen-reader.scss
  69. 2066 0
      healthcareio/server/static/css/fa/scss/_shims.scss
  70. 31 0
      healthcareio/server/static/css/fa/scss/_stacked.scss
  71. 1458 0
      healthcareio/server/static/css/fa/scss/_variables.scss
  72. 23 0
      healthcareio/server/static/css/fa/scss/brands.scss
  73. 16 0
      healthcareio/server/static/css/fa/scss/fontawesome.scss
  74. 23 0
      healthcareio/server/static/css/fa/scss/regular.scss
  75. 24 0
      healthcareio/server/static/css/fa/scss/solid.scss
  76. 6 0
      healthcareio/server/static/css/fa/scss/v4-shims.scss
  77. 1336 0
      healthcareio/server/static/css/fa/sprites/brands.svg
  78. 463 0
      healthcareio/server/static/css/fa/sprites/regular.svg
  79. 2995 0
      healthcareio/server/static/css/fa/sprites/solid.svg
  80. 1 0
      healthcareio/server/static/css/fa/svgs/brands/500px.svg
  81. 1 0
      healthcareio/server/static/css/fa/svgs/brands/accessible-icon.svg
  82. 1 0
      healthcareio/server/static/css/fa/svgs/brands/accusoft.svg
  83. 1 0
      healthcareio/server/static/css/fa/svgs/brands/acquisitions-incorporated.svg
  84. 1 0
      healthcareio/server/static/css/fa/svgs/brands/adn.svg
  85. 1 0
      healthcareio/server/static/css/fa/svgs/brands/adobe.svg
  86. 1 0
      healthcareio/server/static/css/fa/svgs/brands/adversal.svg
  87. 1 0
      healthcareio/server/static/css/fa/svgs/brands/affiliatetheme.svg
  88. 1 0
      healthcareio/server/static/css/fa/svgs/brands/airbnb.svg
  89. 1 0
      healthcareio/server/static/css/fa/svgs/brands/algolia.svg
  90. 1 0
      healthcareio/server/static/css/fa/svgs/brands/alipay.svg
  91. 1 0
      healthcareio/server/static/css/fa/svgs/brands/amazon-pay.svg
  92. 1 0
      healthcareio/server/static/css/fa/svgs/brands/amazon.svg
  93. 1 0
      healthcareio/server/static/css/fa/svgs/brands/amilia.svg
  94. 1 0
      healthcareio/server/static/css/fa/svgs/brands/android.svg
  95. 1 0
      healthcareio/server/static/css/fa/svgs/brands/angellist.svg
  96. 1 0
      healthcareio/server/static/css/fa/svgs/brands/angrycreative.svg
  97. 1 0
      healthcareio/server/static/css/fa/svgs/brands/angular.svg
  98. 1 0
      healthcareio/server/static/css/fa/svgs/brands/app-store-ios.svg
  99. 1 0
      healthcareio/server/static/css/fa/svgs/brands/app-store.svg
  100. 0 0
      healthcareio/server/static/css/fa/svgs/brands/apper.svg

+ 84 - 0
healthcareio/server/__init__.py

@@ -0,0 +1,84 @@
+from flask import Flask, request,render_template, send_from_directory
+from healthcareio.params import SYS_ARGS
+import healthcareio.analytics
+import os
+import json
+app = Flask(__name__)
+@app.route("/favicon.ico")
+def _icon():
+    return send_from_directory(os.path.join([app.root_path, 'static','img','logo.svg']),
+                               'favicon.ico', mimetype='image/vnd.microsoft.icon')
+@app.route("/")
+def init():
+    e = SYS_ARGS['engine']
+    sections = {"remits":e.info['835'],"claims":e.info['837']}
+    _args = {"sections":sections}
+    return render_template("index.html",**_args)
+@app.route("/format/<id>/<index>",methods=['POST'])
+def _format(id,index):
+    
+    e = SYS_ARGS['engine']
+    key = '837' if id == 'claims' else '835'
+    index = int(index)
+    # p = e.info[key][index]
+    p = e.apply(type=id,index=index)
+    
+    #
+    r = []
+    for item in p[0]['pipeline'] :
+        _item= dict(item)
+        del _item['sql']
+        del _item ['data']
+        
+        _item = dict(_item,**healthcareio.analytics.Apex.apply(item))
+        if 'apex' in _item or 'html' in _item:
+            r.append(_item)
+        
+    r = {"id":p[0]['id'],"pipeline":r}    
+    return json.dumps(r),200
+@app.route("/get/<id>/<index>",methods=['GET'])
+def get(id,index):
+    e = SYS_ARGS['engine']
+    key = '837' if id == 'claims' else '835'
+    index = int(index)
+    # p = e.info[key][index]
+    p = e.apply(type=id,index=index)
+    r = {}
+    for item in p[0]['pipeline'] :
+        
+        _item= [dict(item)]
+        
+        r[item['label']] = item['data'].to_dict(orient='record')
+        # del _item['sql']
+        # del _item ['data']
+    #     print (item['label'])
+    #     _item['apex'] = healthcareio.analytics.Apex.apply(item)
+    #     if _item['apex']:
+    #         r.append(_item)
+        
+    # r = {"id":p[0]['id'],"pipeline":r}
+    return json.dumps(r),200
+@app.route("/reload",methods=['POST'])
+def reload():
+    # e = SYS_ARGS['engine']
+    # e.apply()
+    PATH= SYS_ARGS['config'] if 'config' in SYS_ARGS else os.sep.join([os.environ['HOME'],'.healthcareio','config.json'])    
+    e = healthcareio.analytics.engine(PATH)
+    # e.apply()
+    SYS_ARGS['engine'] = e
+
+    return "1",200
+
+    
+if __name__ == '__main__' :
+    PORT = int(SYS_ARGS['port']) if 'port' in SYS_ARGS else 5500
+    DEBUG= int(SYS_ARGS['debug']) if 'debug' in SYS_ARGS else 0
+    SYS_ARGS['context'] = SYS_ARGS['context'] if 'context' in SYS_ARGS else ''
+    #
+    # 
+    PATH= SYS_ARGS['config'] if 'config' in SYS_ARGS else os.sep.join([os.environ['HOME'],'.healthcareio','config.json'])
+    
+    e = healthcareio.analytics.engine(PATH)
+    # e.apply(type='claims',serialize=True)
+    SYS_ARGS['engine'] = e
+    app.run(host='0.0.0.0',port=PORT,debug=DEBUG,threaded=True)

+ 84 - 0
healthcareio/server/index.py

@@ -0,0 +1,84 @@
+from flask import Flask, request,render_template, send_from_directory
+from healthcareio.params import SYS_ARGS
+import healthcareio.analytics
+import os
+import json
+app = Flask(__name__)
+@app.route("/favicon.ico")
+def _icon():
+    return send_from_directory(os.path.join([app.root_path, 'static','img','logo.svg']),
+                               'favicon.ico', mimetype='image/vnd.microsoft.icon')
+@app.route("/")
+def init():
+    e = SYS_ARGS['engine']
+    sections = {"remits":e.info['835'],"claims":e.info['837']}
+    _args = {"sections":sections}
+    return render_template("index.html",**_args)
+@app.route("/format/<id>/<index>",methods=['POST'])
+def _format(id,index):
+    
+    e = SYS_ARGS['engine']
+    key = '837' if id == 'claims' else '835'
+    index = int(index)
+    # p = e.info[key][index]
+    p = e.apply(type=id,index=index)
+    
+    #
+    r = []
+    for item in p[0]['pipeline'] :
+        _item= dict(item)
+        del _item['sql']
+        del _item ['data']
+        
+        _item = dict(_item,**healthcareio.analytics.Apex.apply(item))
+        if 'apex' in _item or 'html' in _item:
+            r.append(_item)
+        
+    r = {"id":p[0]['id'],"pipeline":r}
+    return json.dumps(r),200
+@app.route("/get/<id>/<index>",methods=['GET'])
+def get(id,index):
+    e = SYS_ARGS['engine']
+    key = '837' if id == 'claims' else '835'
+    index = int(index)
+    # p = e.info[key][index]
+    p = e.apply(type=id,index=index)
+    r = {}
+    for item in p[0]['pipeline'] :
+        
+        _item= [dict(item)]
+        
+        r[item['label']] = item['data'].to_dict(orient='record')
+        # del _item['sql']
+        # del _item ['data']
+    #     print (item['label'])
+    #     _item['apex'] = healthcareio.analytics.Apex.apply(item)
+    #     if _item['apex']:
+    #         r.append(_item)
+        
+    # r = {"id":p[0]['id'],"pipeline":r}
+    return json.dumps(r),200
+@app.route("/reload",methods=['POST'])
+def reload():
+    # e = SYS_ARGS['engine']
+    # e.apply()
+    PATH= SYS_ARGS['config'] if 'config' in SYS_ARGS else os.sep.join([os.environ['HOME'],'.healthcareio','config.json'])    
+    e = healthcareio.analytics.engine(PATH)
+    # e.apply()
+    SYS_ARGS['engine'] = e
+
+    return "1",200
+
+    
+if __name__ == '__main__' :
+    PORT = int(SYS_ARGS['port']) if 'port' in SYS_ARGS else 5500
+    DEBUG= int(SYS_ARGS['debug']) if 'debug' in SYS_ARGS else 0
+    SYS_ARGS['context'] = SYS_ARGS['context'] if 'context' in SYS_ARGS else ''
+    #
+    # 
+    PATH= SYS_ARGS['config'] if 'config' in SYS_ARGS else os.sep.join([os.environ['HOME'],'.healthcareio','config.json'])
+    
+    e = healthcareio.analytics.engine(PATH)
+    # e.apply(type='claims',serialize=True)
+    SYS_ARGS['engine'] = e
+    app.run(host='0.0.0.0',port=PORT,debug=DEBUG,threaded=True)

File diff suppressed because it is too large
+ 469 - 0
healthcareio/server/out.html


+ 37 - 0
healthcareio/server/static/css/borders.css

@@ -0,0 +1,37 @@
+.border {
+    border:1px solid #CAD5E0 ;    
+}
+.border-round {
+    padding:6px;
+    border-radius:8px;
+}
+
+.border-round-top-left{
+    border-top-left-radius: 8px;    
+    padding:6px;
+}
+.border-round-top-right{
+    border-top-right-radius: 8px;
+    padding:6px;
+}
+.border-round-bottom-right{
+    border-bottom-right-radius: 8px;
+    padding:6px;
+}
+.border-round-bottom-left{
+    border-bottom-left-radius: 8px;
+    padding:6px;
+}
+
+
+.border-right{
+    border-right:1px solid #CAD5E0;
+}
+
+.border-left{
+    border-left:1px solid #CAD5E0;
+}
+
+
+.border-bottom { border-bottom:1px solid #CAD5E0}
+.border-top { border-top:1px solid #CAD5E0}

+ 8 - 0
healthcareio/server/static/css/default.css

@@ -0,0 +1,8 @@
+.active {
+    padding:4px;
+    cursor:pointer;
+    border-bottom:2px solid transparent ;
+}
+.active:hover{
+    border-bottom:2px solid #ff6500; 
+}

+ 34 - 0
healthcareio/server/static/css/fa/LICENSE.txt

@@ -0,0 +1,34 @@
+Font Awesome Free License
+-------------------------
+
+Font Awesome Free is free, open source, and GPL friendly. You can use it for
+commercial projects, open source projects, or really almost whatever you want.
+Full Font Awesome Free license: https://fontawesome.com/license/free.
+
+# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
+In the Font Awesome Free download, the CC BY 4.0 license applies to all icons
+packaged as SVG and JS file types.
+
+# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL)
+In the Font Awesome Free download, the SIL OFL license applies to all icons
+packaged as web and desktop font files.
+
+# Code: MIT License (https://opensource.org/licenses/MIT)
+In the Font Awesome Free download, the MIT license applies to all non-font and
+non-icon files.
+
+# Attribution
+Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
+Awesome Free files already contain embedded comments with sufficient
+attribution, so you shouldn't need to do anything additional when using these
+files normally.
+
+We've kept attribution comments terse, so we ask that you do not actively work
+to remove them from files, especially code. They're a great way for folks to
+learn about Font Awesome.
+
+# Brand Icons
+All brand icons are trademarks of their respective owners. The use of these
+trademarks does not indicate endorsement of the trademark holder by Font
+Awesome, nor vice versa. **Please do not use brand logos for any purpose except
+to represent the company, product, or service to which they refer.**

File diff suppressed because it is too large
+ 4556 - 0
healthcareio/server/static/css/fa/css/all.css


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/css/all.min.css


+ 15 - 0
healthcareio/server/static/css/fa/css/brands.css

@@ -0,0 +1,15 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face {
+  font-family: 'Font Awesome 5 Brands';
+  font-style: normal;
+  font-weight: 400;
+  font-display: block;
+  src: url("../webfonts/fa-brands-400.eot");
+  src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
+
+.fab {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400; }

+ 5 - 0
healthcareio/server/static/css/fa/css/brands.min.css

@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}

File diff suppressed because it is too large
+ 4522 - 0
healthcareio/server/static/css/fa/css/fontawesome.css


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/css/fontawesome.min.css


+ 15 - 0
healthcareio/server/static/css/fa/css/regular.css

@@ -0,0 +1,15 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 400;
+  font-display: block;
+  src: url("../webfonts/fa-regular-400.eot");
+  src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
+
+.far {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400; }

+ 5 - 0
healthcareio/server/static/css/fa/css/regular.min.css

@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}

+ 16 - 0
healthcareio/server/static/css/fa/css/solid.css

@@ -0,0 +1,16 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 900;
+  font-display: block;
+  src: url("../webfonts/fa-solid-900.eot");
+  src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
+
+.fa,
+.fas {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 900; }

+ 5 - 0
healthcareio/server/static/css/fa/css/solid.min.css

@@ -0,0 +1,5 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}

+ 371 - 0
healthcareio/server/static/css/fa/css/svg-with-js.css

@@ -0,0 +1,371 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+svg:not(:root).svg-inline--fa {
+  overflow: visible; }
+
+.svg-inline--fa {
+  display: inline-block;
+  font-size: inherit;
+  height: 1em;
+  overflow: visible;
+  vertical-align: -.125em; }
+  .svg-inline--fa.fa-lg {
+    vertical-align: -.225em; }
+  .svg-inline--fa.fa-w-1 {
+    width: 0.0625em; }
+  .svg-inline--fa.fa-w-2 {
+    width: 0.125em; }
+  .svg-inline--fa.fa-w-3 {
+    width: 0.1875em; }
+  .svg-inline--fa.fa-w-4 {
+    width: 0.25em; }
+  .svg-inline--fa.fa-w-5 {
+    width: 0.3125em; }
+  .svg-inline--fa.fa-w-6 {
+    width: 0.375em; }
+  .svg-inline--fa.fa-w-7 {
+    width: 0.4375em; }
+  .svg-inline--fa.fa-w-8 {
+    width: 0.5em; }
+  .svg-inline--fa.fa-w-9 {
+    width: 0.5625em; }
+  .svg-inline--fa.fa-w-10 {
+    width: 0.625em; }
+  .svg-inline--fa.fa-w-11 {
+    width: 0.6875em; }
+  .svg-inline--fa.fa-w-12 {
+    width: 0.75em; }
+  .svg-inline--fa.fa-w-13 {
+    width: 0.8125em; }
+  .svg-inline--fa.fa-w-14 {
+    width: 0.875em; }
+  .svg-inline--fa.fa-w-15 {
+    width: 0.9375em; }
+  .svg-inline--fa.fa-w-16 {
+    width: 1em; }
+  .svg-inline--fa.fa-w-17 {
+    width: 1.0625em; }
+  .svg-inline--fa.fa-w-18 {
+    width: 1.125em; }
+  .svg-inline--fa.fa-w-19 {
+    width: 1.1875em; }
+  .svg-inline--fa.fa-w-20 {
+    width: 1.25em; }
+  .svg-inline--fa.fa-pull-left {
+    margin-right: .3em;
+    width: auto; }
+  .svg-inline--fa.fa-pull-right {
+    margin-left: .3em;
+    width: auto; }
+  .svg-inline--fa.fa-border {
+    height: 1.5em; }
+  .svg-inline--fa.fa-li {
+    width: 2em; }
+  .svg-inline--fa.fa-fw {
+    width: 1.25em; }
+
+.fa-layers svg.svg-inline--fa {
+  bottom: 0;
+  left: 0;
+  margin: auto;
+  position: absolute;
+  right: 0;
+  top: 0; }
+
+.fa-layers {
+  display: inline-block;
+  height: 1em;
+  position: relative;
+  text-align: center;
+  vertical-align: -.125em;
+  width: 1em; }
+  .fa-layers svg.svg-inline--fa {
+    -webkit-transform-origin: center center;
+            transform-origin: center center; }
+
+.fa-layers-text, .fa-layers-counter {
+  display: inline-block;
+  position: absolute;
+  text-align: center; }
+
+.fa-layers-text {
+  left: 50%;
+  top: 50%;
+  -webkit-transform: translate(-50%, -50%);
+          transform: translate(-50%, -50%);
+  -webkit-transform-origin: center center;
+          transform-origin: center center; }
+
+.fa-layers-counter {
+  background-color: #ff253a;
+  border-radius: 1em;
+  -webkit-box-sizing: border-box;
+          box-sizing: border-box;
+  color: #fff;
+  height: 1.5em;
+  line-height: 1;
+  max-width: 5em;
+  min-width: 1.5em;
+  overflow: hidden;
+  padding: .25em;
+  right: 0;
+  text-overflow: ellipsis;
+  top: 0;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: top right;
+          transform-origin: top right; }
+
+.fa-layers-bottom-right {
+  bottom: 0;
+  right: 0;
+  top: auto;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: bottom right;
+          transform-origin: bottom right; }
+
+.fa-layers-bottom-left {
+  bottom: 0;
+  left: 0;
+  right: auto;
+  top: auto;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: bottom left;
+          transform-origin: bottom left; }
+
+.fa-layers-top-right {
+  right: 0;
+  top: 0;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: top right;
+          transform-origin: top right; }
+
+.fa-layers-top-left {
+  left: 0;
+  right: auto;
+  top: 0;
+  -webkit-transform: scale(0.25);
+          transform: scale(0.25);
+  -webkit-transform-origin: top left;
+          transform-origin: top left; }
+
+.fa-lg {
+  font-size: 1.33333em;
+  line-height: 0.75em;
+  vertical-align: -.0667em; }
+
+.fa-xs {
+  font-size: .75em; }
+
+.fa-sm {
+  font-size: .875em; }
+
+.fa-1x {
+  font-size: 1em; }
+
+.fa-2x {
+  font-size: 2em; }
+
+.fa-3x {
+  font-size: 3em; }
+
+.fa-4x {
+  font-size: 4em; }
+
+.fa-5x {
+  font-size: 5em; }
+
+.fa-6x {
+  font-size: 6em; }
+
+.fa-7x {
+  font-size: 7em; }
+
+.fa-8x {
+  font-size: 8em; }
+
+.fa-9x {
+  font-size: 9em; }
+
+.fa-10x {
+  font-size: 10em; }
+
+.fa-fw {
+  text-align: center;
+  width: 1.25em; }
+
+.fa-ul {
+  list-style-type: none;
+  margin-left: 2.5em;
+  padding-left: 0; }
+  .fa-ul > li {
+    position: relative; }
+
+.fa-li {
+  left: -2em;
+  position: absolute;
+  text-align: center;
+  width: 2em;
+  line-height: inherit; }
+
+.fa-border {
+  border: solid 0.08em #eee;
+  border-radius: .1em;
+  padding: .2em .25em .15em; }
+
+.fa-pull-left {
+  float: left; }
+
+.fa-pull-right {
+  float: right; }
+
+.fa.fa-pull-left,
+.fas.fa-pull-left,
+.far.fa-pull-left,
+.fal.fa-pull-left,
+.fab.fa-pull-left {
+  margin-right: .3em; }
+
+.fa.fa-pull-right,
+.fas.fa-pull-right,
+.far.fa-pull-right,
+.fal.fa-pull-right,
+.fab.fa-pull-right {
+  margin-left: .3em; }
+
+.fa-spin {
+  -webkit-animation: fa-spin 2s infinite linear;
+          animation: fa-spin 2s infinite linear; }
+
+.fa-pulse {
+  -webkit-animation: fa-spin 1s infinite steps(8);
+          animation: fa-spin 1s infinite steps(8); }
+
+@-webkit-keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+@keyframes fa-spin {
+  0% {
+    -webkit-transform: rotate(0deg);
+            transform: rotate(0deg); }
+  100% {
+    -webkit-transform: rotate(360deg);
+            transform: rotate(360deg); } }
+
+.fa-rotate-90 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
+  -webkit-transform: rotate(90deg);
+          transform: rotate(90deg); }
+
+.fa-rotate-180 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
+  -webkit-transform: rotate(180deg);
+          transform: rotate(180deg); }
+
+.fa-rotate-270 {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
+  -webkit-transform: rotate(270deg);
+          transform: rotate(270deg); }
+
+.fa-flip-horizontal {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
+  -webkit-transform: scale(-1, 1);
+          transform: scale(-1, 1); }
+
+.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(1, -1);
+          transform: scale(1, -1); }
+
+.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
+  -webkit-transform: scale(-1, -1);
+          transform: scale(-1, -1); }
+
+:root .fa-rotate-90,
+:root .fa-rotate-180,
+:root .fa-rotate-270,
+:root .fa-flip-horizontal,
+:root .fa-flip-vertical,
+:root .fa-flip-both {
+  -webkit-filter: none;
+          filter: none; }
+
+.fa-stack {
+  display: inline-block;
+  height: 2em;
+  position: relative;
+  width: 2.5em; }
+
+.fa-stack-1x,
+.fa-stack-2x {
+  bottom: 0;
+  left: 0;
+  margin: auto;
+  position: absolute;
+  right: 0;
+  top: 0; }
+
+.svg-inline--fa.fa-stack-1x {
+  height: 1em;
+  width: 1.25em; }
+
+.svg-inline--fa.fa-stack-2x {
+  height: 2em;
+  width: 2.5em; }
+
+.fa-inverse {
+  color: #fff; }
+
+.sr-only {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px; }
+
+.sr-only-focusable:active, .sr-only-focusable:focus {
+  clip: auto;
+  height: auto;
+  margin: 0;
+  overflow: visible;
+  position: static;
+  width: auto; }
+
+.svg-inline--fa .fa-primary {
+  fill: var(--fa-primary-color, currentColor);
+  opacity: 1;
+  opacity: var(--fa-primary-opacity, 1); }
+
+.svg-inline--fa .fa-secondary {
+  fill: var(--fa-secondary-color, currentColor);
+  opacity: 0.4;
+  opacity: var(--fa-secondary-opacity, 0.4); }
+
+.svg-inline--fa.fa-swap-opacity .fa-primary {
+  opacity: 0.4;
+  opacity: var(--fa-secondary-opacity, 0.4); }
+
+.svg-inline--fa.fa-swap-opacity .fa-secondary {
+  opacity: 1;
+  opacity: var(--fa-primary-opacity, 1); }
+
+.svg-inline--fa mask .fa-primary,
+.svg-inline--fa mask .fa-secondary {
+  fill: black; }
+
+.fad.fa-inverse {
+  color: #fff; }

File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/css/svg-with-js.min.css


File diff suppressed because it is too large
+ 2172 - 0
healthcareio/server/static/css/fa/css/v4-shims.css


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/css/v4-shims.min.css


File diff suppressed because it is too large
+ 4441 - 0
healthcareio/server/static/css/fa/js/all.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/all.min.js


File diff suppressed because it is too large
+ 571 - 0
healthcareio/server/static/css/fa/js/brands.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/brands.min.js


File diff suppressed because it is too large
+ 998 - 0
healthcareio/server/static/css/fa/js/conflict-detection.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/conflict-detection.min.js


File diff suppressed because it is too large
+ 2478 - 0
healthcareio/server/static/css/fa/js/fontawesome.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/fontawesome.min.js


File diff suppressed because it is too large
+ 280 - 0
healthcareio/server/static/css/fa/js/regular.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/regular.min.js


File diff suppressed because it is too large
+ 1124 - 0
healthcareio/server/static/css/fa/js/solid.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/solid.min.js


File diff suppressed because it is too large
+ 68 - 0
healthcareio/server/static/css/fa/js/v4-shims.js


File diff suppressed because it is too large
+ 5 - 0
healthcareio/server/static/css/fa/js/v4-shims.min.js


+ 19 - 0
healthcareio/server/static/css/fa/less/_animated.less

@@ -0,0 +1,19 @@
+// Animated Icons
+// --------------------------
+
+.@{fa-css-prefix}-spin {
+  animation: fa-spin 2s infinite linear;
+}
+
+.@{fa-css-prefix}-pulse {
+  animation: fa-spin 1s infinite steps(8);
+}
+
+@keyframes fa-spin {
+  0% {
+    transform: rotate(0deg);
+  }
+  100% {
+    transform: rotate(360deg);
+  }
+}

+ 16 - 0
healthcareio/server/static/css/fa/less/_bordered-pulled.less

@@ -0,0 +1,16 @@
+// Bordered & Pulled
+// -------------------------
+
+.@{fa-css-prefix}-border {
+  border-radius: .1em;
+  border: solid .08em @fa-border-color;
+  padding: .2em .25em .15em;
+}
+
+.@{fa-css-prefix}-pull-left { float: left; }
+.@{fa-css-prefix}-pull-right { float: right; }
+
+.@{fa-css-prefix}, .fas, .far, .fal, .fab {
+  &.@{fa-css-prefix}-pull-left { margin-right: .3em; }
+  &.@{fa-css-prefix}-pull-right { margin-left: .3em; }
+}

+ 12 - 0
healthcareio/server/static/css/fa/less/_core.less

@@ -0,0 +1,12 @@
+// Base Class Definition
+// -------------------------
+
+.@{fa-css-prefix}, .fas, .far, .fal, .fad, .fab {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  text-rendering: auto;
+  line-height: 1;
+}

+ 6 - 0
healthcareio/server/static/css/fa/less/_fixed-width.less

@@ -0,0 +1,6 @@
+// Fixed Width Icons
+// -------------------------
+.@{fa-css-prefix}-fw {
+  text-align: center;
+  width: (20em / 16);
+}

File diff suppressed because it is too large
+ 1441 - 0
healthcareio/server/static/css/fa/less/_icons.less


+ 27 - 0
healthcareio/server/static/css/fa/less/_larger.less

@@ -0,0 +1,27 @@
+// Icon Sizes
+// -------------------------
+
+.larger(@factor) when (@factor > 0) {
+  .larger((@factor - 1));
+
+  .@{fa-css-prefix}-@{factor}x {
+    font-size: (@factor * 1em);
+  }
+}
+
+/* makes the font 33% larger relative to the icon container */
+.@{fa-css-prefix}-lg {
+  font-size: (4em / 3);
+  line-height: (3em / 4);
+  vertical-align: -.0667em;
+}
+
+.@{fa-css-prefix}-xs {
+  font-size: .75em;
+}
+
+.@{fa-css-prefix}-sm {
+  font-size: .875em;
+}
+
+.larger(10);

+ 18 - 0
healthcareio/server/static/css/fa/less/_list.less

@@ -0,0 +1,18 @@
+// List Icons
+// -------------------------
+
+.@{fa-css-prefix}-ul {
+  list-style-type: none;
+  margin-left: (@fa-li-width * 5/4);
+  padding-left: 0;
+
+  > li { position: relative; }
+}
+
+.@{fa-css-prefix}-li {
+  left: -@fa-li-width;
+  position: absolute;
+  text-align: center;
+  width: @fa-li-width;
+  line-height: inherit;
+}

+ 56 - 0
healthcareio/server/static/css/fa/less/_mixins.less

@@ -0,0 +1,56 @@
+// Mixins
+// --------------------------
+
+.fa-icon() {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: normal;
+  line-height: 1;
+}
+
+.fa-icon-rotate(@degrees, @rotation) {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation})";
+  transform: rotate(@degrees);
+}
+
+.fa-icon-flip(@horiz, @vert, @rotation) {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=@{rotation}, mirror=1)";
+  transform: scale(@horiz, @vert);
+}
+
+
+// Only display content to screen readers. A la Bootstrap 4.
+//
+// See: http://a11yproject.com/posts/how-to-hide-content/
+
+.sr-only() {
+  border: 0;
+  clip: rect(0,0,0,0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px;
+}
+
+// Use in conjunction with .sr-only to only display content when it's focused.
+//
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
+//
+// Credit: HTML5 Boilerplate
+
+.sr-only-focusable() {
+  &:active,
+  &:focus {
+    clip: auto;
+    height: auto;
+    margin: 0;
+    overflow: visible;
+    position: static;
+    width: auto;
+  }
+}

+ 24 - 0
healthcareio/server/static/css/fa/less/_rotated-flipped.less

@@ -0,0 +1,24 @@
+// Rotated & Flipped Icons
+// -------------------------
+
+.@{fa-css-prefix}-rotate-90  { .fa-icon-rotate(90deg, 1);  }
+.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); }
+.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); }
+
+.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); }
+.@{fa-css-prefix}-flip-vertical   { .fa-icon-flip(1, -1, 2); }
+.@{fa-css-prefix}-flip-both, .@{fa-css-prefix}-flip-horizontal.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(-1, -1, 2); }
+
+// Hook for IE8-9
+// -------------------------
+
+:root {
+  .@{fa-css-prefix}-rotate-90,
+  .@{fa-css-prefix}-rotate-180,
+  .@{fa-css-prefix}-rotate-270,
+  .@{fa-css-prefix}-flip-horizontal,
+  .@{fa-css-prefix}-flip-vertical,
+  .@{fa-css-prefix}-flip-both {
+    filter: none;
+  }
+}

+ 5 - 0
healthcareio/server/static/css/fa/less/_screen-reader.less

@@ -0,0 +1,5 @@
+// Screen Readers
+// -------------------------
+
+.sr-only { .sr-only(); }
+.sr-only-focusable { .sr-only-focusable(); }

File diff suppressed because it is too large
+ 2066 - 0
healthcareio/server/static/css/fa/less/_shims.less


+ 22 - 0
healthcareio/server/static/css/fa/less/_stacked.less

@@ -0,0 +1,22 @@
+// Stacked Icons
+// -------------------------
+
+.@{fa-css-prefix}-stack {
+  display: inline-block;
+  height: 2em;
+  line-height: 2em;
+  position: relative;
+  vertical-align: middle;
+  width: 2em;
+}
+
+.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x {
+  left: 0;
+  position: absolute;
+  text-align: center;
+  width: 100%;
+}
+
+.@{fa-css-prefix}-stack-1x { line-height: inherit; }
+.@{fa-css-prefix}-stack-2x { font-size: 2em; }
+.@{fa-css-prefix}-inverse { color: @fa-inverse; }

File diff suppressed because it is too large
+ 1453 - 0
healthcareio/server/static/css/fa/less/_variables.less


+ 23 - 0
healthcareio/server/static/css/fa/less/brands.less

@@ -0,0 +1,23 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+
+@font-face {
+  font-family: 'Font Awesome 5 Brands';
+  font-style: normal;
+  font-weight: 400;
+  font-display: @fa-font-display;
+  src: url('@{fa-font-path}/fa-brands-400.eot');
+  src: url('@{fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
+    url('@{fa-font-path}/fa-brands-400.woff2') format('woff2'),
+    url('@{fa-font-path}/fa-brands-400.woff') format('woff'),
+    url('@{fa-font-path}/fa-brands-400.ttf') format('truetype'),
+    url('@{fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
+}
+
+.fab {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}

+ 16 - 0
healthcareio/server/static/css/fa/less/fontawesome.less

@@ -0,0 +1,16 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+@import "_mixins.less";
+@import "_core.less";
+@import "_larger.less";
+@import "_fixed-width.less";
+@import "_list.less";
+@import "_bordered-pulled.less";
+@import "_animated.less";
+@import "_rotated-flipped.less";
+@import "_stacked.less";
+@import "_icons.less";
+@import "_screen-reader.less";

+ 23 - 0
healthcareio/server/static/css/fa/less/regular.less

@@ -0,0 +1,23 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 400;
+  font-display: @fa-font-display;
+  src: url('@{fa-font-path}/fa-regular-400.eot');
+  src: url('@{fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
+    url('@{fa-font-path}/fa-regular-400.woff2') format('woff2'),
+    url('@{fa-font-path}/fa-regular-400.woff') format('woff'),
+    url('@{fa-font-path}/fa-regular-400.ttf') format('truetype'),
+    url('@{fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
+}
+
+.far {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}

+ 24 - 0
healthcareio/server/static/css/fa/less/solid.less

@@ -0,0 +1,24 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import "_variables.less";
+
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 900;
+  font-display: @fa-font-display;
+  src: url('@{fa-font-path}/fa-solid-900.eot');
+  src: url('@{fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
+    url('@{fa-font-path}/fa-solid-900.woff2') format('woff2'),
+    url('@{fa-font-path}/fa-solid-900.woff') format('woff'),
+    url('@{fa-font-path}/fa-solid-900.ttf') format('truetype'),
+    url('@{fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
+}
+
+.fa,
+.fas {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 900;
+}

+ 6 - 0
healthcareio/server/static/css/fa/less/v4-shims.less

@@ -0,0 +1,6 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import '_variables.less';
+@import '_shims.less';

File diff suppressed because it is too large
+ 2562 - 0
healthcareio/server/static/css/fa/metadata/categories.yml


File diff suppressed because it is too large
+ 57762 - 0
healthcareio/server/static/css/fa/metadata/icons.json


File diff suppressed because it is too large
+ 21485 - 0
healthcareio/server/static/css/fa/metadata/icons.yml


File diff suppressed because it is too large
+ 2317 - 0
healthcareio/server/static/css/fa/metadata/shims.json


+ 298 - 0
healthcareio/server/static/css/fa/metadata/shims.yml

@@ -0,0 +1,298 @@
+area-chart:
+  name: chart-area
+arrow-circle-o-down:
+  name: arrow-alt-circle-down
+  prefix: far
+arrow-circle-o-left:
+  name: arrow-alt-circle-left
+  prefix: far
+arrow-circle-o-right:
+  name: arrow-alt-circle-right
+  prefix: far
+arrow-circle-o-up:
+  name: arrow-alt-circle-up
+  prefix: far
+arrows:
+  name: arrows-alt
+arrows-alt:
+  name: expand-arrows-alt
+arrows-h:
+  name: arrows-alt-h
+arrows-v:
+  name: arrows-alt-v
+bar-chart:
+  name: chart-bar
+  prefix: far
+bitbucket-square:
+  name: bitbucket
+  prefix: fab
+calendar:
+  name: calendar-alt
+calendar-o:
+  name: calendar
+  prefix: far
+caret-square-o-down:
+  name: caret-square-down
+  prefix: far
+caret-square-o-left:
+  name: caret-square-left
+  prefix: far
+caret-square-o-right:
+  name: caret-square-right
+  prefix: far
+caret-square-o-up:
+  name: caret-square-up
+  prefix: far
+cc:
+  name: closed-captioning
+  prefix: far
+chain-broken:
+  name: unlink
+circle-o-notch:
+  name: circle-notch
+circle-thin:
+  name: circle
+  prefix: far
+clipboard:
+  prefix: far
+clone:
+  prefix: far
+cloud-download:
+  name: cloud-download-alt
+cloud-upload:
+  name: cloud-upload-alt
+code-fork:
+  name: code-branch
+comment-alt:
+  name: comment-dots
+  prefix: far
+commenting:
+  name: comment-dots
+compass:
+  prefix: far
+compress:
+  name: compress-alt
+copyright:
+  prefix: far
+creative-commons:
+  prefix: fab
+credit-card:
+  prefix: far
+credit-card-alt:
+  name: credit-card
+cutlery:
+  name: utensils
+diamond:
+  name: gem
+  prefix: far
+eercast:
+  name: sellcast
+  prefix: fab
+eur:
+  name: euro-sign
+exchange:
+  name: exchange-alt
+expand:
+  name: expand-alt
+external-link:
+  name: external-link-alt
+external-link-square:
+  name: external-link-square-alt
+eye:
+  prefix: far
+eye-dropper:
+  name: eye-dropper
+  prefix: far
+eye-slash:
+  prefix: far
+eyedropper:
+  name: eye-dropper
+facebook:
+  name: facebook-f
+  prefix: fab
+facebook-official:
+  name: facebook
+  prefix: fab
+file-text:
+  name: file-alt
+files-o:
+  name: copy
+  prefix: far
+floppy-o:
+  name: save
+  prefix: far
+gbp:
+  name: pound-sign
+glass:
+  name: glass-martini
+google-plus:
+  name: google-plus-g
+  prefix: fab
+google-plus-circle:
+  name: google-plus
+  prefix: fab
+google-plus-official:
+  name: google-plus
+  prefix: fab
+hand-o-down:
+  name: hand-point-down
+  prefix: far
+hand-o-left:
+  name: hand-point-left
+  prefix: far
+hand-o-right:
+  name: hand-point-right
+  prefix: far
+hand-o-up:
+  name: hand-point-up
+  prefix: far
+header:
+  name: heading
+id-badge:
+  prefix: far
+ils:
+  name: shekel-sign
+inr:
+  name: rupee-sign
+intersex:
+  name: transgender
+jpy:
+  name: yen-sign
+krw:
+  name: won-sign
+level-down:
+  name: level-down-alt
+level-up:
+  name: level-up-alt
+life-ring:
+  prefix: far
+line-chart:
+  name: chart-line
+linkedin:
+  name: linkedin-in
+  prefix: fab
+linkedin-square:
+  name: linkedin
+  prefix: fab
+list-alt:
+  prefix: far
+long-arrow-down:
+  name: long-arrow-alt-down
+long-arrow-left:
+  name: long-arrow-alt-left
+long-arrow-right:
+  name: long-arrow-alt-right
+long-arrow-up:
+  name: long-arrow-alt-up
+map-marker:
+  name: map-marker-alt
+meanpath:
+  name: font-awesome
+  prefix: fab
+mobile:
+  name: mobile-alt
+money:
+  name: money-bill-alt
+  prefix: far
+object-group:
+  prefix: far
+object-ungroup:
+  prefix: far
+paste:
+  prefix: far
+pencil:
+  name: pencil-alt
+pencil-square:
+  name: pen-square
+pencil-square-o:
+  name: edit
+  prefix: far
+picture:
+  name: image
+pie-chart:
+  name: chart-pie
+refresh:
+  name: sync
+registered:
+  prefix: far
+repeat:
+  name: redo
+rub:
+  name: ruble-sign
+scissors:
+  name: cut
+shield:
+  name: shield-alt
+sign-in:
+  name: sign-in-alt
+sign-out:
+  name: sign-out-alt
+sliders:
+  name: sliders-h
+sort-alpha-asc:
+  name: sort-alpha-down
+sort-alpha-desc:
+  name: sort-alpha-down-alt
+sort-amount-asc:
+  name: sort-amount-down
+sort-amount-desc:
+  name: sort-amount-down-alt
+sort-asc:
+  name: sort-up
+sort-desc:
+  name: sort-down
+sort-numeric-asc:
+  name: sort-numeric-down
+sort-numeric-desc:
+  name: sort-numeric-down-alt
+spoon:
+  name: utensil-spoon
+star-half-empty:
+  name: star-half
+star-half-full:
+  name: star-half
+support:
+  name: life-ring
+  prefix: far
+tablet:
+  name: tablet-alt
+tachometer:
+  name: tachometer-alt
+television:
+  name: tv
+thumb-tack:
+  name: thumbtack
+thumbs-o-down:
+  name: thumbs-down
+  prefix: far
+thumbs-o-up:
+  name: thumbs-up
+  prefix: far
+ticket:
+  name: ticket-alt
+trash:
+  name: trash-alt
+trash-o:
+  name: trash-alt
+  prefix: far
+try:
+  name: lira-sign
+usd:
+  name: dollar-sign
+video-camera:
+  name: video
+vimeo:
+  name: vimeo-v
+  prefix: fab
+volume-control-phone:
+  name: phone-volume
+wheelchair-alt:
+  name: accessible-icon
+  prefix: fab
+window-maximize:
+  prefix: far
+window-restore:
+  prefix: far
+youtube-play:
+  name: youtube
+  prefix: fab

+ 688 - 0
healthcareio/server/static/css/fa/metadata/sponsors.yml

@@ -0,0 +1,688 @@
+accusoft:
+  icons:
+    - accusoft
+  label: Accusoft
+  url: 'https://www.accusoft.com'
+administrator-technology:
+  icons:
+    - stream
+  label: Administrator Technology
+  url: 'https://administrator.de'
+adversal:
+  icons:
+    - adversal
+  label: Adversal
+  url: 'https://www.adversal.com'
+affiliatetheme:
+  icons:
+    - affiliatetheme
+  label: affiliatetheme
+  url: 'https://affiliatetheme.io/en'
+algolia:
+  icons:
+    - algolia
+  label: Algolia
+  url: 'http://www.algolia.com'
+amazon-web-services:
+  icons:
+    - aws
+  label: Amazon Web Services
+  url: 'https://aws.amazon.com'
+amilia:
+  icons:
+    - amilia
+  label: Amilia
+  url: 'http://www.amilia.com'
+angry-creative:
+  icons:
+    - angrycreative
+  label: Angry Creative
+  url: 'https://angrycreative.se'
+app-signal:
+  icons:
+    - stroopwafel
+  label: AppSignal
+  url: 'https://appsignal.com'
+apper-systems-ab:
+  icons:
+    - apper
+  label: Apper Systems AB
+  url: 'http://www.apper.com'
+'asymmetrik,ltd':
+  icons:
+    - asymmetrik
+  label: 'Asymmetrik, Ltd.'
+  url: 'http://asymmetrik.com'
+ausmed-education:
+  icons:
+    - user-nurse
+  label: Ausmed Education
+  url: 'https://www.ausmed.com.au'
+avianex:
+  icons:
+    - avianex
+  label: avianex
+  url: 'https://www.avianex.de'
+bi-mobject:
+  icons:
+    - bimobject
+  label: BIMobject
+  url: 'http://bimobject.com'
+bity:
+  icons:
+    - bity
+  label: Bity
+  url: 'http://bity.com'
+blackpulp-designs:
+  icons:
+    - pray
+  label: Blackpulp Designs
+  url: 'https://www.blackpulp.com'
+blissbook:
+  icons:
+    - pen-fancy
+  label: Blissbook
+  url: 'https://blissbook.com'
+büromöbel-experte-gmb-h &co-kg:
+  icons:
+    - buromobelexperte
+  label: Büromöbel-Experte GmbH & Co. KG.
+  url: 'https://www.bueromoebel-experte.de'
+c-panel:
+  icons:
+    - cpanel
+  label: cPanel
+  url: 'http://cpanel.com'
+centercode:
+  icons:
+    - centercode
+  label: Centercode
+  url: 'https://www.centercode.com'
+cibltd:
+  icons:
+    - drum-steelpan
+  label: Comprehensive Insurance Brokers Limited
+  url: 'http://www.cibltd.com'
+clear-blue-technologies:
+  icons:
+    - solar-panel
+  label: Clear Blue Technologies
+  url: 'http://www.clearbluetechnologies.com'
+cloudscale-ch:
+  icons:
+    - cloudscale
+  label: cloudscale.ch
+  url: 'https://www.cloudscale.ch'
+cloudsmith:
+  icons:
+    - cloudsmith
+  label: Cloudsmith
+  url: 'https://cloudsmith.io'
+cloudversify:
+  icons:
+    - cloudversify
+  label: cloudversify
+  url: 'https://www.cloudversify.com'
+cuttlefish:
+  icons:
+    - cuttlefish
+  label: Cuttlefish
+  url: 'http://wearecuttlefish.com'
+cymedica:
+  icons:
+    - wave-square
+  label: CyMedica
+  url: 'https://www.cymedicaortho.com'
+darren-wiebe:
+  icons:
+    - church
+  label: Darren Wiebe
+deploy-dog:
+  icons:
+    - deploydog
+  label: deploy.dog
+  url: 'http://deploy.dog'
+deskpro:
+  icons:
+    - deskpro
+  label: Deskpro
+  url: 'http://www.deskpro.com'
+discourse:
+  icons:
+    - discourse
+  label: Discourse
+  url: 'https://discourse.org'
+doc-hub:
+  icons:
+    - dochub
+  label: DocHub
+  url: 'https://dochub.com'
+draft2-digital:
+  icons:
+    - draft2digital
+  label: Draft2Digital
+  url: 'http://draft2digital.com'
+dyalog-apl:
+  icons:
+    - dyalog
+  label: Dyalog APL
+  url: 'http://www.dyalog.com'
+econopublish:
+  icons:
+    - hat-cowboy-side
+  label: EconoPublish
+  url: 'https://www.econopublish.com'
+firstdraft:
+  icons:
+    - firstdraft
+  label: firstdraft
+  url: 'http://www.firstdraft.com'
+fleetplan:
+  icons:
+    - helicopter
+  label: FLEETPLAN
+  url: 'https://www.fleetplan.net'
+getaroom:
+  icons:
+    - archway
+    - dumbbell
+    - hotel
+    - map-marked
+    - map-marked-alt
+    - monument
+    - spa
+    - swimmer
+    - swimming-pool
+  label: getaroom
+  url: 'https://www.getaroom.com'
+git-kraken:
+  icons:
+    - gitkraken
+  label: GitKraken
+  url: 'https://www.gitkraken.com'
+gofore:
+  icons:
+    - gofore
+  label: Gofore
+  url: 'http://gofore.com'
+'gripfire,inc':
+  icons:
+    - gripfire
+  label: 'Gripfire, Inc.'
+  url: 'http://gripfire.io'
+harvard-medical-school:
+  icons:
+    - allergies
+    - ambulance
+    - band-aid
+    - briefcase-medical
+    - burn
+    - capsules
+    - diagnoses
+    - dna
+    - file-medical
+    - file-medical-alt
+    - first-aid
+    - heart
+    - heartbeat
+    - hospital
+    - hospital-alt
+    - hospital-symbol
+    - id-card-alt
+    - notes-medical
+    - pills
+    - plus
+    - prescription-bottle
+    - prescription-bottle-alt
+    - procedures
+    - smoking
+    - stethoscope
+    - syringe
+    - tablets
+    - thermometer
+    - user-md
+    - vial
+    - vials
+    - weight
+    - x-ray
+  label: Harvard Medical School
+  url: 'https://hms.harvard.edu'
+hips:
+  icons:
+    - hips
+  label: Hips
+  url: 'https://hips.com'
+hire-a-helper:
+  icons:
+    - archive
+    - box-open
+    - couch
+    - dolly
+    - people-carry
+    - route
+    - sign
+    - suitcase
+    - tape
+    - truck-loading
+    - truck-moving
+    - wine-glass
+  label: HireAHelper
+  url: 'https://www.hireahelper.com'
+hornbill:
+  icons:
+    - hornbill
+  label: Hornbill
+  url: 'https://www.hornbill.com'
+hotjar:
+  icons:
+    - hotjar
+  label: Hotjar
+  url: 'https://www.hotjar.com'
+hub-spot:
+  icons:
+    - hubspot
+  label: HubSpot
+  url: 'http://www.HubSpot.com'
+in-site-systems:
+  icons:
+    - toolbox
+  label: InSite Systems
+  url: 'https://www.insitesystems.com'
+inspira-bvba:
+  icons:
+    - chess-knight
+  label: Inspira bvba
+  url: 'https://www.inspira.be'
+joe-emison:
+  icons:
+    - blender-phone
+  label: Joe Emison
+joget:
+  icons:
+    - joget
+  label: Joget
+  url: 'http://www.joget.org'
+jon-galloway:
+  icons:
+    - crow
+  label: Jon Galloway
+kevin-barone:
+  icons:
+    - file-contract
+  label: Kevin Barone
+key-cdn:
+  icons:
+    - keycdn
+  label: KeyCDN
+  url: 'https://www.keycdn.com'
+korvue:
+  icons:
+    - korvue
+  label: Korvue
+  url: 'https://korvue.com'
+max-elman:
+  icons:
+    - frog
+  label: Max Elman
+med-apps:
+  icons:
+    - medapps
+  label: MedApps
+  url: 'http://medapps.com.au'
+medapps:
+  icons:
+    - book-medical
+    - clinic-medical
+    - comment-medical
+    - crutch
+    - disease
+    - hospital-user
+    - laptop-medical
+    - pager
+  label: MedApps
+  url: 'https://medapps.com.au'
+megaport:
+  icons:
+    - megaport
+  label: Megaport
+  url: 'https://www.megaport.com'
+mix:
+  icons:
+    - mix
+  label: Mix
+  url: 'http://mix.com'
+mizuni:
+  icons:
+    - mizuni
+  label: Mizuni
+  url: 'http://www.mizuni.com'
+mrt:
+  icons:
+    - medrt
+  label: MRT
+  url: 'https://medrt.co.jp'
+mylogin-info:
+  icons:
+    - user-shield
+  label: mylogin.info
+  url: 'https://www.mylogin.info'
+napster:
+  icons:
+    - napster
+  label: Napster
+  url: 'http://www.napster.com'
+nimblr:
+  icons:
+    - nimblr
+  label: Nimblr
+  url: 'https://nimblr.ai'
+nompse:
+  icons:
+    - chalkboard
+    - chalkboard-teacher
+  label: Nomp.se
+  url: 'https://nomp.se'
+ns8:
+  icons:
+    - ns8
+  label: NS8
+  url: 'https://www.ns8.com'
+nutritionix:
+  icons:
+    - nutritionix
+  label: Nutritionix
+  url: 'http://www.nutritionix.com'
+page4-corporation:
+  icons:
+    - page4
+  label: page4 Corporation
+  url: 'https://en.page4.com'
+pal-fed:
+  icons:
+    - palfed
+  label: PalFed
+  url: 'https://www.palfed.com'
+pcsg:
+  icons:
+    - horse-head
+  label: PCSG
+  url: 'https://www.pcsg.de'
+phabricator:
+  icons:
+    - phabricator
+  label: Phabricator
+  url: 'http://phacility.com'
+promo-wizard:
+  icons:
+    - hat-wizard
+  label: Promo Wizard
+  url: 'https://promowizard.co.uk'
+pulse-eight:
+  icons:
+    - volume-mute
+  label: Pulse-Eight
+  url: 'https://pulse-eight.com'
+purely-interactive:
+  icons:
+    - kiwi-bird
+  label: Purely Interactive
+  url: 'https://www.purelyinteractive.ca'
+pushed:
+  icons:
+    - pushed
+  label: Pushed
+  url: 'https://pushed.co'
+quin-scape:
+  icons:
+    - quinscape
+  label: QuinScape
+  url: 'https://www.quinscape.de'
+reacteurope:
+  icons:
+    - reacteurope
+  label: ReactEurope
+  url: 'https://www.react-europe.org'
+readme-io:
+  icons:
+    - readme
+  label: Readme.io
+  url: 'http://readme.io'
+red-river:
+  icons:
+    - red-river
+  label: red river
+  url: 'https://river.red'
+replyd:
+  icons:
+    - replyd
+  label: replyd
+resolving:
+  icons:
+    - resolving
+  label: Resolving
+  url: 'https://resolving.com'
+rev-io:
+  icons:
+    - rev
+  label: Rev.io
+  url: 'https://rev.io'
+rock-rms:
+  icons:
+    - rockrms
+  label: Rock RMS
+  url: 'http://rockrms.com'
+rocket-chat:
+  icons:
+    - comment
+    - comment-alt
+    - comment-dots
+    - comment-slash
+    - comments
+    - frown
+    - meh
+    - phone
+    - phone-slash
+    - poo
+    - quote-left
+    - quote-right
+    - rocketchat
+    - smile
+    - video
+    - video-slash
+  label: Rocket.Chat
+  url: 'https://rocket.chat'
+rodney-oliver:
+  icons:
+    - folder-minus
+    - folder-plus
+  label: Rodney Oliver
+schlix:
+  icons:
+    - schlix
+  label: SCHLIX
+  url: 'http://schlix.com'
+search-eng-in:
+  icons:
+    - searchengin
+  label: SearchEng.in
+  url: 'http://searcheng.in'
+service-stack:
+  icons:
+    - servicestack
+  label: ServiceStack
+  url: 'https://servicestack.net'
+shawn-storie:
+  icons:
+    - teeth
+    - teeth-open
+  label: Shawn Storie
+shopware:
+  icons:
+    - shopware
+  label: Shopware
+  url: 'https://shopware.de'
+shp:
+  icons:
+    - school
+  label: SHP
+  url: 'http://shp.com'
+silicon-barn-inc:
+  icons:
+    - project-diagram
+  label: Silicon Barn Inc
+  url: 'https://siliconbarn.com'
+sistrix:
+  icons:
+    - sistrix
+  label: SISTRIX
+  url: 'https://www.sistrix.de'
+smup:
+  icons:
+    - shoe-prints
+  label: Smup
+  url: 'https://www.atomsoftware.com.au'
+speakap:
+  icons:
+    - speakap
+  label: Speakap
+  url: 'https://speakap.com'
+stay-linked:
+  icons:
+    - box
+    - boxes
+    - clipboard-check
+    - clipboard-list
+    - dolly
+    - dolly-flatbed
+    - pallet
+    - shipping-fast
+    - truck
+    - warehouse
+  label: StayLinked
+  url: 'https://www.staylinked.com'
+sticker-mule:
+  icons:
+    - sticker-mule
+  label: Sticker Mule
+  url: 'https://stickermule.com'
+studio-vinari:
+  icons:
+    - studiovinari
+  label: Studio Vinari
+  url: 'https://studiovinari.com'
+supple:
+  icons:
+    - ad
+    - bullhorn
+    - bullseye
+    - comment-dollar
+    - comments-dollar
+    - envelope-open-text
+    - funnel-dollar
+    - mail-bulk
+    - poll
+    - poll-h
+    - search-dollar
+    - search-location
+    - supple
+  label: Supple
+  url: 'https://supple.com.au'
+the-red-yeti:
+  icons:
+    - the-red-yeti
+  label: The Red Yeti
+  url: 'http://theredyeti.com'
+the-us-sunnah-foundation:
+  icons:
+    - dollar-sign
+    - donate
+    - dove
+    - gift
+    - globe
+    - hand-holding-heart
+    - hand-holding-usd
+    - hand-holding-water
+    - hands-helping
+    - handshake
+    - heart
+    - leaf
+    - parachute-box
+    - piggy-bank
+    - ribbon
+    - seedling
+  label: The us-Sunnah Foundation
+  url: 'https://www.ussunnah.org'
+themeco:
+  icons:
+    - themeco
+  label: Themeco
+  url: 'https://theme.co'
+think-peaks:
+  icons:
+    - think-peaks
+  label: Think Peaks
+  url: 'https://thinkpeaks.com/'
+typo3:
+  icons:
+    - typo3
+  label: Typo3
+  url: 'https://typo3.org'
+uniregistry:
+  icons:
+    - uniregistry
+  label: Uniregistry
+  url: 'https://uniregistry.com'
+us-sunnah-foundation:
+  icons:
+    - ussunnah
+  label: us-Sunnah Foundation
+  url: 'https://www.ussunnah.org'
+vaadin:
+  icons:
+    - vaadin
+  label: Vaadin
+  url: 'http://vaadin.com'
+via:
+  icons:
+    - car-crash
+    - draw-polygon
+    - house-damage
+    - layer-group
+    - skull-crossbones
+    - user-injured
+  label: VIA Traffic Software Solutions
+  url: 'https://www.via.software'
+victor-costan:
+  icons:
+    - otter
+  label: Staphany Park and Victor Costan
+vnv:
+  icons:
+    - vnv
+  label: VNV
+  url: 'https://www.vnv.ch'
+weedable:
+  icons:
+    - bong
+    - cannabis
+    - hippo
+    - joint
+    - mortar-pestle
+    - prescription
+  label: Weedable
+  url: 'https://www.weedable.com'
+whmcs:
+  icons:
+    - whmcs
+  label: WHMCS
+  url: 'https://www.whmcs.com'
+workrails:
+  icons:
+    - briefcase
+  label: WorkRails
+  url: 'https://www.workrails.com'
+wpressr:
+  icons:
+    - wpressr
+  label: wpressr
+  url: 'https://wpressr.com'

+ 20 - 0
healthcareio/server/static/css/fa/scss/_animated.scss

@@ -0,0 +1,20 @@
+// Animated Icons
+// --------------------------
+
+.#{$fa-css-prefix}-spin {
+  animation: fa-spin 2s infinite linear;
+}
+
+.#{$fa-css-prefix}-pulse {
+  animation: fa-spin 1s infinite steps(8);
+}
+
+@keyframes fa-spin {
+  0% {
+    transform: rotate(0deg);
+  }
+
+  100% {
+    transform: rotate(360deg);
+  }
+}

+ 20 - 0
healthcareio/server/static/css/fa/scss/_bordered-pulled.scss

@@ -0,0 +1,20 @@
+// Bordered & Pulled
+// -------------------------
+
+.#{$fa-css-prefix}-border {
+  border: solid .08em $fa-border-color;
+  border-radius: .1em;
+  padding: .2em .25em .15em;
+}
+
+.#{$fa-css-prefix}-pull-left { float: left; }
+.#{$fa-css-prefix}-pull-right { float: right; }
+
+.#{$fa-css-prefix},
+.fas,
+.far,
+.fal,
+.fab {
+  &.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
+  &.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
+}

+ 21 - 0
healthcareio/server/static/css/fa/scss/_core.scss

@@ -0,0 +1,21 @@
+// Base Class Definition
+// -------------------------
+
+.#{$fa-css-prefix},
+.fas,
+.far,
+.fal,
+.fad,
+.fab {
+  -moz-osx-font-smoothing: grayscale;
+  -webkit-font-smoothing: antialiased;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  text-rendering: auto;
+  line-height: 1;
+}
+
+%fa-icon {
+  @include fa-icon;
+}

+ 6 - 0
healthcareio/server/static/css/fa/scss/_fixed-width.scss

@@ -0,0 +1,6 @@
+// Fixed Width Icons
+// -------------------------
+.#{$fa-css-prefix}-fw {
+  text-align: center;
+  width: $fa-fw-width;
+}

File diff suppressed because it is too large
+ 1441 - 0
healthcareio/server/static/css/fa/scss/_icons.scss


+ 23 - 0
healthcareio/server/static/css/fa/scss/_larger.scss

@@ -0,0 +1,23 @@
+// Icon Sizes
+// -------------------------
+
+// makes the font 33% larger relative to the icon container
+.#{$fa-css-prefix}-lg {
+  font-size: (4em / 3);
+  line-height: (3em / 4);
+  vertical-align: -.0667em;
+}
+
+.#{$fa-css-prefix}-xs {
+  font-size: .75em;
+}
+
+.#{$fa-css-prefix}-sm {
+  font-size: .875em;
+}
+
+@for $i from 1 through 10 {
+  .#{$fa-css-prefix}-#{$i}x {
+    font-size: $i * 1em;
+  }
+}

+ 18 - 0
healthcareio/server/static/css/fa/scss/_list.scss

@@ -0,0 +1,18 @@
+// List Icons
+// -------------------------
+
+.#{$fa-css-prefix}-ul {
+  list-style-type: none;
+  margin-left: $fa-li-width * 5/4;
+  padding-left: 0;
+
+  > li { position: relative; }
+}
+
+.#{$fa-css-prefix}-li {
+  left: -$fa-li-width;
+  position: absolute;
+  text-align: center;
+  width: $fa-li-width;
+  line-height: inherit;
+}

+ 56 - 0
healthcareio/server/static/css/fa/scss/_mixins.scss

@@ -0,0 +1,56 @@
+// Mixins
+// --------------------------
+
+@mixin fa-icon {
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  display: inline-block;
+  font-style: normal;
+  font-variant: normal;
+  font-weight: normal;
+  line-height: 1;
+}
+
+@mixin fa-icon-rotate($degrees, $rotation) {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
+  transform: rotate($degrees);
+}
+
+@mixin fa-icon-flip($horiz, $vert, $rotation) {
+  -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
+  transform: scale($horiz, $vert);
+}
+
+
+// Only display content to screen readers. A la Bootstrap 4.
+//
+// See: http://a11yproject.com/posts/how-to-hide-content/
+
+@mixin sr-only {
+  border: 0;
+  clip: rect(0, 0, 0, 0);
+  height: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
+  width: 1px;
+}
+
+// Use in conjunction with .sr-only to only display content when it's focused.
+//
+// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
+//
+// Credit: HTML5 Boilerplate
+
+@mixin sr-only-focusable {
+  &:active,
+  &:focus {
+    clip: auto;
+    height: auto;
+    margin: 0;
+    overflow: visible;
+    position: static;
+    width: auto;
+  }
+}

+ 24 - 0
healthcareio/server/static/css/fa/scss/_rotated-flipped.scss

@@ -0,0 +1,24 @@
+// Rotated & Flipped Icons
+// -------------------------
+
+.#{$fa-css-prefix}-rotate-90  { @include fa-icon-rotate(90deg, 1);  }
+.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); }
+.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); }
+
+.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); }
+.#{$fa-css-prefix}-flip-vertical   { @include fa-icon-flip(1, -1, 2); }
+.#{$fa-css-prefix}-flip-both, .#{$fa-css-prefix}-flip-horizontal.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(-1, -1, 2); }
+
+// Hook for IE8-9
+// -------------------------
+
+:root {
+  .#{$fa-css-prefix}-rotate-90,
+  .#{$fa-css-prefix}-rotate-180,
+  .#{$fa-css-prefix}-rotate-270,
+  .#{$fa-css-prefix}-flip-horizontal,
+  .#{$fa-css-prefix}-flip-vertical,
+  .#{$fa-css-prefix}-flip-both {
+    filter: none;
+  }
+}

+ 5 - 0
healthcareio/server/static/css/fa/scss/_screen-reader.scss

@@ -0,0 +1,5 @@
+// Screen Readers
+// -------------------------
+
+.sr-only { @include sr-only; }
+.sr-only-focusable { @include sr-only-focusable; }

File diff suppressed because it is too large
+ 2066 - 0
healthcareio/server/static/css/fa/scss/_shims.scss


+ 31 - 0
healthcareio/server/static/css/fa/scss/_stacked.scss

@@ -0,0 +1,31 @@
+// Stacked Icons
+// -------------------------
+
+.#{$fa-css-prefix}-stack {
+  display: inline-block;
+  height: 2em;
+  line-height: 2em;
+  position: relative;
+  vertical-align: middle;
+  width: ($fa-fw-width*2);
+}
+
+.#{$fa-css-prefix}-stack-1x,
+.#{$fa-css-prefix}-stack-2x {
+  left: 0;
+  position: absolute;
+  text-align: center;
+  width: 100%;
+}
+
+.#{$fa-css-prefix}-stack-1x {
+  line-height: inherit;
+}
+
+.#{$fa-css-prefix}-stack-2x {
+  font-size: 2em;
+}
+
+.#{$fa-css-prefix}-inverse {
+  color: $fa-inverse;
+}

File diff suppressed because it is too large
+ 1458 - 0
healthcareio/server/static/css/fa/scss/_variables.scss


+ 23 - 0
healthcareio/server/static/css/fa/scss/brands.scss

@@ -0,0 +1,23 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import 'variables';
+
+@font-face {
+  font-family: 'Font Awesome 5 Brands';
+  font-style: normal;
+  font-weight: 400;
+  font-display: $fa-font-display;
+  src: url('#{$fa-font-path}/fa-brands-400.eot');
+  src: url('#{$fa-font-path}/fa-brands-400.eot?#iefix') format('embedded-opentype'),
+  url('#{$fa-font-path}/fa-brands-400.woff2') format('woff2'),
+  url('#{$fa-font-path}/fa-brands-400.woff') format('woff'),
+  url('#{$fa-font-path}/fa-brands-400.ttf') format('truetype'),
+  url('#{$fa-font-path}/fa-brands-400.svg#fontawesome') format('svg');
+}
+
+.fab {
+  font-family: 'Font Awesome 5 Brands';
+  font-weight: 400;
+}

+ 16 - 0
healthcareio/server/static/css/fa/scss/fontawesome.scss

@@ -0,0 +1,16 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import 'variables';
+@import 'mixins';
+@import 'core';
+@import 'larger';
+@import 'fixed-width';
+@import 'list';
+@import 'bordered-pulled';
+@import 'animated';
+@import 'rotated-flipped';
+@import 'stacked';
+@import 'icons';
+@import 'screen-reader';

+ 23 - 0
healthcareio/server/static/css/fa/scss/regular.scss

@@ -0,0 +1,23 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import 'variables';
+
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 400;
+  font-display: $fa-font-display;
+  src: url('#{$fa-font-path}/fa-regular-400.eot');
+  src: url('#{$fa-font-path}/fa-regular-400.eot?#iefix') format('embedded-opentype'),
+  url('#{$fa-font-path}/fa-regular-400.woff2') format('woff2'),
+  url('#{$fa-font-path}/fa-regular-400.woff') format('woff'),
+  url('#{$fa-font-path}/fa-regular-400.ttf') format('truetype'),
+  url('#{$fa-font-path}/fa-regular-400.svg#fontawesome') format('svg');
+}
+
+.far {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 400;
+}

+ 24 - 0
healthcareio/server/static/css/fa/scss/solid.scss

@@ -0,0 +1,24 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import 'variables';
+
+@font-face {
+  font-family: 'Font Awesome 5 Free';
+  font-style: normal;
+  font-weight: 900;
+  font-display: $fa-font-display;
+  src: url('#{$fa-font-path}/fa-solid-900.eot');
+  src: url('#{$fa-font-path}/fa-solid-900.eot?#iefix') format('embedded-opentype'),
+  url('#{$fa-font-path}/fa-solid-900.woff2') format('woff2'),
+  url('#{$fa-font-path}/fa-solid-900.woff') format('woff'),
+  url('#{$fa-font-path}/fa-solid-900.ttf') format('truetype'),
+  url('#{$fa-font-path}/fa-solid-900.svg#fontawesome') format('svg');
+}
+
+.fa,
+.fas {
+  font-family: 'Font Awesome 5 Free';
+  font-weight: 900;
+}

+ 6 - 0
healthcareio/server/static/css/fa/scss/v4-shims.scss

@@ -0,0 +1,6 @@
+/*!
+ * Font Awesome Free 5.13.0 by @fontawesome - https://fontawesome.com
+ * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
+ */
+@import 'variables';
+@import 'shims';

File diff suppressed because it is too large
+ 1336 - 0
healthcareio/server/static/css/fa/sprites/brands.svg


File diff suppressed because it is too large
+ 463 - 0
healthcareio/server/static/css/fa/sprites/regular.svg


File diff suppressed because it is too large
+ 2995 - 0
healthcareio/server/static/css/fa/sprites/solid.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/500px.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/accessible-icon.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/accusoft.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/acquisitions-incorporated.svg


+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/adn.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path d="M248 167.5l64.9 98.8H183.1l64.9-98.8zM496 256c0 136.9-111.1 248-248 248S0 392.9 0 256 111.1 8 248 8s248 111.1 248 248zm-99.8 82.7L248 115.5 99.8 338.7h30.4l33.6-51.7h168.6l33.6 51.7h30.2z"/></svg>

+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/adobe.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M315.5 64h170.9v384L315.5 64zm-119 0H25.6v384L196.5 64zM256 206.1L363.5 448h-73l-30.7-76.8h-78.7L256 206.1z"/></svg>

File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/adversal.svg


+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/affiliatetheme.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M159.7 237.4C108.4 308.3 43.1 348.2 14 326.6-15.2 304.9 2.8 230 54.2 159.1c51.3-70.9 116.6-110.8 145.7-89.2 29.1 21.6 11.1 96.6-40.2 167.5zm351.2-57.3C437.1 303.5 319 367.8 246.4 323.7c-25-15.2-41.3-41.2-49-73.8-33.6 64.8-92.8 113.8-164.1 133.2 49.8 59.3 124.1 96.9 207 96.9 150 0 271.6-123.1 271.6-274.9.1-8.5-.3-16.8-1-25z"/></svg>

File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/airbnb.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/algolia.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/alipay.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/amazon-pay.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/amazon.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/amilia.svg


+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/android.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><path d="M420.55,301.93a24,24,0,1,1,24-24,24,24,0,0,1-24,24m-265.1,0a24,24,0,1,1,24-24,24,24,0,0,1-24,24m273.7-144.48,47.94-83a10,10,0,1,0-17.27-10h0l-48.54,84.07a301.25,301.25,0,0,0-246.56,0L116.18,64.45a10,10,0,1,0-17.27,10h0l47.94,83C64.53,202.22,8.24,285.55,0,384H576c-8.24-98.45-64.54-181.78-146.85-226.55"/></svg>

File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/angellist.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/angrycreative.svg


+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/angular.svg

@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M185.7 268.1h76.2l-38.1-91.6-38.1 91.6zM223.8 32L16 106.4l31.8 275.7 176 97.9 176-97.9 31.8-275.7zM354 373.8h-48.6l-26.2-65.4H168.6l-26.2 65.4H93.7L223.8 81.5z"/></svg>

File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/app-store-ios.svg


File diff suppressed because it is too large
+ 1 - 0
healthcareio/server/static/css/fa/svgs/brands/app-store.svg


+ 0 - 0
healthcareio/server/static/css/fa/svgs/brands/apper.svg


Some files were not shown because too many files changed in this diff