# DO NOT EDIT
# generated with the following command:
#
#   tools/js/bower2bazel.py -w lib/js/bower_archives.bzl -b lib/js/bower_components.bzl
#

load("//tools/bzl:js.bzl", "bower_archive")

def load_bower_archives():
    bower_archive(
        name = "accessibility-developer-tools",
        package = "accessibility-developer-tools",
        version = "2.12.0",
        sha1 = "88ae82dcdeb6c658f76eff509d0ee425cae14d49",
    )
    bower_archive(
        name = "async",
        package = "async",
        version = "1.5.2",
        sha1 = "1ec975d3b3834646a7e3d4b7e68118b90ed72508",
    )
    bower_archive(
        name = "chai",
        package = "chai",
        version = "3.5.0",
        sha1 = "849ad3ee7c77506548b7b5db603a4e150b9431aa",
    )
    bower_archive(
        name = "font-roboto",
        package = "PolymerElements/font-roboto",
        version = "1.0.3",
        sha1 = "edf478d20ae2fc0704d7c155e20162caaabdd5ae",
    )
    bower_archive(
        name = "iron-a11y-announcer",
        package = "PolymerElements/iron-a11y-announcer",
        version = "1.0.6",
        sha1 = "14aed1e1b300ea344e80362e875919ea3d104dcc",
    )
    bower_archive(
        name = "iron-a11y-keys-behavior",
        package = "PolymerElements/iron-a11y-keys-behavior",
        version = "1.1.9",
        sha1 = "f58358ee652c67e6e721364ba50fb77a2ece1465",
    )
    bower_archive(
        name = "iron-behaviors",
        package = "PolymerElements/iron-behaviors",
        version = "1.0.18",
        sha1 = "e231a1a02b090f5183db917639fdb96cdd0dca18",
    )
    bower_archive(
        name = "iron-checked-element-behavior",
        package = "PolymerElements/iron-checked-element-behavior",
        version = "1.0.6",
        sha1 = "93ad3554cec119d8c5732d1c722ad113e1866370",
    )
    bower_archive(
        name = "iron-fit-behavior",
        package = "PolymerElements/iron-fit-behavior",
        version = "1.2.7",
        sha1 = "01c485fbf898307029bbb72ac7e132db1570a842",
    )
    bower_archive(
        name = "iron-flex-layout",
        package = "PolymerElements/iron-flex-layout",
        version = "1.3.7",
        sha1 = "4d4cf3232cf750a17a7df0a37476117f831ac633",
    )
    bower_archive(
        name = "iron-form-element-behavior",
        package = "PolymerElements/iron-form-element-behavior",
        version = "1.0.7",
        sha1 = "7b5a79e02cc32f0918725dd26925d0df1e03ed12",
    )
    bower_archive(
        name = "iron-menu-behavior",
        package = "PolymerElements/iron-menu-behavior",
        version = "2.0.1",
        sha1 = "139528ee1e8d86257e2aa445de7761b8ec70ae91",
    )
    bower_archive(
        name = "iron-meta",
        package = "PolymerElements/iron-meta",
        version = "1.1.3",
        sha1 = "f77eba3f6f6817f10bda33918bde8f963d450041",
    )
    bower_archive(
        name = "iron-resizable-behavior",
        package = "polymerelements/iron-resizable-behavior",
        version = "1.0.6",
        sha1 = "719c2a8a1a784f8aefcdeef41fcc2e5a03518d9e",
    )
    bower_archive(
        name = "iron-validatable-behavior",
        package = "PolymerElements/iron-validatable-behavior",
        version = "1.1.2",
        sha1 = "7111f34ff32e1510131dfbdb1eaa51bfa291e8be",
    )
    bower_archive(
        name = "lodash",
        package = "lodash",
        version = "3.10.1",
        sha1 = "2f207a8293c4c554bf6cf071241f7a00dc513d3a",
    )
    bower_archive(
        name = "mocha",
        package = "mocha",
        version = "3.5.3",
        sha1 = "c14f149821e4e96241b20f85134aa757b73038f1",
    )
    bower_archive(
        name = "neon-animation",
        package = "polymerelements/neon-animation",
        version = "1.2.5",
        sha1 = "588d289f779d02b21ce5b676e257bbd6155649e8",
    )
    bower_archive(
        name = "paper-behaviors",
        package = "polymerelements/paper-behaviors",
        version = "1.0.13",
        sha1 = "a81eab28a952e124c208430e17508d9a1aae4ee7",
    )
    bower_archive(
        name = "paper-material",
        package = "polymerelements/paper-material",
        version = "1.0.7",
        sha1 = "159b7fb6b13b181c4276b25f9c6adbeaacb0d42b",
    )
    bower_archive(
        name = "paper-ripple",
        package = "polymerelements/paper-ripple",
        version = "1.0.10",
        sha1 = "21199db50d02b842da54bd6f4f1d1b10b474e893",
    )
    bower_archive(
        name = "paper-styles",
        package = "PolymerElements/paper-styles",
        version = "1.3.1",
        sha1 = "4ee9c692366949a754e0e39f8031aa60ce66f24d",
    )
    bower_archive(
        name = "sinon-chai",
        package = "sinon-chai",
        version = "2.14.0",
        sha1 = "78f0dc184efe47012a2b1b9a16a4289acf8300dc",
    )
    bower_archive(
        name = "sinonjs",
        package = "sinonjs",
        version = "1.17.1",
        sha1 = "a26a6aab7358807de52ba738770f6ac709afd240",
    )
    bower_archive(
        name = "stacky",
        package = "stacky",
        version = "1.3.2",
        sha1 = "d6c07a0112ab2e9677fe085933744466a89232fb",
    )
    bower_archive(
        name = "web-animations-js",
        package = "web-animations/web-animations-js",
        version = "2.3.1",
        sha1 = "2ba5548d36188fe54555eaad0a576de4b027661e",
    )
    bower_archive(
        name = "webcomponentsjs",
        package = "webcomponents/webcomponentsjs",
        version = "0.7.24",
        sha1 = "559227f8ee9db9bfbd81989f24510cc0c1bfc65c",
    )
