)]}'
{
  "id": "ac0372397cee2dbd93376dac0634f45caa0a1f90",
  "entries": [
    {
      "mode": 33188,
      "type": "blob",
      "id": "d4f4e473b29613cde21f50e02dc0ba9cba73fcd3",
      "name": "_redirects.json"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "0ae4a47601e013c42c0c1ec0997079b67c5144e9",
      "name": "adding-commit-info"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "780bc97ab3e8dd1ed59787ee7c1864e5252012ea",
      "name": "angular2-combined"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "ae9cfe82971c817f9f28474fbcd5d639a1f4d1f8",
      "name": "building-a-react-app"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "904caf3c1295b623bc33312ebe41019d0e3d8f67",
      "name": "building-a-vue-app"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "9904ae28757b5456dae66f3b0aa19a33aaa41dea",
      "name": "building-an-android-client-powered-by-a-grails-backend"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "380fa802841af36add958e15c7e801a9ebec147d",
      "name": "building-an-ios-objectc-client-powered-by-a-grails-backend"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "9a219b48806b7daae42515aff5763158ebe3af2d",
      "name": "building-an-ios-swift-client-powered-by-a-grails-backend"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "09385ec8c8d43e989b514ea98d17422e9dbcd6ea",
      "name": "categories"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "b81851d3f5265a6cd505d4368742eeb2d627d336",
      "name": "command-objects-and-forms"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "3b270be4a33303a793f245ec031a6705418c5781",
      "name": "creating-your-first-grails-app"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "b8b4e1a9c29f6c1b9deab1d727468694da3fc4be",
      "name": "database-per-tenant"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "e0306933101becf915dcc72aef5fc855c9789091",
      "name": "discriminator-per-tenant"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "69e355c6fc1e759aded03affe274b2575ab96fc1",
      "name": "gorm-event-listeners"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "9d361f3ff27852207bd3a8d8566557b8a54dd271",
      "name": "gorm-graphql-with-react-and-apollo"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "f46de8f2cec19c7c60df586b1f874db5c7ac465f",
      "name": "gorm-ratpack"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "eb28a4603832360830f55f63f92786d3f42957f0",
      "name": "gorm-without-grails"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "c0df10f3313db651414fa9f5257beeafed8f0ba3",
      "name": "grails-as-docker-container"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "3f8d7af49aff0c7413f26d908172a5677619b694",
      "name": "grails-async-promises"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "652473d32d0115000e1bed201a07cc9443fde46e",
      "name": "grails-basicauth"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "a25d8b52094e8e91dec565d0079f67a2794af8e5",
      "name": "grails-code-coverage"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "5370840a253c53a5ea5bf0d17264040411f3388c",
      "name": "grails-codenarc"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "c93ace19c9824e699e59302146c5f1c299cd9ef6",
      "name": "grails-configuration-properties-micronaut"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "8d1f55f587aa220501bfa060c653df29c806d9d3",
      "name": "grails-configuration-properties"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "4e7d34c0a69693586563e25810158afcb81a1489",
      "name": "grails-controller-testing"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "5673325ea6fd81cebdee20d64d81a3265d84fae0",
      "name": "grails-custom-security-tenant-resolver"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "395f096ae124d22ba1fef874dea8b0156b07004e",
      "name": "grails-data-access"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "d8b252a524e89f307c98f1b9f566d6c6bbcffd65",
      "name": "grails-database-migration"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "c637cafeb3e31c980d4d5ea7c734b8a533f6dc0c",
      "name": "grails-docker-bootbuildimage"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "139901162a70d4a08de17a66ffb465890192ee47",
      "name": "grails-docker-external-services"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "b22f39819ceb6f6f192604759b7175a634fb27f4",
      "name": "grails-dynamic-multiple-datasources"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "313655bca23d645a542c1cee7bfa7ae454005dfd",
      "name": "grails-elasticbeanstalk"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "767cc42de6cb4a79baaafa983cf2a3e958ae4a8c",
      "name": "grails-elasticsearch"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "8606af1d4fae76955b1d2fd21a2a10589b815858",
      "name": "grails-email"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "9c18d81ba9b650c95bfff9c1eab7c7f6085a2f24",
      "name": "grails-events"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "65d775ff6056a917672ba033d7cd69c3c9a0946b",
      "name": "grails-fields-custom-widgets-and-wrappers"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "bcd187fc4be74a6cefe23a3385fd4959d2833d6c",
      "name": "grails-file-download-excel"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "051043e701b708e064697d31d1d78843216ff8b8",
      "name": "grails-geb-multiple-browsers"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "141859037a42397d858285759e143af2d54ac1a2",
      "name": "grails-github-actions-cicd"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "d410af275fc55ca06f13f2b9e032531421967392",
      "name": "grails-google-cloud"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "c7eb0fc4633202ea52b8db4b4a05ed20378fa640",
      "name": "grails-google-home"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "038354e424a14af08d6aa8d377236956cff7bd35",
      "name": "grails-gorm-data-services"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "d9ba0386058fa1f763fe03434d95ce2e9fbf5ee3",
      "name": "grails-htmx"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "102c4845ab34395d6c981d873917892d5c873d93",
      "name": "grails-javamelody"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "3880f5317471e8ffcf0d7a98c958f7a96c99a8cf",
      "name": "grails-logicaldelete"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "1f0cb3852ceca537a828d97b2b62c20fe62772e2",
      "name": "grails-micronaut-http"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "f10a5ff0362abe6ce57c25cbd82795dcb797ba63",
      "name": "grails-micronaut-kafka"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "3799e4596cbe5685cbe949f9e71557a9e2347120",
      "name": "grails-mock-basics"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "a30ebcfbe9566b24df3f0d8df1dfe36f30d97d3e",
      "name": "grails-mock-http-server"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "82c57999333d88675f38a554024ba1d93a4c2fd4",
      "name": "grails-mock-logging-slf4j-test"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "05920730885ae4f34825ab9ea78c0537a9e57459",
      "name": "grails-multi-datasource"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "ee45311bc2570a1f6f15238efddfb5e9e4c84158",
      "name": "grails-multi-module"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "1d19dc37d6dbc1b3ac0742e54b1b9488c5f22f4b",
      "name": "grails-multi-project-build"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "2bc7c77f99d4cf54595df3f2ee5234692ab7dc96",
      "name": "grails-oauth-google"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "29f868e50a9bfd1d92f7ab78eec3a0ebec4d7d34",
      "name": "grails-oauth-twitter"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "56b87fa6dc873a8e8f7439b033891a2571f8bda6",
      "name": "grails-on-circleci-basics"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "4cc7e81eb80359adc894bf1042cb1b73ae10607c",
      "name": "grails-on-github-actions"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "fe2882d436dfd0682ca43210008f19c799cbc5c1",
      "name": "grails-on-travis-basics"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "ca407c21596388e0f6c65f453610025c8e81de99",
      "name": "grails-quickcast-logging"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "eeb1db02c32cdc9cb56e62bd045459bd1b8c16ac",
      "name": "grails-quickcasts-angularjs-scaffolding-with-grails-3"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "7e1c6c13e9fc19cb68f40bd713e6995f74883516",
      "name": "grails-quickcasts-developing-grails-3-applications-with-intellij-idea"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "391fd48f36f01504c142e1538da2573973df9bf8",
      "name": "grails-quickcasts-interceptors"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "1c3e67fd5486ea5d446b0b333ab82ba3a3be55ef",
      "name": "grails-quickcasts-json-views"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "d19fd107d9bf910245ea0761ac9eb10065d3b6d7",
      "name": "grails-quickcasts-multi-project-builds"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "911178ecb7f7f92cdf46eb888772ecb664b96e54",
      "name": "grails-quickcasts-retrieving-config-values"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "ab0cad3facb6b4247629de123e1c4151938261bc",
      "name": "grails-rabbitmq"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "e7ff149c4835eb1dabdf097b2097515fe47e3ec7",
      "name": "grails-rest-library"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "eb5ee3cf88e23d7a90fa40599027f0e1c4df3a8e",
      "name": "grails-restapi-angularjs"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "33d1d94d875f52a787a169e357da7e4c633474f8",
      "name": "grails-scheduled"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "20ee7207ea48d782ef2765185f7473e1539d164b",
      "name": "grails-schwartz"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "94cd6626f9523f231cb6d11b1c7ed3eccd1c4d21",
      "name": "grails-soap"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "4e70547e9687202b78d940f48fde12ff62b924b2",
      "name": "grails-spock-test-tour"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "0634d6d03690183d69f4ba76f786e284697ec77e",
      "name": "grails-spring-security-core-plugin-custom-authentication"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "07002d4edce2759fd52ef58dd28141809f0781ef",
      "name": "grails-spring-security"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "451180d617b884d32f56b5a85baba13506baa9bc",
      "name": "grails-taglib-wyswyg-trix"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "876ace58d99535600e14f35a6cbebe18ac482dfb",
      "name": "grails-tailwindcss"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "e2c9ca5d3f257346af17a9ce2851ac2896b0222f",
      "name": "grails-test-domain-class-constraints"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "daa5ffda30aab9065cc96f0ab9aba4a3d988717f",
      "name": "grails-test-security"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "6dfd68ac08179bf4f7051c1f3e3b4050346b2b3c",
      "name": "grails-transactional-events"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "43604c89ba9287721ff85580e60aac8ff391a66d",
      "name": "grails-tvmlapp"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "34f839b674ec5f1c493c444b7787d4e986878e97",
      "name": "grails-upload-file"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "0acc62b375aa5ec22bc3ba54f026aae581a53c6e",
      "name": "grails-vite-spa"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "89debfb22351e8b3009621287ecd28f9ce56a5ca",
      "name": "grails-vs-nodejs"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "2299ce52d57445bf7b5459731c4958129705bbcc",
      "name": "grails-vue-combined"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "5b9015ad6d5dcb292b71820ffea928742cd93c39",
      "name": "grails-yourkit-profiling"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "3ac3a71180867b608a6dd9741785c7cbc4796d09",
      "name": "grails_i18n"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "34764cfe4a868ae6fba532634167b99f5c9be31d",
      "name": "grails_url_mappings"
    },
    {
      "mode": 33188,
      "type": "blob",
      "id": "94620e6df78c2eb19e0b24afcbe45765c8bc65f8",
      "name": "index.html"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "72b2c1b92727c033917040aa939b70114bc617e8",
      "name": "neo4j-movies"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "627a7a016bfccd71c6f4919ce299fd7467ba204c",
      "name": "querying-gorm-dynamic-finders"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "8ae6aca80677bd511b46ebe74b14c2790c2f232b",
      "name": "react-combined"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "5515adaf68956f0a52afbfc317138bee9f43225c",
      "name": "react-spring-security"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "22293ae76c8eaea6dce2531175f13a0ff7bf507f",
      "name": "rest-hibernate"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "8a50df7811746c44bc4c08a37a01cceb6d89b8c8",
      "name": "rest-mongodb"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "22adfcf62ac774efdbfb16fc8422a048f6e0720e",
      "name": "server-sent-events"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "13c8a8d9e31c4c40dc61b8f8986ad64c6afcec60",
      "name": "tags"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "12c89411af61cedbee1a52c668f30583d65571d5",
      "name": "using-hal-with-json-views"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "2e39a04e7464396e6a485591272a138ca79d4a5a",
      "name": "using-the-react-profile"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "125d3ac0ff2a6fe93170b732a0040d7bfd4a5999",
      "name": "using-the-vue-profile"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "fb41e369bf5d069c80471919eec675873f52a72e",
      "name": "vaadin-grails"
    },
    {
      "mode": 16384,
      "type": "tree",
      "id": "287566e612e9a611f10ca667d0dc6f92436e61be",
      "name": "versions"
    }
  ]
}
