From cfd85c35c36edb667a84b8e603787ebca345674e Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Tue, 2 Sep 2025 17:47:35 -0400 Subject: [PATCH 01/17] Added docker compose --- client/.dockerignore | 4 ++++ client/.env | 2 ++ client/.env.development | 2 -- client/.env.production | 0 client/Dockerfile | 18 ++++++++++++++++++ client/nginx.conf | 19 +++++++++++++++++++ 6 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 client/.dockerignore create mode 100644 client/.env delete mode 100644 client/.env.development delete mode 100644 client/.env.production create mode 100644 client/Dockerfile create mode 100644 client/nginx.conf diff --git a/client/.dockerignore b/client/.dockerignore new file mode 100644 index 00000000..130bf871 --- /dev/null +++ b/client/.dockerignore @@ -0,0 +1,4 @@ +node_modules +dist +Dockerfile +.dockerignore \ No newline at end of file diff --git a/client/.env b/client/.env new file mode 100644 index 00000000..dcceaa22 --- /dev/null +++ b/client/.env @@ -0,0 +1,2 @@ +VITE_API_URL=/api +VITE_PORT=80 \ No newline at end of file diff --git a/client/.env.development b/client/.env.development deleted file mode 100644 index c27b36c0..00000000 --- a/client/.env.development +++ /dev/null @@ -1,2 +0,0 @@ -VITE_API_URL=http://localhost:3001 -VITE_PORT=4321 \ No newline at end of file diff --git a/client/.env.production b/client/.env.production deleted file mode 100644 index e69de29b..00000000 diff --git a/client/Dockerfile b/client/Dockerfile new file mode 100644 index 00000000..6da880bb --- /dev/null +++ b/client/Dockerfile @@ -0,0 +1,18 @@ +FROM node:18 AS build +WORKDIR /app + +COPY package*.json ./ +RUN npm install + +COPY . . +RUN npm run build + + +FROM nginx:alpine + +RUN rm -rf /usr/share/nginx/html/* +COPY --from=build /app/dist /usr/share/nginx/html +COPY nginx.conf /etc/nginx/conf.d/default.conf + +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/client/nginx.conf b/client/nginx.conf new file mode 100644 index 00000000..bf3bea40 --- /dev/null +++ b/client/nginx.conf @@ -0,0 +1,19 @@ +server { + listen 80; + root /usr/share/nginx/html; + + index index.html; + + location / { + try_files $uri /index.html; + } + + location /api/ { + proxy_pass http://backend:3001/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection 'upgrade'; + proxy_set_header Host $host; + proxy_cache_bypass $http_upgrade; + } +} From 61c2b1f16bc394ae5fd36c7e49d3ab60355fab12 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:13:55 -0400 Subject: [PATCH 02/17] Added github workflow --- client/nginx.conf | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/client/nginx.conf b/client/nginx.conf index bf3bea40..abb379a2 100644 --- a/client/nginx.conf +++ b/client/nginx.conf @@ -14,6 +14,11 @@ server { proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; + + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + + proxy_cookie_path /api/ /; proxy_cache_bypass $http_upgrade; } } From 0ab955959e93c7e2ec0eff54c45c24b7c650aec7 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:14:10 -0400 Subject: [PATCH 03/17] fe --- .github/workflows/pipeline.yaml | 53 +++++++++++++++++++ backend/.dockerignore | 4 ++ backend/.gitignore | 2 +- backend/Dockerfile | 25 +++++++++ backend/package-lock.json | 28 ++++++++++ backend/package.json | 2 +- backend/src/app.ts | 27 ++++++---- backend/src/controllers/authController.ts | 13 +++-- backend/src/controllers/textbookController.ts | 1 - backend/src/controllers/userController.ts | 8 +-- backend/src/middleware/authMiddleware.ts | 3 +- backend/src/models/db.ts | 2 +- backend/src/models/miscModel.ts | 8 +-- backend/src/models/rentalModel.ts | 4 +- backend/src/models/textbookModel.ts | 6 +-- backend/src/models/tokenModel.ts | 2 +- backend/src/models/userModel.ts | 4 +- backend/src/routes/authRoutes.ts | 4 +- backend/src/routes/rentalRoutes.ts | 6 +-- backend/src/routes/userRoutes.ts | 4 +- backend/tsconfig.json | 23 ++++---- backend/tsconfig.tsbuildinfo | 1 + docker-compose.yml | 26 +++++++++ 23 files changed, 201 insertions(+), 55 deletions(-) create mode 100644 .github/workflows/pipeline.yaml create mode 100644 backend/.dockerignore create mode 100644 backend/Dockerfile create mode 100644 backend/tsconfig.tsbuildinfo create mode 100644 docker-compose.yml diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml new file mode 100644 index 00000000..ea5ef2d3 --- /dev/null +++ b/.github/workflows/pipeline.yaml @@ -0,0 +1,53 @@ +name: pipeline +on: + push: + branches: + - "deployment" + +permissions: + packages: write + +jobs: + build-and-push-image: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to the Container registry + uses: docker/login-action@v3 + with: + registry: https://ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + push: true + tags: | + ghcr.io/campus-cart:latest + ghcr.io/campus-cart:${{ github.sha }} + + deploy: + runs-on: ubuntu-latest + needs: + - build-and-push-image + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: create env file + run: | + echo "GIT_COMMIT_HASH=${{ github.sha }}" >> ./envfile + + # - name: Docker Stack Deploy + # uses: cssnr/stack-deploy-action@v1 + # with: + # name: zenfulstats + # file: docker-stack.yaml + # host: zenful.site + # user: deploy + # ssh_key: ${{ secrets.DEPLOY_SSH_PRIVATE_KEY }} + # env_file: ./envfile \ No newline at end of file diff --git a/backend/.dockerignore b/backend/.dockerignore new file mode 100644 index 00000000..130bf871 --- /dev/null +++ b/backend/.dockerignore @@ -0,0 +1,4 @@ +node_modules +dist +Dockerfile +.dockerignore \ No newline at end of file diff --git a/backend/.gitignore b/backend/.gitignore index e16eaca2..a0d218e3 100644 --- a/backend/.gitignore +++ b/backend/.gitignore @@ -1,3 +1,3 @@ node_modules -dist/** +dist .env \ No newline at end of file diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 00000000..5750a770 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,25 @@ +FROM node:20 +WORKDIR /app +COPY package*.json ./ +RUN npm install +COPY . . + +RUN npm run build + +ENV NODE_ENV=production +ENV PORT=3001 +EXPOSE 3001 + +ENV FRONTEND_ORIGIN=http://client:80 +ENV DB_PORT=5432 +ENV POSTGRES_HOST=host.docker.internal + +# Use docker secrets +ENV DB_PASSWORD=mysecretpassword +ENV DB_USERNAME=postgres +ENV ACCESS_TOKEN_SECRET=ASJKHFBA!IASKDJFBAS +ENV REFRESH_TOKEN_SECRET=ASJKHFB@21234314!asdsdaffasIASKDJFBAS + + +CMD ["npm", "run", "start"] + diff --git a/backend/package-lock.json b/backend/package-lock.json index 4c581658..bf289628 100644 --- a/backend/package-lock.json +++ b/backend/package-lock.json @@ -17,6 +17,7 @@ "dotenv": "^16.5.0", "express": "^4.21.2", "express-async-errors": "^3.1.1", + "express-rate-limit": "^8.0.1", "jsonwebtoken": "^9.0.2", "morgan": "^1.10.1", "multer": "^2.0.2", @@ -4101,6 +4102,24 @@ "express": "^4.16.2" } }, + "node_modules/express-rate-limit": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.0.1.tgz", + "integrity": "sha512-aZVCnybn7TVmxO4BtlmnvX+nuz8qHW124KKJ8dumsBsmv5ZLxE0pYu7S2nwyRBGHHCAzdmnGyrc5U/rksSPO7Q==", + "license": "MIT", + "dependencies": { + "ip-address": "10.0.1" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, "node_modules/express/node_modules/body-parser": { "version": "1.20.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", @@ -4769,6 +4788,15 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", diff --git a/backend/package.json b/backend/package.json index 25602b5b..16952192 100644 --- a/backend/package.json +++ b/backend/package.json @@ -2,7 +2,6 @@ "name": "backend", "version": "1.0.0", "main": "dist/app.js", - "type": "module", "scripts": { "docker-build:dev": "docker build -t backend-img:0.0.1 -f Dockerfile.dev .", "docker-run:dev": "docker run -it -p 3000:3000 --name backend-container -v ./:/app -v my-node-modules:/app/node_modules backend-img:0.0.1", @@ -26,6 +25,7 @@ "dotenv": "^16.5.0", "express": "^4.21.2", "express-async-errors": "^3.1.1", + "express-rate-limit": "^8.0.1", "jsonwebtoken": "^9.0.2", "morgan": "^1.10.1", "multer": "^2.0.2", diff --git a/backend/src/app.ts b/backend/src/app.ts index d6de34f0..66ab00d5 100644 --- a/backend/src/app.ts +++ b/backend/src/app.ts @@ -10,19 +10,26 @@ import bodyParser from "body-parser"; import cookieParser from "cookie-parser"; import swaggerUi from "swagger-ui-express"; -import { swaggerSpec } from "./swagger.ts"; +import { swaggerSpec } from "./swagger"; -import userRoutes from "./routes/userRoutes.ts"; -import rentalRoutes from "./routes/rentalRoutes.ts"; -import authRoutes from "./routes/authRoutes.ts"; -import textbookRoutes from "./routes/textbookRoute.ts"; -import miscRoutes from "./routes/miscRoutes.ts"; -import uploadRoutes from "./routes/uploadRoutes.ts"; +import userRoutes from "./routes/userRoutes"; +import rentalRoutes from "./routes/rentalRoutes"; +import authRoutes from "./routes/authRoutes"; +import textbookRoutes from "./routes/textbookRoute"; +import miscRoutes from "./routes/miscRoutes"; +import uploadRoutes from "./routes/uploadRoutes"; import cors from "cors"; import morgan from "morgan"; +import RateLimit from "express-rate-limit"; + +const limiter = RateLimit({ + windowMs: 1 * 60 * 1000, + max: 30, +}); const app = express(); +app.use(limiter); const PORT = process.env.PORT || 3001; const NODE_ENV = process.env.NODE_ENV || "development"; const FRONTEND_ORIGIN = process.env.FRONTEND_ORIGIN || "http://localhost:4321"; @@ -59,7 +66,8 @@ app.use((err: Error, req: Request, res: Response, next: NextFunction) => { } }); -app.use("/docs", swaggerUi.serve, swaggerUi.setup(swaggerSpec)); +if (NODE_ENV !== "production") + app.use("/docs", swaggerUi.serve, swaggerUi.setup(swaggerSpec)); app.get("/", (req: Request, res: Response) => { res.send( @@ -94,5 +102,6 @@ app.use((req, res, next) => { app.listen(PORT, () => { console.log(`Server running for ${NODE_ENV} at http://localhost:${PORT}`); - console.log(`JsDoc running on http://localhost:${PORT}/docs`); + if (NODE_ENV !== "production") + console.log(`JsDoc running on http://localhost:${PORT}/docs`); }); diff --git a/backend/src/controllers/authController.ts b/backend/src/controllers/authController.ts index fea271bf..cf952d0c 100644 --- a/backend/src/controllers/authController.ts +++ b/backend/src/controllers/authController.ts @@ -1,4 +1,4 @@ -import { type UserPayload } from "../types/user.ts"; +import { type UserPayload } from "../types/user"; import { type Request, type Response } from "express"; import bcrypt from "bcrypt"; import jwt from "jsonwebtoken"; @@ -8,8 +8,8 @@ import { deleteToken, isRefreshTokenRegistered, deleteTokenById, -} from "../models/tokenModel.ts"; -import { findUserByEmail, findUserById } from "../models/userModel.ts"; +} from "../models/tokenModel"; +import { findUserByEmail, findUserById } from "../models/userModel"; export async function getUserInformation(req: Request, res: Response) { const { id } = req.user!; // This route is protected which guarantees req.user exists @@ -66,13 +66,15 @@ export async function postLoginUser(req: Request, res: Response) { .cookie("accessToken", accessToken, { httpOnly: true, secure: process.env.NODE_ENV === "production", - sameSite: "lax", + sameSite: "none", + path: "/", expires: new Date(Date.now() + 1800000), // expires in 30 minutes }) .cookie("refreshToken", refreshToken, { httpOnly: true, secure: process.env.NODE_ENV === "production", - sameSite: "lax", + sameSite: "none", + path: "/", expires: new Date(Date.now() + 604800000), // expires in 7 days }) .json({}); @@ -97,6 +99,7 @@ export async function postRefreshToken(req: Request, res: Response) { jwt.verify( refreshToken, process.env.REFRESH_TOKEN_SECRET as string, + //@ts-expect-error Not sure why typescript doesn't like this (err: unknown, user: UserPayload) => { if (err) { res.status(403).json({ error: err }); diff --git a/backend/src/controllers/textbookController.ts b/backend/src/controllers/textbookController.ts index ca25e573..19a59652 100644 --- a/backend/src/controllers/textbookController.ts +++ b/backend/src/controllers/textbookController.ts @@ -6,7 +6,6 @@ import { findAllTextbooks, findTextbook, removeTextbook, - removeTextbook, } from "../models/textbookModel"; export async function getAllTextbooks(req: Request, res: Response) { diff --git a/backend/src/controllers/userController.ts b/backend/src/controllers/userController.ts index 68d0779d..ea68c34e 100644 --- a/backend/src/controllers/userController.ts +++ b/backend/src/controllers/userController.ts @@ -5,10 +5,10 @@ import { findUserById, addUser, findUserByEmail, -} from "../models/userModel.ts"; -import { findRentalsFromUser } from "../models/rentalModel.ts"; -import { findTextbooksFromUser } from "../models/textbookModel.ts"; -import { findMiscFromUser } from "../models/miscModel.ts"; +} from "../models/userModel"; +import { findRentalsFromUser } from "../models/rentalModel"; +import { findTextbooksFromUser } from "../models/textbookModel"; +import { findMiscFromUser } from "../models/miscModel"; export async function getUserById( req: Request, diff --git a/backend/src/middleware/authMiddleware.ts b/backend/src/middleware/authMiddleware.ts index 48782bff..254f66e8 100644 --- a/backend/src/middleware/authMiddleware.ts +++ b/backend/src/middleware/authMiddleware.ts @@ -1,4 +1,4 @@ -import { type UserPayload } from "../types/user.ts"; +import { type UserPayload } from "../types/user"; import { type Request, type Response, type NextFunction } from "express"; import jwt from "jsonwebtoken"; @@ -23,6 +23,7 @@ export const authenticateToken = ( jwt.verify( accessToken, process.env.ACCESS_TOKEN_SECRET as string, + // eslint-disable-next-line @typescript-eslint/no-explicit-any (err: any, decoded: any) => { if (err?.name === "TokenExpiredError") { res diff --git a/backend/src/models/db.ts b/backend/src/models/db.ts index 2e6b0803..30f047c1 100644 --- a/backend/src/models/db.ts +++ b/backend/src/models/db.ts @@ -1,7 +1,7 @@ import postgres from "postgres"; const sql = postgres({ - host: "localhost", + host: "host.docker.internal", port: parseInt(process.env.DB_PORT!), username: process.env.DB_USERNAME!, password: process.env.DB_PASSWORD!, diff --git a/backend/src/models/miscModel.ts b/backend/src/models/miscModel.ts index edd437bc..02473b00 100644 --- a/backend/src/models/miscModel.ts +++ b/backend/src/models/miscModel.ts @@ -1,5 +1,5 @@ -import sql from "./db.ts"; -import { User } from "./userModel.ts"; +import sql from "./db"; +import { User } from "./userModel"; type ListingType = "Selling" | "Wanted"; @@ -43,7 +43,9 @@ export const addMisc = async ( return result; }; -export const editMisc = async (misc: Omit) => { +export const editMisc = async ( + misc: Omit, +) => { const result = await sql`UPDATE misc SET (title, description, price, listing_type) = (${misc.title}, ${misc.description}, ${misc.price}, ${misc.listing_type}) WHERE id = ${misc.id} AND seller = ${misc.seller}`; return result; diff --git a/backend/src/models/rentalModel.ts b/backend/src/models/rentalModel.ts index d9be49fe..6502b624 100644 --- a/backend/src/models/rentalModel.ts +++ b/backend/src/models/rentalModel.ts @@ -1,5 +1,5 @@ -import sql from "./db.ts"; -import { User } from "./userModel.ts"; +import sql from "./db"; +import { User } from "./userModel"; export type RentalListing = { id: string; diff --git a/backend/src/models/textbookModel.ts b/backend/src/models/textbookModel.ts index bb209818..d4e1f3df 100644 --- a/backend/src/models/textbookModel.ts +++ b/backend/src/models/textbookModel.ts @@ -1,8 +1,8 @@ -import sql from "./db.ts"; -import { User } from "./userModel.ts"; +import sql from "./db"; +import { User } from "./userModel"; export interface Textbook { - id: number; + id: string; book_title: string; author: string; edition: string; diff --git a/backend/src/models/tokenModel.ts b/backend/src/models/tokenModel.ts index ea36eec2..a507f9d0 100644 --- a/backend/src/models/tokenModel.ts +++ b/backend/src/models/tokenModel.ts @@ -1,4 +1,4 @@ -import sql from "./db.ts"; +import sql from "./db"; export const registerToken = async (refreshToken: string, userId: string) => { const tokenRow = await sql<{ token: string }[]>` diff --git a/backend/src/models/userModel.ts b/backend/src/models/userModel.ts index d4607685..98f793b3 100644 --- a/backend/src/models/userModel.ts +++ b/backend/src/models/userModel.ts @@ -1,5 +1,5 @@ -import sql from "./db.ts"; -import { RentalListing } from "./rentalModel.ts"; +import sql from "./db"; +import { RentalListing } from "./rentalModel"; export interface User { id: string; diff --git a/backend/src/routes/authRoutes.ts b/backend/src/routes/authRoutes.ts index 714d5c5e..8f898a37 100644 --- a/backend/src/routes/authRoutes.ts +++ b/backend/src/routes/authRoutes.ts @@ -4,8 +4,8 @@ import { postLoginUser, postRefreshToken, getUserInformation, -} from "../controllers/authController.ts"; -import { authenticateToken } from "../middleware/authMiddleware.ts"; +} from "../controllers/authController"; +import { authenticateToken } from "../middleware/authMiddleware"; const router = express.Router(); diff --git a/backend/src/routes/rentalRoutes.ts b/backend/src/routes/rentalRoutes.ts index f1ecb632..23114077 100644 --- a/backend/src/routes/rentalRoutes.ts +++ b/backend/src/routes/rentalRoutes.ts @@ -5,9 +5,9 @@ import { getRentalById, postRental, putRental, -} from "../controllers/rentalController.ts"; -import { authenticateToken } from "../middleware/authMiddleware.ts"; -import { uploadImage } from "../controllers/uploadController.ts"; +} from "../controllers/rentalController"; +import { authenticateToken } from "../middleware/authMiddleware"; +import { uploadImage } from "../controllers/uploadController"; const router = express.Router(); diff --git a/backend/src/routes/userRoutes.ts b/backend/src/routes/userRoutes.ts index a55195d0..38971b57 100644 --- a/backend/src/routes/userRoutes.ts +++ b/backend/src/routes/userRoutes.ts @@ -7,9 +7,9 @@ import { getUserRentals, getUserTextbooks, getUserMisc, -} from "../controllers/userController.ts"; +} from "../controllers/userController"; -import { authenticateToken } from "../middleware/authMiddleware.ts"; +import { authenticateToken } from "../middleware/authMiddleware"; const router = express.Router(); diff --git a/backend/tsconfig.json b/backend/tsconfig.json index f7236591..94de293d 100644 --- a/backend/tsconfig.json +++ b/backend/tsconfig.json @@ -1,22 +1,17 @@ { "compilerOptions": { - "target": "ESNext", - "moduleResolution": "Node", - "module": "ESNext", - "outDir": "./dist", - "rootDir": "./src", + "target": "ES2020", + "module": "commonjs", + + "outDir": "dist", + "rootDir": "src", "strict": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, "skipLibCheck": true, - "allowImportingTsExtensions": true, - "noEmit": true, - "types": ["node"], "allowSyntheticDefaultImports": true, - "moduleDetection": "force" - + "moduleDetection": "force", + "esModuleInterop": true, + "skipDefaultLibCheck": true, }, - "include": ["src/**/*.ts", "src/routes/upload.js"], - "exclude": ["node_modules"] + "include": ["src/**/*"], } diff --git a/backend/tsconfig.tsbuildinfo b/backend/tsconfig.tsbuildinfo new file mode 100644 index 00000000..5dcf49a1 --- /dev/null +++ b/backend/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.dom.asynciterable.d.ts","./node_modules/typescript/lib/lib.webworker.importscripts.d.ts","./node_modules/typescript/lib/lib.scripthost.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/typescript/lib/lib.es2020.full.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/dom-events.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/dotenv/lib/main.d.ts","./node_modules/@types/mime/index.d.ts","./node_modules/@types/send/index.d.ts","./node_modules/@types/qs/index.d.ts","./node_modules/@types/range-parser/index.d.ts","./node_modules/@types/express-serve-static-core/index.d.ts","./node_modules/@types/http-errors/index.d.ts","./node_modules/@types/serve-static/index.d.ts","./node_modules/@types/connect/index.d.ts","./node_modules/@types/body-parser/index.d.ts","./node_modules/@types/express/index.d.ts","./node_modules/@types/cookie-parser/index.d.ts","./node_modules/@types/swagger-ui-express/index.d.ts","./node_modules/@types/swagger-jsdoc/index.d.ts","./src/swagger.ts","./node_modules/@types/bcrypt/index.d.ts","./node_modules/postgres/types/index.d.ts","./src/models/db.ts","./src/models/rentalmodel.ts","./src/models/usermodel.ts","./src/models/textbookmodel.ts","./src/models/miscmodel.ts","./src/controllers/usercontroller.ts","./src/types/user.ts","./node_modules/@types/ms/index.d.ts","./node_modules/@types/jsonwebtoken/index.d.ts","./src/middleware/authmiddleware.ts","./src/routes/userroutes.ts","./src/controllers/rentalcontroller.ts","./node_modules/@smithy/types/dist-types/abort-handler.d.ts","./node_modules/@smithy/types/dist-types/abort.d.ts","./node_modules/@smithy/types/dist-types/auth/auth.d.ts","./node_modules/@smithy/types/dist-types/auth/httpapikeyauth.d.ts","./node_modules/@smithy/types/dist-types/identity/identity.d.ts","./node_modules/@smithy/types/dist-types/response.d.ts","./node_modules/@smithy/types/dist-types/command.d.ts","./node_modules/@smithy/types/dist-types/endpoint.d.ts","./node_modules/@smithy/types/dist-types/feature-ids.d.ts","./node_modules/@smithy/types/dist-types/logger.d.ts","./node_modules/@smithy/types/dist-types/uri.d.ts","./node_modules/@smithy/types/dist-types/http.d.ts","./node_modules/@smithy/types/dist-types/util.d.ts","./node_modules/@smithy/types/dist-types/middleware.d.ts","./node_modules/@smithy/types/dist-types/auth/httpsigner.d.ts","./node_modules/@smithy/types/dist-types/auth/identityproviderconfig.d.ts","./node_modules/@smithy/types/dist-types/auth/httpauthscheme.d.ts","./node_modules/@smithy/types/dist-types/auth/httpauthschemeprovider.d.ts","./node_modules/@smithy/types/dist-types/auth/index.d.ts","./node_modules/@smithy/types/dist-types/transform/exact.d.ts","./node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts","./node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts","./node_modules/@smithy/types/dist-types/crypto.d.ts","./node_modules/@smithy/types/dist-types/checksum.d.ts","./node_modules/@smithy/types/dist-types/client.d.ts","./node_modules/@smithy/types/dist-types/connection/config.d.ts","./node_modules/@smithy/types/dist-types/transfer.d.ts","./node_modules/@smithy/types/dist-types/connection/manager.d.ts","./node_modules/@smithy/types/dist-types/connection/pool.d.ts","./node_modules/@smithy/types/dist-types/connection/index.d.ts","./node_modules/@smithy/types/dist-types/eventstream.d.ts","./node_modules/@smithy/types/dist-types/encode.d.ts","./node_modules/@smithy/types/dist-types/endpoints/shared.d.ts","./node_modules/@smithy/types/dist-types/endpoints/endpointruleobject.d.ts","./node_modules/@smithy/types/dist-types/endpoints/errorruleobject.d.ts","./node_modules/@smithy/types/dist-types/endpoints/treeruleobject.d.ts","./node_modules/@smithy/types/dist-types/endpoints/rulesetobject.d.ts","./node_modules/@smithy/types/dist-types/endpoints/index.d.ts","./node_modules/@smithy/types/dist-types/extensions/checksum.d.ts","./node_modules/@smithy/types/dist-types/extensions/defaultclientconfiguration.d.ts","./node_modules/@smithy/types/dist-types/shapes.d.ts","./node_modules/@smithy/types/dist-types/retry.d.ts","./node_modules/@smithy/types/dist-types/extensions/retry.d.ts","./node_modules/@smithy/types/dist-types/extensions/defaultextensionconfiguration.d.ts","./node_modules/@smithy/types/dist-types/extensions/index.d.ts","./node_modules/@smithy/types/dist-types/http/httphandlerinitialization.d.ts","./node_modules/@smithy/types/dist-types/identity/apikeyidentity.d.ts","./node_modules/@smithy/types/dist-types/identity/awscredentialidentity.d.ts","./node_modules/@smithy/types/dist-types/identity/tokenidentity.d.ts","./node_modules/@smithy/types/dist-types/identity/index.d.ts","./node_modules/@smithy/types/dist-types/pagination.d.ts","./node_modules/@smithy/types/dist-types/profile.d.ts","./node_modules/@smithy/types/dist-types/serde.d.ts","./node_modules/@smithy/types/dist-types/schema/sentinels.d.ts","./node_modules/@smithy/types/dist-types/schema/traits.d.ts","./node_modules/@smithy/types/dist-types/schema/schema.d.ts","./node_modules/@smithy/types/dist-types/signature.d.ts","./node_modules/@smithy/types/dist-types/stream.d.ts","./node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts","./node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts","./node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts","./node_modules/@smithy/types/dist-types/transform/type-transform.d.ts","./node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts","./node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts","./node_modules/@smithy/types/dist-types/transform/mutable.d.ts","./node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts","./node_modules/@smithy/types/dist-types/waiter.d.ts","./node_modules/@smithy/types/dist-types/index.d.ts","./node_modules/@smithy/node-config-provider/dist-types/fromenv.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/gethomedir.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/getprofilename.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/getssotokenfilepath.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/getssotokenfromfile.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/loadsharedconfigfiles.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/loadssosessiondata.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/parseknownfiles.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/types.d.ts","./node_modules/@smithy/shared-ini-file-loader/dist-types/index.d.ts","./node_modules/@smithy/node-config-provider/dist-types/fromsharedconfigfiles.d.ts","./node_modules/@smithy/node-config-provider/dist-types/fromstatic.d.ts","./node_modules/@smithy/node-config-provider/dist-types/configloader.d.ts","./node_modules/@smithy/node-config-provider/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/constants.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/node_request_checksum_calculation_config_options.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/node_response_checksum_validation_config_options.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/crc64-nvme-crt-container.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/configuration.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexiblechecksumsmiddleware.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexiblechecksumsinputmiddleware.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/flexiblechecksumsresponsemiddleware.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/getflexiblechecksumsplugin.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/resolveflexiblechecksumsconfig.d.ts","./node_modules/@aws-sdk/middleware-flexible-checksums/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-host-header/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/check-content-length-header.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-middleware.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-endpoint-middleware.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-expires-middleware.d.ts","./node_modules/@aws-sdk/types/dist-types/abort.d.ts","./node_modules/@aws-sdk/types/dist-types/auth.d.ts","./node_modules/@aws-sdk/types/dist-types/blob/blob-types.d.ts","./node_modules/@aws-sdk/types/dist-types/checksum.d.ts","./node_modules/@aws-sdk/types/dist-types/client.d.ts","./node_modules/@aws-sdk/types/dist-types/command.d.ts","./node_modules/@aws-sdk/types/dist-types/connection.d.ts","./node_modules/@aws-sdk/types/dist-types/identity/identity.d.ts","./node_modules/@aws-sdk/types/dist-types/identity/anonymousidentity.d.ts","./node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts","./node_modules/@aws-sdk/types/dist-types/identity/awscredentialidentity.d.ts","./node_modules/@aws-sdk/types/dist-types/identity/loginidentity.d.ts","./node_modules/@aws-sdk/types/dist-types/identity/tokenidentity.d.ts","./node_modules/@aws-sdk/types/dist-types/identity/index.d.ts","./node_modules/@aws-sdk/types/dist-types/util.d.ts","./node_modules/@aws-sdk/types/dist-types/credentials.d.ts","./node_modules/@aws-sdk/types/dist-types/crypto.d.ts","./node_modules/@aws-sdk/types/dist-types/dns.d.ts","./node_modules/@aws-sdk/types/dist-types/encode.d.ts","./node_modules/@aws-sdk/types/dist-types/endpoint.d.ts","./node_modules/@aws-sdk/types/dist-types/eventstream.d.ts","./node_modules/@aws-sdk/types/dist-types/extensions/index.d.ts","./node_modules/@aws-sdk/types/dist-types/function.d.ts","./node_modules/@aws-sdk/types/dist-types/http.d.ts","./node_modules/@aws-sdk/types/dist-types/logger.d.ts","./node_modules/@aws-sdk/types/dist-types/middleware.d.ts","./node_modules/@aws-sdk/types/dist-types/pagination.d.ts","./node_modules/@aws-sdk/types/dist-types/profile.d.ts","./node_modules/@aws-sdk/types/dist-types/request.d.ts","./node_modules/@aws-sdk/types/dist-types/response.d.ts","./node_modules/@aws-sdk/types/dist-types/retry.d.ts","./node_modules/@aws-sdk/types/dist-types/serde.d.ts","./node_modules/@aws-sdk/types/dist-types/shapes.d.ts","./node_modules/@aws-sdk/types/dist-types/signature.d.ts","./node_modules/@aws-sdk/types/dist-types/stream.d.ts","./node_modules/@aws-sdk/types/dist-types/token.d.ts","./node_modules/@aws-sdk/types/dist-types/transfer.d.ts","./node_modules/@aws-sdk/types/dist-types/uri.d.ts","./node_modules/@aws-sdk/types/dist-types/waiter.d.ts","./node_modules/@aws-sdk/types/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/s3expressidentity.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/s3expressidentitycacheentry.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/s3expressidentitycache.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/s3expressidentityprovider.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/s3expressidentityproviderimpl.d.ts","./node_modules/@smithy/signature-v4/dist-types/signaturev4base.d.ts","./node_modules/@smithy/signature-v4/dist-types/signaturev4.d.ts","./node_modules/@smithy/signature-v4/dist-types/constants.d.ts","./node_modules/@smithy/signature-v4/dist-types/getcanonicalheaders.d.ts","./node_modules/@smithy/signature-v4/dist-types/getcanonicalquery.d.ts","./node_modules/@smithy/signature-v4/dist-types/getpayloadhash.d.ts","./node_modules/@smithy/signature-v4/dist-types/moveheaderstoquery.d.ts","./node_modules/@smithy/signature-v4/dist-types/preparerequest.d.ts","./node_modules/@smithy/signature-v4/dist-types/credentialderivation.d.ts","./node_modules/@smithy/signature-v4/dist-types/headerutil.d.ts","./node_modules/@smithy/signature-v4/dist-types/signature-v4a-container.d.ts","./node_modules/@smithy/signature-v4/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/signaturev4s3express.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/constants.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3expressmiddleware.d.ts","./node_modules/@smithy/protocol-http/dist-types/httprequest.d.ts","./node_modules/@smithy/protocol-http/dist-types/httpresponse.d.ts","./node_modules/@smithy/protocol-http/dist-types/httphandler.d.ts","./node_modules/@smithy/protocol-http/dist-types/extensions/httpextensionconfiguration.d.ts","./node_modules/@smithy/protocol-http/dist-types/extensions/index.d.ts","./node_modules/@smithy/protocol-http/dist-types/field.d.ts","./node_modules/@smithy/protocol-http/dist-types/fields.d.ts","./node_modules/@smithy/protocol-http/dist-types/isvalidhostname.d.ts","./node_modules/@smithy/protocol-http/dist-types/types.d.ts","./node_modules/@smithy/protocol-http/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3expresshttpsigningmiddleware.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/index.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3configuration.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/throw-200-exceptions.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/validate-bucket-name.d.ts","./node_modules/@aws-sdk/middleware-sdk-s3/dist-types/index.d.ts","./node_modules/@aws-sdk/middleware-user-agent/dist-types/configurations.d.ts","./node_modules/@aws-sdk/middleware-user-agent/dist-types/user-agent-middleware.d.ts","./node_modules/@aws-sdk/middleware-user-agent/dist-types/index.d.ts","./node_modules/@smithy/config-resolver/dist-types/endpointsconfig/nodeusedualstackendpointconfigoptions.d.ts","./node_modules/@smithy/config-resolver/dist-types/endpointsconfig/nodeusefipsendpointconfigoptions.d.ts","./node_modules/@smithy/config-resolver/dist-types/endpointsconfig/resolveendpointsconfig.d.ts","./node_modules/@smithy/config-resolver/dist-types/endpointsconfig/resolvecustomendpointsconfig.d.ts","./node_modules/@smithy/config-resolver/dist-types/endpointsconfig/index.d.ts","./node_modules/@smithy/config-resolver/dist-types/regionconfig/config.d.ts","./node_modules/@smithy/config-resolver/dist-types/regionconfig/resolveregionconfig.d.ts","./node_modules/@smithy/config-resolver/dist-types/regionconfig/index.d.ts","./node_modules/@smithy/config-resolver/dist-types/regioninfo/endpointvarianttag.d.ts","./node_modules/@smithy/config-resolver/dist-types/regioninfo/endpointvariant.d.ts","./node_modules/@smithy/config-resolver/dist-types/regioninfo/partitionhash.d.ts","./node_modules/@smithy/config-resolver/dist-types/regioninfo/regionhash.d.ts","./node_modules/@smithy/config-resolver/dist-types/regioninfo/getregioninfo.d.ts","./node_modules/@smithy/config-resolver/dist-types/regioninfo/index.d.ts","./node_modules/@smithy/config-resolver/dist-types/index.d.ts","./node_modules/@smithy/eventstream-serde-config-resolver/dist-types/eventstreamserdeconfig.d.ts","./node_modules/@smithy/eventstream-serde-config-resolver/dist-types/index.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/resolveendpointconfig.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/types.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/adaptors/getendpointfrominstructions.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/adaptors/toendpointv1.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/adaptors/index.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/endpointmiddleware.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/getendpointplugin.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/resolveendpointrequiredconfig.d.ts","./node_modules/@smithy/middleware-endpoint/dist-types/index.d.ts","./node_modules/@smithy/util-retry/dist-types/types.d.ts","./node_modules/@smithy/util-retry/dist-types/adaptiveretrystrategy.d.ts","./node_modules/@smithy/util-retry/dist-types/standardretrystrategy.d.ts","./node_modules/@smithy/util-retry/dist-types/configuredretrystrategy.d.ts","./node_modules/@smithy/util-retry/dist-types/defaultratelimiter.d.ts","./node_modules/@smithy/util-retry/dist-types/config.d.ts","./node_modules/@smithy/util-retry/dist-types/constants.d.ts","./node_modules/@smithy/util-retry/dist-types/index.d.ts","./node_modules/@smithy/middleware-retry/dist-types/types.d.ts","./node_modules/@smithy/middleware-retry/dist-types/standardretrystrategy.d.ts","./node_modules/@smithy/middleware-retry/dist-types/adaptiveretrystrategy.d.ts","./node_modules/@smithy/middleware-retry/dist-types/configurations.d.ts","./node_modules/@smithy/middleware-retry/dist-types/delaydecider.d.ts","./node_modules/@smithy/middleware-retry/dist-types/omitretryheadersmiddleware.d.ts","./node_modules/@smithy/middleware-retry/dist-types/retrydecider.d.ts","./node_modules/@smithy/middleware-retry/dist-types/retrymiddleware.d.ts","./node_modules/@smithy/middleware-retry/dist-types/index.d.ts","./node_modules/@smithy/smithy-client/dist-types/client.d.ts","./node_modules/@smithy/util-stream/dist-types/blob/uint8arrayblobadapter.d.ts","./node_modules/@smithy/util-stream/dist-types/checksum/checksumstream.d.ts","./node_modules/@smithy/util-stream/dist-types/checksum/checksumstream.browser.d.ts","./node_modules/@smithy/util-stream/dist-types/checksum/createchecksumstream.browser.d.ts","./node_modules/@smithy/util-stream/dist-types/checksum/createchecksumstream.d.ts","./node_modules/@smithy/util-stream/dist-types/createbufferedreadable.d.ts","./node_modules/@smithy/util-stream/dist-types/getawschunkedencodingstream.d.ts","./node_modules/@smithy/util-stream/dist-types/headstream.d.ts","./node_modules/@smithy/util-stream/dist-types/sdk-stream-mixin.d.ts","./node_modules/@smithy/util-stream/dist-types/splitstream.d.ts","./node_modules/@smithy/util-stream/dist-types/stream-type-check.d.ts","./node_modules/@smithy/util-stream/dist-types/index.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/collect-stream-body.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/extended-encode-uri-component.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/deref.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/middleware/schema-middleware-types.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/middleware/getschemaserdeplugin.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/schema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/listschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/mapschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/operationschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/structureschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/errorschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/normalizedschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/simpleschema.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/schemas/sentinels.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/typeregistry.d.ts","./node_modules/@smithy/core/dist-types/submodules/schema/index.d.ts","./node_modules/@smithy/core/schema.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/httpprotocol.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/httpbindingprotocol.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/rpcprotocol.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/requestbuilder.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/resolve-path.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/serde/fromstringshapedeserializer.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/serde/httpinterceptingshapedeserializer.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/serde/tostringshapeserializer.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/serde/httpinterceptingshapeserializer.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/serde/determinetimestampformat.d.ts","./node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts","./node_modules/@smithy/core/protocols.d.ts","./node_modules/@smithy/smithy-client/dist-types/collect-stream-body.d.ts","./node_modules/@smithy/smithy-client/dist-types/command.d.ts","./node_modules/@smithy/smithy-client/dist-types/constants.d.ts","./node_modules/@smithy/smithy-client/dist-types/create-aggregated-client.d.ts","./node_modules/@smithy/smithy-client/dist-types/default-error-handler.d.ts","./node_modules/@smithy/smithy-client/dist-types/defaults-mode.d.ts","./node_modules/@smithy/smithy-client/dist-types/emitwarningifunsupportedversion.d.ts","./node_modules/@smithy/smithy-client/dist-types/exceptions.d.ts","./node_modules/@smithy/smithy-client/dist-types/extended-encode-uri-component.d.ts","./node_modules/@smithy/smithy-client/dist-types/extensions/checksum.d.ts","./node_modules/@smithy/smithy-client/dist-types/extensions/retry.d.ts","./node_modules/@smithy/smithy-client/dist-types/extensions/defaultextensionconfiguration.d.ts","./node_modules/@smithy/smithy-client/dist-types/extensions/index.d.ts","./node_modules/@smithy/smithy-client/dist-types/get-array-if-single-item.d.ts","./node_modules/@smithy/smithy-client/dist-types/get-value-from-text-node.d.ts","./node_modules/@smithy/smithy-client/dist-types/is-serializable-header-value.d.ts","./node_modules/@smithy/smithy-client/dist-types/nooplogger.d.ts","./node_modules/@smithy/smithy-client/dist-types/object-mapping.d.ts","./node_modules/@smithy/smithy-client/dist-types/resolve-path.d.ts","./node_modules/@smithy/smithy-client/dist-types/ser-utils.d.ts","./node_modules/@smithy/smithy-client/dist-types/serde-json.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/copydocumentwithtransform.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/date-utils.d.ts","./node_modules/@types/uuid/index.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/generateidempotencytoken.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/lazy-json.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/parse-utils.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/quote-header.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/split-every.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/split-header.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/value/numericvalue.d.ts","./node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts","./node_modules/@smithy/core/serde.d.ts","./node_modules/@smithy/smithy-client/dist-types/index.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/client/emitwarningifunsupportedversion.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/client/setcredentialfeature.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/client/setfeature.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/client/settokenfeature.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/aws_sdk/resolveawssdksigv4aconfig.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/aws_sdk/awssdksigv4signer.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/aws_sdk/awssdksigv4asigner.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/aws_sdk/node_auth_scheme_preference_options.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/aws_sdk/resolveawssdksigv4config.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/aws_sdk/index.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/utils/getbearertokenenvkey.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/httpauthschemes/index.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/coercing-serializers.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/configurableserdecontext.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/jsonshapedeserializer.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/jsonshapeserializer.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/jsoncodec.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/awsjsonrpcprotocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/awsjson1_0protocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/awsjson1_1protocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/awsrestjsonprotocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/awsexpectunion.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/parsejsonbody.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/xmlshapeserializer.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/xmlcodec.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/xmlshapedeserializer.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/queryserializersettings.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/queryshapeserializer.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/awsqueryprotocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/awsec2queryprotocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/awsrestxmlprotocol.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/parsexmlbody.d.ts","./node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts","./node_modules/@aws-sdk/core/dist-types/index.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/endpoint/endpointparameters.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/auth/httpauthschemeprovider.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/models/s3serviceexception.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/models/models_0.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/abortmultipartuploadcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/completemultipartuploadcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/copyobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/createbucketcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/createbucketmetadataconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/createbucketmetadatatableconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/createmultipartuploadcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/createsessioncommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketanalyticsconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketcorscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketencryptioncommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketintelligenttieringconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketinventoryconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketlifecyclecommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketmetadataconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketmetadatatableconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketmetricsconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketownershipcontrolscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketpolicycommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketreplicationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebuckettaggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletebucketwebsitecommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deleteobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deleteobjectscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deleteobjecttaggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/deletepublicaccessblockcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketaccelerateconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketaclcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketanalyticsconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketcorscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketencryptioncommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketintelligenttieringconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketinventoryconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketlifecycleconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketlocationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketloggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketmetadataconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketmetadatatableconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketmetricsconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketnotificationconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketownershipcontrolscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketpolicycommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketpolicystatuscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketreplicationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketrequestpaymentcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbuckettaggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketversioningcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getbucketwebsitecommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjectaclcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjectattributescommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjectlegalholdcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjectlockconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjectretentioncommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjecttaggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getobjecttorrentcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/getpublicaccessblockcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/headbucketcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/headobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listbucketanalyticsconfigurationscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listbucketintelligenttieringconfigurationscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listbucketinventoryconfigurationscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listbucketmetricsconfigurationscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listbucketscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listdirectorybucketscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listmultipartuploadscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/models/models_1.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listobjectscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listobjectsv2command.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listobjectversionscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/listpartscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketaccelerateconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketaclcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketanalyticsconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketcorscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketencryptioncommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketintelligenttieringconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketinventoryconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketlifecycleconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketloggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketmetricsconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketnotificationconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketownershipcontrolscommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketpolicycommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketreplicationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketrequestpaymentcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbuckettaggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketversioningcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putbucketwebsitecommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putobjectaclcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putobjectlegalholdcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putobjectlockconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putobjectretentioncommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putobjecttaggingcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/putpublicaccessblockcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/renameobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/restoreobjectcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/selectobjectcontentcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/updatebucketmetadatainventorytableconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/updatebucketmetadatajournaltableconfigurationcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/uploadpartcommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/uploadpartcopycommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/writegetobjectresponsecommand.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/auth/httpauthextensionconfiguration.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/extensionconfiguration.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/runtimeextensions.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/s3client.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/s3.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/commands/index.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/pagination/interfaces.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/pagination/listbucketspaginator.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/pagination/listdirectorybucketspaginator.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/pagination/listobjectsv2paginator.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/pagination/listpartspaginator.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/pagination/index.d.ts","./node_modules/@smithy/util-waiter/dist-types/waiter.d.ts","./node_modules/@smithy/util-waiter/dist-types/createwaiter.d.ts","./node_modules/@smithy/util-waiter/dist-types/index.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/waiters/waitforbucketexists.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/waiters/waitforbucketnotexists.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/waiters/waitforobjectexists.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/waiters/waitforobjectnotexists.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/waiters/index.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/models/index.d.ts","./node_modules/@aws-sdk/client-s3/dist-types/index.d.ts","./node_modules/@types/multer/index.d.ts","./src/controllers/uploadcontroller.ts","./src/routes/rentalroutes.ts","./src/models/tokenmodel.ts","./src/controllers/authcontroller.ts","./src/routes/authroutes.ts","./src/controllers/textbookcontroller.ts","./src/routes/textbookroute.ts","./src/controllers/misccontroller.ts","./src/routes/miscroutes.ts","./src/routes/uploadroutes.ts","./node_modules/@types/cors/index.d.ts","./node_modules/@types/morgan/index.d.ts","./node_modules/express-rate-limit/dist/index.d.ts","./src/app.ts","./src/types/express/index.d.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/strip-bom/index.d.ts","./node_modules/@types/strip-json-comments/index.d.ts"],"fileIdsList":[[57,99,246,336,511],[57,99,246,336,509,510,622],[57,99,246,336,381,474,513,622],[57,99,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618],[57,99,246,336,381,474,581,622],[57,99,246,336],[57,99,246,316,336,346,619],[57,99,510,512,620,621,622,623,624,630,638,639],[57,99,513,581],[57,99,246,336,474,512],[57,99,246,336,474,512,513],[57,99,474],[57,99,625,626,627,628,629],[57,99,246,336,622],[57,99,246,336,578,625],[57,99,246,336,579,625],[57,99,246,336,583,625],[57,99,246,336,585,625],[57,99,620],[57,99,246,336,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,622],[57,99,131,246,271,272,316,336,346,352,355,370,372,381,398,474,510,511,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,621],[57,99,634,635,636,637],[57,99,572,622,633],[57,99,573,622,633],[57,99,479,487,508],[57,99],[57,99,475,476,477,478],[57,99,316],[57,99,246,336,481],[57,99,246,336,480],[57,99,480,481,482,483,484],[57,99,260],[57,99,246,260,336],[57,99,246,316,333,336],[57,99,485,486],[57,99,488,490,491,492,493,494,495,496,497,498,499,500,501,504,505,506,507],[57,99,493],[57,99,246,336,440,492],[57,99,246,336,489,490,491],[57,99,246,336,489,492],[57,99,504],[57,99,190,246,336,440,501,503],[57,99,246,336,489,502],[57,99,246,336,428,440,500],[57,99,246,336,489,499,501],[57,99,246,336,489,500],[57,99,246,261,336],[57,99,246,265,336],[57,99,246,265,266,267,268,336],[57,99,261,262,263,264,266,269,270],[57,99,260,261],[57,99,273,274,275,276,348,349,350,351],[57,99,246,274,336],[57,99,318],[57,99,317],[57,99,316,317,319,320],[57,99,246,336,346],[57,99,246,316,317,320,336],[57,99,317,318,319,320,321,334,335,336,347],[57,99,316,317],[57,99,246,336,348],[57,99,246,336,349],[57,99,353,354],[57,99,246,316,336,353],[57,99,246,290,291,336],[57,99,284],[57,99,246,286,336],[57,99,284,285,287,288,289],[57,99,277,278,279,280,281,282,283,286,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315],[57,99,290,291],[57,99,356,357,358,359],[57,99,246,336,358],[57,99,360,363,369],[57,99,361,362],[57,99,364],[57,99,246,336,366,367],[57,99,366,367,368],[57,99,365],[57,99,246,336,411],[57,99,246,336,346,428,429],[57,99,412,413,430,431,432,433,434,435,436,437,438],[57,99,246,336,429],[57,99,246,336,428],[57,99,246,336,436],[57,99,414,416,417,418,419,420,421,422,423,424,425,426],[57,99,246,336,415],[57,99,246,336,421],[57,99,246,336,417],[57,99,246,336,422],[57,99,464],[57,99,462,463,465,466,467,468,469,470,471],[57,99,439],[57,99,427],[57,99,472],[57,99,371],[57,99,246,336,373,374],[57,99,375,376],[57,99,373,374,377,378,379,380],[57,99,246,336,389,391],[57,99,391,392,393,394,395,396,397],[57,99,246,336,393],[57,99,246,336,390],[57,99,246,247,257,258,336],[57,99,246,256,336],[57,99,247,257,258,259],[57,99,339],[57,99,340],[57,99,246,336,342],[57,99,246,336,337,338],[57,99,337,338,339,341,342,343,344,345],[57,99,248,249,250,251,252,253,254,255],[57,99,246,252,336],[57,99,322,323,324,325,326,327,328,329,330,331,332],[57,99,246,322,336],[57,99,440],[57,99,246,336,381],[57,99,399],[57,99,246,336,450,451],[57,99,452],[57,99,246,336,399,441,442,443,444,445,446,447,448,449,453,454,455,456,457,458,459,460,461,473],[57,99,180],[57,99,179],[57,99,183,192,193,194],[57,99,192,195],[57,99,183,190],[57,99,183,195],[57,99,181,182,193,194,195,196],[57,99,131,199],[57,99,201],[57,99,184,185,191,192],[57,99,184,192],[57,99,204,206,207],[57,99,204,205],[57,99,209],[57,99,181],[57,99,186,211],[57,99,211],[57,99,211,212,213,214,215],[57,99,214],[57,99,188],[57,99,211,212,213],[57,99,184,190,192],[57,99,201,202],[57,99,217],[57,99,217,221],[57,99,217,218,221,222],[57,99,191,220],[57,99,198],[57,99,180,189],[57,99,114,116,188,190],[57,99,183],[57,99,183,225,226,227],[57,99,180,184,185,186,187,188,189,190,191,192,197,200,201,202,203,205,208,209,210,216,219,220,223,224,228,229,230,231,232,234,235,236,237,238,239,240,242,243,244,245],[57,99,181,185,186,187,188,191,195],[57,99,185,203],[57,99,219],[57,99,184,186,192,231,232,233],[57,99,190,191,205,234],[57,99,184,190],[57,99,190,209],[57,99,191,201,202],[57,99,114,131,199,231],[57,99,184,185,239,240],[57,99,114,115,185,190,203,231,238,239,240,241],[57,99,185,203,219],[57,99,190],[57,99,246,336,382],[57,99,246,336,384],[57,99,382],[57,99,382,383,384,385,386,387,388],[57,99,131,246,336],[57,99,402],[57,99,131,401,403],[57,99,131],[57,99,400,401,404,405,406,407,408,409,410],[57,99,631],[57,99,631,632],[57,99,149],[57,99,114,149,158],[57,99,114,149],[57,99,160],[57,99,111,114,149,152,153,154],[57,99,155,157,159],[57,99,104,149,174],[57,99,131,160],[57,96,99],[57,98,99],[99],[57,99,104,134],[57,99,100,105,111,112,119,131,142],[57,99,100,101,111,119],[52,53,54,57,99],[57,99,102,143],[57,99,103,104,112,120],[57,99,104,131,139],[57,99,105,107,111,119],[57,98,99,106],[57,99,107,108],[57,99,109,111],[57,98,99,111],[57,99,111,112,113,131,142],[57,99,111,112,113,126,131,134],[57,94,99],[57,94,99,107,111,114,119,131,142],[57,99,111,112,114,115,119,131,139,142],[57,99,114,116,131,139,142],[55,56,57,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[57,99,111,117],[57,99,118,142],[57,99,107,111,119,131],[57,99,120],[57,99,121],[57,98,99,122],[57,96,97,98,99,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[57,99,124],[57,99,125],[57,99,111,126,127],[57,99,126,128,143,145],[57,99,111,131,132,134],[57,99,133,134],[57,99,131,132],[57,99,134],[57,99,135],[57,96,99,131,136],[57,99,111,137,138],[57,99,137,138],[57,99,104,119,131,139],[57,99,140],[57,99,119,141],[57,99,114,125,142],[57,99,104,143],[57,99,131,144],[57,99,118,145],[57,99,146],[57,99,111,113,122,131,134,142,144,145,147],[57,99,131,148],[57,99,112,131,149,151],[57,99,114,149,152,156],[57,99,157,160],[57,99,142,149],[57,66,70,99,142],[57,66,99,131,142],[57,61,99],[57,63,66,99,139,142],[57,99,119,139],[57,61,99,149],[57,63,66,99,119,142],[57,58,59,62,65,99,111,131,142],[57,66,73,99],[57,58,64,99],[57,66,87,88,99],[57,62,66,99,134,142,149],[57,87,99,149],[57,60,61,99,149],[57,66,99],[57,60,61,62,63,64,65,66,67,68,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,88,89,90,91,92,93,99],[57,66,81,99],[57,66,73,74,99],[57,64,66,74,75,99],[57,65,99],[57,58,61,66,99],[57,66,70,74,75,99],[57,70,99],[57,64,66,69,99,142],[57,58,63,66,73,99],[57,61,66,87,99,147,149],[57,99,150,159,160,161,162,164,177,643,646,648,650,651,652,653,654],[57,99,160,165,169,173,175,644],[57,99,160,171],[57,99,160,168],[57,99,160,170],[57,99,150,160,464,640,641],[57,99,160,165,168,169,170,171],[57,99,160,173,175],[57,99,166],[57,99,167,169],[57,99,167],[57,99,167,168],[57,99,160,176,645],[57,99,160,176,649],[57,99,160,176,178,642],[57,99,160,176,642,647],[57,99,160,641,642],[57,99,160,172,176],[57,99,150,163],[57,99,173]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"07f073f19d67f74d732b1adea08e1dc66b1b58d77cb5b43931dee3d798a2fd53","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"1305d1e76ca44e30fb8b2b8075fa522b83f60c0bcf5d4326a9d2cf79b53724f8","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"a12d953aa755b14ac1d28ecdc1e184f3285b01d6d1e58abc11bf1826bc9d80e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a38efe83ff77c34e0f418a806a01ca3910c02ee7d64212a59d59bca6c2c38fa1","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"2b7b4bc0ff201a3f08b5d1e5161998ea655b7a2c840ca646c3adcaf126aa8882","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"e9b97d69510658d2f4199b7d384326b7c4053b9e6645f5c19e1c2a54ede427fc","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"81711af669f63d43ccb4c08e15beda796656dd46673d0def001c7055db53852d","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"9855e02d837744303391e5623a531734443a5f8e6e8755e018c41d63ad797db2","impliedFormat":1},{"version":"bdba81959361810be44bcfdd283f4d601e406ab5ad1d2bdff0ed480cf983c9d7","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b326f4813b90d230ec3950f66bd5b5ce3971aac5fac67cfafc54aa07b39fd07f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ee692acba8b517b5041c02c5a3369a03f36158b6bb7605d6a98d832e7a13fcc","impliedFormat":1},{"version":"ee07335d073f94f1ec8d7311c4b15abac03a8160e7cdfd4771c47440a7489e1b","impliedFormat":1},{"version":"ec79bdd311bcba9b889af9da0cd88611affdda8c2d491305fa61b7529d5b89ba","impliedFormat":1},{"version":"73cf6cc19f16c0191e4e9d497ab0c11c7b38f1ca3f01ad0f09a3a5a971aac4b8","impliedFormat":1},{"version":"528b62e4272e3ddfb50e8eed9e359dedea0a4d171c3eb8f337f4892aac37b24b","impliedFormat":1},{"version":"eec1e051df11fb4c7f4df5a9a18022699e596024c06bc085e9b410effe790a9a","impliedFormat":1},{"version":"d83f86427b468176fbacb28ef302f152ad3d2d127664c627216e45cfa06fbf7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f72bc8fe16da67e4e3268599295797b202b95e54bd215a03f97e925dd1502a36","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"915e18c559321c0afaa8d34674d3eb77e1ded12c3e85bf2a9891ec48b07a1ca5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a2f3aa60aece790303a62220456ff845a1b980899bdc2e81646b8e33d9d9cc15","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"0be405730b99eee7dbb051d74f6c3c0f1f8661d86184a7122b82c2bfb0991922","impliedFormat":1},{"version":"8302157cd431b3943eed09ad439b4441826c673d9f870dcb0e1f48e891a4211e","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"12aad38de6f0594dc21efa78a2c1f67bf6a7ef5a389e05417fe9945284450908","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"a5890565ed564c7b29eb1b1038d4e10c03a3f5231b0a8d48fea4b41ab19f4f46","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"98ffdf93dfdd206516971d28e3e473f417a5cfd41172e46b4ce45008f640588e","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7172949957e9ae6dd5c046d658cc5f1d00c12d85006554412e1de0dcfea8257e","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a654e0d950353614ba4637a8de4f9d367903a0692b748e11fccf8c880c99735","affectsGlobalScope":true,"impliedFormat":1},{"version":"42da246c46ca3fd421b6fd88bb4466cda7137cf33e87ba5ceeded30219c428bd","impliedFormat":1},{"version":"3a051941721a7f905544732b0eb819c8d88333a96576b13af08b82c4f17581e4","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"66e4838e0e3e0ea1ee62b57b3984a7f606f73523dfdae6500b6e3258c0aa3c7d","affectsGlobalScope":true,"impliedFormat":1},{"version":"db3d77167a7da6c5ba0c51c5b654820e3464093f21724ccd774c0b9bc3f81bc0","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1},{"version":"0c5f112b6d3377b9e8214d8920e1a69d8098b881d941f2ab3ca45234d13d68de","impliedFormat":1},{"version":"d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","impliedFormat":1},{"version":"b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","impliedFormat":1},{"version":"baac9896d29bcc55391d769e408ff400d61273d832dd500f21de766205255acb","impliedFormat":1},{"version":"2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed","impliedFormat":1},{"version":"a8932b7a5ef936687cc5b2492b525e2ad5e7ed321becfea4a17d5a6c80f49e92","affectsGlobalScope":true,"impliedFormat":1},{"version":"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","impliedFormat":1},{"version":"0e13570a7e86c6d83dd92e81758a930f63747483e2cd34ef36fcdb47d1f9726a","impliedFormat":1},{"version":"104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","impliedFormat":1},{"version":"cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","impliedFormat":1},{"version":"d26a79f97f25eb1c5fc36a8552e4decc7ad11104a016d31b1307c3afaf48feb1","impliedFormat":1},{"version":"972f20f4d7a2a61803355a9b1756a62d7e3142957a283ba856ee44afcaaa4ba4","impliedFormat":1},{"version":"85a55229c4d0f20d42c59cec768df0cb83a492f8bb1351ead8524a58f278a005","impliedFormat":1},{"version":"22c313d18dc83e37a592cebb6e9366370dbcc6872b65f1c49b5cfc5fb84e6565","impliedFormat":1},{"version":"b29d15e17b0b9cb059c80d33570bdacbe71012c4908d13af6d01130c513f63c8","signature":"792407e5f6b398d081ad7663ed659ff50af71849d7d148f6b3e9b63f69fbea96"},{"version":"160b24efb5a868df9c54f337656b4ef55fcbe0548fe15408e1c0630ec559c559","impliedFormat":1},{"version":"12d19496f25ecd6afef2094be494b3b0ae12c02bd631901f6da760c7540a5ec1","impliedFormat":1},{"version":"12062ddd6e7306a66a92a241819a5d8cf3a9a5be7b7868d974330c3b65d2f90b","signature":"41610034f534633cee96e6dd2a75431fdd8e285c4eaf541c121f5d04c3a0f4af"},{"version":"e138f033ff3449545c3305273cc60714cf2ca0a92d2e631697e9877bd236e95c","signature":"234fe0a41f08f4c858e0ad022da33e1cd69d730a256372d4ed2c7ca97b0078bf"},{"version":"d1559741b7b2837b73b73a09a0e14d9675788e2676cbef46348b6d24f67f3eda","signature":"153acc9b1b0fdc61deeacc2d0c79847817ee3def1c77bf58a68175b4e114ee9f"},{"version":"01e2de5791c04aaaf9b7d33bcb86198f2104d2f7c952f56478e77bee8424fff3","signature":"6199d15034cf2f4f241d49c051589c420f80a8263442b70fd715a815cd34cbdf"},{"version":"29a049f8584957724a9e0346627b34794f97a2c141ae0e18742e8f6a91ce8449","signature":"5506927436066234327fafcd8ee9d12f9a89ade845cec8bb5130273a1a17e7d5"},{"version":"81ee7804c1c79fb6364e561005a55a442b0964cdaad1a94e11b3fd7d22ac2c29","signature":"d56062b027216a893cac732a0e2f811fe2379b582be06f716ed7e1b1bf2b4db8"},{"version":"4e7f910c01682069e24d32d7fda5da294fba505a34b6dad3926399196ff6a8f0","signature":"2d710b26f032d9d3e751d901b4649c72d2f4de6795e303387d70894dbbe406ac"},{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"95da3c365e3d45709ad6e0b4daa5cdaf05e9076ba3c201e8f8081dd282c02f57","impliedFormat":1},{"version":"93d6523d9a90d4b42c7437e88de83fbc11f156c055da50cd8200c73fae7a8a79","signature":"773d9845143511eb5d4cd960aab656a49d61407446de9c1688f377fdd27ee9fa"},{"version":"1bd2e0d6ebfde046706fd76150cde337c282e8204552f7c79d05d6e0c1c819eb","signature":"c106970ee4b686b5ebf0964ea4e0d1b2af02bdecd2d5cfeecedeb7bb5b2f404b"},{"version":"fd93b43a61f70be020db12a486cd15602ee981ed8f07e976abfca386cc0151e1","signature":"3076b1251e7e3847882762278924c7ebdd85c406c5a1bf63680d31d5329aeaef"},{"version":"b40885a4e39fb67eb251fb009bf990f3571ccf7279dccad26c2261b4e5c8ebcd","impliedFormat":1},{"version":"2d0e63718a9ab15554cca1ef458a269ff938aea2ad379990a018a49e27aadf40","impliedFormat":1},{"version":"530e5c7e4f74267b7800f1702cf0c576282296a960acbdb2960389b2b1d0875b","impliedFormat":1},{"version":"1c483cc60a58a0d4c9a068bdaa8d95933263e6017fbea33c9f99790cf870f0a8","impliedFormat":1},{"version":"07863eea4f350458f803714350e43947f7f73d1d67a9ddf747017065d36b073a","impliedFormat":1},{"version":"396c2c14fa408707235d761a965bd84ce3d4fc3117c3b9f1404d6987d98a30d6","impliedFormat":1},{"version":"4c264e26675ecf0b370d88d8013f0eb7ade6466c6445df1254b08cd441c014a3","impliedFormat":1},{"version":"5d3e656baf210f702e4006949a640730d6aef8d6afc3de264877e0ff76335f39","impliedFormat":1},{"version":"a42db31dacd0fa00d7b13608396ca4c9a5494ae794ad142e9fb4aa6597e5ca54","impliedFormat":1},{"version":"4d2b263907b8c03c5b2df90e6c1f166e9da85bd87bf439683f150afc91fce7e7","impliedFormat":1},{"version":"c70e38e0f30b7c0542af9aa7e0324a23dd2b0c1a64e078296653d1d3b36fa248","impliedFormat":1},{"version":"b7521b70b7fbcf0c3d83d6b48404b78b29a1baead19eb6650219e80fd8dcb6e1","impliedFormat":1},{"version":"b7b881ced4ed4dee13d6e0ccdb2296f66663ba6b1419767271090b3ff3478bb9","impliedFormat":1},{"version":"b70bd59e0e52447f0c0afe7935145ef53de813368f9dd02832fa01bb872c1846","impliedFormat":1},{"version":"63c36aa73242aa745fae813c40585111ead225394b0a0ba985c2683baa6b0ef9","impliedFormat":1},{"version":"3e7ffc7dd797e5d44d387d0892bc288480493e73dcab9832812907d1389e4a98","impliedFormat":1},{"version":"db011ec9589fd51995cbd0765673838e38e6485a6559163cc53dcf508b480909","impliedFormat":1},{"version":"e1a4253f0cca15c14516f52a2ad36c3520b140b5dfb3b3880a368cd75d45d6d9","impliedFormat":1},{"version":"159af954f2633a12fdee68605009e7e5b150dbeb6d70c46672fd41059c154d53","impliedFormat":1},{"version":"a1b36a1f91a54daf2e89e12b834fa41fb7338bc044d1f08a80817efc93c99ee5","impliedFormat":1},{"version":"8bb4a5b632dd5a868f3271750895cb61b0e20cff82032d87e89288faee8dd6e2","impliedFormat":1},{"version":"039ab44466a5ea4d2629f0d728f80dda8593f26b34357096c1ab06f2fb84c956","impliedFormat":1},{"version":"017de6fdabea79015d493bf71e56cbbff092525253c1d76003b3d58280cd82a0","impliedFormat":1},{"version":"ab9ea2596cb7800bd79d1526930c785606ec4f439c275adbca5adc1ddf87747d","impliedFormat":1},{"version":"6b7fcccc9beebd2efadc51e969bf390629edce4d0a7504ee5f71c7655c0127b7","impliedFormat":1},{"version":"6745b52ab638aaf33756400375208300271d69a4db9d811007016e60a084830f","impliedFormat":1},{"version":"90ee466f5028251945ee737787ee5e920ee447122792ad3c68243f15efa08414","impliedFormat":1},{"version":"02ea681702194cfc62558d647243dbd209f19ee1775fb56f704fe30e2db58e08","impliedFormat":1},{"version":"1d567a058fe33c75604d2f973f5f10010131ab2b46cf5dddd2f7f5ee64928f07","impliedFormat":1},{"version":"5af5ebe8c9b84f667cd047cfcf1942d53e3b369dbd63fbea2a189bbf381146c6","impliedFormat":1},{"version":"a64e1daa4fc263dff88023c9e78bf725d7aba7def44a89a341c74c647afe80cc","impliedFormat":1},{"version":"f444cfd9eb5bcbc86fba3d7ca76d517e7d494458b4f04486090c6ccd40978ce7","impliedFormat":1},{"version":"5099990c9e11635f284bde098176e2e27e5afc562d98f9e4258b57b2930c5ea6","impliedFormat":1},{"version":"cf7dc8abfb13444c1756bbac06b2dd9f03b5bc90c0ebc1118796dae1981c12e6","impliedFormat":1},{"version":"3cc594d4e993618dc6a84d210b96ac1bd589a5a4b772fd2309e963132cb73cca","impliedFormat":1},{"version":"f189f28612dfeac956380eccea5be2f44dcac3d9a06cf55d41d23b7e99959387","impliedFormat":1},{"version":"b3f82681e61a3e1f4592c1554361a858087cd04ee3112ce73186fc79deeeabde","impliedFormat":1},{"version":"e647d13de80e1b6b4e1d94363ea6f5f8f77dfb95d562748b488a7248af25aabf","impliedFormat":1},{"version":"1567dbd347b2917ba5a386f713e45c346a15b0e1e408d4a83f496d6a3481768b","impliedFormat":1},{"version":"219a25474e58a8161b242776856ec5f6960839b63e74809445e51cadbfc18096","impliedFormat":1},{"version":"2f77672836c646d02dd1fb6c8d24e9cd8c63131c5e9c37e72f30856b1d740e62","impliedFormat":1},{"version":"6309a45fc3c03d3c4d56228e995d51974f53009a842374695b34f3607877e5a3","impliedFormat":1},{"version":"bef94eba81ae2c09059c0d9abdb1ae1b7090314f70550f3c8cd5d7ead4a4f212","impliedFormat":1},{"version":"48b787ad458be9b524fa5fdfef34f68798074132d4b8cfe6a6fe9c2bf334c532","impliedFormat":1},{"version":"37280465f8f9b2ea21d490979952b18b7f4d1f0d8fab2d627618fb2cfa1828e3","impliedFormat":1},{"version":"77d2e5fe68865c678ec562561aad45cfd86ef2f62281ce9bafd471b4f76b8d86","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f3f85dc43cb93c5a797f1ff0fa948d0e17843a443ae11a20cc032ccdf1b9997","impliedFormat":1},{"version":"581843e855d92557cbe9dfe242de4e53badae5e9096ca593b50788f7c89c37f2","impliedFormat":1},{"version":"869010bc679df668137cb3b78a3cb8196e97acf285208a57f6156ceac894a2f7","impliedFormat":1},{"version":"bcae62618c23047e36d373f0feac5b13f09689e4cd08e788af13271dbe73a139","impliedFormat":1},{"version":"2c49c6d7da43f6d21e2ca035721c31b642ebf12a1e5e64cbf25f9e2d54723c36","impliedFormat":1},{"version":"5ae003688265a1547bbcb344bf0e26cb994149ac2c032756718e9039302dfac8","impliedFormat":1},{"version":"ff1d5585a223a2ff2586567e2b3f372421b363739d4812ae6555eb38e2d0f293","impliedFormat":1},{"version":"ba8a615335e3dfdf0773558357f15edfff0461db9aa0aef99c6b60ebd7c40344","impliedFormat":1},{"version":"dd21167f276d648aa8a6d0aacd796e205d822406a51420b7d7f5aa18a6d9d6d9","impliedFormat":1},{"version":"1f32ed99de308b01cdbe152856199ee36a29a80ccfcc0efd9fbb1ac931c871de","impliedFormat":1},{"version":"a86053981218db1594bd4839bde0fb998e342ecf04967622495434a8f52a4041","impliedFormat":1},{"version":"5c317403752871838140f70879b09509e37422e92e7364b4363c7b179310ee44","impliedFormat":1},{"version":"8b15e8af2fc862870418d0a082a9da2c2511b962844874cf3c2bad6b2763ca10","impliedFormat":1},{"version":"3d399835c3b3626e8e00fefc37868efe23dbb660cce8742486347ad29d334edd","impliedFormat":1},{"version":"b262699ba3cc0cae81dae0d9ff1262accf9832b2b7ee6548c626d74076bff8fe","impliedFormat":1},{"version":"057cac07c7bc5abdcfba44325fcea4906dff7919a3d7d82d4ec40f8b4c90cf2f","impliedFormat":1},{"version":"d94034601782f828aa556791279c86c37f09f7034a2ab873eefe136f77a6046b","impliedFormat":1},{"version":"fd25b101370ee175be080544387c4f29c137d4e23cad4de6c40c044bed6ecf99","impliedFormat":1},{"version":"8175f51ec284200f7bd403cb353d578e49a719e80416c18e9a12ebf2c4021b2b","impliedFormat":1},{"version":"e3acb4eb63b7fc659d7c2ac476140f7c85842a516b98d0e8698ba81650a1abd4","impliedFormat":1},{"version":"4ee905052d0879e667444234d1462540107789cb1c80bd26e328574e4f3e4724","impliedFormat":1},{"version":"a7088b8d6472f674000b9185deab1e2c2a77df6537e126f226591044ae2d128a","impliedFormat":1},{"version":"445fe49dc52d5d654a97d142b143fa2fb1dc16a86906545619b521b1561df501","impliedFormat":1},{"version":"c0c0b22cefd1896b92d805556fcabda18720d24981b8cb74e08ffea1f73f96c2","impliedFormat":1},{"version":"ceec94a0cd2b3a121166b6bfe968a069f33974b48d9c3b45f6158e342396e6b2","impliedFormat":1},{"version":"49e35a90f8bd2aa4533286d7013d9c9ff4f1d9f2547188752c4a88c040e42885","impliedFormat":1},{"version":"09043c4926b04870c1fdfdea3f5fcf40a1c9912304a757326e505bebe04a6d5c","impliedFormat":1},{"version":"cc5dfb7ddc9ab17cf793506f342fffdcb2b6d1d7a9c0e7c8339772fee42b7f91","impliedFormat":1},{"version":"88c34f554b5926f4988d9ff26f84c4f18a4d010f261dac2ed52055eefb9e3c65","impliedFormat":1},{"version":"a7aec47aa991ef5080126c3e2732a8488c13fd846099f89b0d24dc35c0f790d3","impliedFormat":1},{"version":"35085777eb17b745911d00a75be17096fe28a8766081cbd644ef15b4ba756aa2","impliedFormat":1},{"version":"cb498c53a9d35ac1cf9a3515f3835d48b4626a612cf7540c5bfb99542c9ab1a5","impliedFormat":1},{"version":"0ace3010fe4a0e820155e3ccb0172375a01162e528ffc22eec2fa33d697bff24","impliedFormat":1},{"version":"a1b64f86e1279835a2edc6125121dff74b04ef116d0230c20995b013ba37150e","impliedFormat":1},{"version":"39121347a4fa76cf47e67e1259fb0136325528a22bd54b1af6dbec353edf4b01","impliedFormat":1},{"version":"f3c3f17825c6a78681186da04c2f3a0f1c60cfa95f3d4b82bbbd6ebd57214a6a","impliedFormat":1},{"version":"eb45a1782ef50423c1ffac4d2a89c60004f4e2d25ed8e7dcb9e24e6cf984ccdb","impliedFormat":1},{"version":"07c333db8a26594bf2b80cf7b0ef0a83c42c28cb31cc727040f20061558df819","impliedFormat":1},{"version":"e5151e18c3e8d5d2f83ac60a4f4117f9bee54f643b64335858ceaa818e35d364","impliedFormat":1},{"version":"b52b0da52d2fee96d855936e9f3de93ea57e893677e776a46fc6eca96373d3be","impliedFormat":1},{"version":"03b7428a52323f9d455380f00da4f4b0798acb4f5f1c77525b48cb97ad9bc83c","impliedFormat":1},{"version":"6c3cf6de27512969bf59a541bd8e845ba1233e101e14c844e87d81e921fffa53","impliedFormat":1},{"version":"19207ec935fb6b0c022cdfd038ceffef1c948510394f249bde982170d4e57067","impliedFormat":1},{"version":"5276cc934ad4e253f53cf2331268451a66ebf711a027e71f4535af8642055bf8","impliedFormat":1},{"version":"185c55e63eec9da8263b4b1cf447d2ebe2fd7b892e5a0a5571e7e97b3c767bbb","impliedFormat":1},{"version":"f842cd4c63a3b077cf04f7d37ca163ab716f70f60ca5c5eed5c16b09a4c50c3a","impliedFormat":1},{"version":"00abe3d3cd26fcaf76ffeb6fde4ff7d6c8ad8154ac6c5ba41e05b4572fcd152b","impliedFormat":1},{"version":"49b3c93485a6c4cbc837b1959b07725541da298ef24d0e9e261f634a3fd34935","impliedFormat":1},{"version":"abf39cc833e3f8dfa67b4c8b906ac8d8305cf1050caed6c68b69b4b88f3f6321","impliedFormat":1},{"version":"dbbe2af77238c9c899b5369eca17bc950e4b010fa00bc2d340b21fa1714b8d54","impliedFormat":1},{"version":"c73d2f60d717b051a01b24cb97736e717d76863e7891eca4951e9f7f3bf6a0e6","impliedFormat":1},{"version":"2b79620ef917502a3035062a2fd0e247d21a22fef2b2677a2398b1546c93fb64","impliedFormat":1},{"version":"a54f60678f44415d01a810ca27244e04b4dde3d9b6d9492874262f1a95e56c7d","impliedFormat":1},{"version":"84058607d19ac1fdef225a04832d7480478808c094cbaedbceda150fa87c7e25","impliedFormat":1},{"version":"415d60633cf542e700dc0d6d5d320b31052efbdc519fcd8b6b30a1f992ef6d5c","impliedFormat":1},{"version":"901c640dced9243875645e850705362cb0a9a7f2eea1a82bb95ed53d162f38dd","impliedFormat":1},{"version":"ebb0d92294fe20f62a07925ce590a93012d6323a6c77ddce92b7743fa1e9dd20","impliedFormat":1},{"version":"b499f398b4405b9f073b99ad853e47a6394ae6e1b7397c5d2f19c23a4081f213","impliedFormat":1},{"version":"ef2cbb05dee40c0167de4e459b9da523844707ab4b3b32e40090c649ad5616e9","impliedFormat":1},{"version":"068a22b89ecc0bed7182e79724a3d4d3d05daacfe3b6e6d3fd2fa3d063d94f44","impliedFormat":1},{"version":"3f2009badf85a479d3659a735e40607d9f00f23606a0626ae28db3da90b8bf52","impliedFormat":1},{"version":"cd01201e3ec90fe19cc983fb6efaec5eab2e32508b599c38f9bf673d30994f0a","impliedFormat":1},{"version":"8ed892f4b45c587ed34be88d4fc24cb9c72d1ed8675e4b710f7291fcba35d22a","impliedFormat":1},{"version":"d32b5a3d39b581f0330bd05a5ef577173bd1d51166a7fff43b633f0cc8020071","impliedFormat":1},{"version":"f10759ece76e17645f840c7136b99cf9a2159b3eabf58e3eac9904cadc22eee5","impliedFormat":1},{"version":"363dd28f6a218239fbd45bbcc37202ad6a9a40b533b3e208e030137fa8037b03","impliedFormat":1},{"version":"c6986e90cf95cf639f7f55d8ca49c7aaf0d561d47e6d70ab6879e40f73518c8d","impliedFormat":1},{"version":"bb9918dbd22a2aa56203ed38b7e48d171262b09ce690ff39bae8123711b8e84a","impliedFormat":1},{"version":"1518707348d7bd6154e30d49487ba92d47b6bd9a32d320cd8e602b59700b5317","impliedFormat":1},{"version":"ede55f9bac348427d5b32a45ad7a24cc6297354289076d50c68f1692add61bce","impliedFormat":1},{"version":"d53a7e00791305f0bd04ea6e4d7ea9850ccc3538877f070f55308b3222f0a793","impliedFormat":1},{"version":"4ea5b45c6693288bb66b2007041a950a9d2fe765e376738377ba445950e927f6","impliedFormat":1},{"version":"7f25e826bfabe77a159a5fec52af069c13378d0a09d2712c6373ff904ba55d4b","impliedFormat":1},{"version":"ea2de1a0ec4c9b8828154a971bfe38c47df2f5e9ec511f1a66adce665b9f04b0","impliedFormat":1},{"version":"63c0926fcd1c3d6d9456f73ab17a6affcdfc41f7a0fa5971428a57e9ea5cf9e0","impliedFormat":1},{"version":"c30b346ad7f4df2f7659f5b3aff4c5c490a1f4654e31c44c839292c930199649","impliedFormat":1},{"version":"4ef0a17c5bcae3d68227136b562a4d54a4db18cfa058354e52a9ac167d275bbb","impliedFormat":1},{"version":"042b80988f014a04dd5808a4545b8a13ca226c9650cb470dc2bf6041fc20aca2","impliedFormat":1},{"version":"64269ed536e2647e12239481e8287509f9ee029cbb11169793796519cc37ecd4","impliedFormat":1},{"version":"c06fd8688dd064796b41170733bba3dcacfaf7e711045859364f4f778263fc7b","impliedFormat":1},{"version":"b0a8bf71fea54a788588c181c0bffbdd2c49904075a7c9cb8c98a3106ad6aa6d","impliedFormat":1},{"version":"434c5a40f2d5defeede46ae03fb07ed8b8c1d65e10412abd700291b24953c578","impliedFormat":1},{"version":"c5a6184688526f9cf53e3c9f216beb2123165bfa1ffcbfc7b1c3a925d031abf7","impliedFormat":1},{"version":"cd548f9fcd3cebe99b5ba91ae0ec61c3eae50bed9bc3cfd29d42dcfc201b68b5","affectsGlobalScope":true,"impliedFormat":1},{"version":"14a8ec10f9faf6e0baff58391578250a51e19d2e14abcc6fc239edb0fb4df7c5","impliedFormat":1},{"version":"81b0cf8cd66ae6736fd5496c5bbb9e19759713e29c9ed414b00350bd13d89d70","impliedFormat":1},{"version":"4992afbc8b2cb81e0053d989514a87d1e6c68cc7dedfe71f4b6e1ba35e29b77a","impliedFormat":1},{"version":"f15480150f26caaccf7680a61c410a07bd4c765eedc6cbdca71f7bca1c241c32","impliedFormat":1},{"version":"1c390420d6e444195fd814cb9dc2d9ca65e86eb2df9c1e14ff328098e1dc48ae","impliedFormat":1},{"version":"ec8b45e83323be47c740f3b573760a6f444964d19bbe20d34e3bca4b0304b3ad","impliedFormat":1},{"version":"ab8b86168ceb965a16e6fc39989b601c0857e1fd3fd63ff8289230163b114171","impliedFormat":1},{"version":"62d2f0134c9b53d00823c0731128d446defe4f2434fb84557f4697de70a62789","impliedFormat":1},{"version":"02c7b5e50ac8fb827c9cdcd22e3e57e8ebd513f0670d065349bef3b417f706f8","impliedFormat":1},{"version":"9a197c04325f5ffb91b81d0dca917a656d29542b7c54c6a8092362bad4181397","impliedFormat":1},{"version":"e6c3141ae9d177716b7dd4eee5571eb76d926144b4a7349d74808f7ff7a3dee0","impliedFormat":1},{"version":"d8d48515af22cb861a2ac9474879b9302b618f2ed0f90645f0e007328f2dbb90","impliedFormat":1},{"version":"e9ad7a5fecd647e72338a98b348540ea20639dee4ea27846cbe57c744f78ec2d","impliedFormat":1},{"version":"2c531043b1d58842c58e0a185c7bd5ce31e9a708667398373d6b113938629f90","impliedFormat":1},{"version":"5304a80e169ba8fe8d9c77806e393db1f708333afc1f95dede329fdbd84e29c7","impliedFormat":1},{"version":"7f0f90d0ffdd54875c464b940afaa0f711396f65392f20e9ffafc0af12ccbf14","impliedFormat":1},{"version":"2e93bb867fefffaecf9a54a91dbf271787e007ec2fe301d3dce080944c5518e5","impliedFormat":1},{"version":"3ab58250eb2968101cb0f3698aab0faa603660bc2d41d30ae13eaa22d75900d1","impliedFormat":1},{"version":"1f18ceea8d29b75099cc85f357622e87d6a2e0793486f89ab6da32cf9e434feb","impliedFormat":1},{"version":"c280ec77789efcf60ea1f6fd7159774422f588104dae9dfa438c9c921f5ab168","impliedFormat":1},{"version":"2826b3526af4f0e2c8f303e7a9a9a6bb8632e4a96fece2c787f2df286a696cea","impliedFormat":1},{"version":"3ec6d90ec9586e6e96120ff558429cac6ca656d81eb644ce703f736a316a0cd6","impliedFormat":1},{"version":"453b07099526a6d20fd30f357059d413677f919df8abf7346fab7c9abfec43fa","impliedFormat":1},{"version":"485f7d76af9e2b5af78aac874b0ac5563c2ae8c0a7833f62b24d837df8561fb9","impliedFormat":1},{"version":"8bdf41d41ff195838a5f9e92e5cb3dfcdc4665bcca9882b8d2f82a370a52384e","impliedFormat":1},{"version":"0a3351a5b3c74e9b822ade0e87a866bc7c010c1618bcde4243641817883fb8df","impliedFormat":1},{"version":"fe8a3e5492c807cc5cfc8dda4e6464aff0f991dc54db09be5d620fb4968ba101","impliedFormat":1},{"version":"03742d13572a69af40e24e742f3c40e58dc817aa51776477cf2757ee106c6c89","impliedFormat":1},{"version":"414f9c021dde847ee2382c4086f7bd3a49a354be865f8db898ee89214b2d2ced","impliedFormat":1},{"version":"bbbc43627abe35080c1ab89865ec63645977025d0161bc5cc2121dfd8bc8bc2e","impliedFormat":1},{"version":"0be66c79867b62eabb489870ba9661c60c32a5b7295cce269e07e88e7bee5bf3","impliedFormat":1},{"version":"f245714370dd2fdb586b6f216e39dc73fb81d9a49fcb76542a8ad16873b92044","impliedFormat":1},{"version":"3a19286bcc9303c9352c03d68bb4b63cecbf5c9b7848465847bb6c9ceafa1484","impliedFormat":1},{"version":"c573fef34c2e5cc5269fd9c95fe73a1eb9db17142f5d8f36ffe4a686378b8660","impliedFormat":1},{"version":"d97e30dd93590392fed422f2b27325d10ab007d034faaaf61e28e9ddc9d3825b","impliedFormat":1},{"version":"d1f8a829c5e90734bb47a1d1941b8819aeee6e81a2a772c3c0f70b30e3693fa9","impliedFormat":1},{"version":"be1dfacee25a14d79724ba21f1fde67f966b46e2128c68fed2e48c6e1e9822c5","impliedFormat":1},{"version":"19b3d0c212d241c237f79009b4cd0051e54971747fd89dc70a74f874d1192534","impliedFormat":1},{"version":"d6a0db08bed9312f7c4245ee3db068a96c4893ea7df69863eb9dd9c0af5b28f7","impliedFormat":1},{"version":"f17963b9935dd2142c08b006da53afeeaca2c9a600485f6eb9c018b96687275b","impliedFormat":1},{"version":"6671e036f299eda709114347015eb9cf2da8f9ea158871da9c21e9056f7e26ac","impliedFormat":1},{"version":"8375cf1206fa01c23097e5293405d442c83fd03109e938d1bf3d9784f84c2dbc","impliedFormat":1},{"version":"585516c0e8cfe3f12497eb1fd57c56c79f22bb7d729a2c0a32c458c93af68b03","impliedFormat":1},{"version":"a797a41988e5ba36b6707939953b0c0395ed92b91c1189359d384ca66e8fa0ab","impliedFormat":1},{"version":"2b1945f9ee3ccab0ecfed15c3d03ef5a196d62d0760cffab9ec69e5147f4b5aa","impliedFormat":1},{"version":"96f215cefc7628ac012e55c7c3e4e5ce342d66e83826777a28e7ed75f7935e10","impliedFormat":1},{"version":"82b4045609dc0918319f835de4f6cb6a931fd729602292921c443a732a6bb811","impliedFormat":1},{"version":"0fd70ca1eaef1e2dd6f48f16886df4838664821d992fd8076d07fc15e83c8498","impliedFormat":1},{"version":"ba30e6d2f1d20c707566cf485167331a10c539802a79040ced055b62a7aae53e","impliedFormat":1},{"version":"a07a62ef26968e6f49f8a3b438bd9eb6f4eddce472f1f86a2eb38d303b6916f6","impliedFormat":1},{"version":"414726e007c03d228dcb309a9182a773109c7190a8701b10f579632adb2b5003","impliedFormat":1},{"version":"537a2b61594512c5e75fad7e29d25c23922e27e5a1506eb4fce74fe858472a6e","impliedFormat":1},{"version":"311ca94091f3db783c0874128808d0f93ab5d7be82abc20ceb74afe275315d4a","impliedFormat":1},{"version":"7c07838da165fd43759a54d2d490461315e977f9f37c046e0e357623c657fc42","impliedFormat":1},{"version":"b311d973a0028d6bc19dfbaae891ad3f7c5057684eb105cfbeec992ab71fbc13","impliedFormat":1},{"version":"8a49e533b98d5c18a8d515cd3ae3bab9d02b6d4a9ac916e1dba9092ca0ebff15","impliedFormat":1},{"version":"a4c6a9f2ffe4ddcd6a7f25b913f7bc0238c41e4807e9c5b939a53f2e223cdea1","impliedFormat":1},{"version":"ce6c6b9cb612f81cc9c96831a4359124f75a9a343b6601ace601e615a37633fc","impliedFormat":1},{"version":"6d136510215aa809f7b2d0629d15065d1ffb6e0a76f25b34556f334156831730","impliedFormat":1},{"version":"a36185e1a88f282ea24652c90f8fd6e6738a9b01aca90929664152966df4574f","impliedFormat":1},{"version":"6621af294bd4af8f3f9dd9bd99bd83ed8d2facd16faa6690a5b02d305abd98ab","impliedFormat":1},{"version":"5eada4495ab95470990b51f467c78d47aecfccc42365df4b1e7e88a2952af1a3","impliedFormat":1},{"version":"ba87016094bafb7adef4665c2ae4bea1d93da4c02e439b26ea147f5e16c56107","impliedFormat":1},{"version":"40e9c2028b34c6c1e3281818d062f7008705254ee992d9857d051c603391e0f4","impliedFormat":1},{"version":"739a3562ca7403a7e91c22bee9e395127bc634de745ffc9db10b49a012f7d49c","impliedFormat":1},{"version":"4a34de405e3017bf9e153850386aacdf6d26bbcd623073d13ab3c42c2ae7314c","impliedFormat":1},{"version":"fe2d1251f167d801a27f0dfb4e2c14f4f08bf2214d9784a1b8c310fdfdcdaaea","impliedFormat":1},{"version":"2a1182578228dc1faad14627859042d59ea5ab7e3ac69cb2a3453329aaaa3b83","impliedFormat":1},{"version":"dfa99386b9a1c1803eb20df3f6d3adc9e44effc84fa7c2ab6537ed1cb5cc8cfb","impliedFormat":1},{"version":"79b0d5635af72fb87a2a4b62334b0ab996ff7a1a14cfdb895702e74051917718","impliedFormat":1},{"version":"5f00b052713bfe8e9405df03a1bbe406006b30ec6b0c2ce57d207e70b48cf4e9","impliedFormat":1},{"version":"c67ebd22f41275d97669de5bc7e81b347ba8b8f283d3e1a6ebcfc0caf75b754a","impliedFormat":1},{"version":"1b581d7fcfacd6bbdabb2ceae32af31e59bf7ef61a2c78de1a69ca879b104168","impliedFormat":1},{"version":"4720efe0341867600b139bca9a8fa7858b56b3a13a4a665bd98c77052ca64ea4","impliedFormat":1},{"version":"566fc645642572ec1ae3981e3c0a7dc976636976bd7a1d09740c23e8521496e5","impliedFormat":1},{"version":"66182e2432a30468eb5e2225063c391262b6a6732928bbc8ee794642b041dd87","impliedFormat":1},{"version":"11792ab82e35e82f93690040fd634689cad71e98ab56e0e31c3758662fc85736","impliedFormat":1},{"version":"0b2095c299151bc492b6c202432cb456fda8d70741b4fd58e86220b2b86e0c30","impliedFormat":1},{"version":"6c53c05df974ece61aca769df915345dc6d5b7649a01dc715b7da1809ce00a77","impliedFormat":1},{"version":"18c505381728b8cc6ea6986728403c1969f0d81216ed04163a867780af89f839","impliedFormat":1},{"version":"d121a48de03095d7dd5cd09d39e1a1c4892b520dad4c1d9c339c5d5008cfb536","impliedFormat":1},{"version":"3592c16d8a782be215356cb78cc3f6fad6132e802d157a874c1942d163151dcc","impliedFormat":1},{"version":"480ea50ea1ee14d243ea72e09d947488300ac6d82e98d6948219f47219511b8b","impliedFormat":1},{"version":"d575bcf7ebd470d7accf5787a0cf0f3c88c33ca7c111f277c03ebbe6d0e8b0b5","impliedFormat":1},{"version":"72141538e52e99ca6e7a02d80186ba8c877ff47a606fea613be1b7a3439c2b90","impliedFormat":1},{"version":"b43a0693d7162abf3a5b3b9e78acfafd0d4713af4d54d1778900e30c11bc4f83","impliedFormat":1},{"version":"115b155584649eaf75d50bdc8aaa9a0f528b60fade90f0cf78137c875ff7de7c","impliedFormat":1},{"version":"98d88eefab45da6b844d2bee8f6efa8d20c879f6dc870c17b90608a4ac0ad527","impliedFormat":1},{"version":"4eb2ca099a3febd21e98c36e29b3a9472458a1e76e888bf6499614c895ba6be7","impliedFormat":1},{"version":"f4dc28fbbba727722cb1fd82f51a7b9540fbe410ed04ddf35cab191d6aa2ba10","impliedFormat":1},{"version":"b8101e982968b04cfaabfc9613dc8f8244e0a8607007bba3537c1f7cbb2a9242","impliedFormat":1},{"version":"ed3e176bc769725ebc1d93f1d6890fc3d977b9155ae5d03be96ec2d49b303370","impliedFormat":1},{"version":"df032c6c1bad723c3f030dd36289fa04cd5375a999aa6a327d7319b2b29368a5","impliedFormat":1},{"version":"fc5221aedb3b5c52b4fbdf7b940c2115bde632f6cba52e05599363d5cd31019e","impliedFormat":1},{"version":"0289a27db91cb5a004dcf1e6192a09a1f9e8ff8ce606ff8fd691d42de5752123","impliedFormat":1},{"version":"dbb3a46b5070ee274b2cebef3562610d0be4ac5d4e2661695cc9bbe427a631f0","impliedFormat":1},{"version":"20252c8ca030a50addd53074531d3928c474081ac61c174b861c3ab4af366982","impliedFormat":1},{"version":"493534cea0a672ef2cfe5ecee1404e9e9729a88e07f892c045ff27e685ef8854","impliedFormat":1},{"version":"4a48a731413b6fae34620c2e458d0adf2f74083073544a72b1b3a96c32775b2f","impliedFormat":1},{"version":"d405963c5f69955e95c30ef121c7a3309f214f21ef09dceb5d7ac69557cbe0fa","impliedFormat":1},{"version":"b403746aa9e44b5b10a6c1d2ebcf35be1a714e570c7d801cefbf4a066f47ab30","impliedFormat":1},{"version":"c3dc147af5ef951e14797da29b2dcaf1fdddabb0175d538e1bedf64a34690b9e","impliedFormat":1},{"version":"77e6933a0f1e4e5d355175c6d5c517398002a3eb74f2218b7670a29814259e3a","impliedFormat":1},{"version":"90051a939d662322dbc062f856f82ccc13fbb6b3f3bbb5d863b4c5031d4e9a85","impliedFormat":1},{"version":"68969a0efd9030866f60c027aedbd600f66ea09e1c9290853cc24c2dcc92000f","impliedFormat":1},{"version":"4dbfad496657abd078dc75749cd7853cdc0d58f5be6dfb39f3e28be4fe7e7af5","impliedFormat":1},{"version":"348d2fe7d7b187f09ea6488ead5eae9bfbdb86742a2bad53b03dff593a7d40d1","impliedFormat":1},{"version":"169eab9240f03e85bffc6e67f8b0921671122f7200da6a6a5175859cdd4f48d8","impliedFormat":1},{"version":"04399fe6ea95f1973a82281981af80b49db8b876df63b3d55a1e1b42e9c121a9","impliedFormat":1},{"version":"5348b83c7c112f5ed380e4fb25520c5228d87bf9a362999ea2d097f11ffe839f","impliedFormat":1},{"version":"fd96a22ea53055740495377e18f3ddcba3cd3a6b14ee3f2d413ca4fb4decbf92","impliedFormat":1},{"version":"06842d406f05eadefc747f4a908d0bf03fcf9dd8733017fa8e94768e3562167e","impliedFormat":1},{"version":"ab81f0808d40b6c66650519f0328a422427ed78c3ea6ce43a259d3f27170c270","impliedFormat":1},{"version":"53f883e905a2b28ff75fab6ea92b8ff7b9c7dce1692ea2044aa64140a17e4102","impliedFormat":1},{"version":"2a996976ca06893fbe89726d56bdaacfb84f832cceec96911029507efbb8257f","impliedFormat":1},{"version":"44864a0d6a9c9a10533b3f874ede727ed1ec793f75317dde1c5f502788d4378b","impliedFormat":1},{"version":"6156d924b38105dfdfde6d8a0945d910b9506d27e25e551c72cc616496952a5a","impliedFormat":1},{"version":"db06627a8bc9ff9c94a3dfbba031dd19893f0ecf09bc83735d088d1e9b8c0a10","impliedFormat":1},{"version":"9b94d6b8c6ebfec5f8507900f04af6aa3a1f673b76334f02ef8bf0da6b23e255","impliedFormat":1},{"version":"05a618d1e5019598f7d2256ce7a51d4bf70b682cbb8604d847c186e1df619a65","impliedFormat":1},{"version":"3e4043704537881861603e2e8d3a32005acf8c713f53f54f664eaaf4bade5bc2","impliedFormat":1},{"version":"c27d3502a65fe141e31c052756b13aaf97f62f68dddb926848e44e68a11bdae1","impliedFormat":1},{"version":"c8b3b55d5a2dff0cbc47bb0d4e38fc73f9f68f1b9e1f62c34edb09a43b95c2dd","impliedFormat":1},{"version":"757f7967151a9b1f043aba090f09c1bdb0abe54f229efd3b7a656eb6da616bf4","impliedFormat":1},{"version":"786691c952fe3feac79aca8f0e7e580d95c19afc8a4c6f8765e99fb756d8d9d7","impliedFormat":1},{"version":"3dfd48c19c6c245e74df4b2c04b6d0f1db0cfdac3536e64998d60c26aaf71294","impliedFormat":1},{"version":"ca9c62b4a4ef031e540fdb29202df397778053cc3d1d69a247cfb48740696f1d","impliedFormat":1},{"version":"40ab53ad78a76cb291d1fa82d8e9280aaaece3ae8510e59429c43e720b719e60","impliedFormat":1},{"version":"42534f3ebe5fb14f5face2c556631cfebf0ad77e3d351529848e84c4cb1091f8","impliedFormat":1},{"version":"179c27348124b09f18ef768012f87b2b7f1cdc57f15395af881a762b0d4ba270","impliedFormat":1},{"version":"651fe75dc9169834ef495a27540cff1969b63ccdac1356c9de888aaca991bfbf","impliedFormat":1},{"version":"7abc0a41bf6ba89ea19345f74e1b02795e8fda80ddcfe058d0a043b8870e1e23","impliedFormat":1},{"version":"ab0926fedbd1f97ec02ed906cf4b1cf74093ab7458a835c3617dba60f1950ba3","impliedFormat":1},{"version":"ce9abc5ff833d7c27a30e28b046e8d96b79d4236be87910e1ef278230e1a0d58","impliedFormat":1},{"version":"7f5a6eac3d3d334e2f2eba41f659e9618c06361958762869055e22219f341554","impliedFormat":1},{"version":"e6773ee69d14a45b44efa16a473a6366d07f61cd4f131b9fea7cd2e5b36a265c","impliedFormat":1},{"version":"4093c47f69ea7acf0931095d5e01bfe1a0fa78586dbf13f4ae1142f190d82cc4","impliedFormat":1},{"version":"4fc9939c86a7d80ab6a361264e5666336d37e080a00d831d9358ad83575267da","impliedFormat":1},{"version":"f4ba385eedea4d7be1feeeac05aaa05d6741d931251a85ab48e0610271d001ce","impliedFormat":1},{"version":"52ae1d7a4eb815c20512a1662ca83931919ac3bb96da04c94253064291b9d583","impliedFormat":1},{"version":"6fa6ceb04be38c932343d6435eb6a4054c3170829993934b013b110273fe40af","impliedFormat":1},{"version":"0e8536310d6ed981aa0d07c5e2ca0060355f1394b19e98654fdd5c4672431b70","impliedFormat":1},{"version":"e71d84f5c649e283b31835f174df2afe6a01f4ef2cb1aafca5726b7d2b73a2e4","impliedFormat":1},{"version":"6d26bc11d906309e5c3b12285f94d9ef8edd8529ddee60042aba8470280b8b55","impliedFormat":1},{"version":"8f2644578a3273f43fd700803b89b842d2cd09c1fba2421db45737357e50f5b1","impliedFormat":1},{"version":"639f94fe145a72ce520d3d7b9b3b6c9049624d90cbf85cff46fb47fb28d1d8fe","impliedFormat":1},{"version":"8327a51d574987a2b0f61ea40df4adddf959f67bc48c303d4b33d47ba3be114a","impliedFormat":1},{"version":"00e1da5fce4ae9975f7b3ca994dcb188cf4c21aee48643e1d6d4b44e72df21ee","impliedFormat":1},{"version":"4d250e905299144850c6f8e74dad1ee892d847643bacf637e89adcce013f0700","impliedFormat":1},{"version":"51b4ab145645785c8ced29238192f870dbb98f1968a7c7ef2580cd40663b2940","impliedFormat":1},{"version":"100802c3378b835a3ce31f5d108de149bd152b45b555f22f50c2cafb3a962ead","impliedFormat":1},{"version":"fd4fef81d1930b60c464872e311f4f2da3586a2a398a1bdf346ffc7b8863150f","impliedFormat":1},{"version":"354f47aa8d895d523ebc47aea561b5fedb44590ac2f0eae94b56839a0f08056a","impliedFormat":1},{"version":"f8aef3803aeabbeb2aeed7c95364ed7012d0fc2e67f91d942b294bdc33c61ad6","impliedFormat":1},{"version":"67f2cd6e208e68fdfa366967d1949575df6ccf90c104fc9747b3f1bdb69ad55a","impliedFormat":1},{"version":"7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d","impliedFormat":1},{"version":"6af0436d7bc691791240da9d35b9cbdd5672626914e19906bb827f9c1900d4b6","impliedFormat":1},{"version":"976d20bb5533077a2135f456a2b48b7adb7149e78832b182066930bad94f053a","impliedFormat":1},{"version":"589713fefe7282fd008a2672c5fbacc4a94f31138bae6a03db2c7b5453dc8788","impliedFormat":1},{"version":"26f7f55345682291a8280c99bb672e386722961063c890c77120aaca462ac2f9","impliedFormat":1},{"version":"62b753ed351fba7e0f6b57103529ce90f2e11b949b8fc69c39464fe958535c25","impliedFormat":1},{"version":"514321f6616d04f0c879ac9f06374ed9cb8eac63e57147ac954e8c0e7440ce00","impliedFormat":1},{"version":"3c583256798adf31ef79fd5e51cd28a6fc764db87c105b0270214642cf1988aa","impliedFormat":1},{"version":"21ff5f4017e8c2f3070ccef5a64f5e7d9130381ee788571650cf1ffb75cabc96","impliedFormat":1},{"version":"ff4aeeeaf4f7f3dc3e099c2e2b2bb4ec80edda30b88466c4ddf1dd169c73bf26","impliedFormat":1},{"version":"151aa7caace0a8e58772bff6e3505d06191508692d8638cd93e7ca5ecfa8cd1b","impliedFormat":1},{"version":"3d59b606bca764ce06d7dd69130c48322d4a93a3acb26bb2968d4e79e1461c3c","impliedFormat":1},{"version":"0231f8c8413370642c1c061e66b5a03f075084edebf22af88e30f5ce8dbf69f4","impliedFormat":1},{"version":"474d9ca594140dffc0585ce4d4acdcfba9d691f30ae2cafacc86c97981101f5c","impliedFormat":1},{"version":"8e1884a47d3cfddccf98bc921d13042988da5ebfd94664127fa02384d5267fc3","impliedFormat":1},{"version":"ea7d883df1c6b48eb839eb9b17c39d9cecf2e967a5214a410920a328e0edd14e","impliedFormat":1},{"version":"0e2a6b2eeadafbc7a27909527af46705d47e93c652d656f09cc3ef460774291b","impliedFormat":1},{"version":"ed56810efb2b1e988af16923b08b056508755245a2f8947e6ad491c5133664ed","impliedFormat":1},{"version":"ed012a19811c4010cb7d8920378f6dd50f22e1cf2842ecb44a157030667b165e","impliedFormat":1},{"version":"26a19453ef691cc08d257fbcbcc16edb1a2e78c9b116d5ee48ed69e473c8ff76","impliedFormat":1},{"version":"90f08678b00c7b7aaaad0c84fb6525a11b5c35dad624b59dcadd3d279a4366c4","impliedFormat":1},{"version":"97ba9ccb439e5269a46562c6201063fbf6310922012fd58172304670958c21f6","impliedFormat":1},{"version":"50edac457bdc21b0c2f56e539b62b768f81b36c6199a87fbb63a89865b2348f0","impliedFormat":1},{"version":"d090654a3a57a76b5988f15b7bb7edc2cdc9c056a00985c7edd1c47a13881680","impliedFormat":1},{"version":"25091d25f74760301f1e094456e2e6af52ceb6ef1ece48910463528e499992d8","impliedFormat":1},{"version":"37c8a5c668434709a1107bcc0deb4eaee2bc2aaa4921ac3bd4324b7c2a14d7fb","impliedFormat":1},{"version":"e4d6f03a31978e95ee753ec8fec65a50dc4fa91bf5630109b5f8676100ec1c7a","impliedFormat":1},{"version":"fb9b98cf20eafb7ec5d507cf0f144a695056b96598c8f6078c9b36058055a47c","impliedFormat":1},{"version":"b69f00ee38cbb51c6b11205368400e10b6e761973125c6e5e4288ba1499a6750","impliedFormat":1},{"version":"c3c892a46ec2ac9009d14833285413b40d346ba66ffd25ea79d89b02a8412a43","impliedFormat":1},{"version":"a6b82642ffcca801802b7340cbbd96a0f3ad1f6929e7cf8089c2b01638b6bb16","impliedFormat":1},{"version":"d94788742fcee8b300495d141129b1361a37c2b7a63e91e8852c5ff1fbdbe191","impliedFormat":1},{"version":"b853fa8392f2037223349e9f340e5e657d93ef778a27297e4377d4ac4d2a1943","impliedFormat":1},{"version":"853d02f4f46ca9700fefd0d45062f5b82c9335ba2224ca4d7bd34d6ae4fc4a7f","impliedFormat":1},{"version":"5f9ab7ba179f92fa3c5dddafec778a621fe9f64e2ba8c264ddf76fe5cf9eaf93","impliedFormat":1},{"version":"f3a5d6af934c0368c411773ae2797e35de76f1442f7ba7f70dc34e7b6414d44f","impliedFormat":1},{"version":"cfdb6424be9f96784958b8db382966517ea8d942f88820c217ac381650c83248","impliedFormat":1},{"version":"b44c5027a39e2681754d23c33ae1d87c1a9ee23f2b8ff17caa8207bdf4d2b768","impliedFormat":1},{"version":"887b69ee7a553db2adcdf2ce326de30bc58d8167b5f7e0b032f967f8662afb36","impliedFormat":1},{"version":"0d91e0aac110b6a18bbabcb319da477d88812f2098fd628bf66184f04fd4a732","impliedFormat":1},{"version":"4d3907e60c82bf3c5249946749dfdc3e0f9fd65ff563942cad47927b013e90ca","impliedFormat":1},{"version":"b2415721ef2ce2d99d0edb92eb520b30fe1eb302be075a47f115d2e70f3ad2d8","impliedFormat":1},{"version":"90f746f93468ea85bf89e6dce8e27e45f923334b2d35350cd0e39c417d6fd97a","impliedFormat":1},{"version":"b3cc1bb7311f35569b531e781d4a42d2b91f8dfd8bc194cc310c8b61011d6e43","impliedFormat":1},{"version":"54c171f00a5219a2019296b92550daa0a6cf420fc7a4f72787be40eac1112c67","impliedFormat":1},{"version":"8ca2d01f5f3d4d4067aadea230570afa4c91e24e485fbe2e9d53ead3b33f80d0","impliedFormat":1},{"version":"119e2a82b2910c7a2dabb32c2ab3e08c937974b900677839e5a907b4cff70343","impliedFormat":1},{"version":"c7ddf2aa89f4541979c8337682b6bc278e5535be0f1fac98c778e222ef357703","impliedFormat":1},{"version":"dcf067993ca6e8af8050ebb538f3db1d9ab49fc1d8392ab2a9e2db50919e7337","impliedFormat":1},{"version":"7712ecdeea38000b827fd83924c6e79eefa07d0429566b67851b3a904c81e84e","impliedFormat":1},{"version":"6a93f4d75874f80695bcdcea5c82b0acb6165cd5189f64787bd6392785c59b55","impliedFormat":1},{"version":"40228cb2139cd66f8a5b2d04799d46e498f0bc3628aa3fc7f59b93101f12e018","impliedFormat":1},{"version":"c63d9f12db61f356997c562afa39764c7b5b94644d2baed79c4c3b8ab2245cc5","impliedFormat":1},{"version":"0909e3c124a597b6e61e7b6963f8ee24f28bdd498814eb40b6aacdf12de15f07","impliedFormat":1},{"version":"4f39dce2538e02d390dc7a0c731657820fb7a0ef6ffe4f3e538d6267bf11c160","impliedFormat":1},{"version":"dba6d141189de41c5823edb566acedee51f9418171c22da2ceac9967bb3eeb4b","impliedFormat":1},{"version":"45c1937c5112d6096385c9a910f36ab26387a52db4755aae90d3cdb447d09df0","impliedFormat":1},{"version":"47f27dee96bd9f88485597c120bcae97352723515c91ee0c4f340b65e8fdde90","impliedFormat":1},{"version":"0e4fae3a0b07e719b109636c7713162764f5294fe763617caa79305b52fa300e","impliedFormat":1},{"version":"de639cb674f0e517dfbb5dca77351e7b8aee1285ff67e2058f2b767b8e139071","impliedFormat":1},{"version":"065a575fbb46e3c2c906070b8e4c644e32a4bea9dc5628ec37c5b4eb842cee20","impliedFormat":1},{"version":"a0812274791aec8795f4903f2f1fee50ec0c865be75515280187ad5a02654df0","impliedFormat":1},{"version":"c402c80b5ae39dd6122f9663d887ff9022e013bcbb7b54fbc0615cc8a2dde3ca","impliedFormat":1},{"version":"777e8a2310ac685d10c14e947dee19371d22b6c38653fb61138f3183a96e543c","impliedFormat":1},{"version":"46596f3b4b9aa680ad32c0f4a6d42c21178c24a6cdd37b0f6f13f65b6e3e6ebf","impliedFormat":1},{"version":"41ccc92556e61e83b96d7eb8e4eb08e59304d531d4b86ff12bf515c11f5cae26","impliedFormat":1},{"version":"a26e8b7749a8c4393b4ae15b6f42d3a06a1453d502bfd4b7e7fb7dc8db4e0b1e","impliedFormat":1},{"version":"fc1bcacacd238f1968ca7ca9c3a99e70fbd3acada059790e530ab4f7d6b8931d","impliedFormat":1},{"version":"a6b2cd6b306d44830631aef3da40a3deb5ef05468194d54d7dfff43ee9dceee3","impliedFormat":1},{"version":"6b83452f582b1559110eaabbef1f286ce5c09ba854561661de70725d5241a409","impliedFormat":1},{"version":"2fa318a0425a8a2199819b967e241e2b867c6dc72c890625f152bd09e864096f","impliedFormat":1},{"version":"d70f6e43a0cb004f4823ea00ddde5b6259664705180046622491efa9642d410e","impliedFormat":1},{"version":"ab24670fa090a29be6236f0255246d3217a47deca51ae7cce12768ddebcc4d7f","impliedFormat":1},{"version":"9b8c094c6512064b96f5410bb7b50bc2b4157aa52823af499cc2c8c14b95b356","impliedFormat":1},{"version":"c67d0a6c3d67f97e6220d7b0c604363d12860f949b3f8e9c1b7dcf82652de151","impliedFormat":1},{"version":"792f89172f046ce163b5f498610c032fb1fbb92320511e5ce6783d14320823ce","impliedFormat":1},{"version":"4157da46cf3cf7368c47fbe799c5d788db1c359ad173c5b4d3467c3c29f0d7fa","impliedFormat":1},{"version":"e2ad75ead8e28a979bbb725187afe1363515d4e865382e5e6f0e056f88bfc587","impliedFormat":1},{"version":"00db801468020dc4c2be7202aee474f42b92b4fb81cb19053d9a664d7c5641bc","impliedFormat":1},{"version":"55797a20336715697ce50c073c85f1da6f50778d058a87ebc6edd80a7beafb70","impliedFormat":1},{"version":"46a067504652f0cf73644ec127ff72c72494929395f9f661fa2b1fae58212a05","impliedFormat":1},{"version":"f3241b6107c3cba05c668a9ed924713429476562b6469fe401ff9d6f8df8d49e","impliedFormat":1},{"version":"fb489f2065438683ba5b42fb5d910b5cb714d87781c618ae7a6bd8eac7cdb9cc","impliedFormat":1},{"version":"42a81df90ac2c5cab11ad7a2904afc8da01b72812bd264701c5f1e764fff2f35","impliedFormat":1},{"version":"2076f3438bc661aa36fbc99a2a3816c6ffc3ebd66a6236f1a190de6a044ddd3c","impliedFormat":1},{"version":"ea3460348a46b36abecaf43f8c4894922bd8fd9b0e2374f907e34b4e98984c43","impliedFormat":1},{"version":"2eab6d2aebb73773764eb41b7f833e6f849e2dbd5c69435fa85f3ca8b9cef177","impliedFormat":1},{"version":"eab46562cfc544beef85c5bec1503b90b10b4d65d05ee484ac70c27dc00b952f","impliedFormat":1},{"version":"b0087020bf986c17f6d936edc2f0170202a2475f79fa19dd06ec8e948e56ff31","impliedFormat":1},{"version":"b89b6f61a98b1f2f24247405f432088314dae7de328042da8f9703cff6da80fc","impliedFormat":1},{"version":"4aea0f7cce449b8672295bdbf7abd3cb846accf781a00d62bf76aeeb9255373b","impliedFormat":1},{"version":"ee2a31bc90c6cb197663861c2dfc28b0b9ace19f29e4be16c1dbd26f9adbbb57","impliedFormat":1},{"version":"8ffa16ef275f7cdc2bc16fcd34238033b9a801298f7df8a552d9ecc9b96caec7","impliedFormat":1},{"version":"9b50aa514c1a46f428252ae36ba5c59c5046d91bedf416bd6040a47f27f4d30d","impliedFormat":1},{"version":"ac0b69233a71248e6c4fd4e842d0a1fff8ba80dd317e1d15b6345bdd5122e7c3","impliedFormat":1},{"version":"14080ac3d227cdd0042ae1d291cd4d863195ea5cba38ea968e39c0ecabfc1745","impliedFormat":1},{"version":"1aa9b3402297b7cdb76f6f76c2b440417a3112f36aef18b9f64af4c97c3039c9","impliedFormat":1},{"version":"1092b92e695561843c1a1fe39cb2b9916e02f2e3256b1537031f983af627c0f6","impliedFormat":1},{"version":"9770897a656704ef62a685b93465a685a2586499d07650ea3d8624a55d2f5150","impliedFormat":1},{"version":"81fd6252b5a5722616363233231b0e461981bfc72ecfd3e87c44f3edd0750ebf","impliedFormat":1},{"version":"d2a5d498abcf6c3135d80353e0ec8eedf18f43620953db429e04d1a1fa42abb2","impliedFormat":1},{"version":"70dbfcb3c6d3fc9ac5da781d2d482da670ccbb73820731305c4f954823a2e16a","impliedFormat":1},{"version":"b792c1c9ed79082d7b4665eb1214755f07b7c86d2418441ca2f1179e27392b89","impliedFormat":1},{"version":"02db023e81356492d2a0bae795e2be1c6c77b02c35eec591f904db58ed79e892","impliedFormat":1},{"version":"541f8e36f1bffd11b20bc72ecc1b74169ffcae2226e5a2bbef76ad5221da4f54","impliedFormat":1},{"version":"010f25cfb8fac410150d58fc7f7d8eb9ea7adf94026f76f9166a5ea6ea5d2b79","impliedFormat":1},{"version":"918e39ad45b9ba464bb3d437dfea621bb5014ed02deda9d2710c49b2a8f4ca66","impliedFormat":1},{"version":"03191c8469ff94dbaf36f91bafc51aeba712c889892b68681d45ecb72c9fd062","impliedFormat":1},{"version":"ef5f2f014e33798b8cf0f819229680547d4f40c358617d07fa9b132f2ec23bb6","impliedFormat":1},{"version":"d99319eb9ff423f4e5a661fe19b2ff36e34360e120a8ea3c9cd87775c62363bb","impliedFormat":1},{"version":"e6f56c321c0563412151b40d6c9704bf829c879f1af9abdec87a7baaed26d913","impliedFormat":1},{"version":"8cf63a573c0a87084f6eff0cd8d7710b7805aba361f0c79c0278bb8624287482","impliedFormat":1},{"version":"a12914a442f060b5a681656ed357634658d7272a240345f31d24fcf5a30c2230","impliedFormat":1},{"version":"50cfb740fd720d611fe1703c29bca289847d9a5ea0f67d737747fc16735cbf9d","impliedFormat":1},{"version":"fdcb440b765030bc126cffb5568d18e6de3d4307b780f65f562532fb4442b473","impliedFormat":1},{"version":"f3ea8e312ddcef73f90270361b0f7ea5373bbb782760b6ccd554cc5ae853947d","impliedFormat":1},{"version":"0e98b7d738e86f5969f0a732f6fc910d4ab32d9dd9cfc7c7d70ad7dbfba2411d","impliedFormat":1},{"version":"f42865d4e60720a815a62a8cf77f13a838153a972dc151c26ec809a10bafc5a1","impliedFormat":1},{"version":"f1eb376d31322e4399d509932f643354678ea544bae6a1e2f6e24fd2b58deac1","impliedFormat":1},{"version":"959fc57bc9c2c027617d00b09a6f8e31f4dd140e88ce0201036b7816c8d77bf9","impliedFormat":1},{"version":"884632c3bddc3d66d9a80b80d686b3a675e900034801e86ff26c3777157b45f2","impliedFormat":1},{"version":"7c6d91c6897d3b56ad19b4bcd112e7bafeeae4975d1e0f3fa988aafaacff693c","impliedFormat":1},{"version":"2f66f1ef0dcece09fd774a7a3d5e40272277466d19262c17b4ff7d0cb42963da","impliedFormat":1},{"version":"c0b1bb076ef94a3f6f9ca75845c485b0407f7b07136a4e756b4eb5f9bce69947","impliedFormat":1},{"version":"8b243af6a124f2a2bde322c2686682b6e123134cb21e8d5b649d579efd978c3d","impliedFormat":1},{"version":"0bbea3413a1e34b2430311b86b3b8f2d61125b363b9fce94d81710136125f134","impliedFormat":1},{"version":"e13090934b1579a8e6e4005228ef3c95b24a0e4540db431a1fddea257867b0bb","impliedFormat":1},{"version":"28d32a4ba199776fc1a9d53fd0aa2c752a9eb881d3c7e9bf67b696cb6cf0213f","impliedFormat":1},{"version":"d0eee5a6637bb8c20b45be984bb27e97633a8872e749bcbea70f9ec3660c0b2f","impliedFormat":1},{"version":"10d0538afccf2d3a3f1ab5429a912622fa6f2a262ba6548f2755f42b51679f34","impliedFormat":1},{"version":"3bb5363cb51c0e6289431bd197c92de29b25455692074dc4fe4dc71e4875fb45","impliedFormat":1},{"version":"fbcb42e9163390e4022a5335669126a41330f35a26ed6bc7507698a8410b38e9","impliedFormat":1},{"version":"3292ac70441bfc2a416374a2d3a74f89bf091a621d15847db6b15c833ecd281d","impliedFormat":1},{"version":"0380bfc1d4307922d75b2cd9553ce1e8627bf2927589939c598df9be417cfdb7","impliedFormat":1},{"version":"2ef2f22b6d54f5a394ce9c4d4eac1a57b05bfc1d76ae5b2d18bfceb6c867eceb","impliedFormat":1},{"version":"08a69862f75f97e3b5c25549a261ba66a3c140ddf89cf4cee2fd57f48e31c3c6","impliedFormat":1},{"version":"6ba03fbd2a6f5bbaaac45ee9de5e92035c7c4c0f621c0ef306379ac9c340a3fe","impliedFormat":1},{"version":"b6e0daaa5ee0f06819a845274cf801ea2aa27a6f305fb825cd9af3ffa8ea8b5c","impliedFormat":1},{"version":"8f28c747592377686f20bb6804fe2d558ff19a7119a2488b70a31c0f0da04b7b","impliedFormat":1},{"version":"a09f8068f1e4dadb895f43bc73aacb932fc8f9134a54a09297616c361d6fde5e","impliedFormat":1},{"version":"c8deeb2af3089cfb9040495e50cde83cb4669ff29e4beda9d78e1867a2d92f58","impliedFormat":1},{"version":"a7096de593e2440ad6c2982346794748821e0643d98a78fe34667a9908eed6a1","impliedFormat":1},{"version":"3f6671e17a785eb5f30cad12d9ef7b7e45986ec2f05b0f3c96e7f38888c30a6e","impliedFormat":1},{"version":"c1abfa6ab634edc5b2849546aed0de9cbf4a3b6d99fe023059727e44e2ffee1b","impliedFormat":1},{"version":"2c6dcd7470d722a13eff7160197d024a0caa4ca3beb3044356e32dc5373e4937","impliedFormat":1},{"version":"99873801e4f7b10b3f27b482b1e0b5976a7368d0b61424335942e343f2f91fab","impliedFormat":1},{"version":"8e04a94c6bd179b02e9f696a56a5f09075f51745ce94b0b3c8faa15b35f28623","impliedFormat":1},{"version":"b1dc7ea08c423e14727d43fa732f4fe4211a53e5c4e5cf623771a21d56ae51e0","impliedFormat":1},{"version":"26abb933e85fcd39d6fbb018e7c88ed18bbea06f58b64e9fa13a058a2d957700","impliedFormat":1},{"version":"b3110f6e28c32f5f4b2b91c106c4d0df72da13f5422cf1edbf02776c9049fc1a","impliedFormat":1},{"version":"04b69baa3c394d5048aef3369381d0e20816cf296b381acc52f08ca22cc86b45","impliedFormat":1},{"version":"d5f6a99b680ba2f84e15957a86b0f1baaf45f2e85cbaae1e4cd8674f1a0a22e5","impliedFormat":1},{"version":"66cd52a0f432f88787fc1eafd24b5d75c94711d1fb35114ae04257bc2bd542e4","impliedFormat":1},{"version":"04bb658e1004d020de120214e2ded3a5993b94a4df6104c4f950dee3da192953","impliedFormat":1},{"version":"b15222fd9f3dffc2095bbb1d9294fb91bcb532beb04c5891062478cacddc754a","impliedFormat":1},{"version":"d2ef66c3f5d3401bd95d48492fb7861f3f8e8992a17543c75f5bfb904e07d932","impliedFormat":1},{"version":"af4ad02f3a1457af2e2331399229a7d70e1cb1198b1aecc0bc18aa3b3b695bbc","impliedFormat":1},{"version":"52b6c07b8f8b1b46bf85c2129e0c4cf233203c199837d4a17e914459d09e986a","impliedFormat":1},{"version":"54c195d5324008024a1002f0b3f28aecb22f682811c0ee4ea2db4d2bb34e68c5","impliedFormat":1},{"version":"aaed2c389c40c4b5e33f27e30e7a64c96661a7f2bebc0d1ce526f5823301bb8f","impliedFormat":1},{"version":"61cd1904b69fe6d2a64df8b14b5a405c47276c6546de27c316f9bbcfac46592f","impliedFormat":1},{"version":"615ad07ab7542be91ec72aa0656fd8daed4feac15a2459aaa7c36dfc32f4e37d","impliedFormat":1},{"version":"df12cb709574b860f8e33c022e9561f339ba71794cd5d4b0d22b8be3ea509f52","impliedFormat":1},{"version":"31ff5aebab2436465c61de78fcf94b7d6d03915951310e0cfb6dc61b1e3ed751","impliedFormat":1},{"version":"d2745be767c32464627abc322a88f5076df5802a16a260d7ccf13600ad0a615e","impliedFormat":1},{"version":"aa73259de07ff85e39d2b49fbd233847690ff8ad4875d0023805d2a015f4ea43","impliedFormat":1},{"version":"74a907fa14655328575b29e4dbdf58440dd07c081d9d245f785c4143d10510c8","impliedFormat":1},{"version":"fbcdb2ccec93060304b878e7f65246b6b2c992e896774e9eaf7744f58a9cd8a6","impliedFormat":1},{"version":"935094dc19b20214f20677d5b871aa34e0e3280e6c852dd57b6a118134a15764","impliedFormat":1},{"version":"ea99aa2e537966df22f8192e99929ee81719c1cf0b9d9d83d0c6fed53325ccc6","impliedFormat":1},{"version":"c624b65789f71d3fe13d03b599adbaaf8b17644382f519510097537736df461b","impliedFormat":1},{"version":"3fbeaff576ce5b8035224fbcb98ec13b7cdd16cdbbf8ee7b4052d3d6330683fb","impliedFormat":1},{"version":"cc8eac1829ee2ec61323b3af1967790ceb9d0815ef8c40c340bc8090c17a9064","impliedFormat":1},{"version":"5947f213795a08df7324841661f27341937a5603edcd63fa2d2d66fb11864ec9","impliedFormat":1},{"version":"2d9f4d58554a246616eeaa090a2fb0dddccf412e88617975138389fb15770ca9","impliedFormat":1},{"version":"9d5e2347ea0d666f938644fdd4ea2bd48abd70b69e68db435b0e9d82c21debe3","impliedFormat":1},{"version":"74eeab10497f9b660c5faa35a4c798985d501f4c6ac59ec0a4f5bf1e9e22f8d5","impliedFormat":1},{"version":"58564964bef3ffbd810241a8bd1c3a54347dd8adf04e1077ba49051009d3007d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3a658cb22692e5a3da4221442f4469f9119aa045f4f75375ce39d313bca12086","signature":"fad6bf7f9e68a6e56efb67ee2c59345629cc9d381b2ab3741ca854116b07dcd4"},{"version":"5b16ee90edb0416340c7cb8c7f3e4240026c4747d47037adf4a7a12cb3f2d4be","signature":"92de8d44fa2d60ff3f5ef49a83847980c5e0a9f637eb720d0bc08bbf333c06e6"},{"version":"870f004f17745cc2dc35de842c43bf0d058669c1a2b000b092f83b5eee907d2a","signature":"73706b56036ae39b6c7e92a39152f29872e92015f26f2b794d64582ff825483e"},{"version":"b8450523b22b455226dc5fdc4c4f07e2511acb1666647d70e37ea02cd78d3771","signature":"31abaa8790302fcb0102513bb85cae3feee6adcbd3a8fc30a57ed41272aa6516"},{"version":"a4868eb34d5db29f43c670de8456553aed52ac3f7e9073a24c9d47a9fff23df6","signature":"c106970ee4b686b5ebf0964ea4e0d1b2af02bdecd2d5cfeecedeb7bb5b2f404b"},{"version":"faf0052fa8d2e63727164581736dd17f87757381566f6d44e9461707fb2f6e27","signature":"1fa04d6e805aed3d41c180d34e8741b3559ad028827ac93585415c1bec17a1d3"},{"version":"1cbfb271809f6be5cae75f214e8156dec1e7d60de9896ca81700560f17a32129","signature":"c106970ee4b686b5ebf0964ea4e0d1b2af02bdecd2d5cfeecedeb7bb5b2f404b"},{"version":"6d0763bc29b8f4d35678dec3727f24c34841c7da893b1b7791a7c192fbaf229b","signature":"7c9b3b0b432f667008dc522b80317ac43e9223703f4cb1e03e429e9b1eaa8610"},{"version":"f801f1edfb0d169e967b18421d7e7cd8b4d7870cfcf4faecbdf4d359435b921e","signature":"c106970ee4b686b5ebf0964ea4e0d1b2af02bdecd2d5cfeecedeb7bb5b2f404b"},{"version":"2a50a8cababafd952121d44259344b0215bf3aa4bbfee7ca58625f1f494c3ddb","signature":"c106970ee4b686b5ebf0964ea4e0d1b2af02bdecd2d5cfeecedeb7bb5b2f404b"},{"version":"25be1eb939c9c63242c7a45446edb20c40541da967f43f1aa6a00ed53c0552db","impliedFormat":1},{"version":"4095f4086e7db146d9e08ad0b24c795ba6e4bddbd4aa87c5c06855efbda974aa","impliedFormat":1},{"version":"66e35c936425c190a7c8319b516e6d19b3dd38c6edc94cb941974120001b3f24","impliedFormat":99},{"version":"13bdecee1a2e39238d50da3bc10d2882e9eb77ebbbcd27100186509c1e7d3250","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e318ce85e9fe70b491325bca4044462e1f2ec5a8b174fa321742694f3af6d73b","affectsGlobalScope":true},{"version":"151ff381ef9ff8da2da9b9663ebf657eac35c4c9a19183420c05728f31a6761d","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"4006c872e38a2c4e09c593bc0cdd32b7b4f5c4843910bea0def631c483fff6c5","impliedFormat":1},{"version":"ab6aa3a65d473871ee093e3b7b71ed0f9c69e07d1d4295f45c9efd91a771241d","impliedFormat":1}],"root":[164,[167,173],[176,178],[642,651],655,656],"options":{"allowImportingTsExtensions":true,"composite":true,"emitDeclarationOnly":true,"esModuleInterop":true,"module":1,"outDir":"./dist","rootDir":"./src","skipLibCheck":true,"strict":true,"target":7},"referencedMap":[[619,1],[511,2],[514,3],[515,3],[516,3],[517,3],[518,3],[519,3],[520,3],[521,3],[522,3],[523,3],[524,3],[525,3],[526,3],[527,3],[528,3],[529,3],[530,3],[531,3],[532,3],[533,3],[534,3],[535,3],[536,3],[537,3],[538,3],[539,3],[540,3],[541,3],[542,3],[543,3],[544,3],[545,3],[546,3],[547,3],[548,3],[549,3],[550,3],[551,3],[552,3],[553,3],[554,3],[555,3],[556,3],[557,3],[558,3],[559,3],[560,3],[561,3],[562,3],[563,3],[564,3],[565,3],[566,3],[567,3],[568,3],[569,3],[570,3],[571,3],[572,3],[573,3],[624,4],[574,3],[575,3],[576,3],[577,3],[578,3],[579,3],[580,3],[582,5],[583,5],[584,5],[585,5],[586,5],[587,5],[588,5],[589,5],[590,5],[591,5],[592,5],[593,5],[594,5],[595,5],[596,5],[597,5],[598,5],[599,5],[600,5],[601,5],[602,5],[603,5],[604,5],[605,5],[606,5],[607,5],[608,5],[609,5],[610,5],[611,5],[612,5],[613,5],[614,5],[615,5],[616,5],[617,5],[618,5],[510,6],[620,7],[640,8],[639,9],[513,10],[581,11],[512,12],[630,13],[625,14],[626,15],[627,16],[628,17],[629,18],[621,19],[623,20],[622,21],[638,22],[634,23],[635,23],[636,24],[637,24],[509,25],[475,26],[479,27],[476,28],[477,28],[478,28],[482,29],[481,30],[485,31],[483,32],[480,33],[484,34],[487,35],[486,26],[488,26],[489,6],[508,36],[497,26],[494,37],[495,37],[493,38],[496,38],[492,39],[490,40],[491,40],[498,6],[505,41],[504,42],[502,6],[503,43],[506,44],[507,6],[500,45],[501,46],[499,46],[265,47],[261,26],[264,6],[267,48],[266,48],[268,48],[269,49],[271,50],[262,51],[263,51],[270,47],[272,6],[273,6],[352,52],[275,53],[274,6],[276,6],[319,54],[318,55],[321,56],[334,34],[335,32],[347,57],[336,58],[348,59],[317,28],[320,60],[349,61],[350,6],[351,62],[353,6],[355,63],[354,64],[277,6],[278,6],[279,6],[280,6],[281,6],[282,6],[283,6],[292,65],[293,6],[294,26],[295,6],[296,6],[297,6],[298,6],[286,26],[299,26],[300,6],[285,66],[287,67],[284,6],[290,68],[288,66],[289,67],[316,69],[301,6],[302,67],[303,6],[304,6],[305,26],[306,6],[307,6],[308,6],[309,6],[310,6],[311,6],[312,70],[313,6],[314,6],[291,6],[315,6],[360,71],[356,32],[357,32],[359,72],[358,6],[370,73],[361,32],[363,74],[362,6],[365,75],[364,26],[368,76],[369,77],[366,78],[367,78],[412,79],[413,26],[430,80],[429,6],[439,81],[432,57],[433,26],[431,82],[438,83],[434,6],[435,6],[437,84],[436,6],[414,6],[427,85],[416,86],[415,6],[422,87],[418,88],[419,88],[423,6],[420,88],[417,6],[425,6],[424,88],[421,88],[426,89],[462,6],[463,26],[465,90],[472,91],[466,26],[467,26],[468,26],[469,26],[470,26],[471,26],[440,92],[428,93],[473,94],[371,6],[372,95],[375,96],[377,97],[376,6],[378,96],[379,96],[381,98],[373,6],[380,6],[374,26],[392,99],[393,33],[394,26],[398,100],[395,6],[396,6],[397,101],[391,102],[390,6],[259,103],[247,6],[257,104],[258,6],[260,105],[340,106],[341,107],[342,6],[343,108],[339,109],[337,6],[338,6],[346,110],[344,26],[345,6],[248,26],[249,26],[250,26],[251,26],[256,111],[252,6],[253,6],[254,112],[255,6],[324,26],[330,6],[325,6],[326,6],[327,6],[331,6],[333,113],[328,6],[329,6],[332,6],[323,114],[322,6],[399,6],[441,115],[442,116],[443,26],[444,117],[445,26],[446,26],[447,26],[448,6],[449,115],[450,6],[452,118],[453,119],[451,6],[454,26],[455,26],[474,120],[456,26],[457,6],[458,26],[459,115],[460,26],[461,26],[179,121],[180,122],[181,26],[182,26],[195,123],[196,124],[193,125],[194,126],[197,127],[200,128],[202,129],[203,130],[185,131],[204,26],[208,132],[206,133],[207,26],[201,26],[210,134],[186,135],[212,136],[213,137],[216,138],[215,139],[211,140],[214,141],[209,142],[217,143],[218,144],[222,145],[223,146],[221,147],[199,148],[187,26],[190,149],[224,150],[225,151],[226,151],[183,26],[228,152],[227,151],[246,153],[188,26],[192,154],[229,155],[230,26],[184,26],[220,156],[234,157],[232,26],[233,26],[231,158],[219,159],[235,160],[236,161],[237,128],[238,128],[239,162],[205,26],[241,163],[242,164],[198,26],[243,26],[244,165],[240,26],[189,166],[191,142],[245,121],[383,167],[387,26],[385,168],[388,26],[386,169],[389,170],[384,6],[382,26],[400,26],[402,6],[401,171],[403,172],[404,173],[405,171],[406,171],[407,174],[411,175],[408,171],[409,174],[410,26],[632,176],[633,177],[631,6],[165,178],[159,179],[158,180],[161,181],[652,180],[657,26],[155,182],[160,183],[156,26],[658,26],[175,184],[151,26],[653,180],[174,26],[641,185],[96,186],[97,186],[98,187],[57,188],[99,189],[100,190],[101,191],[52,26],[55,192],[53,26],[54,26],[102,193],[103,194],[104,195],[105,196],[106,197],[107,198],[108,198],[110,26],[109,199],[111,200],[112,201],[113,202],[95,203],[56,26],[114,204],[115,205],[116,206],[149,207],[117,208],[118,209],[119,210],[120,211],[121,212],[122,213],[123,214],[124,215],[125,216],[126,217],[127,217],[128,218],[129,26],[130,26],[131,219],[133,220],[132,221],[134,222],[135,223],[136,224],[137,225],[138,226],[139,227],[140,228],[141,229],[142,230],[143,231],[144,232],[145,233],[146,234],[147,235],[148,236],[153,26],[154,26],[152,237],[157,238],[659,26],[660,26],[163,26],[162,239],[464,26],[150,240],[654,181],[166,174],[49,26],[50,26],[10,26],[8,26],[9,26],[14,26],[13,26],[2,26],[15,26],[16,26],[17,26],[18,26],[19,26],[20,26],[21,26],[22,26],[3,26],[23,26],[24,26],[4,26],[25,26],[29,26],[26,26],[27,26],[28,26],[30,26],[31,26],[32,26],[5,26],[33,26],[34,26],[35,26],[36,26],[6,26],[40,26],[37,26],[38,26],[39,26],[41,26],[7,26],[42,26],[51,26],[47,26],[48,26],[43,26],[44,26],[45,26],[46,26],[1,26],[12,26],[11,26],[73,241],[83,242],[72,241],[93,243],[64,244],[63,245],[92,178],[86,246],[91,247],[66,248],[80,249],[65,250],[89,251],[61,252],[60,178],[90,253],[62,254],[67,255],[68,26],[71,255],[58,26],[94,256],[84,257],[75,258],[76,259],[78,260],[74,261],[77,262],[87,178],[69,263],[70,264],[79,265],[59,174],[82,257],[81,255],[85,26],[88,266],[655,267],[645,268],[649,269],[178,270],[647,271],[642,272],[172,273],[176,274],[167,275],[171,276],[168,276],[170,276],[644,277],[169,278],[646,279],[650,280],[643,281],[648,282],[651,283],[177,284],[164,285],[656,286],[173,26]],"latestChangedDtsFile":"./dist/app.d.ts","version":"5.8.3"} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..cb5d2b23 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,26 @@ +services: + backend: + build: + context: ./backend + dockerfile: Dockerfile + container_name: backend + extra_hosts: + - "host.docker.internal:host-gateway" + networks: + - app-network + + client: + build: + context: ./client + dockerfile: Dockerfile + container_name: client + ports: + - "3000:80" + depends_on: + - backend + networks: + - app-network + +networks: + app-network: + driver: overlay From 9c43c59299f793e48d75fd17f15a91d96a11e598 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:31:57 -0400 Subject: [PATCH 04/17] Changed github workflow --- .github/workflows/pipeline.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index ea5ef2d3..1e8a193b 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -27,8 +27,8 @@ jobs: context: . push: true tags: | - ghcr.io/campus-cart:latest - ghcr.io/campus-cart:${{ github.sha }} + ghcr.io/${{ github.repository_owner }}/CampusCart:latest + ghcr.io/${{ github.repository_owner }}/CampusCart:${{ github.sha }} deploy: runs-on: ubuntu-latest From 587540293d14ffd2c225b6e9fd2aedb646870f2b Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:42:02 -0400 Subject: [PATCH 05/17] Changed github workflows --- .github/workflows/pipeline.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 1e8a193b..95bf7ac1 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -5,6 +5,7 @@ on: - "deployment" permissions: + contents: read packages: write jobs: From 6b89e56142712def503e92b01a7e28091b0a5e7e Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:43:15 -0400 Subject: [PATCH 06/17] Changed to lowercase --- .github/workflows/pipeline.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 95bf7ac1..e862e819 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -28,8 +28,8 @@ jobs: context: . push: true tags: | - ghcr.io/${{ github.repository_owner }}/CampusCart:latest - ghcr.io/${{ github.repository_owner }}/CampusCart:${{ github.sha }} + ghcr.io/${{ github.repository_owner }}/campuscart:latest + ghcr.io/${{ github.repository_owner }}/campuscart:${{ github.sha }} deploy: runs-on: ubuntu-latest From fe809d93b2d0301e6e0dfc82b13c2ccd1fae7c2f Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:47:12 -0400 Subject: [PATCH 07/17] All lower --- .github/workflows/pipeline.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index e862e819..d47fbfd0 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -28,8 +28,8 @@ jobs: context: . push: true tags: | - ghcr.io/${{ github.repository_owner }}/campuscart:latest - ghcr.io/${{ github.repository_owner }}/campuscart:${{ github.sha }} + ghcr.io/manushpatell/campuscart:latest + ghcr.io/manushpatell/campuscart:${{ github.sha }} deploy: runs-on: ubuntu-latest From e9c26108a00fe8098e2c396a4e712cea49810112 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:55:49 -0400 Subject: [PATCH 08/17] Updated github workflow --- .github/workflows/pipeline.yaml | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index d47fbfd0..a04b2ffc 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -22,14 +22,23 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Build and push Docker image + - name: Build and push frontend Docker image uses: docker/build-push-action@v6 with: - context: . + context: /client push: true tags: | - ghcr.io/manushpatell/campuscart:latest - ghcr.io/manushpatell/campuscart:${{ github.sha }} + ghcr.io/manushpatell/campuscart/client:latest + ghcr.io/manushpatell/campuscart/client:${{ github.sha }} + + - name: Build and push backend Docker image + uses: docker/build-push-action@v6 + with: + context: /backend + push: true + tags: | + ghcr.io/manushpatell/campuscart/backend:latest + ghcr.io/manushpatell/campuscart/backend:${{ github.sha }} deploy: runs-on: ubuntu-latest From 8cfcd2c085cce2d96c68d0beb21a0e52ac907c9b Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 10:57:55 -0400 Subject: [PATCH 09/17] Updated context --- .github/workflows/pipeline.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index a04b2ffc..2739574f 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -25,7 +25,7 @@ jobs: - name: Build and push frontend Docker image uses: docker/build-push-action@v6 with: - context: /client + context: ./client push: true tags: | ghcr.io/manushpatell/campuscart/client:latest @@ -34,7 +34,7 @@ jobs: - name: Build and push backend Docker image uses: docker/build-push-action@v6 with: - context: /backend + context: ./backend push: true tags: | ghcr.io/manushpatell/campuscart/backend:latest From f41d0d6fefb6e24d1383b3814e73eaa17e88d3a5 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Wed, 3 Sep 2025 21:32:07 -0400 Subject: [PATCH 10/17] Updated --- docker-compose.yml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index cb5d2b23..7356c160 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,6 @@ services: backend: - build: - context: ./backend - dockerfile: Dockerfile + image: ghcr.io/manushpatell/campuscart/backend:latest container_name: backend extra_hosts: - "host.docker.internal:host-gateway" @@ -10,12 +8,10 @@ services: - app-network client: - build: - context: ./client - dockerfile: Dockerfile + image: ghcr.io/manushpatell/campuscart/client:latest container_name: client ports: - - "3000:80" + - "443:80" depends_on: - backend networks: From 8e2c3c634276d674447b423f9a34733dbc8765a3 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 17:12:36 -0400 Subject: [PATCH 11/17] Updated git workflow --- .github/workflows/pipeline.yaml | 8 ++++++++ docker-compose.yml | 10 ++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 2739574f..5d30b0ab 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -30,6 +30,10 @@ jobs: tags: | ghcr.io/manushpatell/campuscart/client:latest ghcr.io/manushpatell/campuscart/client:${{ github.sha }} + platforms: linux/amd64,linux/arm64 + cache-from: type=registry,ref=ghcr.io/manushpatell/campuscart/client:latest + cache-to: type=registry,ref=ghcr.io/manushpatell/campuscart/client:latest,mode=max + - name: Build and push backend Docker image uses: docker/build-push-action@v6 @@ -39,6 +43,10 @@ jobs: tags: | ghcr.io/manushpatell/campuscart/backend:latest ghcr.io/manushpatell/campuscart/backend:${{ github.sha }} + platforms: linux/amd64,linux/arm64 + cache-from: type=registry,ref=ghcr.io/manushpatell/campuscart/backend:latest + cache-to: type=registry,ref=ghcr.io/manushpatell/campuscart/backend:latest,mode=max + deploy: runs-on: ubuntu-latest diff --git a/docker-compose.yml b/docker-compose.yml index 7356c160..6f4ef821 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,21 +1,27 @@ services: backend: image: ghcr.io/manushpatell/campuscart/backend:latest - container_name: backend extra_hosts: - "host.docker.internal:host-gateway" networks: - app-network + deploy: + replicas: 1 + restart_policy: + condition: on-failure client: image: ghcr.io/manushpatell/campuscart/client:latest - container_name: client ports: - "443:80" depends_on: - backend networks: - app-network + deploy: + replicas: 1 + restart_policy: + condition: on-failure networks: app-network: From fa8c895b496266b7500a8ef8beaffffd9d02131b Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 17:15:09 -0400 Subject: [PATCH 12/17] Updated git workflow --- .github/workflows/pipeline.yaml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 5d30b0ab..4b2ae0ec 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -31,8 +31,6 @@ jobs: ghcr.io/manushpatell/campuscart/client:latest ghcr.io/manushpatell/campuscart/client:${{ github.sha }} platforms: linux/amd64,linux/arm64 - cache-from: type=registry,ref=ghcr.io/manushpatell/campuscart/client:latest - cache-to: type=registry,ref=ghcr.io/manushpatell/campuscart/client:latest,mode=max - name: Build and push backend Docker image @@ -44,8 +42,6 @@ jobs: ghcr.io/manushpatell/campuscart/backend:latest ghcr.io/manushpatell/campuscart/backend:${{ github.sha }} platforms: linux/amd64,linux/arm64 - cache-from: type=registry,ref=ghcr.io/manushpatell/campuscart/backend:latest - cache-to: type=registry,ref=ghcr.io/manushpatell/campuscart/backend:latest,mode=max deploy: From d562dc18846b3ad4dfb7d540795e9c492d65b890 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 17:18:09 -0400 Subject: [PATCH 13/17] Updated workflow --- .github/workflows/pipeline.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 4b2ae0ec..8c8dcbb7 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -22,6 +22,12 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Build and push frontend Docker image uses: docker/build-push-action@v6 with: From 96cb078d59db32d33183774e59451484c15beeae Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 17:20:11 -0400 Subject: [PATCH 14/17] Added cacheing --- .github/workflows/pipeline.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 8c8dcbb7..2fd6274c 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -37,6 +37,8 @@ jobs: ghcr.io/manushpatell/campuscart/client:latest ghcr.io/manushpatell/campuscart/client:${{ github.sha }} platforms: linux/amd64,linux/arm64 + cache-from: type=registry,ref=ghcr.io/manushpatell/campuscart/client:latest + cache-to: type=registry,ref=ghcr.io/manushpatell/campuscart/client:latest,mode=max - name: Build and push backend Docker image @@ -48,6 +50,8 @@ jobs: ghcr.io/manushpatell/campuscart/backend:latest ghcr.io/manushpatell/campuscart/backend:${{ github.sha }} platforms: linux/amd64,linux/arm64 + cache-from: type=registry,ref=ghcr.io/manushpatell/campuscart/backend:latest + cache-to: type=registry,ref=ghcr.io/manushpatell/campuscart/backend:latest,mode=max deploy: From d186f8b7f01e2e1cfddf7418721515a0202d5b87 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 17:30:36 -0400 Subject: [PATCH 15/17] Rerun workflow --- .github/workflows/pipeline.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index 2fd6274c..ec0d4fe1 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -66,6 +66,7 @@ jobs: run: | echo "GIT_COMMIT_HASH=${{ github.sha }}" >> ./envfile + # - name: Docker Stack Deploy # uses: cssnr/stack-deploy-action@v1 # with: From ec5d5bd0d1c8fde2f607abe5b2988a68e98a409b Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 17:56:36 -0400 Subject: [PATCH 16/17] Changed docker compose --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6f4ef821..af66dc99 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -13,7 +13,7 @@ services: client: image: ghcr.io/manushpatell/campuscart/client:latest ports: - - "443:80" + - "80:80" depends_on: - backend networks: From 3bc4d2e24d8bc169fb825fa6bc0162bf682e1230 Mon Sep 17 00:00:00 2001 From: AndrewI26 Date: Fri, 5 Sep 2025 19:28:42 -0400 Subject: [PATCH 17/17] Updated docker compose --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index af66dc99..3dc571e5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,4 +25,4 @@ services: networks: app-network: - driver: overlay + driver: bridge