From 53d52c71d0e40706adebed428032477d94febe7c Mon Sep 17 00:00:00 2001 From: Omer Morad Date: Sat, 15 Nov 2025 18:09:31 +0200 Subject: [PATCH 01/59] fix(core): add missing @suites/types.doubles dependency (#925) --- packages/core/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/core/package.json b/packages/core/package.json index 9c6b03a6..ad604c47 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -37,6 +37,7 @@ "dependencies": { "@suites/types.common": "^3.0.0", "@suites/types.di": "^3.0.0", + "@suites/types.doubles": "^3.0.0", "lodash.isequal": "^4.5.0" }, "devDependencies": { From 0757bfa757528dcc2adc8a056949d338128df01e Mon Sep 17 00:00:00 2001 From: Omer Morad Date: Tue, 19 Aug 2025 09:06:47 +0300 Subject: [PATCH 02/59] chore: migrate project from yarn to pnpm (#799) --- .eslintignore | 7 - .gitattributes | 5 +- .github/workflows/ci.yml | 45 +- .github/workflows/e2e.yml | 15 +- .github/workflows/publish-packages.yml | 26 +- .github/workflows/set-coverage.yml | 13 +- .gitignore | 12 +- .husky/pre-commit | 2 +- .npmignore | 2 +- .yarn/install-state.gz | Bin 1173009 -> 0 bytes .yarn/releases/yarn-1.22.1.cjs | 147386 ----------------- .yarnrc.yml | 3 - CONTRIBUTING.md | 10 +- eslint.config.mjs | 61 + jest.base.config.ts | 8 +- lerna.json | 2 +- local-e2e.sh | 10 +- package.json | 63 +- packages/core/package.json | 6 +- packages/core/tsconfig.build.json | 3 +- packages/di/inversify/package.json | 6 +- packages/di/nestjs/package.json | 6 +- packages/doubles/jest/jest.config.ts | 3 +- packages/doubles/jest/package.json | 6 +- packages/doubles/jest/tsconfig.build.json | 3 +- packages/doubles/sinon/jest.config.ts | 3 +- packages/doubles/sinon/package.json | 6 +- packages/doubles/sinon/tsconfig.build.json | 3 +- packages/doubles/vitest/build.sh | 4 +- packages/doubles/vitest/package.json | 6 +- packages/doubles/vitest/tsconfig.build.json | 3 +- packages/types/common/package.json | 6 +- packages/types/common/tsconfig.build.json | 3 +- packages/types/di/package.json | 6 +- packages/types/di/tsconfig.build.json | 3 +- packages/types/doubles/package.json | 12 +- packages/types/doubles/tsconfig.build.json | 3 +- packages/unit/.eslintignore | 1 - packages/unit/build.sh | 4 +- packages/unit/package.json | 4 +- packages/unit/tsconfig.build.json | 3 +- pnpm-lock.yaml | 9090 + pnpm-workspace.yaml | 5 + yarn.lock | 8797 - 44 files changed, 9329 insertions(+), 156336 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .yarn/install-state.gz delete mode 100644 .yarn/releases/yarn-1.22.1.cjs delete mode 100644 .yarnrc.yml create mode 100644 eslint.config.mjs delete mode 100644 packages/unit/.eslintignore create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml delete mode 100644 yarn.lock diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 5e86e9a1..00000000 --- a/.eslintignore +++ /dev/null @@ -1,7 +0,0 @@ -node_modules/* -coverage/* -dist -dist/* -*.js -*.d.ts -index.ts diff --git a/.gitattributes b/.gitattributes index af3ad128..5f532f28 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,3 @@ -/.yarn/** linguist-vendored -/.yarn/releases/* binary -/.yarn/plugins/**/* binary +# pnpm files +pnpm-lock.yaml linguist-vendored /.pnp.* binary linguist-generated diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed86a897..ec473235 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,22 +27,27 @@ jobs: - uses: actions/cache@v4 with: path: '**/node_modules' - key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} + key: ${{ runner.os }}-modules-${{ hashFiles('**/pnpm-lock.yaml') }} - name: Remove Vitest If Needed if: ${{ matrix.node-version == '16.x' }} run: rm -rf packages/doubles/vitest - - name: Yarn - run: yarn --frozen-lockfile + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 10.14.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Build if: ${{ matrix.node-version != '16.x' }} - run: yarn build + run: pnpm build - - name: Build + - name: Build (Node 16.x) if: ${{ matrix.node-version == '16.x' }} - run: yarn build --ignore @suites/doubles.vitest + run: pnpm build --filter=!@suites/doubles.vitest lint: name: Lint @@ -59,16 +64,21 @@ jobs: - uses: actions/cache@v4 with: path: '**/node_modules' - key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} + key: ${{ runner.os }}-modules-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Yarn - run: yarn --frozen-lockfile + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 10.14.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Lint - run: yarn lint + run: pnpm lint - name: Validate Packages - run: yarn manypkg check + run: pnpm manypkg check test: name: Test @@ -88,16 +98,21 @@ jobs: - uses: actions/cache@v4 with: path: '**/node_modules' - key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} + key: ${{ runner.os }}-modules-${{ hashFiles('**/pnpm-lock.yaml') }} + + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 10.14.0 - - name: Yarn - run: yarn --frozen-lockfile + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Create Coverage Directory run: mkdir -p ${{ github.workspace }}/coverage - name: Test - run: yarn lerna exec yarn test --scope @suites/${{ matrix.project }} + run: pnpm lerna exec pnpm test --scope @suites/${{ matrix.project }} env: JEST_JUNIT_OUTPUT_NAME: ${{ matrix.project }}.xml JEST_JUNIT_OUTPUT_DIR: ${{ github.workspace }}/test-reports diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 20793b06..77dca6b9 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -75,8 +75,13 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: Yarn - run: yarn --frozen-lockfile + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 10.14.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Run Verdaccio Docker run: | @@ -86,7 +91,7 @@ jobs: verdaccio/verdaccio - name: Build - run: yarn build + run: pnpm build - name: Setup Registry uses: actions/setup-node@v4 @@ -133,7 +138,7 @@ jobs: - name: Publish Packages run: | - yarn lerna publish from-package --yes \ + pnpm lerna publish from-package --yes \ --no-git-tag-version \ --no-push \ --no-git-reset \ @@ -150,7 +155,7 @@ jobs: run: | rm -rf packages rm -rf node_modules - rm yarn.lock + rm pnpm-lock.yaml rm package.json - name: Install Dependencies diff --git a/.github/workflows/publish-packages.yml b/.github/workflows/publish-packages.yml index 9a1cb2f1..7f19938f 100644 --- a/.github/workflows/publish-packages.yml +++ b/.github/workflows/publish-packages.yml @@ -78,8 +78,13 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: Yarn - run: yarn --frozen-lockfile + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8.15.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Run Verdaccio Docker run: | @@ -89,7 +94,7 @@ jobs: verdaccio/verdaccio - name: Build - run: yarn build + run: pnpm build - name: Setup Registry uses: actions/setup-node@v4 @@ -136,7 +141,7 @@ jobs: - name: Publish Packages run: | - yarn lerna publish from-package --yes \ + pnpm lerna publish from-package --yes \ --no-git-tag-version \ --no-push \ --no-git-reset \ @@ -153,7 +158,7 @@ jobs: run: | rm -rf packages rm -rf node_modules - rm yarn.lock + rm pnpm-lock.yaml rm package.json - name: Install Dependencies @@ -184,11 +189,16 @@ jobs: scope: '@suites' always-auth: true - - name: Yarn - run: yarn --frozen-lockfile + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8.15.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Build - run: npx lerna run build + run: pnpm lerna run build - name: Publish Packages run: npx lerna publish ${{ github.event.inputs.strategy }} --yes --dist-tag ${{ github.event.inputs.dist_tag }} diff --git a/.github/workflows/set-coverage.yml b/.github/workflows/set-coverage.yml index b1e1a4c2..68e740d8 100644 --- a/.github/workflows/set-coverage.yml +++ b/.github/workflows/set-coverage.yml @@ -28,16 +28,21 @@ jobs: - uses: actions/cache@v2 with: path: '**/node_modules' - key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }} + key: ${{ runner.os }}-modules-${{ hashFiles('**/pnpm-lock.yaml') }} - - name: Yarn - run: yarn --frozen-lockfile + - name: Install pnpm + uses: pnpm/action-setup@v2 + with: + version: 8.15.0 + + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Create Coverage Directory run: mkdir -p ${{ github.workspace }}/coverage - name: Test - run: yarn lerna exec yarn test --scope @suites/${{ matrix.project }} + run: pnpm lerna exec pnpm test --scope @suites/${{ matrix.project }} env: JEST_JUNIT_OUTPUT_NAME: ${{ matrix.project }}.xml JEST_JUNIT_OUTPUT_DIR: ${{ github.workspace }}/test-reports diff --git a/.gitignore b/.gitignore index f6ef435d..3a232c65 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,7 @@ node_modules logs *.log npm-debug.log* -yarn-debug.log* -yarn-error.log* +pnpm-debug.log* lerna-debug.log* # OS @@ -45,10 +44,5 @@ lcov-report lcov.info -.yarn/* -!.yarn/cache -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/sdks -!.yarn/versions \ No newline at end of file +# pnpm +.pnpm-store/ \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit index b946a2c5..e9a388c2 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -1,4 +1,4 @@ #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" -yarn lint-staged \ No newline at end of file +pnpm lint-staged \ No newline at end of file diff --git a/.npmignore b/.npmignore index f9efea14..8ceb2c0d 100644 --- a/.npmignore +++ b/.npmignore @@ -4,7 +4,7 @@ node_modules .eslintrc .eslintignore commitlint.config.js -yarn.lock +pnpm-lock.yaml tsconfig.json tsconfig.build.json jest.config.json diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz deleted file mode 100644 index 1b0fc59a566de6b5ef3ec37a342389020c351b1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1173009 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%0DAyPqiB@3fHP`R-89fI}LZogGs%%BsX~Fku?> z{-TexHGASng`(KKG+_#dqDgJh7-;nrr~>*GJdKtO8DU{*&GnNwx!!7W!d0vivQ_XL z9AJujQq6PLW%*{dAJ=$z_io)QrQh@)-(7-W*B;KxHxOT+dL-8trkX%i%0;}PH$KK5 zR}isYgd3-5sOZ9AXtgE50<*KAK!R zg;ywrDK2#a=xM$WQ%jUpw3aE9;pmPok!`!ybH)|IQfRC|tSC?Ww7{|0GMv#JWgoNA zcLakm6jDqLC%ajxcvG4zxC8;Em@y;$tOYQOQo<58(q2E!_dg#GAKu-*dR2Vw!Mjuo zP@YwHK1FYe9AiUbLeNhc&wGp2Oj^b*L=?EA7A+HnAEZ&y{ESDr#!Wkj+GDQ4@a?YX z?(4x6gY<(=8>XN)5ose(ATB|PG1yh;j@(LVL%8HcpTmj{s|+pfu|*mX9uemB5zOpS zd^Qn1mA+FET;c1*L!*e#q94h-slZ(g=G!|80b|F6Wy+2Y-!9X8Vj4NU_F~FgthDEd zr<#UL9QmxX^h<4BJ=~>@d*yL^k(JGJ1<&)m(odrg#Ah4{S35nzZ3a8eTJ~W(qLr;2 zXhhlcof<%zs`}BuIg-LqU$A(j8^t~GTt|6~!?dXFrC5l8)=|Ea_KtMCYBa0BE$7Sa zyl?f+RYMjvJ%!uSJ_4fuR3erxGOK;Eoe6Ez=z`m!sBNQdu-2h{(*;6fsbfY8W;u;a zio)^GQb!g(i6tL((n7<6VnXwM;~T;qbk!i7_wBDR`M4K!csa4x9=OX9xqQ``BszDT z11Q!7t*}%lKC4Y}#_odek>MOo08isB4my%c>1e5)8V%*Lm1*S^DOX@56fp_1w?7xi3|Q&`_^DkM>BC% z5Ch;9T-T}$+oIU3fzxV3`3Nt&u8DC;ztV=H@Qwb3m6S2hCt1T$zo8`^v_!24Mzb8t z(tQ*&aF|n}xJ3Uo<2a$C@h|LLTh?Nr3QPQ0v$?6Wg1=!n)$8HPSE6FSN?f>U_5 z4~`A>zJl*_YTVB|_SgHv&HCx%8y3>M~tax-vD<{?w6;Oc=y+Dm-%b+8m;vr6A2$v1HH6CA6ugo*LCc z(V;~q#;$0@g{zruh`8EL4Ni&>!Jb|yfootySlXs(Kf))HkSp2-^lvDtW)b}bIAkkU zG1gk}OVbLNGsGkqx;eVQ%_L}v7<9AsX;v{Bn(mnXU+6B;*rgS)8kdtl*+hS~ML<*I?qg4^DEf-msp^U#}Hh zjuMAeNj{CMZ^w}o#v>8M?kA!^Tr6W9)*K3GHLf9$qAw7<#Nd6Sb)`)sw&@*HKm(Tm z4veT`)W!XKpI!K6tQgO`_FsH|`|;+-$Ge-uW94Ea|80KUGj<= z)clRr(zby@mVm)Q!;=fEdcjiKK4>S$jmB&F6s3^iV$qH-6@UvhzzAm1)cAX zTzEFTd~%vuOv$okyJj=-v&{*?-_21#N?JFl5Gx>PMQnr(XHh6L>4l`-Kc~o@>Ag&X zu042{G1XUU932?|$Gw_SrpOfy@gS;9*ioQ>CUXiv18Qz|3UG4j=aYiR~ydT!0mqI{JrJ3&iyk!ivRXG{gS5sKZSvdxIt993{!xo}^r zO{~c)*pxu`P`%goD^vV-bi0pD+Lesgw@77$|b!F+%U6Lr3s!COMhoc?ghq4^~ z2zuQw5$z89r>rXpDQ^NYrDi?*hkJY*0GYYZ0jakWRIw-}62RGeUFIBPtvSa~V&mv} z3`3QrAXf;&E0|(M6g*v|M_!8t6KgI8j(#tH_6+|GvwKya;nw4JQR9B$zo8f{jo>I(-2Q?5}eWMs77y%i>jwWysv1j@x*@XUFDodyh}i? zRv|@dek&#e#VIH{wDTFk9_wsP4}o?NS} zi4c3*N3%t4T-kkRW2G3I-;WOxXCE(&(LO^ z2j?W_Z|eMvqugG9lQ=iy#2cA;Wk;v+FT7#j$!2;imJy~aK9W%yJ=d8KV*iq9yq9u-KUgvFiDloiW-L{+6geR@D22U)r0Grn+j&n`}2 z{V*$wSmKp}2(Zzb$GM~lzTi#a==1MfGiaZRNLsrZ%IBPH;A7|PP)MY3yp!OuH!*zj zdGG$i{k!{XO-DB#w4YM*F3(sQNq@0QMT+2Ye@aEGi?(Tr~&JDh^Nvnuu)Quy$MBwel-l7=}l`A@iACDqx3Ao z%=rARjCybpWyBUq`B77Fafb14n%9rQ%Hz-N+jaM+$E&`gw;sZuJ%tq67FipsWK7-Cc-NC; z2BvIc3mS{DC))Xnwu)9~#`~l`gM2qkP8!7IAp|-##P8^8F(HN{~z>$_Rn<9cmgH=x&X@==%b^hPpzx&Il`-iK# zNVgujD}A9acYV)Y-IE$_MLJO@3QG%>B#G9Irf5P;DNSiW@hil(givt!X$pRul6q|c zO8dxiDdGRa4OdKVUz@^Ky6A*DG|fad%3uhbMPZi{Ed(DFeB%teD+6k1$KI5f zQt>`%q0Zt?6v)K$-2R%r&})(T*28wWXZ@FGN}q^1Lz{@5!l0Da4JWo5CR{~CDjSR& z4?jf<`WZP!MWNa?fz~82-#P9E9)^w*A8Sr*FX6-uhQ;f`ErgqC3|m&AC>)B6)?eHl zRB^#k8pYrWPufU|n{#fV-Z*e>JbHRdqGwLHQ9z>x{Gb%VsnK9vr%s{i6!r}wJ2P`t zhPAg)YZ4hvLSSPxi*5Y!!Rm*!9vtK76#>rGbeh*!4^Qw4xG=_Fa)O@Tl4FD%@5sCW^yCv}oeV|?oDz=m|Dh>!*k#meCIMEGq zrgd#`%iyVTNYrlP^TnA8T774Hto&GzhcS3GXKv>*YQIG>O`Fdy(Oh8^Xzg$%940|K z#nu&6g^@)f6Ze7QjoT~knYriA+Z|nbQ@m4K2h*t~fW}om76^2TQfa)<|2*q#{O(Wd z@#EdR-}_n{(T#`h)HUYnH{l!q@Bi)J{j-FbqQ~~mTPM0bOmb7?PwAqimc$_iFSK8f zxf^H;9|pGwgm>1HlDWZ9TA*@}4Yf|i9#(kL?^IIM;twL?8FOs?0;J+cpwl-ec#?*BR#hsxS#Drh`HCJ zJtAg2zm#H{vI2F&(Tf}kX$(rFweyS5F_YEWq$N71h2D5tBZ1`wA}XB%c}FZ~=z_Ey z^U(r;&1cvS(>!Ed8iuWF`lLvBu4z^%of;lt60SNl?oqpxhN8teOcI31QE8C|EU(2( zIdN+p%O?$&)82MVSVcG_`&sTP;@^7ouJ&qw*2hb8i`K%XmQqV*F=&M&c;WKWIW6HN(}#u@F(?wLuxyQ@ z4atJ-q43!_A=U5kNU3YI%SOk-$F=B(*_IL|fr?q?!q^yFO;iN6SFVnUfa)|+d_uD6NW8dcOm&mR;5 zl+h-BvP#Y!fu%vFJ;M8W-~RK{?0)#v-`qc5Q|`X?@V&0I@UnaDadVMrr!2v4Cy>$g zZ%z&TY6^~JQHtUSchnu>zTv6hQb3tPuzHoGT&0N8;_{9HMK@`OQX)dVI%;o(Tmr{@ zqahPhl>f<|A%_bLr6F;6|7enrrZ=CCN~9q;BKoQTEvSQVg7}1}>NcXl$YEyYH z9c#m=j6$+GF_h3wc2q$ur8%pez(f~p?VoVo44ym{Z|!D;XI{Z-AB zTaVw>o7~Up90k9{nG~ItOEHjqyy)>N$Z8cNT@oeXNKH3=ENMS8>rIj5)J}<`qEarftn@XQ(byCOIfqpgXk7q1px#V}Po$x)3t$V@ zAX-3&K5Qyq)WiMe&HLG|Zrods+Y6lfr)L{yo4;}P*+-D>D+nVND)j9;;gecutkb42 zo8zENV{E5%4~5g?biUGt$oZ_(fC}w&t|ATkGm*Piv^WpF#)=ArQb4wg=q+F=2 zsdymNE{43lzF7-ji5sm=y-OH^VhRO?KD?;yjFOc8Vy|QriOnpLCoC2E`C(UBM(28D}qM3gcG=v&N;mtBrO|jlO~v zv__j*I{@rljFv-P%04b(YOf9At$q%nt0EMJb2SH3)PGhN47!>XlFDc~D2FL(HZRV%#7if}O9yG8WT}Jqe4=+=!OJ3Lf8Mt~ zK-d*GlRKO~iz!9ZBwnHPxKpPfStP0YRZ)y_RiG3zsAhNN#*6-{F}F4`$HRdxc%)MF znA~r7(+ld3w(2(>9#ne7!=ZBvcnWWx=JpRlCqG>Mw1;cGK(`*ipH;~41@-pf(7~dM z#nLB3|C?e8I*V}%nhy+<+M<-ZDx8@ihA3{Wzv?{1LXS^-Y#2OMBPJeHq2V5+%~p|T zO4zq}El`69f|hsg4&9manWIKYvDd+38=4^spIWLyiS!!;G}t>EzzrM33^>EFkO5kJ zgPB{?mkllL;`;(-qD=U7;e;bV8dF`|A)t$s7X6<3K8#@%z?)rYn4QlY|LJ9hMR2eB zZr^zHey&OxjY8wNoI=97i*;8DE(hl>9)k)jgT$c=MSNL%XwbTl&Eb~iLRPRlTxB{s zy9Oyo!BRh(qNN^iB@vS%l!M4#qSTi9Art|*h^Dsud`BSED;__hb{}!Agn~R+BCl?N zT(LX-ZftFWet}yp99N{=r{v;AM$F*`g(8k?O>-$eX#+lco7*D+ow^Z?swJ z+3$pOZs_Oz`#&?g59?da?Zfx4$LJf6;nhBa@Fl+DhF|1@Mi;Fp`aV|{z!6NTJ}6M+ zq0knoKZAg2eF>ANf-&t9qr)10Mc4Z1C`gOQ3{HhQjzN2r-l?tXtP`7C-7TdWa6{=hqN~{&MgOPIHMTkT@+2kF-C@3v#5eMgv_KXy} z!m%}0#64e8Inm1D1!#-G5Z+_K_VOn@hHAGBYAsx z3a;aogqut5gc_mMF@*WW*$VqhadMOec*)dISC8nwAdng2d1p}N0J@qeO!k&`gtPRm z)}GtcBbK;;QyPtKXkJB@)pGd*_R`}jKP65YCwC0`G(i@<(ovYAEQJcr#;P|YZKkMv zhNs)qhILe27#A*txIf&zZ6EF)*DE%Gw;sLgRgRzC2n8a%GQ|*L5#Cj$Q+UJfQ za$%+{4tqYw2nL}55ji-i6Vs?pWMPRa`k?fqY2p^!Mp~m$*I%{>uMn)A_6Mv|+tD{+ zG8$C_&Og1*vA9E=TmW%SLZZ{_WcvDM#QiCIQOtEw2lwk^dareA-gwxq-}HUPbFE&g z=S@XjUBY*ql`XD{kCTGDiq=TBitC)!8H-k( z)-?5(jm{0z1b@#nt2t7_%QUt|C0LPv{omjkeF;BKZn`x!*xHLIA{Z7eUIU88Vj#)s z`!z^#27zAgJh8tKS~A*RsdEgXaracl6`HBN#Wr_fCCFaR7wV6{{UGi$KaFcsd+U+A zdM@?Zo-MvBdLK>Mlw%#Lu*23tr$#q57(5m#N{Yrq9Ctzzwi%i>qU#Y0LglfF@BkgG zT%u!TV7YLt0q+Uxv>`U0$=ZhqKL{t_cNsKc=X0rnf`Nk`Y9D3&{U(?pEr36iPNI6+5I7p^5hw0jX^1$MxQhZLYUTpMp6MXA zQH%)OB8GrbT3;z>P~+46a1*Ze+Gx&@?)B>e>c@tETuip=2WrZ+zw48_P^6$szzz4p zZwjA+XrT`o4=B6}*jO{ffiuYL80m`k>jfRRrJ8t+aGH$Z-r7M;k1LKqyFs6!;7yYR zl45j}h8h(2oG7KXal*fs6r8mYvh`b8`6AP{@&2mw!L7&b>PbcX@7{Gw2{PFqgYVcb1BGrO+lHM#&Nh1O=Fvxse#d`VtK2a zqkfVsi9@gNZ|3+v|!NO7U*%vD9tLIY0j;(&P*~V&g${{+yS;Fp=-0D5pD;m3^ zXVQ@Gt{6j_Q??KUA_n?H=c#akX+5#-u_c8%^Is10S(sI$z9mc-H zm2OduMwi;+CXZ{P(Wa^Nb}L6Fnuiyq^|&x(|1G#cmJjV_7Q=mJ?o0aavIqqeDR?N6=MC6{dJ$K>*;gS)ihadIppIa~up zQ)ovIRUAcJl7kElVMfb{W>0&b-+w#i_h)*5ZasvrdzL)+iBM!TQDpE{lu%UM`NMpR zUeFHT+T!#v;Vgjy`$XJJI7V48cfq>xjZXx20k-EVv;&h+))V2OD7mDf^?;yiwpQ@!NM>IiOFdh7-tC9?S6d2h zJbFJHp@j;_4G5MVk}y~wwK%=CToG&RYAqWRQw?SjJ@aiTrXg)6ZWco>%0U=x;x8^_ zZwvROA=a`wn2=H-p@E^N445xq4Xxi$6*P-=7dJt>V@o`oe%5jVRYe1_pz6#t}4yr7OK$Q!gp&=dGAV_k zb37;}TIULikG6P(lct`~r*qb=gSvSy>>x};{i&YK>nBngEvKUiTJhOc{cG-A_3>P7 z3%FM0U&}4SQC#k{hg(4hL807d5;En>f-nN%dbL<>^>nZ*vR5H)#XE)iaZ!E#`^Wol z(c4}B+|~JmQ8bR4wdtGi+rm{zXpN3em$h+ z-eQ#IL<>P?{cuw2Svv-3v!e1zib>f`@JF041}cTns`f4ktLQtAYpPKPy0RSEKxhO5 z>WrD2kn?#mz)6@34o3ln+mYfUE&Pmc`o?C)WGe4FcSxpA{J+LR@Uo(yS#Y$hoBCuvobJhX&Op<2z{X&Cnlr)b0|v{%nLl0Y8lXkO@+81|K5t7 z-Y6UUFhn1kMtc|9MDW_}+AUtWGB4p)zZE?FIBVVi!^f+36}KL=OC6K+!BlVkLp;Sw9d7CYnc-DbQMLhQma`VKExA0s+z%|skx@xMe5_%MGV&SBDZoQa2u zSWckMFNeb)m>*1*zKOg$jcONhnVf^RLB?SQh{z!hF7`@|o89X9Y=3C`X5?8{0X`uYZY#Qfyc$CLJ0}(ZHw6Ds3~Ikn8!rKzktI^drO>z>}I0&V7SM zPb5zWahsM!+=Dr6M@0~{@6doC=jn58z>6T!nd$US^gtFw@_m$QJV9Tpd<2r9}nGjS7>iW=0MJT-sCt z3O*qcg66CuX0%K2gN`l**kS~25urxXKW|aipsCmP5fug{cWTS2XGc;wVp2U6-7a*> z5FjrmXH-z>8)SFi{PdxHyoStgJ#0U#KZo(8LRMB7ji%M0 zA66piThEykcT9|UzO+6Il}D75(i6X&!WIVaVTm#*5nI|XE6(JAB68{&Db+~hJ=bT1 zLOp#dPuCD!b9W8&g}z4jO~a!XrHfh9xbVKfw?H3Jk|q_idu)ER!NqsPRC3UhVb<(~ znDAjQxMXm?zxGBmC3aN1y-2P=(okS^^b)&?NvJmM@J;h>D zkJ?Wl^Op{!whN~s z80i6M5j2Os@}7B{r;1~dsveM56~yC&5e9|Vwtf(I=AgJc9cnD83pF?G3KS(dYtxSA zH<#JZjO%~@YkPA)+sAeHdArJ+`?20#mv6rDXkM+?`s|)!50l`CMFe3A61L6JQJ8uR zZQK5Y%wKQIx?7fdDCsJi^Ek~s~AaxnL+RN@Cv7tX{6PX85~6QNpYH` zJYvU!`|8C>cAlQTy1cn%;j(7oJeHLDae~u}D`trhi=JBSn2mU=3r_U(uslJPA{@Vg za`}c}FXJ-A?642j{Of;dh&-2AS}Y+NBlfC6=DzR}$Ng_tXZxw0|1x6Vcqo5Xmkz;P zFSal6NVnaB@Cr1?)C)a$+9+uROdKab*m!LTKZ8#`#geJK_eYH(HL5rcE8pZA^Gq`Y zuOFRTnb8S)$J`AyO@)0rj?SCDj6M7J#;&~_xwxoRa4DFIeWy8M;5zy>D6NcD8$t8s zwZ$8$Z)FE2rfiq3$ADgIU)bI%nJJC;2wM9hi_1&S4VP>zX&2#_C zzy0muUK5Qr!(IFM{_Xv^2HtNxgg@&omwAS)#NsG1T?$}YO9pW;r4B1rMCeh;7y52s9()Bg!%`zSq-|WzilZD?`V~;#IgseC%du<$Ts!&Z-h$keb zE;zl>_Z|_`1mx1`64rn#Pc{u)Rq{9H!WHysjz9eQTKmeahwkTVrY9v47O^JWHND<2 zl{LAcAH7tr}YHx$E%*CBD*31QNEIK1rrBT4_U<ZpL`Uq z@$OrX-Uae<&z(s>#2(J2|!K;a#j6I~?%jX)~q_V&uw1*6C;XjFR9 zf70rsL|Rn^u_+8Z@7-S?^Ls5O-+0)rIb@uaa}s(pteHBUNm|S%#4rPy8>Qoce$YT) z)-QqlT=bQ^w%BP?VBrdl9J8?TtMqJ&FX*482&jZe{8$<~tzL(+pq8NX8PP765AT__ zF8a=XNoOjz9=n(Rv)@1UpP@sTo=OF55n`)~b)y>_^Fl4SV{O|a8l@JI63WQ%3=v5i z0r$5^T1dT%-(+1M`c5_+O9j+M7RLs}#8LuwAX~`Ao$uYZ>cBwX%e@xxTGg z^iYdLi(kw_dqku{_@Fl>cFH1WRJvjb(UG}aLqN@2Z|TOaMQd-0X-4Es1p<(oSdGjW z8!MA8KZRG3_dY8X{O6il1yO7oHU2`x8myyHz*Ov$hoWwvuQH1wb^xV7TE8SXsYg8M zjA&F|eHx6~Y8y= zS5xe*hwfS=KAmodh}S^i2A(G4XsuSWLPex%*;JaG;!J3R3u5Y<9Irs(pz@XS8-0JN zWIe+0G$m6!DllrDkIITu(}Ws`URQvw>*w+N%9gG_(Rl7~&Tck1<3$=eqVi}gO+jr~ ztoDxb@+dfQxEu(ixM;fQfYS!w0Z@tQkVZ+NOAjM_niL}G`Iy?S0@GUYmHYWX4WBY0 zrzTwQ2UiM$(S6&Cis@g^)jwUs#)6=;h@Hfv1R#%^-Qks}l2Qh;24N_k8IuB6 zp*Wl7N)u`j>sF*ov_&VeFnxbJItkbXR2R-A-d-nK0>}V$-wpb<2Sye4)Q%A%s`~aN zh!e*z)zS0T!**R$@-yTlm|a~uq=FPBSWx=y;$*B28!~1aohA%L{56X~-jPdn;5}Qz zXgIB#iKi{%{Kj&iI?Yfv+)8ltABeCBr&CE9IcH6FL`voi(gf$KEefxuKd#y~NA5|f zQotx<A}%B^YIR=+_&Q~Qv;v&IqJ%zS2mQ{{g z^sx*Vn7(VT(KvRP_@4WJfA{A8&8yDYw;sBm?d{Hi;{f3}k?A6cm^5f@(q2uoI6WZv zUbQS-w-BY*SfehX(J*+bZsB;v7j{l?8x?B(HLlh8GA4A_G=O<)2O(OV5wwomZlM#=*{ZqLWb73DQZTEEXf7<8WRbv9NHp55 zpcRvLMeA`?Q4I}eKJH}JQf#ypgGR)!y6A;ituW0+XA&wo5ANEgz45qR)d@|Xxp{7l z0yPCy3r`;>yy=A$qtM2ntb7C^lM+xSLfzVP_0362#Bp=d*qj>b1LBK{o9HpEcwD8` zs$t&by0ws^*qNGhaDf(lm zgu)AB8RRR5w$7knij&!k{_gwv@nKzUC%o~%T}ET`ylY?1D3%e@E`{E&LaX(0)GuZsd|x7HM3E*YTl8c_DB@_|?Ny6eghbJVKF;j(=-i$g zYUHnt#EsBQ7ISL)j3H!W5k`;N3|j4CI`KHhRk%~+JRGbu zHMH6_OSooTbc()Wm~iV+yINi8f6TN?;2aee(Q3SVP@RpAyA?aNPP{%&LBnX6@k1NF zJFiEfy~0pZK;d{uHd`ec3z-PVK|8WcWhdMwW(}q(I%$Pfu`v+M!&N z>ej<{%_r`~3FAenOkiyL&eCfXb=Xp~UrjN~xV@5wC{K8#Q{s*R4HG>b%Gf@ml|6($ zJW4-3d0Y&tWvfues&|@;OV+GlWUGlVMx2iIs}v<;320-V?*e{Fr%<;Zx@)t0VztN= zC^>U-RWK0bf`MZihq?Z&KynH3Wb42iQ~>*H28dG@rSuSEN$I)l zrBtLrj>sP^H@c>Da|o@dCrqM2i#v17*FCxqU7=rGvJ9FGM-op)s(T^{xaq?`cQ(9# zxOU!n>p{D=d*hcKzy+!(_(A``Q{lBu2dEPR$3eUcvk06h;x`d)mvJz*EjnkGKsm=M zJvj`1f@oT<385NW6j)J;4a~GZ%iBoX&84zi}a+7Y3 z={2LFIKMR|v}@7JorI>uOot7aC?n-9s1(JOG{>H*qKIC{cq*T?@InFCY8U-~15IH1 z_7KuGU7rJLQQ$aZs^5Kh^XZ|zx&M!=p4m4Zx|gfke>{v%$`4k6A(ZJ76;&h7RJF9Z z_EoqOxSt9yEeL}g2P;QIyoOTfd~;6{5=Yv}E6M~8>V*Fl4NKKBRr<22uZXTAmB;ot z`EJ@2Ibmb3-(_74R^aA*h@8-#$8jlAR_vl^e#Y^{=_#U~Q`ymrUZfh^YALQpZAs#| zPMIx4pv#E*26#o#oCcAIY%5l`i34cuk~Xl6RKU+!^wMsH{M!!?YuvvZ z*Dl|0J#yD0vHkK)3WvI$*M!_z>(bhKl0ab6vl->4j-DwN?h6wgyEgZQ0xmvx<%of# zlxUrPZYrth3wo3Uz^{6`gt?zU(b@u#8rQW7w4>!76^4|k!a3h+|7?rZP}g7}LxTB? z6;F%|l(955YuQ^I6&2*FauyDAqKHWZ$1RU5ZD<+0VcJAG%>@d#Gb=m_yR3u)gYkW8 z7YU%6QWU!d+w>_)#^*}(-)VY3e*FIK?X}vOTMyl9Sow3Gdx3Dfj@#qvT=O`iqN1np zwn~Yj4p<#cg)G7E47>C$XQRg|yxP(yE;Po3S&a*Vf~(=I$|=9CNnz0{pD00Cy6XmF z`7}{#0WU?w5zaTZ5ygzS{4f^Tu7L=N%|;|=qBx|lDMMw&)>Op>a=tn@R zMeO-W8|M(d)W4A49UE4w&>a>k&HCRdi8cihBw;h*W#OQ;_0VU{=7(!#s<$4qD_sWm znE^ekF^C6q2P&NHH`Xa`i03bl+v_Zc!5tT(fx~G9Js&9kLGR6{1*vGXvlvR_g##lk zZwNC9y+^t`#6ru8*pyZumk|}6aV*^6=I|k)CVxgxNOjTQw>Xp$o>(Xz1zI#_)`Kcj zX|W4Qr8uT$J!*smdM3?XG{w#{ji-B=Lf;VLQ`*ZlxT(nR zQ6QZc&QpJQGTXiT`2MavJhZDKW;Y(dYdiPlbm|9{oY~#h>f1@-MQIFUT4C%ESMQNt zYGieH1}KCg#zs$hZ@sUkVVTNrj>7>IE){EPL}{&|IOXdydG!qvHJh{2UNO6#ShfVO zPf(JoXN0_m5T*de5OCG}6=WpwX3VZMTC+OQjwZ6}xs$bH%p7Hk|AMd_>Xdk}&>-~RRmCCv8 z;JwCk%V&{U2|>Rn8NnHSp1^1(|9B$?y{XO-Fw=-?2!&XD-wOJu0L$>ehX{rHH1&KBe030heOE*9Bn6TlHiS%W%3m;>T7qYcF^Jlc?)<9OBzFE0^&+wiDb3C3!)pQi;at`RY1YGj)NLz?h;h3%9t)1NiSAV1SA?{J5z3{;34{cl()W7w(UCF#J9bf+WCdjei zh!PVefIxjWJ@c+9_G?*ci0s_i93A8cSp?BCto7U$$ZHmnfbO9K^dXjkrd~N5qG+KP zEvS@w^^WL)!|=K*Nhx4ax~u(iR=6@H2tH}Pv{sK|a`DGQViCPnC7UU>=*h(i!&Udh z6F^KmWzFSAu5VJ$Q0e=h6n7uR>VjI9#sUqgu^RnNyBJ+Y+?)yZ8WG+wFC4~x_u+oL zdO3gVq5G2Gx^Mh9_E~HY6DACukfq7WaYxd?nOjss@e50h8Vzu!msmA63JixGG%64p zidZxS$mlJ7r5Sy&UNCZt6GiE_^1Y%B?i8rFYPY22b{1pZ6$zqW>Sn$5xP3XF{u}d+ zdn&Tfk`hvDXjAKl*31>3Nhhf7y<1$dB~08i3h%fBHL7Z7MP%5Z2E|peMup0UsVB^w z%?51cp&vBcc@6?95=GJASAhG>pjmy3j+~F6n!r&3VmbVnXv8+1tE zBPLA5nJ-!@o*PoSGc^#Ib_?4_jkt5_Z<79Ui9%$j?NhbD+Y-?cy3#=5-9$471F3iP z?tBFGkNf`3o4coxyHaOyZu zTXCqSjtgSd%} z3KA(&YF>liRUs9(2vnR4PU8648sVXV*AO1Xqw{T!JAo-26-pG@2ot^4ZVGqf^g!i? znE66mS<}2IpE{^T$nRS>zXgDXjwKcCGU^MYa8E zEFmrPs%I4cqZOFi1}xPG0S=+4Kxy=L8p2(ZmJ&sxK_qVGqv>UMC6dyG&<*B?$_#Wf zDO_=bMgf#lCQ~T&mj{i%jG4XlsJ)_z@Y#KBb&(Y_6O>Q%i)tceghXQQ3WBx^V~9Uh zq=mW&*AnK#!Ag;>2ZfTMv7}#l3Z|e;9}^X}ejvEfcPX5l)^YR@>ruRRbhfZ<6i=YD zE;m=OlBath!glTGbYai=+n<=xTaVnAGa7%GQGKSu{c)I{g+A-l{!fWBZCi_PIj6*>gR`Sy z1jHEYH`Bhr8Hl5%eFbqr*HG5nd)Hhm65`gC9B}qgX4H6&Ri%C6( z(#KI%NJ^lk30&$k(6(;~fHhi}jd+RR%C#B&k2m+%QtGWo?zPk5&wOb_#8*Qq#f(Ic z{M4Q>dQ9#5Ljl6gy0G5}ddN<}$I*_HmnYBq zVHRt>+Nm_G=Nw`-aZ*8OwdiSdwcL9ig4O6vE-%R9*tH_M355aSm~&6`Z{Bitc+J}H z*5mfd-OgtxOhqr8k%bVz;37#MFW^8GrC1#$fDW12&{_(!iE*c4sx^v%)C?*n1S%{Y z=K^|F@p*~`@E9z5%`VU*KB)w>w6crKcxFu_q+k39F@$vCCzZ&MB*l98+KIvo>NvVh ziI-9A)`l^~MaAh-p-e)_tG9%+pBK%~I0F!?RRuG1?kG8SVS8ckZx0{z@V z|8g_ytw-+igz0HUm0Qr+8Mq2quCift74|Fo)r#1_R!S#2DPd6j#X5Yy8YZ>8h8hR5f7okrDg_p5JszlaG z+AYOsb1d}OXh&&@3D8nQxkC0SB+fRECQ~{XE0X2II%E=!D7kBO2u<+yt#8k$S>}~5 zZg#i<>2q-k+px!qOA%O@h>mz0l+=uc6&$UwO{8e7=pj)#H-{i%&p$oK*BWbYJ%E459Q(knfC`pMC5cmCaT;klJnRtY7xG8Hy0zep|QoMMTo~E(u5la5IH1=32 z?YzB~p?-)O@Qa>l(?ZPNi64sb&BlT3@&YI$Zq6QB79i3?RpCf_*bSa1O{p&-zBOp+ zp$&eKvPKYBObD+v&eBK6*lA-RA2y|H1F_sJH0W6n{U|EV{T(t=O zaYht29cI~S#Ras*6&&+Ys1)c_#PL)i8H;mA_L%)NpJ*`?MNO$54K+a^aAWlCXi>zN zu22KiOvqbQMH6wJ-A?fdkg0Rxn`)z*Sd_IyzM_EK@rEugR&BGW@MqFar4+?M7Q3a8 zh+@DtBUcC0T5VBe&?bG-qbR~NYUn!^YB45aCEDrY)O!ATp50#`vwN*f=ElQzEz_1S zE1(q8X(sb=;1S=Dw$jI~4in3$Ym0wIzqLgK{8rN95?Qf|fOtXYfispbPltCQieV}) zj)?)E;;N=0VAOyeqhe9+rr|}1?;7ZFV^DskNUbMs$QGTmWt-3yLQ$p|*j|HwC|t|5 zE8@X5*^ZmL9cnr^?U+-;8sZRlHncip+A<^emC@6%oR%$v&|EaA z(ishh;!t&I=m8h54ZeBBL}Xxu;i#vbxSlEu3K(dSQh$qS68a#{V< z%xSQBE)<1|I=G`MpHm+C(v>$xGgg~wn}}h!vV>7gqmyH7EyEf_H4S%IPP;+tvlpi{ zVV1TBPQ!^^6|}vuqdd>>@|4<_CKex1sn_qs0kO92d=;`i8uIA9El1&|_aecFS70hu zs_@owS*$jBS`W;m-zhoE6`L?-UO0q=#A$*L;+DP6sSv=SbZC0mv;NGl=Ka3v&3WTd zyF7e+DsB^52!bPMp(K$jZ&P!qa8%C zW;F+vRk}$>(RS~OQ*+a&)en~f!Q)=32d7U$TOW}-J-za@ty9!PaZJOfu$Ha3?Brq? z=Xwq8m=&q%3pJtk=XJLp9^PNOf4}wE{ls2<&a%Q|2skLj?e1f5S}`;+GfVk5SG(+n?urLAk4*%w+-|M{=wZoGf{0ZsbR#&$mp!q+*A6Pr->; zaY~O=6zFdrr}k8avPJs%5(5| z#OjMXzW?<7HE4Y6F}vy*^7)SK(Q;lxKhdU0nSw2=WzoF%QG;1Im={<@X)bJ`d50CO zmJuUrTM;AA%_f>LydHp~L1ZH%w$(0%213;LjipS4Z6WHH8f3@O(7ZflRP4>TF;XLD zM?&vg15$_Hy(f~ck|93tiAKqWWB`VjwBOc(#F9}g9u%r-cTXhZL~gX=^+X~U+PMO= zn|^scLZ>^`byPw2=H@W{kX`@yuj}#6{kxBB*SDYE-GBW4MV9{g>z_W}zqx)xblc&4 z4KaUK{f72Z*J@X!P+ppDdZS#@Xh0a%YMm;*xn;0o&e|%_%BoYYUQF%?IGuVUMJo`seuP25Wu(N?5nkVzFWzv!zr0g1moj#=m}8->(1h;o9B(tw-{VvC?y#-oleU1$^nM(WY<>!`_fZuJPLG)C-8V z>48>m3+W}1%O!|2i&DPAsMuNDWJKrfAmmLAVHLB>i1~1M(6fuJRod3N-qh)-VC1Rv_T-e&b3mF5h^h*e9oY^y+?MG#6CG8LG{ z=CC+~RV#OXfsO4$7Ygmdsp7t94rc|*qHlKeE*38uH3Gf7G+=tPA6qR-;2q@yTwT0S z3lg67`W*kKKV6H_w;sC7*)50qLH?{l*?1aaY$%++WHAlo@)Yk-Jo3&41r_975yo;F z?af541G*q%mn4LERa}MYsj-%jvVMv#NtDt=p3Vk zb9*sITNCuo&aU^L(>lw+lX#C3mUz&xM#*R$rP{OTQT4dg$YH&q&&Uu9Q=G^J7vY`L zr~xo?`qZx2j2JIhHAttM(IbX#=-6 zVE^UI+kE?s!orKQvKF1F;WCAeT&vQVy%uxQqmZvUj4Ud~)8<@iaq=UK>of8OjOZW}|9qIWOX{ON+^FYH-roDg_Wk@M4t4*Q3XZF)akn1Mze88d&4mbf(393C+BuJwK|wp^ zkmQZ1xI$t<@?Y>b3iGGXf`V)ehcc$}qY{etl_{whJ1w-pdiD(WTEY+7Ux%Moqp-E% z*|4D$Y0$==&TL9}8y&{%Cf1d+9|hk{gE83y^hC!Z(7BJg9F5cvapo#+a?*)LqO%wl zV)|v3w5P^uI;*6I1i{$TZ=o=c!?s&Pq{s`GSG$`yT-PYP=w<)$Ypw+0#n13-KYsJd zb<(W|@U=PqOc%p8m?MX5dHXU%1AWyeDS-&x^oi&l@=x34&^03caCy-9_OP~SkT#Ik zW9?di+|r4dHf25|3?yI^!MjyC$%2?Pds>LfG^|m?;H}p5Mai>XS3pvY<&Yu=4F@84aOkh}3Xo^ONQOG$gh zlUL~9gV!5Qgr2I*v5Q6REN9FDhrwJ;uyu;bE&&_}z2VN1u4bp7RxCvv)d>XC-7y3A zd1a$&D7G8@aZ;l|JhM{DqT*&B9%kp$Of*mE?Gd_i=#0|`YjUD6f1!z9{c$6tfQbV&Pt=@QsOXr-<6`sR2T>>f-j{ zAKIU;sVm=l(5|UaJ?Y(l=HAwJv)f{Ppbzgc?2IX7#p9C5un~3`P7rY`7JxtzKMvi8 zh^F{XbG0bcS87FL24VK5H5V~CqP9^q0xemC7JtZ5n=Mm0Rx~u3b$ULh{-tQ~-g?+x zt9jOf=VX^?A2yXO2D67!#T{W^QA}jx@K_=TYr>r3B_bc&U_QLEv5ixGODjS4JEShE zU#U}o@QZp5ani#;NAQv>9sxkne6iE$v^nM(P@B?(fxGf)R3;U4s;J|dC2+xAD`L65 zI%PJ^2W~S$sb1S!`=faT@<&uyoyu2HFiZ?)a=NsUvlmoXXji_ow&$KT6-BeE+2C+7 z95uAVpUo+LKOWvcKHfckXn(tQhI#A3yK?XF(u4i1udI;Wus9jbfX?Z2L~C^E(^C&A z6s;Sh&tn4#>?7SSBs2AQH2aL!tk|76juMD~{z3~Fm$Fd|x4A7HWlkFWwwwZr&!%i5 z(h3`|;daimzZ4&+TMyf7r6-ACg^D)g8dIZCB{QJ%&ErEot@#YvA^@+&18Hx&9C z2Jh9NFk;Y<)h1~i_|rPmDpd&@X6u3wy9MAg{tFQnPG5qaSKwv{@=lvEWj=3QE?1gE zn=~}8-Gz)Z@>1L-ptP1}sZE5~T8H~nv0DIAsgnZ^ff$>6=qW1#4u|fisHsN3bgC0A zI>$a~pJB7+23L_H6vnVltZT~V7h;d|{lLlK8fLon$i3FAkUH-i#UO=KG?3X&CehtcdMUS90-6={I{`a^F zn^tPiRQS4h(N9#kZ>O-Wq3f=6smQFgNx@mtnw@lIqiCz-Xd;Y~i{8blpXMv*aTWrr zkpm9>D6WUXpmd-pQD^RcQ>8r*Kp9$_+&4EElJ#7}U9_M4XH8@KuDxMCXuNAQ0 zcobhtw0f?oG*i8ngCJzIQvr|OE8z%7#>h@9uEmC6Xo?E<)EEf3X~^wrHXzAT9Nl(V z>q-!&9tzMS1m~w{L|oCd!-!1z-Y6ucqP*Yrd{#T;eD*9>;C9s$`L1m_8ow&(g9B@R zYt1`Nz89@Cg1DvU-6_B@6Ll0plp(l;M>vBPfV)wM*kP%}{rmFz*+5k!O)7?o>F;jil@qXA87ja-LtG{6C?HMnFJID>Tg3f>mVGZZSgf>=Q2S98I=# zHd+oxwH}?fQ}MCm58*g$5BS3i+7#;#83cb;^dyTZuN3hEBghd#gGE%KtQ9DIAB(iV;AT<0h# z>8D0&gJV=Bmtj%!Saf01$wAZ0U^UXhnKWRV%0$t0qOXz;bvGWV+-WbcvZV~PCvN4H zFiRCfZNmyIV#=+Jy%*1@yu`J?lFwF#6P+IkMHO=#(ljW|MF=)T)RlP^}wAEp~7=Zf)HY*!=X(5!=-Y; z`$FqXh~U6-qtmw%4q1q*=qGrf;i`&2nKlk5LOp|Er=S~$`%UTID3;cU@2^E%Rk3qt zf~1)I;8+mDja83;dJf5LwXu?*q;{G^^Ay%O4JR=pa?mF9IKmxOf=eFPUvgJ8n+&}OX-tm z!MG5Xc%hcMqDQ7YZx7O#9(Oe16r9vb)4ItlrrzoC7)8Joxl~)y@q9`Gbk2%z3$+dQ zNAW24Y577J1@*cUvJ-PDVTclddG)T!n-^|D$v{UMg%n8S_0;h-MYJj6s3c4)$b)gA zF&fHYxs(+h((?hEcGNipk3?)ro&@~~N z8TJ;>(PMh7MKq_>L>An+1XN;C#IM50LkRAys_?Iy8c99g!}m{>lGifrjYsfGrcGbo z@L{^Fm{w_u^GaKSBfer#s4XId;wd<_p{Ig_sS*Z8+QVzrZM_h^Gh&|EBwQdHw=Eti zCPWWuou(!tFBrM@irqPRD)T)e|H?s}F`T=!ZCQehQM)U6R79K?zvvvu(rRs-IIkeH zCRC4vYXLe!HHuNNBMZ9m%4kdQb9x1XRkwcZsTI5UMk{QHrj9zwK(MyAPKXvs=w6UQ_chn~JW0ilflX-1O7BT`S{Hr>ei42p$e#0vJI zyhQ;OifUHGCZqFI#b|59&1`Y2smZ|)DbmD=tWm~ql*<#vC~e`mSRQ>E7HYb)b9}ly!+4|^n};$@NPVKKe1oki;F=+?H5E6-~a`y z9y=nwb!*h_xik}NFqG)+&<=S-@i40Bhjz)Vgb(GCfTFvSh+tj9DZZ4f-8SorJ>qoM zi}6od?(7qk8}TqaE8J@>SEr}p`dP4ZW}KkX$an?xX6T_0Rq+#L{~o$_o|}R~bfbGe z98^yOPBlxfN!Us0Prx(@g$i*a87HdL<8;DSbQtn8Rm?+aSQM&XDBOR|^tP)&>ed7I zL%#hlpWnnkW!(B%Rh9CEU`ujGW3rgEtGmTY>-j`=KZ;FS%)PlH#UWHdF|A{1ZsdLi zekx*lQ=3X~u-FQswJuK~cZE?SZ0nEGC?yl45vgoQyEx#d*Zrbqj?!I`g$L7w7$klO-DdDhJWZ*sD>IFc2Pba~nR0y7@1YN%ng&41Q>(SF=8xUEIf$`BSISre# zrr2P&+`I&@%qqSRxSJIv2_9Zz?~^XtZg_nMl~XSK}E3YDVhO$QS4Bj%{vSzJL1kpybEHeo^`L3lKB9Xbw^ zIY)U);mo~~eOttfi7grh zv-F}059mR(5A?)((l&8&2sq1;`28v@o*j;}gc|VI7M{)e*;y<4QMkpX-n4EVCcl+i zQ~eGM!q3I&IcS^(@s$dF<`81noP(#7f@^mrUxGC41L3LL8uB_sgWNa-d$rV+p%Ol% zu`3eSnUu5@s*#P+heAS)4|*SO#ag&+(u1NXY4pnbykY-E6Z)Zj{O<1l-J>4!YK7Eo z$M3cCi_cUctzufT9?7GTp;_rDh3+dL_;2vsSxMj>_asq4{2v6)jc@=(!vQIs&Hy9l z!nuj!NWp!2KPX3dog-?3=zs_~?x`_}VlvLWL*6$I`gr*54|s zXxt!M+BDoWC+ZtaS3-;wEnqvg>1k}mS)osABjBHa*Q7;<6upv~@ZM2Qp6Q79m+EqY zmBAwpreiTM+8mRR2dPtsJAgO32D6?wr z>HFqJY>AjeNXbYroZ3c-~H|W<9F{reZ1pu z_2+BC_%|NbzoRByamRZNgD3C~*Ped*lu+#CHz=qwEiGN@-`IqIp(adw#`+_B7C15M zzH>SpF?;KWahsV)Z^n)Z_);98n?M5=wN^wq>EbG)!RUnI0fDFq)&2tvM3v~mNG`cD zY2neYR>(bTExcKOy;dK0>ruOcpill^n9ucv2MS)4T2xWXNKeu>7sLW63*i9zJP;ub zhhkpzMj!1Exbq670;5Wd$n_viuQ-zepWR)8<}b_~Cc4s!m!Z*MTT_dIL@eHmTl+YQ zAn_WLYwuKI6@=0B`qGm^tr$+V*tuf}RVJ40II?6%QpTtaGon#k7m|(i%V{ukcPGd^}T9BbL-K&GQZ*ZPS?F4=rl1M z8=QmpIE3FO3y=FXGb79nKj{$R-lzs2QWBiF^ghHV=TNLO$Qcyjzg@%y?NWq|h$2(^ zw_8W<9AK#JJH-b9_uaM9N{U!(uVTaO z@KD>bzB!1#(`K*d>)46Vr;Mg@#p1hSwvrUOY7`JYDnbzjM8x>Qe^cDA4DVylz9{Q} zH6w(kMsl?Xk{}0W;Tk!8P7`6;Ld29wMyrJ}l>imz1gk`oTh>70B|)Pwea}>$?u?6~ zVm?wPXxV4#BZQq0&p9iny#Mg={=Fvps&dM$$L^H~U4O*W2;FsLC+Gw(lzh_-uVo*V z4624U##d!f zOOTF$@$8YC7|U%5odU%Zxdukh)tysxg)<{YsDFB<_L>xg#TYaL7)c9{ij4?&CL}`y zL)V|k}9TnACeZ1m2x*%e0J~}OZx?z;I2G!mH z38I4cp^e9|U~r9Tj`{2u0YOtG7Mnfx+fIQ~^wc7mi0DAqXfn>RF0KiX2a3%-^H!Z> zQ_(L}DK?@7UunUJHdMVA_QQHl*l$;EO4QON8c6h~@Lg@$l(o|LDJn#{)ee1OUXlH& z97kP$aj@oC!-O0Ak)R`Z)Sgbs>)GV*KdirecsPLi);;f?$L^Ph9OmcVFB-_H{pkpL zM@mWksiU{p)nPJWw!odp$nxC=dXVSTK3Efv$#d(9za-tq8L@E1I~UJg&pIb>uIurK z_R_2tcY}4(o1uGcq@`f{>;@l!BLSxDtKw^oLQm-N70MqCHkD$*upQxMp_w|tN8GzH zB{?7jWqT+@FacxbEUL1EZHRA9=}RAIvLboK3_(epLT?_E$`5VX&o}u0{F_%l{z?1& zXEUkyZ{NMS)q8O7;d@EBR~sM+FN#+T3h#tMs?T}%IFpbWH;IBOrp7sHTilv8#}$SE zp`cA)A{4ckWdwS}$|-EqPg02JLLJB&dM6yZMCV;SmR)gBTOXT2kZV3GPZ$4R$Y-qM zhnI`f?`eSs!9v%O6B$Y{ThTdmx}bvDTK-w#dnU}FwI}P0%vwm|msvZvX|w|OXqM<` zx8ge5t4h{E|8AJ3oUX~uT@n0Qn*HtDhgXlUA8+07-h1F)y0p&?O$V&CgdM6zj2^+Z z8-k}T;a zw9&qv$z+7o^Bl@-Rh-k7O*7A;X3laRqNI&TozRZUqRsemYCJC!`p38L)`t)O{;;3k zy>7Rr_1?pGt6S3@!cv%QgSW)OP5f6GtyyAy6>EDNQKbr{K{A5J3nuvsVG$Ij;P6j&p&Hpa?Ch z9>Y}^D0LHBidw|t1v50Lp^%1xU9g%fy#nfSPIx$JXTlLmNX8@qkg4bP%6Kj7 zGHn-6%xj}y4VMh({ zIRC^d=lrE%0utwnn`54?eWmB8xTR}JDfrabko+s73lD$?=2#N5(Ga>5tA zNhJ!3u7^Ck);Fcb`JDS{tp+PHukh+%`7G*di>}@-Z4r9Wd{=Ow5xnYL)@f-g!ma5; zSd{JZqE+(aQ3xkNSx=u=hL9|Vui_lP_2Ew4l>lI$bLDI9HgJ^nV zXO7rKX7t9w$^~1g5v_<`8%m@_*f9%(L_CIf7JU)@7sd1(%gvCtwsN)!%Wetme@KfW0cAMXdBQ=mH!-%Ew+(?P=M zOkbW-GXWRTj%=w{%UVl~Cswd)*l;VnG#r_^_={Aid>pkE+}r`@q} zB^rFwpoxf9>btdGL)W+oMMNPV{d`C^aINjRlED*9F%x~JU>6!`4GFyKc|{q%Pyp=V z?!gJ4;4D)cXrc!cZuL)MJtN?0FGeF~-xc!oe7PxVCwz+alPJqm!@|{|zMHz3{$iByZxo_p_VIe4D&{tiP-*S8Z=bN1e_a3;f;i%7NQQ1e6VnW$CQVBnf3xmKx zrh;0zT(OMaBt?+4l-6l!5`fPFfBqOD5ygb+w47oKV0W!JZ)jQ-!mZjZi!)V`R_@ir zP^lWWNK@2UpH)+VIy7hkzVzHs-5CX#tWd+y9#j5lrNC+F3lWD9@CZ?8n3B_>$`U7FH^<|3jQRBTR<2Q;TAz|g>@E8%n+`{y8qiBG- zlcI+g{!wgPltKkMt=hyoUVCk5KaQsK)=6$zxigrGXV;bQ?jwpBgfNqt#;{_i_Y|yG z6yj>8$_6not^VA6qm4_s2!SSHxO>KC>ai) zlF@jTGA8Q(BHP*@6=`pWj~kV!xreu5^QG!<>G8cY&v** zyu1orZ6XJSrdKWkFiIS~n2+wU{%B!RuKi3o?puLY_a3&FlzaVOJ^$cPT3AjA$fS+e z7R_em7+k^_w&;lVMngkXYmFNwM56LiUUQ0Y32RKQKGqHxsdf}h`V0e`O`#s3LKJ0h zXw+uKuyJm5`mCXCLHg@CM#tX=6JB(CC}~ZAp&DF8Q>usUsE!j<@?ARxDf&^kMinnq z(p54nYfd@XhPHh$b91hOdy*h#bJG_~W+cumPX1bN{jJiqq;r+A6l#h6%)Q-B)TqL!mK>Q^Id?PVYTtFR-95k+P3< zB8P>k?Ld$XH)eF_LM%2nsMYR9;YEZkai_u+8e)Y?SAzPzgrY3ir{Kitn0Df4%7lR; z!;O!N;ADwGxp4HQ&l9N3)YN;lh|{&Irs9m-gcplhRK101Xg@9jMYJ?_XO*)APmyJA zPJmi05Eakmxwlr7O6UUxg+B-1K=9I#v`}(tif?&yeUMVM`JL`-mDQ2HB&+a+X6RB# zWAjkmUtRXXv5QuXid4U%i3p?s3QmQl=OX0p6mPJj7D-7d;l@yfQ7I;`3bINyL(m`L z3&g;3dv=szvK7p2qJd>cIvO!d)=LYgY&eGAcPxCm;t=V_VyM(TX!4vIkECoQAR`o9 zO5se1GS^H?&Jd8Mh1ZF6_9Udz4KF*jn|##gY43|*%Tw|Ew|UVLiC--?j>Kx zFDh%q2GTl?AaQXgwK^A;+7J}=BjPTs=kpN&n?vI`a8FWdLB^X__8}Hu?a=xp#muS2 z+xAE?bPQ#DJ4k^tgDvEzw2AqA))vx$%s!qO?Y4|DIqg%zo$=V=aYuyM>N>sWq8-6$ zOp&aj?Au1_P88yLZ$tYOt7T;~F_2{RB1xb-(}wNz)5}{sGp4n5(#SvtcN}H7syIhe z<+Iz}BcJ~8{_*=aw>x+5J$x@++6OI<4OuJ$C9lzY9z(` zjgaK*dMLCqC!BnRP3cj|it>oBtgH}-c_AuLbDI?g>g1FO8(Q#C z?{}+m_0FSr4Zrs1A~=MxGQ~rs!Xko4`o?Ij6+LHH(igd)(HU!4zlK;JE;t)7qqHYh zrYsQez~ zcG{S=cem4;js@^k6q&W=>Aw&!6p<19p~ar!G2&Q`4Y_&*e)K>XD&vx@Rl_;21^OnA z@&!bk)ow$Fq3o+V(QlvLtPhVjZ))#7aJLZC=UU{?wNg_Ln5hL_id=eePCPbE%L6gZ zj1!Y!NL-yeV~t96jbKxomXkFYI~B*?h#Z+JgK2R&OJ)7g=2FZ&X;2=^%H>SOiGO@T9DnB0$llW|8B)2k%#O zZ=xZf-`GZDks`GuqGPBHis>&WT9#|?vj;acj_$~|@$nS(iu!rd1|C=gN2 z7}3mqdOWw3xAlHjG^M`;C1 zC9!@Ku0i_ZmEBY*nUJRB2>-fgm?7fHYYrc)2wQM;2a;ehR8nHiN zd12v8ABBTOD*@^qx-Uy<#G0{id=QD#41_31qcJqC3a1#yP1>aF*J7?l2^!`Z`tz-I z9W^b)&RN7Qw;0L7!1`Mzws#)77b%cMH&6qRyJE+nGL){@D)PkMH!PQ;^?|V0oW*U_ zyd7<=!y>(Y)MKl)4*wpj)UOp~M9Fd$H;XRnS%iODJ#VOOhc@*QqqGQu&+8G?w?={P zJbKSHY(ARkCcTqJt}KqP5r*I3@<<_?(LiX~8(IOYs6vXz5x(`F%oY~Mfm~p~i~08; zSem?$OiY2A|5}{L0IFCOZ3n9P^xARSos6Y_ZY_h-`?H43Z-xThd*EKs6Z_(}HYWrk zn?6Vx9t~qlG1eXV@R<;%V%OzE>yf(%D zGVL(P@D==O1KrAEa&)~X?YAV7^6Xykn_@us9=u;sJJU3jBE=i|ee`Ly#D=p$shjMP zPM1mx8~>%ywG6EWP?2x0UAGuX701v|cC?8f^ykPH4flXBWH5V}Uj zZxkPdX0?*9Tld>!K=&TRm$Iz`acUtr6vBntx57v_j%FM;F-+*)V@EY8br7aOLT@Tn zh+3F|y>u|Pn|xHD^*aJK+*kI^_>t98%|#(gxYrtGo~aawuCW4@HDx?2efy>u(7ng* zYYgbK0+DTN?7WW-bB+odf&dg_4zl&OJ?1et_YMk@X^F|T)oEx6_>dmMG3^`efUsA< z_p^v-+tZw-jb=pbmWyM=tUt>ePj4-9BzPtgY5wXT^sOFj&&!TVbF{Z!wGh?DTTKA?(W7bAcfvU0uhywnho4H(P-qwt zs-cg|X|GhI^lH@?i;ftlpG9IE{d3;t%bTjf#r9<-M{aq}-c z>K*%D3rMSwYX>(Y)$7OTJ(OeMvlqHvTG?V4lwnzoYi*dnOhg=TS7@=Km!yR|&&}yh zoRw1xCh)J2Rdz$Xe;^sGVOH)NG+X3)J$!Up;s{hI$!nTat4Gpg*$8g9=!t16niF? zo||U>?y&&Zqle{CByDaeO+vecfaXR`uS{=3?}O6_fjz(Yt4PEM<|<)QwZ651f*`Uo zlaj3PhUU#E9Z|fgBgCZDq2X3qe0S~2RGl4Ic}On^hIKt!F{NZM#hrK4vgsS8>p2%u(P)-X-PrAJO^ z6p9y@VcLVG(to3P=LR%6UOTU^@)n?rC6dDUUkNmWd!Xtq}GUlVq4}l z#7O?Qig;d#lymQ@mq=;lf&9c36ob_kv}upHi?SpqIbtFDbb-g~OgCjjYJ@~g z#dvcUSQO%6hfe$_6#h`vQyN8=SP>6zDY~Tb0`bBmVQ2~TEb`ykqRnAqUKjPE1CzAl z9-!yi2uo-*^_cY0BDfv((fj3@{^N&tZLF`%^}R>(Mve04xwfCtRcN&e`H57vf%JwT zIx+2bjm5vjX zY;>XytwYaA^j z=V5#4W+;B)%gA$RK`AE`VRaLeNH-0o0^chu6vpFyQxuI9Is*3?N#Fp7Lq!+iJp`e> zNhq&*L4`I28U`m!_OxZyNVQsDksD5~vsM#;OoL>J8?ib$;*C|=PL z&V6bFAh%aUaWos+u}JWl(KQ~Ty9&drIEETu+pAUx z4s9iA<)DUYdvFpL;hweX95x zZ4*xWcWN=U#+i|D53ZD)nbq1cl%R=0tOU&;)28y=M?)3QD$`)=X(z=$-9SC?=+n@P z2Oh%^eCCJMV(m_hW%RDu*w+&d4OmZTh2$zQS-2w+aV%&aYV(QU)?F)iD~*&C&DMX1 zB`7b8*{r}fHYZju<3<>>((1UnOPb-hnSx5q62pkYqsR8%(Vds0C<~Uuzudv&hxY0g z;JWv)y|jbFUo){5%cR;v+(Gdlp(KSrM{p3)NMoRicHF-smWaEqX6HG$rN7j1FucTN z;#MG3x>Kam&$|%PM9GDcQVh-X4i({gB~^<(%mCw9v&J)p)^lSgR5H55A=57HLNQa{ zVm_-qX~Uv~C!mQ2JtszD9ExjQ5i(Z}HiEGvs2K-6l=NyIV@9DGJsFCp%G9P#O?Y#S zYn|Na(+)hay}5(`j{f>vCs+3#ylekR`P4sB=ra+TCluxF#xUIP1m6o;^v4A8=ma&HBCb+m?k?x z-OHqU&h#4*O&iOGIr-2*HzWE!UHeg3A}FBN)X$lFjEG{)Jm;(ieX(&&;v+f)n|^tM zt+L>zEPUvNOwb!CH^#0jTM~HnmZ{y8L{ih$+tGDajXVdz(?cMvEeb@IM%Uh=$ ze~r+ey1+!cvI|)(9GPO5(z(H~TRhHTXEv#gR_5TI^~knR{81b-0sV;IWm7WeOnths z(MSvZTx1_qq=B6xLYulxFRy4Ttz3%o+Y-KM$+;?Ha^h7A+!vBaf;|lfH79(LT3Ygb6LCVh%l4Ft%9@A zPf4!dobdnrX~O^9UOi4Ummkg}Kkmny^M3Ck{d#70Kl{TuZao4e0u*q%RDz?zx_I%J zrf3tb!SF~RVG*vx{YpgG5IykSgpi^awmed$W=ye&sMYJ520iHW>b9s(vtIR}0f*`_ zG%b486e#X~<{*ZL^$xhzq{R^y!W7#gexEo%P~i2=q2;DW6(Qy1uS`Gj=4=qx!Pkbe zF!ymZxa%+4)xqP!#VK#Xe%10Zb%o7&U>8`$oJ9Zfl9~V0ho^^Qz5Di^{`B34$D3jN z-edUEQ5PjmqLDcju}AT+)BYM~ZI+oh|j22D^qivP_lMC2ik%!(6Y7#j<~1Q z&f-i-iQ;IQ7X}+fb22*~)fBUzF>oq7wJ*r8uS2 z@yrB$Bl@E-s|~9ltT8xdaSMNYKeco*xJMZ{<7LdjXRRmhOYxV5( zy^7i1(M`uC9@k6yuxz|QZr@IbO{l;N=BW2lb=8U*N(og(=a3WdvAgljKI%>pgoA zD|9t%yt}q5%9fMUfbNbmLoXWz z4kUjzhBq0c(P$x0$nUt0Y?kfR%SEsf2B%rgmCl3dNSumhz|yewmKTad|SCtBD9w8TET$fysYS@c>R z70zpBeP5)mIDafri;B8FX|;Q2vJ;K5La@rqUC47GXAy+7Pm65W&n}ood-du;yLjH} zR=D%feQo!CI*T?CE!zXtK8o_|=*Mp^$_rnnp&5#fHX(I}Nl40C_rr6B+Jzp(W)_my z2$vj-9BenMKEW64%=AdZa&nZE5BtWj&(vHkip2N^tt&O=3AS?X6wTLc)7!%HYqK-K$RMI5gmn$v6R*FIZ6<# z7PV@WJ}vjGMD~A}Yb!v19WLK{2w$3I_t$gjlA5x(kfpL5<+_5IU3kOc&Mx49X;+De zcqmC#B;TCqT+nuDf}$Y`LKu6B*&>I*p`j0s`+#6%p)DYa-B_U*g)z^Li5n$EZu+nU zdp65?Q~hAHH`iDKQ$8!R32TBCt+&?h-Yh7lIpt#UrYd+fVEQ3p;)NCi0zz7ymyLRE1;kkK>4H3zz!0C&%4lTZ*T|WuViC}J&36;pR=0KTwvfFlO3I*4m zlz-F=KlOiIfQtRl9x#(M(xqzYXupd%-Q?Wn_4>j;f0&31t%JYVxLGC z4rO8=BA8k0OAAlgrbV`+Z2nY{rA^Nn zd04>~adDcKqH)xxiIVwJD1wQkF+u*cL@@nIr5$@j?FCUWtknc?^fO@g6jYcaMN8^2lvgYL?AKywdko!K+YUo(EAW#QXGi21S)<}c%YDIw1SmP? zNDH3aH1Q&tLjhP&MBz_hI8W`A3foj> zx9ZSDUdi_^oFWbwjRrVuys%I)9n>>AgD^?eAL`-t1<&I0w}hVWJ#^0_@<+w|BgLmI z(Dna?yLFQU|E$s9`pETLaVdyZYgFh;ri@QOpbL#?q3;MTJ)#h6b_Ep&qER|4Shou) z>_+7&TMkRwVL3{}-i$oO* za&g$y##TnCXnzfD7>fJ6c7dRta3BS&8)v#`m9Kio#X*WPBAz(?ls`Vw;Pz zro|;U&Fm`;dSf-QeyU`Z#@wP6w;eCzx#Cbz!|zFy!UeA%^?oXM<9n|FnteCvDx3d1 zP44lQx;3Tu9=aEB@)tcv^~gWt%0-tzsD*_!I3*j{yuvcHv;}Hf7PAn+#%;Z6X<^YU zpie2$aGMY}q6ubZBa$Y#-Z_?w&V)rfycgQoimh3QpmsLi@R|0L|6lCfdk^A^m@1l@ zInxrUXIM+*W{m{0ZShLp0szV#0)#2rY^&8^Zy{Dil5TSpaHH&cM{ekpFVO3!SahOl z+65;x@?G@XyX>5BA~xURX%rhd1s8KYWOmvHfPU>gtU8N8P@C4FNnZ86Taiz2s$xt( z^*#EZPX9+Yl#?U3LD7=Fl)JShUPCz=HC)MMqZMHEwaR0nD`jb;Y46stqEJeRB3;6t zSHlaDpz-u>J-mLJKi)Lhz4!Rtc6j_)G5PZj79|`QhYs|3#M&@PLW;+@H0ea`n|h#} zft6Z*#Up~)3eGD^6twhsT)iFbcdMJIt$_0nEfo%lgQb-$kW_^{vJkw7dN?6XY9oz* z=AcX=qZX>jfa{bDPEKvb0B|DGE*6W|8W$`|o!Y}nzh%z~w}k>6nkq{k+Tc~G%hN{? z!lr(SdQuTw)H_2Lwia>)x+t73f}+6yD(_^j4r0H3x86U!`twaWhC2`3&$IiNx8Jqz zK72R6`$04O?z{Ef`|qB_dGcOPf||Im#8Kfgd;;k*A$KlN6>_o%q6 z?tlHRfA^#Q`PKQ;H{boA`phT&_Q%ivub0pMzdqH?ciuWrq53`qZ?naNQ=sAKmxzn< zHV%_RrwltahZ^ry>rP@fLc-08>|yVxje?h(#*_wFWK_y929K_iC~*xj3by8?@w97e zmZOROnd;rQvwrS9aG#_8A3oD9_b=h&j0(_e%{oC0jhPaKqtvAhC8!>nvGu5!cgmB6 z8{P6f2~SKM%{O>5Q908P;Zw3%23IF^f~+_Mo@~=_bswi$%XIpY_)HgSK+!@O(7Nu&E~S|?X%)rUpa>^fykb2SQy4Ea zY$zLI%33B|1I(043GE1?7|u9j=c@L4xQU{+Dt+mXt zZ`1>tlp`mnDD-NF%u^pR@Vic>(vDAcAR-3(S&o;Eq?7)gL3#Sx6j-J(bQ4r*RT-~E+~F~V@J)YFmwRl>@LqK&0?!k|>2x=yyjx#^l zbQLb3#KM+W2-}lAE<8gR#2!${yWwWALl{}GE>UK&n0z`V#99><5tP<^Y7Hbz#hOBe zqmU6Zxa)mWKW%F3FK^qM_u9a>ycX^}fM46Y`7>VAa-of0n0Fbc7~k5Y%_;yBYgSHL zAFpV7E>V$ij^#X>+EgtsY&&Mnq(Az@v>ZikA;egAaZ<+-aS-;<8q{`jJ|V)9aJNUx z(LTF19xHXXY#T+qYZ#n;^n)9cXFHUA?DTJ5-wTwlzkK-q)ll18VM)MS0DY&1nsNC!}imR?YO!}N0wSpr;00KXQx|xwVDD?CRb9pL`YA_nI z6h9fII6Z*!=0duqC!~a0^e}d+2_J3Td&Nr5QS5d!ZA1h{7sj39F~*v^wGyCX4H6SSQ8Bq(Qe5535imM>6EEOnw41bb`C57w3>YopmLgg9)$vfX=x0p zz8v2fpV8tWPMJzZmb+c^OoL|?YqN);wBz8$NkOE3Rl(LpLuFeEh*9wjO*}^#i}jso z|4(S_C|qLLO=E$OD~^IubFCyhx!o$q0ZkxObQe7{;W2}PsTcTpuH^CZ+}?TEUOE9A z1UBv`Q|$sA@OrK629>YNSVOTnfePaaFsrFUn_~u)ez@3KdFF*Yxe^`AwF3tnMi(;( zG6)@r7l>PmvyBq=vVN^W$*@7_x?e9QVsu-uc&KhD4fh_ouhrju^5X7-DA{r!XS{&-(1Nh2#u=@_o<;2Yak*=Aqtn-`2pe|r z#RA`a=W98_LBB6@wT-W>{$H`li1wk}DmvohXdL6wMKuw!zzMU^(teG`R+ONK#z&#g zcJ#6kKq*@6og@Ar5R6@$2u7qdM}Z9!=cF_|tWqoWJpplbt0&>)*wDXd#cIVVv%;UA zO!KNg&ICYhTK##al~ti`YLh(|X+h1fKi#T;zxU9+sNzn2Qq(v_%b{x)6$n<03u*G^ z&`{{%eF>!qv2JFAC7HR3@#hrD zmN_xny%O6(!=E^ZhPYI#>CMQV8*!DfW<(0m`Jnj@SZ0b5D3cxEK@MwzwIYUE4=Bkt zv@&4AdO=#q6S)fIBUGC31?H?!EXcZ`ZIl#02X0Z<6YCF85AW9Z>n{%#tVX;xL=*R?RbZ@c~*sm*UUna)DAhn&d~_Xj*9= zkOfwj4WVbj+J-80MkB*FG~tw)1BVAydy->-gvy^~KopT@kIUM0gy*VNg2Lgq3ubG( zhG)`tzdPN7_;26hJa-m zo&obO0rxOO9fjxwHn%WI=W82Pfg=jZv*xDALGmW)pF676F7cP#Am^OIn!^Y=QW(k} zVVa{DPe5S=N3}}q#b`j=x?UYBCUF&STUqC}7RrJjdTiPPUYs3Ww5?#Y=;+pP zi4F0epiKvyf+mUAhyisPKE2y?_6T~UT*I0n+h&f>dI5n3&X1RVV_0qR7M^Kwe0cxr z@zw#wy@%~0-#ztLJueVWuyoR%xkgY1 znWt4%xsXLQJ;C#nj*%5)i@ zMt+EPUG0M2tAg8X*E7aHe9sx<{_)krzS&xK=fQhPMfQuz=iV$pVp3miFr+{wp&G1b zg{xO+L=oXep;ASeR2@x?K_L^A&Z#SI(hZqx4>*bC^fl^*_BlmOf~?Lrj!hK$hONR5 zS#f8J)vPt$)uAk;L|D}h%T>$RcTrPrOa+_z5}`pGnL{I#Cn=Tdv1)uVG{`aH-4>LE zn{x6wBV_jw=MDdV_>iSImc*HHYq ze6mGLU7m0R&C=rUS_xV+TH-#?{=}u2)4GXxPiVym!yj2wUcb4thR4Vtm4FsV61iRz zPs_GN+3Ca;^$1>T)HKnJCf+E*D55Tu!_oh9*^Mrkq!AD>?88rOD6RW>ju59_T7M@h z06Z!~>sjB}Ia?35Ip;j*c1|z5qe3IeV4$b4e zO5OP9^!nR3PjeB4KTYg@|1a-9v|Cj6-UIktdBJ^hQ5PAAl_P7sbQHRpUYXMnFHGRX z4I2Jv{ha#Pq#e)+lavj6L-mkJs9h-J=&w_m&{^S4G@pFIIzrf!!xT#MYZU~=7advc zMJqw6*Rv*clNV=(Vr(OxRgT=NKDx3EgfAlZqFnswqaX@+F7lI`s>4c^J0J zcv8mJ#*X4Q1HW_QeRqv{HF33vSCV?<?S=2yPC<=d|pXAf!?q4JU=B zGn~)`78~2yEe%}U`Vmz4mAcYuHgl8{ccb|`DFq&kZN)Q}UPC}syJ4HuuhIAq-1DG{ zq$j);k?%Zsx90can9|MGu15%NDG&;Sc?6;8O#>ecG;NE3nlOq|g;pw!@8bBV#-lQ3 zOLqJ*@&+`1*`v#|R^|L!pJot3r?OliRbeLAr0*$8IuuLb?DI^E!5DEqPq&D}JN%ue@bF zU1Z`wBT{^;pYP^sy6~Ih-Ro{m?VZQ%Kdy{bW)r%jUv1LkFV0*Ba&93Oq*xmsA{OO8 z5pTCd60wp}SVWcFQ52>%Rb2uWZuD!#+Xf;gT)uTm7bzLkf3W!xLyv-_tq5@d`v`2$ z?t1dhYgAyv$l`axM1qJzd(G(=H7R9@>kYRy^r2B5DiEZE)I^trh6_~=Q2>=sZdq5|d+ct^ZuoT5^9dzS zJy8tV4D2ct1AEY#>Re$YpC`SubLU3gu=nDLN?ugh7c-4^);brSHUMQPK|-;y3+CB# z+DCEIqI8wfY{1c)wMN5UCQelFL+#hN9LtGu10WK!o{1s`C)7i8pQ7C63x!J)yBNof zs=$byLWf(L^B*NK&faNZkK)5#pJ&G2!#7UfkE%ENLq}M8?QDdkYoHw7rRzcCfB&iK z?cwd8zDE}Lc5VB8NARU~1-wSmJjY)`tFys>k%zJ6^DNNE9!(HczA=Meh zA^`$Hw-XhUQhwY>@d~SGB9tIpq_b974-hj_T|r<^vsHZB1=5=AH>)Cg?_v8D{=L{I z3X>RxH<3kZbh?R0>MbMTh9r%mW8q9BDxcKIjj~zbaV3FX^3X=0)IJt=0%Tk$LbGG( z??^*CDo($m$f|;+wokBvj(LXTCA9A*D^L{BUe_k ziK}6+u&T0D+gq<3;j1NT{imuRD?pk9hJHu?3F)&O5TqH&HLPju8d@z%XPRNLnd4~v z%b8t&5v;y-fPCj+dwwVIaia<_Y(apa>=Tx_zknzr<{1{Uu!vR0HW&~n!Rax=(e_Mx z0nvg2S3g3u!I40e22LS};GGct7OWjjdk##fs2Ayo(eI>4as8%;BF1a68)XHsKsT*M zJVdXxE;gXlvRk%-B{)e$?5Rb1suHbOUcwYp#C3XP9BsgfLJNWe+FllrdbUj=Z{oUL zPtOg$rk2Wv9i29Fq5fQ9eO$#A{^$1}-aWnf{^8Zr_YWU5fbaLyyVo~0B=0?rzrx#f z1&Sll#TE-tgsX>DdC!f6*n|?1VxC}H33!8z0|RXf3+Ao_AT&CY9SEoQsD;`Kiml6T zj{Cgc$2wt8G-80MJ!Z@XvZu6=7UglpQrJ`(N4a;7$rJ=#Q7y=sLnHy?h!{aI$78W3 z)GNgEwKlr<02cjxZlSn7&~n>2q1IOG)(+Ev715D6vAfo|Pdzw#>1KjyOl*jpU1Rd! zzkPVO=8xmnq13%c?kg2D>`5Gm00H@dX zCmn`pYFOG-@KiE1~r6ajReq**pRPss&)8LL(9inSEzc5lQ>1Za{6;ig^1Y1lWH4Oz>RfAfC5{`1Xkd+%|(F|+v-1NwxK!$twXX|?q|G!OwN zXowfiJ57jlqXCfsC1n8DwvU`=26~?HSZrO-87TW#jM1`kK9R?;ZZw9wH3iVbP!zJnef>|>wq`3FtLK$hI3LvP?L9Uz6jc>+LMMP;m3mS^Qp&`L(ay4ASIb7r| z%~E3#QK!HQ`U7F%Z%i7SJv)y`5XFkAC{h}2WiM9Ir%(=+zDHK4(fa8L2~(S6p}X6! zM-~6&lVbCFz?S)K8-HrwuZLHUW4(EQvs(4eqxm(zxzDa-Jqr3+NWTE)K;+IkqK3mZ z1Q$i*Qn8kxV@3G{9cf#re^?^wyE%ax(MzpXMVN*MQ5*G0KekkZz-bBfn7(nt(NXzO z-q1+U*ckjZ>tadNMOM(a&5j#1d%%@bDC->WCs71_D zS-3L0uD8O`!kwdDy^`6^aHWDDY*pH|+9VMh1a24hXAQ}J{*5Mhyn6hcd^v4?`2OGD z-b%iA9>AA&va+-|R!li7+2I5{jliC^g4nX9PDxLTx>jDZhI7uQ02n@M4C52gm$fe8 zkH)|%Yth_jszu1$8Ju0XSyh14m`{C|M>%4(Wvh5itJl8XrVkM2q_DUu=Zft1u4l=d zrnfr0c)NH;;5dE?N10~>zwXJ*ak-LGe>M!RuFRD$v zXjq~&m)=y41-R)KN%OYEDHy`V@lcj1Te&4FPzZBsM*;StH&yJiFFfVrGKwD#qdi(p zwU%=+GXo=nR&iZMznt{rLK!(=>vFw0Kx}*uBx0Nsq7+>6!*Q~wu$NO4-R)~3D};2a z+P~(QiMa zzwcI?Kc`{J&X2_Yt!;egaeOIAr)`8el<2xZd&BQIiE1x_a*;QR^{Hmq%I&_ez?KtQ zM_|cwMlQ@c=MG6Y<_J)WC?v{G8Cc3Pd+^C-&=Eg1L=g%mCa7y34oBy0|Y4lRGo zAg~#sKA{UNUXPU%&Rov6ow)AA9hCAZ|3^*Z6*DC z58g9HZhJDV{Y5;cvKtXbam3~{wqsixoC|^gJ+B^U;}$q8B`XRn3e&0{s-`B~8MQg0 z!U&dyvs2SW6_d~oCM9E~3{@LA6P*eY&5*5_vbHWVT29f)b%OO$q3Nr<7^x9q(AGrv zK2y+;^dO43U5qFVbYLSMHN)w5=3qBwjgwpFK(ehmv8;o7Y;-P0w|D~4^=RurW|Q`F z%}Jwq2e6}^d=*RioAs}^E`jbnXfLs#FZylko?KkuI$q{B&Kt3aEwrKFAPU|^M6?$+ z`na}FeKMy5^BBi;kB@0yLMRn$T+qy<;l8pmbLnF{1EY%K*lV#)(wX4M5 zucsJQ8?TH`QMPcRJ901L{k~WpCon6C0u_oglBnepf=pt5%DaL?ir|XIcuy>Cj8V{k z6>8x&b#v(6^)D&(MH1O+CbI@zd=zhb?F2>BD~4Kc{_V%dcQ;R{?mcqPFw}qhR9W+L z2T$%#t;s%mPUoykP1??(Yk8k6pFZj=_QHE8MJoiQ7YA9P0pa- z=$umCN}8Z-X93rUdFa!H4U9G%zRBFX`Fah?Em5o(L=`-WFTzd}RS)a|NK8%SAtu)b z+Vgp!Z6zuRvdRLtQOQ??2#u5AI;T}zYov)m_MoTO%W6w=*sE9e*$(Z3Hn6<%`+YNLae|dJ{=w6_-%;RTWSm{dp9i;_fF;vn-L2N^EV|&B7 z*FdJfA&3@)*|GXsZIeZ;%@*r7vKq2k(`aWIJw>9HLVKp+6w@8|%$(sO8gf0m_-0O( z?>%nM+_&?m>hn+aaLFwFE{%R#vxx9${d-EcwT`mZc@yZi6>dn?-9js+p{42_)%uDM zi92z9>(Y?HPeNW!d=!(kU^z-W8cnAki*q(dxxIFj)};+SUh6IdJa*tpObgrlK13JU zRe~G}X9AT}uT{<{#4zaRVk*(517LQ9og9a=)PaiD!t67$;{)3!i%Z}N6a8zaL3i3v zm7AK3*@;OW_swgT{qXu0nZ5U*Js-aQ<@yZqm4;1k#O-uHI|GrQ@M538qiO?g*QW6e-p_eta zMZDm9eAWZ>t@MlBd)QvOyZy2b&Iz3;jVqoAn}pJpF;Ft{d7=B!mqsTlt1EQ{8q@Vp zLV|ONloVv(K?uv+qe`#DmLv8n`u`MAb*gxJ1*3o(d=vuB8dZ8dgeAmAl_#(LB2lEx z)GP$01>3~!*S5asTd5CBVm$g16#DuxbJDyunwCr3*?@QEM%qJr*N*# ziBIID9N%huM2CD83(}_Oo{*?@WX=59=JU5t%}iRKk6+bJ0&V z(QBiNs#lX%6Y8K5rfUKDGa9t!=T(D zvJM28Sy^Z1Bw|p#UZ>YZ>5!wHa?@{jy_*+{FM88R`7q=k*{5!gB^S;hgA!vwU@<|x z=Wxdc5raQZ*Nm&0r{cG0rd`P>^3tqBT~po7X%ds>f^#B$ijYo4^_Ws8Evd!T(9e1_ z*ZKXYx37Nu{_)Mj+ou2JmgwDWOTc@N=8gGImx|?XhG>4CUSUJ{P0yy`szbaRQL9}9 z<;2rBNR0vli^{yl&0$ndMc1NjV{?+bN3km_R+%-tz&jGB*aL9F-^E|V0}8Q52vUo= z2n81Z3^VtLeWNm&w(oW%P~-3e!R=vTOrj~v8X#>SP4XV%K$TI_kc~indExkK%j&0UQ)w)5csdSDqT&C?H|BS4z^ZlPb&G)7MdhG$Dlti>qkrpeik(X~hO{+YWurKz= z)ax%RQ#Gm>?3AtY*6v}tL?@?GxuSp*trgdC`sXD$+HtG)BD%}t`sukA($8``oZ=>j~uS=+>ED!bP z-otHVDYbZtCPA=M2}$1!o}KjSbSqNAqiRK&B;wCB0TiT4&>N{{j9c>@2*JvFHNFyIpu`l9%%d@EQhKfQ;y&?jN7xOeg) zQFWvJr%?#{CedS5T1j0<)VSyzwf!hPg%O6~SBMWDVyTaYFag}O!4 zL_p7($@MJjzkC1V+qX~eJ|OG->glH4_MOM?m+?CPi~TIIPdRNyp941_p_8VymzAj6 zD1G3}ATCEEu!aiH%1QYW_Gyj^a{gy>w%1l~3z^%_eMv91AhlG+&%{jHv5KBYh zjVc6Gs<(63dHuHb?Y#%@r8DR+FgBX~F=nqok*jcvUO(6}ksPtYuZRT2M8Bdys>xQ- zL$s!1s5NYFc*~M;G@vLJ(s9@I?-hLVIWXr({`&x2-6u)dRA+)c(iWA=vujNZlyF4ad2| zV1=*}lfhxAcv#3sBk;hV(XW;3|D+jhZ`UVBs*egcH}CZCJc=*$jG1%7^-(=e`$5=$ zdR%U)`_k`gu=UuCp(W1eh?K2e(P(_kaW$w%;$wx3A8x5ay?)NRD6kHqs%aqQRrRt$ zNQxsFt)3(_2$n1fHG?WhOQYVm9-r?$elMI$e{mXu&Ml{D4NpX_Q)}{Wqu>-W_Rpc< z>tX1JQnU~>v|=yu+(Qe;?M(k_S5#d|n}~+;NT)IOm!t{B+eN|Y?vCrT)_O1ohrg!4 z)i^RI8r8~q@uIF68{b~I4I6vIF*T46`z0@v7Q=PS` zB70bOE4|^Ww3bh0D$$Lge~*U0H32o;McrZ(G_ZnlhkS0Y1eS|34VDhh?zB0W zNF`^)-fQL{!;H>3)K;*i=YVpfXI&`5j-JkwqBQBm1k!5Q#L(AT3T1Jo61*48Li?;~ z1ahIU)pUhJDqmd-A`;03v;8PW{MQ~aGR~tjge40H7x^}^_Y2#&9e=jscwq5O(HsHO-?xmd?M85+*XWV~geXWm( zh$G)F{1LYnm~dTDy31URY6S@uP{<-iz9xdROXMpCMo9pmD2E&+Fy!2Y<{CQv!G%Sa zw1zdI`<;^;njDLd@G~70s>oE+9m`vOv1r8ej zsQsP!ShCpEMxa_npCuX*(@yBJjykx#*n-*EA5Tra_VV#0sm}_k{+IFe=FfV%$EP># z)x-FKA*6Tgr+1GZZr&8$dpKV>sr;fMM_=pH8b~SDg`RQC)#swXC+b%G#>!HG#t45z z_EA+7vGyc~JVoNV9i!xe2}j>pPzuE;09F2LCqJcBL7T@`%n{_xIcl2~r-zU9s$aEu zBLWGOgb(dxO&YfiL;JStjU5gzPH@t98--G-g`|q17Vg&~?Y*XB=!FKR2oDvcCU6L5 zrs5*{LZ;Y+7HFlKTw$PNwRw*IJdPOGP5hsKIpI&QUq1?2DOkV1-6eSE!TjZ}4nOZ| zEkb4I3Y<$q9Lpebs%3*POQM}Erd)apNBB@EAqw)?8ECsTF^F+c2xzv(R=-p_RSBzc zSlFZUCUE#Zq3!xyN(!Sw)G4eeD^XN*yS5yk$OGaBCzSe{C>At_zDpFOb^&gdP8O#%~$QdNT9wJ>lxM_)OajxG)=K{{D z!k)Qti^VW0UzCoXlER5SUGzw+(nqb-som2CV=Us&navVQQIs`C81Z@%t-a_(aW$y{ zaq}$Vu!;x{3wV|3Ry~rorD!1=&()n4yZ7i2I_T zyY`GwnC-?dj9$EpIRyhr$-$X~EMw6dDhr4~j^b%E*oY{3{ZF`7P5$Hej~^c1wVytR z=UaVbcOJl(>YW?9D>Q73ey+)#7luzl;Y-*h>o2bBDM%s5!^Mh~=*PW+pHd3yielly zHwAw@Dw*04aM(&ZQRHL*IcDcpqtEH8h$^zGBA_d+m2nZjPAu}4wX}Y$JxWuE#W*{n zATyjeqe5+_21iIztG#9p9YrSgj6PASwDs-D6m9mQ?Cg_A%}unb`m7Oze97^kF?by?f*q>Bo1kZrumpc^F?JNLtfHTwak1^Cf^^ z&Aw(x}E%1 z!s|_oKvPtP>6pvgXT817BT-DjjXo!!g@07h4cd{uhNYR{TD)WNSwuNc2~}JX+=6L| z!FwD%e0{VM7gn%C!=r>tbqy*|qS98>WHCJ2=*SyqRD`g<&E?j<{a9o7@S%NwYv0~` z0AEzqh)M5C3k&@)%@`83=*aHalX`_U(UQic^h)&8?m9u2brx+DZ4e;`zcmMbD#c7u zI2#b6*LoB9nN%O>V|}NfYT@XRacrxAgox0qn|OXt!of?s#4}<$HQI05G8$Dw0|9p9xDg9xz8%dyGH4H0bmW$)8<}u8D z7KX_5wO!%! zq~2mfcOJPHJI9oCIM>s}b6|~JU7(=AM*T-YUP(hlP+V+tBU6{tPiC$3EN0DV=?=o2 zEbtNf&~{M@=PoQSni!t6paGkK^ghXdhlaj=cBqy@a5&0tBP=NdlE(%rp@yHc{84?Oh!pWh!t9 zyHqY(^yeasiW>?!V+Wcj94>`+9MP#FvZh!z@d*)>!CP>m-;_ITrqmO97tE+finVjL zctubaEPE6pjUb}MHAyr;OLmAZD%9;zXB3QzqB?>`j@G~lgfZOk_kgJS(j(yipe-r% z=(VtC3V6i{s*32kn#Q90*=Qe#9z~_<#0T|wWw!tO3&)Xf->vtHayn7fTgO!Q9@UpN zF(yjR50k>=77VCbvbrajQsDR!Jfo!w2aXoP1bZQfdZ#q6cY)fCJ`~bZL(IwQ4UDpJ zEL71E&g;ka;FsN(u)RHjs+a(iool1P-|!Q zXDK*R5SXa<7W_e2BE-y@Jm1BwcZ;c8beIE%(^0v)#!}Ief`y1h1{$dy;=aD4V=h7= zE~F(Om}7?a?koZ@TNqoLM`^rO&F$nKFLKOzWxJ2>AKt!dk8d8H`oFGm>!kVK1Nb}% ze=Ky~*lI7j!>PvXg70%SYBRO&j$5KONN5?W34FP2?ey0wd(niE&BRwQZvcTHt`luE zbUG@~QS~_}Ja?4-_z=KGUE3l|i)_4jyaM6%__22k7d13WTBjZ=Yl4)6GF6^oD>7}N z%+$0ST2?$;KA2WJ@-SALT2F4QrrA6F9qxG^^FtwT8>~idY~fWQ+KkM(+ZMZQ;ZOSF zsTX(d%65PIr^h$*;pvvE)V&ApE4P22U8OYj4qZk8G(8QD-}Ix3IthT}uE-vbw!gRp zjjTf+j8|d#kZih(QneIuAx7!?0buXBX!GBLpaqzN_W>Q z{7Tt{$p6;QtiqA8hc3ny`$xrUoM9aKMh{e*g5j|Y7r3t43(YIFid^<{t0%C6d31_+ zqG0kO0L%IBUI;?XNSB`Q=N8rywala1D-rtR`ybk?S5H4Zj8{)@ZZ#g=d-z_=u}3dP z@MD;&?XolG=$&PVdq$m&>d;lPMm2Iq%2jh%?i6EVD=nt(#_|QVT!X%FH!1r`BXSmZ z(+E;sP>>y1jfRRMjOvy7xWZ}i+HS;mm6DLSsp2&SF;*k&=sD`o-bO8aT27WT-0|vR zhZ}@t3gHxYaci7niddB53x-^o;$1YF`Q((jsf&wQ%yxGQma0|2 za+)Y1C>avjsHQnCiL0Y8#>Z~1vs3j7aoQ4-u`UM3b04;CxCm^;Y$~ZDQss)6ita@K zGiwtd&23uoQ+aw9!A{gJuKV`)=YswS8r>?AyYtw+Q2*$@P)WhB3{4=qg@r|hOT*-K zE2yjrp=vb=z3AbKzyPh#?AaLW=efVcz*b?XHwZlaHXAL-Ocq|0tXcOJTz zDlm#@-ze=AIwPF5xNF-~m~o`70OPtKB@O3@k+>=>n1YYmL5bn`~_mvxZ^I64rhz}}YxTOrW#G6YJMvZhfC#`*LfaL_@&w)K=n47*N zE-Pcj$03x$i9yr&aT~6+HXU{o^~hxhpr04T3%FhBD>Tq&xnXE~#B;CQCk)EzHQhtQt7P) zl1&gCBdl+frL^y}!JzYcpiCs*Z|)kxJ$mH6f|2cK7Zbs=uy@T=oSmL_ukQ(TTzK(* z#hM_z;-~|qBB{`RxG{gmPF#OiiW9{Ufm47(%z|5&)N`cRz>kCv781poIuSuWfedac zLvtRTkeh1sb2X`*DsUnWYq)}oN-HR$F2^>^aMEZ4LN^EmiqZ>V2yqrVrKxxo206lS zc;^XdkG)MYO1Z$&hIn(=KEa_0g;xbpPpfnNW{P8*1~&ULrw^ z`3`YqrYSOk?6iI~Om3|bn)gC|QNc+|7%};)>ZbrhR7z^O5ZQ_|Xd;B9%&7k=}t-3HK4!#LRqyME4tO(CSah9Wl;mxTa$L=J@Hr&a43CNRY zyYZCbZvO6--lNCuh5p`>W0;F?=9Bn2UkAMYo@b(CAi|C7<-~~eQ z6o-_y_5-qp<{Ckkm2QqJ-h6nCA>7^br^gQ5Ep~dgNu~?mAjVLsUM~U?b_<-xgm$I| zLBC!6_G4Il)X{BmP9X-(sD=lhA_}fJf_9Z#Q7U#6b{yiRR2i2(%XSE`lE5hDujcth zl@a6a*D@MfW1Q0G(N#rJoiZ1*L#O-vlwu?Hsk~$KSz6aU9v?)}8;y;E_Z$Kw%BD(Q zjDZ&<_Pq_tSTc32Rg*bl5ty7}ubc`bT;>(ZdMK?CoDoZCYxv{&T{XrycN-+Z8@DPAwHC+W0YPCe6h~9AlzoVg8RZHT zm@t;l$f4oIHbkyR6x1sv2?(aGWhz!PcfMk$?9;{tQE9Ib(T*sDF=8rBG!MjStvi~x zAv!Jn9=XXByh7vDZH*o+Sh(CKOkN!7^hGS#ap|+{MD58aG%CTCW}J3!qv)4-y_UaL zSo~(bd3tHXK6>PCkDosIn&(Cdoziba#*}cOH+ITJfd*#yy@r35&|5&BvCp9>n6;tAA(e(ozEOkJc<-K@kAZfe zX*3Xp`>&iuN)+OzD1Hx}TRV}vt@Jj`QMOO9BL%hBKD|Osa4{C|l&!=H2ja{DDjS4E zO;{)%i}TvX=^w(Wc5)zhKd6s2|*BVD@C9K zi*b+7Jt;?6fjGqZsQX-t2Ae>TvA&f>jkN|VE41MOr5D9b2W?HEzK-{fW9KZkTDNE& z8W;5N;;HGzD*0P+<9zhEz0g@5eqlN*A%uf9qQW}*H)4l+2*JidF^AHc*mUK_2)TiY zMXh#_2_bicyefE4<3w?$c9`uZi)J9u&@%R*&uZjO2}5g@8p9>hU;8BcR40aVy_!`% z63?sIVJBMzeP|S~q}L<{m^E(n)pn!QR;TcjqHAD)=r7o36gs9%iq<<~sHMyeI6>cO z>5mG6lzDHuYBbn=qX?&TJzPN-=*HEYGB-uzdv$IP9=NYL)_?Z(Q*0BFcBedyikv~Y zkP`@43s)Xd!KA2m&a?txuSSmUwpOg3Q`^PsyJsugIIaDrN5J^f9Rqn<=r(4EA+T9! zaW~;KwgrVPj`r*INJW>g}t4 z(4Stv8n1qOHDBH1KMx+qm#%y|>}V-)(XbjE=dV=&-g3n&qR3_EUZo0r7U-PjyvMf6AX z5?%PTC0q4Lhv(p@dyXe3K3>-r>%aNZZ>T-pl^J{R0RCwY|NWQo+5DQ@()=kr^d-E>WE*(A_Q*ep>v#`p|zTmKuLE!*@g7V(!5NAoMqORdsFZ)-sYI~ z1u6@X*$RFoYk?obQb0ff_BBGsJQdZns5w1v895V8uC+pm1uZUWA3?yU?}uVHHztj9 zaWBO;L1jTor$N%xBGi}xpKHWHgOsJVrU}l{K(}ny18}@m+^G%MNUZBF{@Wj3J!ubr z|LQ-!YWmaN{rl(5FrQ8`i9j?lTrVwDTd#A3a z44V8`qf}jSTH z>?EWxZi?R)ZUV6(QKbB1g-Df>HR~p68+dehtGN82sWCQz<588NGwq$)zshdH-QjqS z2Zb=Duhy{-)GH_|D&uPFDtA+)a;{?Xv;!gfU01KlbXV<~zhIW{)vG>u)LuM87NnRo zr78|K0gWJb-wf+*=HKT@K|-5V{x zBRLNNrLTSWh1}_!Sa}rupKvKJH+`AkjDGr~$L%YwoS!tN1k96Cj@ZONauO#TB`cwD ziiL#o>lTu9)u8ZX=I+?-8SYIr1H(mbC{{5R;2$_*i5gPGg)6dJ6fogq)sXHecj~&XF zdia{3gBo_xPD%=?CsbZ+S>SXk zOf^i{G>*hgY^p_FI3*wW)HOQsy3^7fQ*h#1Y@Q<}o;@l}trf8}Kf1i>n4aVE<&vk` zQM=NoHa0sB+m}41;_-A`fNf3tOxPTXZj2F{V0G0}!9H8~YI)lQxI*VtZy^D!-KC#W zn7ayJ{O-sBK5NF^yOMwO=zWdxe%9Rf0;ZOpgvdQw4dV2s#zFyXOyZZqWSnrO(JH3l zzOPiAUZz@MLHekS#eyti)>V-eNhU!lcM*$0Uqql`4|?F8p~7B&v!)R1)U=G-(+n(y z47S15AAJDDJ^>GrAi66#9j2eEB4Xm3cAx^7@|3~y&2nicNQ3Q(#ax~~`#Klr0xq3K zdptk%HOGZHjh_R;P)xaSVLw3^k4% z=9VcO5b!78p<=P4@3<+kpxVCpMh}~QqbjFzs$_Fp%8EH~X^Y?sn~V-hCxk&WynZ0# zZt4%$6egZaDANUMtF$NtOeen>^6;L15T$2LV$T|@(G~Z`pm^g#eY6k8tGBP-oRfwx*WIh2#F+=Xw4~|D3NrzWT$xS$^~wzH~~(5zuHH4ACkP`&Iza zLrl8(lUAGn3vE%}33Q5p>`h<7STiWHp;uYOu9bN(kto7*QDAk(AxtoA@OkJh7B^wF zmnEoABSp0O4UmPhYP;6b;BOmIS_JwS#o)F~EWrY_+_J4|0SgTam`;tN@xN0?a4L>y9M+nnWB700b0_FUT3UZ2;PSu_^b@Px>4a1pbuSi&k$d;s4U^rw^ z1_~(UCo3Ea-As^NBV39SE`&H<8*~4~e)HXrPj?a4qX+J#EgT94Oi3eEhF_RYijG;D z(YL~%*k|`1B}UvoT}KruDQGB}WfSQ*!m?ov;qx?B<8)jhbs++7EQSSOnOc)GB%c&O ziZn&hn5D2e;#K=X&q8@n>Kg4lN6BV00Zz0pW04F-7MZ8|bVNG#xN}2H+p=vf`hQB- zGkXC{c925cK2ojS)PFQS;s_c@G3*(3Be)fP%0gYwDGItK@RY(%FYDG}Bnxs`nk4syTq6eNP2;c^*7^Kjsnb?>z7%@M$_EFNTIp`A- zVt84v;GM`}@V*FDQT29ps#&eHM6Zy*X5*Z{m)3SF6kP?;eT$gA0OsbdXu$D z(AYeA;WRxocdG(g6(Em8%#a~XaYKbCU9-l2iwX7&+CTI9vDT+#!nX|}T4h30RD?V`AD$m(ys9As!w_}AI z<-_@0{pG~?_58_3r63gdDuTJ)1S6;`!mo(vCIwIi-S6w})imfEi`8cE1*Q5SdaB5+ z?GWiuMoz(?)0z;w*r=Pq!Gfq>EIExq)>P&**j!N*@&p9K{vga49{_M=Ddg^q(SSd!%urTZb8ARb5F7Bn$g@ok9IX=xd~cQOK; zJz)5%PZ!E%kr&cd!afwr8IW|Jng$^UuQkk13G8roKE&Q86+@LPm6(0d_mpO*Lf17q z8=8<6W;NEH%khGmfs(C|h=|jsa|$0s&F;Vy&rwXqWq_U{*OY}dIf6D>@mp`kl`ED4 z#WWTPl`}cTFgQX;kQFhSCW<9IElN!>__YI!`TgNFhgkOtT^~Gle_oZ>td3cREwDz# z_YsF6ng&PfgJV=-mLg<{$1~5b1bx#eW9BMXodi@Jn?jNHSrEs70dDkl zaT*rqt?W|*^Bza(Q%EzRB@)o+Lb;VTR}HRmU<|?>o*M=w?(OKc5#_;=z}JXGMV|eT zCEGRQS|?F)!d$B(e|l;!Zrn!?-Pdk-Kb<<)svlMG*jVa0WJI=ciw;CFh*&Z9S;`q* zkx%Q#*;>120d(6vSKQ&cK(7jQ96fzW6{1zd}w$ej8 zc>yg!D{zRPgBNOP%{t1mSEte?VTo+^@M0}`Y7MV-oho#JAFBU4iXdGBZ?Mi>*VAV& zj6tjuL1?LZ%><%|+RNH#8O3p`F-k5JckiXV*+dcO+uQo;Q90hnex~!h!bw>Xpv?|4 z)vl(5X$(v;d-tX0V#JaQj!$^1&Ajuq4(B)R>ATZhe^>neu_Jd|rSYkKNEEtauHI0- zUBC{!))DA{ETYGNFRXHj1OFjyrSIe_Jnz^;78et3zC22Nb#5sjWCnh=)g4i#lW8KG)smT2lkXVGbQG-Qo?WWpe-Iy8;_re{@UiEXi>)k;Z#VVd=!=%ZXDnKj+uR0-@OqR`uX)U;AL(u zqSr5oAeQ6Ytr*e}yAwG;HBnm$DPnz>!6e?t>1SzlM2Ur%s&qoj9TkPzR(&MX^4{Vw zN`4!oF6sg+9aBSOr8RHbcGRv>QxWrx|ID{4rTyq}e5uSzOF1jei?u1?gDZgU8O6-q zhsX4gvfrt-V?+nhC8o4KlHV$|Y=#=%Y%Ha_3ZV%dN->uzKvbN_s&KzoC`lFf2nC^v z5SN0l7Oc|EjrEMU;wsJR2gXdu4%Hekg;ppP@S#iBQthuD8#VibgSv)p4OSKiwJ9g} zg!PxkLw`F_)KJbfMbCidh8_%q39Siz0-YvQk9X~e;VEFe#^~St@brGX;Cue)k$X{U znY!@2^ny{hpd*0LqNQtC$*hRg88I=$ zf`nQ$4Qmbr-CEYup^;oeATK5km;?;-6;FLLRj-d8x35&a=1+G)hSLD6cTX5XCarNa zswZL^Lu*LyKA;?URcbW3mTUqj!Y&j0qJdo^7azHzNKoL~i1`aDAk^cL8>hKVoL+nk zTRxA|PgzI%O>yg{{|^D%oG{vP7{yShFkx~tcVr`qPjwy@kxa#8M1nUfts;5R-GFM+ z{z$9-rhlior2uI%X5k5%7%<{m0yM;G?PBhUOu)D_jjQkG_}dS!-n{zm-0HqR_qumQ zcON@~U+MAu#BbN=w9&=Ue8(jb->Nt%QyLQyP{;prcRJV@5I$r z^mu@T9=n(DvEoO^ zxkRyLaioc<@{tsDt_geNs^syzaTCY)ZC2BdM|72h^|I2z;x^I+&VR5A70IT24^5|0 zF_%w52XIbyON!0u3-~zvoM(k&FH@)yb#4Sw1Teq_%EOD zar^swrWKDKx|g&by^=jgdri#2ib!Ex7dRr=T0cR7D=6Og-qCWV9d(lMBlTs;(8v={ zxdTS<6%Q@}oobM-o|{8*6FDjk7SP)0=J9l_3dq_#U?Dd`=;v6Nnob)<>FE=y1ym8x z5Wrzx<01%I5KiNUmTvU4o0zFmSc+(kWH5)=pg^TD6`?LoxzH9jq$35Ndd|JlV$}p= zTuxj2gAPJ4&2>t-`FXw9hkFv}j~==^_{n@aulR(Y1TpQx1ddzmChE(5rxCnR%n!(J zR3n}zyg(Bwjo?{mM7atFrePFEs5ccML8eEJOPg_H8s%MEKQPydTkwHgG?0R|)* z9Y$Rftc@@Ntw33kujgeHc#~Hs))qCTCRe#SnMzl#3u|f8V(L2}vlx!PeMJ*c5Dbx% zJzJ=P$ygEFS=Kqs!kKjq%%VQc?5pwHkFS2#n4ypHx%TmUF`;+*|L)6ocPwG1L+9 zD9aOxB$yhI(R9#z3p-G9L(YJfn9~?vD6Y67X0bvIMVkrdS?!OWkJIsTzBJ0ZvC%PN z7M4qGJN3DC;6z($@pPvvN{ZA7;fzEZ8C`Xvh|am?bJ<5VvtSQjsea_JYN1-Cfm~Fh z#mim&_;1iqc+w32{Oa}TLfHDh^+H$CgGchEv#RA3-W5qG?m^>O`MY7Gh51s|a^ile zP{mZ(M~l-<+ZV?$8YSUWjgU}j%p4K~#aRuU=&3%gX&SsqyLJwH^)Ma9s4y$wXP^Xa z%etw8bg6QC<~5IkNWE+!j7n>cHb^XHYb)rx&?PQHT0R6WIlY;B>~%_L#Fhpl11IdJ z3{!%#a6ppUqP$0wC8}RJ`Q1vuOG+SVFHJUQf!Ao=o}TWjwmy2?Ub@S5XiwO4R-1&z zkab={+8yOerx4LgA*oP3y9X!oLi{G3+~G_V2-WtmTJxE+r9lUr7^QD<2$Kp!Xpv?F z?oKZvs8u^{BC1sd_sOtVwCqhBr70gpdwgN&TlGdLL$8q(r~1@8?i^{^^ZcZqWNNAd z{Ts;yN5TJ8>~kE`rzBkMj2D1P^wXgWxhVOKn!6mclH1q{&|dLjX*=AY_sL;Qa;+*SN^iTsE9Ce~% znEJB|7B%6TaGey}wu5UbFCfXSNJAp5X+45*F`O7wT2F1iTiXi9&7J4~0M~Mm(Wf6u z#(tK*$5HhZN)>O&TOTj*$%=XSeH^g7vqq6GAYP_C-nI7| zRtj5CL>WnAJh09Z4FR3f8@UxxRz&AefiqBSAkO9sXFcM0qAMu_e8f(oTl7JT!z&ev zr3+15$&g|p7SM^VOhp=$!G~bt1f^v5tgulK)G$za92cy!ar+3b8Qs>Zt8gkWd_qVyqt%M%f`%eik!%eZJ!UByK~sg2*1Yyg^usli^#rad#wpV%NB9Qn z0i0|gy6)PMp&*U@~8&kkX5GiV=;TT9EToQJ7wbyQ|!lK^@e?;0UXIs8x*3t%%*V$FH6HE@5L! z7lnqcHBzdUtLx}+>GR5**@UY7HuS2(m*PE*D{!$H>XE6j!oDDKW=%a#rRIA!y_Ms< zKs0seKiV4X)H_mWd9!$mONQp~hIZNTVPs6Ni6&IDEdvbXh5@zHj3Zu!rWy%8e2U&Ek>lz@h?NlrYu0oPxtpSPTtYWsw$ht$U;#_;vsB z-F&<5i3UD;@b2Me`)kKs@hwHXY>eJ-jG?uVBD=<$h!w0B9wr1{gQXp_(aNM69=kHF zr!oRIPl*mv+mlE9u4gD`>IyN6epYE>Z!TFKcbeK+AOeBgfY6lS@O6GEV(1Y?DJ^ge z3mi4*BKwqBG%&N`Z^zw2b7>K&@y;Pqy^c#7*JmCD$l69yzFy+YId)CDa2odT{j~OR zD5(e2+OQ#V{GnY#OW{=;c)bz*gH-)f{_45f7orK2UkPjtoC`E+mrncf-?u--Y5s|>(fagXe%3!f z-dE6g?1;VusVUnM$bn}@ed7^yD+|ZLqfsC6YAW=`xS%~@0Qlk|8fV-jGznf2CADad z<4VdiD(?k%js_!cK!$q2WTs+Qw>A#};jA|ejxXBr%7^u(x#Be3TIXV6MByf{j~U$5 z8qJQNSJ1AQ`u*BOEg~1GK}k;87ST6N`Isn&R1*b3HE2c2FbYOH%H_1JHTuv?%ud?gy-bP!f2&&b2@H;~8VhV~E!WSA8N#IcKWcEhj=V)6@wzi#;?q6~PsR zEoG#x#@2T~zg()vRLrK`lpvcC8y3LcStMoP(q=fv77Ws7Eqz@WSNb%5`<+nNkHTSh zt0f;jb}y(bd~rjlfS*%zqHJDRLcw4{#cbftrSCKnt&1*mHPd1&)Jx1nfk;rwOiuq* z*-+7x7+aMtlu1ws^ey@#>^MrNq9_^9U6A6FJ_lz)Z5v9p-OcQ}DxfQ9)x6N8fN0z_ zN^OrTc4A3u`D2OMp;4_+%#sAS3oR&I0e9^PJXNWFF=97vVm!R`e%c~MKkH6Qt(g(! z#+`63(_k8Mw>MWujNg4&A7A&k@5djtfA6W^Jb3h8(rxy5T`9sBCHTh2pv`6x6T%-z zQBe6o(4+-4RgJblFQ`2w%spuM5mV#zrDp9C{WgtU6f_KjLrJ7AK|v>LdIb2nW2C$rLPbi=}XMOW|54E?!-VYb#x>exgBj4NeZhBr8sA{K#ix+PDE4t zJS)pKeCD*LSs>MlZc#VxY87UWifcme3Znw6K_u4tEC!=NziO?2-~PCs`^8@Wq5bf~ zx@)5R;32&4mSBHl4Tc?kKq{LY&^%hA?)gDdsBA^Ut2w9I`7p0I(Lw!@vp0b!QqF!5&BP3DT zz=@7?>s%q8o4+DFDbT!I+!du6i`b?%L2QXsrO>#!EK&sYMi9$%Ef7>T9M-5*iztrL zC!d4ioJ7E8;Zdzsb&1XY_Hz}-4@bl5gOJufNb7}qjz^E?OK3}LisE2yON+zSbwVf3gMWH z?Ma=TJr@9AvE4?o#p><)M4NKd4;-1 zkL(NG3}0|6;gPV4K!37aOs4Ijt`uv>K%xnXHk?e;q>|?p z&2El0w8Aw65gSnAG+nhjI11P%F1us2MsEiXJ*|Z&(~72NQu@_CLqo_d!J&i*AZlY> zkyH!Gkxp;A^{EH=k8j`HJKcQr$bH2Z^3&;vka;$N#^z-3H_oF+{2mNCnjVnX>g?14 zZIt_xok|i^*O=6)L%^&`4U-FHojD@Gx<9xsT3 zpJoET=75Y>MCXS#gj^zBB*jzNFPvrlHDD{>Dotuj0-0kQhyZF+&+D3&Pid@jyo`h}!X`fe(}8_C$13 z(j?I>C4X+xh5(<#>vB(MW=KODs$#k$ZZHyKI1L7Vh>dG0mr6w(RY^2VMz1V96k_ug zg_SwAb$v!hcUJ2s_dE3bChd`Uu6aawh`h*893@Wj-pU$>EONymVH{gQ(dkP!qZz0R zij`yLfC?{;Bm(kFKR|stuFRFPxP+QH=g|KRBsv#G5bRt$C@-% zTpzkz`q3(L`uR+N7PHa(37%5oSgD?FJ$2+-l#~6$VR!1WHBimWQS_aW)9@R&h2Q+} z`f1G{$6d**2anuKEP45omE`C10sr3m&1|sJ>d2v?b+6c_rKni1z~8k|lwfi%7f!}ZqS6L+is#HR zaN?I6lI)@z!r2E`n>_FdRT?wSZMWy?D%55cQW9M8V{&qW<84O_Tzke$w1JP!MG>)~ zV_@iyK~ZmaEZgfZ_3*!Y-UH7%{GWF5KmYE;>3fy54<5yrnv_tm+_+_#I>{Xr0^&-J z!g(|L=QjGzN;cQ7*hr0QEnyuHgyWXL=(L{laE zyTs$lOE2lnio@ch*h|?}y!f*Imgwk{h%2UZ0%J)jIT!8hug`9PLBW-{L4JEQ`ClJC zHD3Ku|NQQgW9a)&Ih%iexO?9D;4y!xs#>f?8*84JnYQ+UV36U2C@#9WFq#(7*Ai3U zsYFIW){YXC=h3IONDHVQ>pur^2PH#SFuR-^m3pn}BPu9}>0Q#MRr`N&Yhvw2<)5jvjtSpZVGo6?RzjicM z9EYW_8RNxad!P(k1e2lR<8cOe7pF2n>XhBaPf{ir3_PSZ*E+-DyHCv7rM%2d46;34=TU<4%46f8Yw zM^?h>mCO-}G@ZnUrh|!!u~Ye77&eGZ7fe1Ug*ri$JPWUr z6*9t=)Ml9b^ZeVVAK$%xp4xj&O%EQze}czk$Lv!1zBpRyC=I3Le9YPqqll&=!JC9s zY&C*DNwC8cJv!b1&5UvG0X4E^(DW-ZSDiDI7n>oZy!AqeNm+V6cV0qM;9Kh*l5?wH z&qRu5SpTm{3)4l4yh>4;>L@ynxe=2J2#js|4-Au|Z`Oxb6x4vLdl;+G)|8cnfO{3> zZnS_26geSP%5)Vp*IsP&;1-JOgNsUMT)!$9j=vr!ZntyFdG}W8(c^cKyUV{+YHEQ~ z%r>iD6R+$^ZH40G!do^eQ$&3t@+LVAVI#wdPBTtp+vp!Dq9{X8vjqpo*l|r8DSXj- z!x2M|iEd1zT(k{`6w>O&4*h5~v-ay{RHD&GyhJIt>O+E2c0;2xp#zX-PENDh$`VO2 zXd-1jVQx+s6*nkKt@X`Qu5KaPMI^sY>hC@mR=<67w_p6xqxa`4=+{yn@?z)K5$}!m zd9}t=3`(&rts)nvxzo`1ZnKD9q{7wuh01`~Lh(YtHi)tc3Q`229n=>7HKDf2gy>~N zX9fCGEHmigHMFjH<xG>|dGLDIc;@%b_~YyE z+q*X}hypx%2!FkG%a;^t+H?D<)jOBMehYM_E}=<^Qi2tA^BXH_5|yBQ!?~apZaK>a z;%DJG%Z)qL!y4G?b2BA%iYrBih*){xQI-AT9}U@h@+KF-|5?b7K6ni8-y?@#?_tiv z+!-4>E(VsX^r&;y(Gc9VZcYU=Z5IK*k@_r5#mKk^i4f!{+TubXrVOuanUz!&O=1>A z)Ygdzl?gV84tS%OV~ZsX34DkYI-!cIGC(gl(`n}_&Iu7Y(5DE)(zJ^zdToY+{I!eA zrIGC{8WyV!A<%+gfU(UQspk)> z#OP^hrtcA>2M^y%w3n-N?S3tjL@lRqb~_zdN@ikiw8@1Y+eUCm0KeeMlq~vvTU5k5 z?H%DxoXGcf`oU?tACubFIyGK`wjw4igw__9Wr)gA16}kP3T7$ZmIwT&BzO1fpQLy9 z=plUJhS-0p*8*-&jiaI96cLlvI-`KwP%M>Qz>iDID=ODF97{J&MM@+>_}wn*{L%EX z$B9i}nX1u{7cgE^melhZ{Vc5sZl2or9dcIaHC+0-E57K)cq3BPTlh9Y5DxWDUYGYru9sb$J zcJEI3(S!DDa+`2>{-o@H?dD!vJDmoTyq`<_V$*O|WvPAy$;2zk0`_#BXALtk(Q^}z z!LoN+o1&MLs8Uj`duU+Lq{dgP=S;_A#OY80M1U~iNL}mJ>VdB) zzPTKQ^%I8&#rZs(GLT{s^+bYpwkQTFq;6qZ<)b7{d8!@!wU6l=n$bs(+^=VpqelPS zG2DY_Kq|!Z+Vd1@vAzJ;T#b2%l3}H)@R-^VIterk%_;b%Fw-n>ML>N}nyTO*T{O6; zlR@Ir@Gs$Ycf7;aY4#Hb^;r}qq61X~j&5%A2SCYTjfn_n5^>FX^{$lC4QBN|gHehX zEyzL|^y>N4FhbFTwkqtaMNqJb#g%Fd^w1Qn^Eus4DBzsLHZq7aUe`2k?CM*=Gvp9uDXTeDwmCWQCYs| zik+T5fC&{rth|b@;f}8Lmz5XwYkL0GhH`~+&ZZs19%XXFZM7C_?RZ=+?XXo^zt-0Y z8*P1{*0r#z_FLtU2dYrsuXNZ&|e~kzoNs6J0?s; zDRVGe5mCEoQB%Bj@xqx!+c!FA1alQ0>b|PUo?ZL>{Zq$BkKC_!t^N1zPkm?EPv7uP zst!x?gekyO1P@I-U#k)Qhz$3`)1fR(!jFLz;;7MLl@?=Xlr-RNa@tlgx=lC^H$@a7 zf#wj0;W$3eC^X8gm*q+_Uo-2s;~M$sf%}?ks!<2hxMME6N{SV~J%c zB`N?ai76joB;IzW-lHknXjLv}^@+mgZd*=}Z`5vTt^l-j((Wg|k ztcd(fL!?rbwJCPLJv{G=O#WrmVTeK`F;1q@& zJ+o7k?Pyt7WsND6IzwIb(gRje#h@IQ*2f5947YzA@0|CN0)Dy++b$3o1x*4W>8bAibb_LP;7r-&)!F z*EE`Sg}4~{shm}g)W!+)*6KUN{gLTd$l8=valrOspjSQF4~l_Pi21oz?&+LmjQdrS zj~>aFX1J8X4amq;e+auMOge-wD<>l&C)vd`m0*s=JJy$Zc2*otT1pD2NVpQIzx5QH zMoJn>;!mjF#<3_~b%};Bf&NJsh`6PYzJN|G^`=se!V;qmC^}~qfQ%+faatLy0-#(S z_7sM?HAEP5jOZjpRJgfjSVJUa={bAzso#v6$tV5qyLSnX9^04ZoD&qK3>$nMIB5!FT8gzf zd)H=Anlwsw3LK(iCJ0po<;)UcqP@Ac@H-WXNk?*KiGOH*{0v8JFeCWMMXdg|HLdI} zKq$VK#AA?VR`9*)FZ6cXA_NuYo|*Oqdhl@g64&W2)JmTzGaCnySrHC9(SUz-Rve3? zqA-RI#$HaTu$LmpHVq=MqAq*mIYskk$R53Et{nuzoxWD-?xx4A|M=$Z$2afprQ%1A z+)J9IG+ZMvC(L0TC+co1?hRZjg;Vf$&|*h0fik9=Pz2OaYosl@fnsC5+f8N^9BhKR ziA%2In2y{FNfHI$6g-U$B5d=+$iB=_@`H2F(LfUHtOPwj#JD%o=sR26=tD# z@s4e*AeF;oM=)J@%v^8k|L()VQy-OK|ES#h^Zo9FM-SpleMX`ZE@JjUDTqJrG%jtS zfGEZ$$TtwsTj;ZjzhgtH$EZTI-d8FMy12U)E-VykelYaQna%;7`Fy7 zSmlaN$8O78@Kt2)s`~vc+2uTX=|7uJmjnAC_rU-IRA! z9Mlv>L`GLZRl8IW zIwA}`6%6{c`uFT?a|j44gR>MG2c6Rsb$6w`fAiDRn~%?)Wv};}xA)ouA3cCC>3@IG z`{}f%b31xby$b*chj}eUkqR@M4;48!)OUqGaKnw`r2B^7R~$-qIN5Yxr`?~tcyR@@ zo^zFH&`s!xWzEI;%vhcz4hDCnK>+2E8TWDV!ARzJ8eR{rvj^%Xd&>gQ$B+8lT@eoZHWnD(7$O_v`v#X_P`g(BX5DnvM zTD)JmML)5qO47m~J}(Vt(G-bgG=(u?jS6%Y$2j(HL(iu%Sv`t0a#QF^OWft0+nhv}4(}XuP7sQm9Ld>N>lB3&S0!9;1o--etCr9>Evy?ZqJ?ou-K#pDnhu zvj~xhAG=njcmk%=F;SdisrG2jDmGNSW%L`q9Y-cX!#1{v7$#KR^{jQLpAp_$+EDJ7AMMZQIs6gS?SKv~rI=Ec$cIF>p6WN``|A zoD1+r3MfW#U8A5!FLXl_uBC29UYb8VsRoj}5otM&pM#i}xJm2zs$KW*zB_72uRqQ1 z+jG;4M$((}=XMzWet7Ou6*UVJfQqP9;aA`E{Vvl z;;^1r(8%NDh`w-&wgJr6K!22G?CW0sJ?B;b_leZcbyoA!pT?&e*q`sJkUn@!zoMk` z8G~sB8LmS(QPqdHtbioqMxt3V>6ihpX zi0gVU{JUrU(bqq{nIG?64nKPIUQk&10)GwPa4j*#;5OtqX;}l07pHupM;Fwgk&A<3 zZ|Qi#)3htcDKoaHh1lw8q7r2l-7GWp!43GTN2pK3bPf3*Ma~1ZieO%1ZDO$ zL(eW!*$S!_6psmEPdm55qNk>T#@V^O$8N!fJw5(G3sDE9S3@UYruqs+OL6E)_4qvX z?IUVL?G~&PnNFsOEGaCAVJQMC^$Ei%k|cMdfcBf8wGYaxclY-0qet$}+{Rx=?13(= ziQJ-M)z?t+6(9{cQHwSOVS%jrWTmlnWZ5;;J5vg76-zX1CJWmuPgV>94J`mhWK=95 zA{h~iA4$)xJ(-ktgg_K2w*t+aL$7c>`pAM`rx|ia?#+ro2f9OuV=pXH$`S?zO=-lO z2C9(4^=Ux_Nzd-x&==GFsXe=5+%T0t2gE3+3xo9eofL*qDMYd~{p){B|ze~YX~ zi(L@is>iaeYd0zVaJ60f5|lX|6N0e8Iy4XH~*BosrYhy)@ez8=OA`ul- zVyw-lRfqED6ho&7J5q9(VlUfy3;xrmXk`oc!~=yxypdjr9;+!d(ThGRp?r`0QP)~# zBWUjlSFVQauNFh{2!076TO`l4X-kYvd0IPMsZJYM>qKGSuBvC~g=RZNzn~G)+Q2eT z{KWgzwIdW5+D#YPZ{NQE?)8s9%=;1g(PQ`0oUT0e`C$*m^pL5qRjf#Di(G59q=AWE zbE5{OeRK|H^uzS&>C+VTM2gK(T;Or< zbv71c8@+H$*Sqv{F&7jsQ*-skfumDkv@nxJO;>O!O*~S#_uj3#V^jX{e1M$UDX!s=WD_#P~KY=YWD&u^rR0{VV1qs*&}!k~rwt9DR3<%A^;!Up1ZuA$hQnv%`Gp62 zLUm+_>If|FqsHJ)=1E*6YCbsUVZeiy>NQ*1wO`1c;+_{n36ilijVG{;l+ChQ@QJAD0!2(lk8Lf(x^u#rZ$HKsHCgzapX@g^;?Um}h zAdgZ*CGLr%3d8HSIW$+g%v7EU)reZwev}EcK(Ey~Vm{emhrBJo(+f?8GPTg@ptBkc z(Z?*ZL@g>e-ew_U#5c2Rxl>T{tXs2M zJ<2IpE#QCq=IHak`Gl6Aj!GHY!2fXnzTwfMdF?~`T+yMtg$GmbS&&^BKyQkk%(i&i z3#%*Y3CeSq<1r#qP~#v$3)CsV=r#IC4MjXdG0`qUp#i6HCTnrx8>_ZA`P`u7Gt=BChAy}-hB*N+o~mV*wms_go#q=1sjl~j;`00@EZKs4BXP=x!Pz=7&J!)JR?XvYhN1zSY3$G~=q7ifeS)WPYD{?IGg^ zI8j5U{z-HNzm{ZnF0e}H(Hj@Fw#VIvGPa^9v*@#EGijN1^g}2V6+Yq+wsXcf>Ru5c zz=%Vqf>N|7(R-2ko0AR2INKL~DGIr*<8@v#8(3c#k^;DCv;{hme1R#d1F+ULA|_}w zl#aZ+5;o#=Vw55wr8B;oM{Q#T(|w?G@K|4o+*t9V$+mOW2yT&Ian-y4VGZ5de)p9FlmZ7uL!RRd`n{{^wBEzG8;;y7R7E_#s`P5ZS@ z_Akf#@4s*F=G{w$M-Sb7%`)@r`RzC-DMTpAVaTJ;U#NT>?b_N_#dSxhaByugj(M?Q z;HlBJb{ayVfFm+Z+?Yl&5XC4>Pr^_HDUe8%Y-mJkR4dhJg??qKm&9N5wHL|Injew| zOnFJMw``k?ww-3Z9Q`M%7!e*^V|I@7aQCCGL4(&6(jkZQm`b{7m*QsB0#Gc*?bT$e zr?n<1XfEzxX>U? zEoPw)Ox_YjZVC%$h*qT6D^O}|G&mf@h>;_Cfm-Wv^zq7bN`MM*Mxehq>RN?a^$)G` zxV6<#ztu*XlUgf9$)a2e8o8--Z-E+M^t~cANP>;$6cIN~J?h$~9g$ZpacytMUf`x& zDOnR`HBtZ(nw6BV1hqQ1i<~Vf6q9oe=NbkPSxP2QS9U{OL}d9?KwW3}x75wPDC7L- zvHQ~&{(t`qdZL~^*Zw#C`)AGeb4A(H@$CBe>i>N8yaN8GSN_%i^~L>gc=bQNdVhZ6 zxx0!QrT^hoKh-O5&wqXQ>VH3-cHh5x{*M3k?&tp>pHz8-C6EowfI<-zvAvF*b^t31 zqc~B$kc2!&7QS3`YPe#whrJfKg6+GgZvqMpW2p zQnhA=#=|Ce?Lz*hR@0-$?)HQ`Jomzo649BaT`DKB7c1j2^6Ogix*& zDTYp?@+k^QpS%}TpPAD$@hKCO94QRY02HCtX^%fbuKHEYwZPfp9v^e=9nkm#om5yUd{I(kGo`aiQ!YhQlW<40f*ne+qOM%%qaoTN?L2c&k%q;3 z4GLoPpygFKWzG?S#+lG|?`EDR?5J=m$`Pxp%W@r~{d-gMcl3Kx7G>r_Pf4_d?Sp`J z<0#BDZDMNWnm8NvuV|5ZWl}NPC43x4A4BgRIbpRF$tH#AW*15k4F&G9Xid_dtEq_k zp0ie?oEsBkeNk5X{lA>+;~F2|{KI5h zYcylWsz*=hdc{#WUYN%lUfZq<3yVn&oMA17yo#%WW(gqcEA;|pd+PW^b|AZh&T(Wv zrUEuMNMb>H7({$lut8*C7BtpV_6?S<5Niu=?$L!smG4zH;)`h=|KVVt>xrCUiw zKrQu+GTTbA(@>S^_H%F{mg={!L^mG%ol4ISt(TkDNJ6owSt@MTZ zZdceSz51qDXbn_EIDtZQt>5O5)FD}NZREv*JeB6SDvz_OqF1Db zPs4ZY<+nbx>+w8t!1Z$Q{ri9Q%e4OR{=>&{S1a$)L->NSrTwM%xao%l%)E12Vokfg zEoA)^ss`pg0L*Iiy;sE_RI4V9#*rRz;c0;O-j2aT)CG%x z9fgp&gQp)|J7yt1r--I_piO)lD#9F^Wr3RNIJz+o6EZXTjJV^N*K_Z`{$-Ls+*d<< z^!RW491s5F~9m_Ro!Vk ziXqLc*cflz9KM|4`+NA& zpI9{;xd}Pb!s#1U;ds*+=2sL-EJ<5o3%Te~+op5>Xf2g2xROJsq^M1S81aXxe78ar z9IH(n5nti*WZ3I!ykWs`{UhR{NNFM$?;G?4dEY+OF>G~ z2}KHq>PfU*GKxWD_Z-$7`p(vRUD^yWWi)c}(Y0KX!cvk#iqejfhO&O?=s)9*-69hG z!nW2pPb*>Y9uMs$dZ4&;y?ZXSd!Pm%k$pW!(?iTAZ?Pd<3uA&MNTRqAj z0wP-5`U@*&L8o%mciH21sC~aXcqhHHDDsKL(NViF zuQAOi17?AC5y_b8l^y%6{H&kZiRxJI%eKXH9_WN|C@Vj163UVq^<{8kjkxC~Pj`xz zxBlSiyS~c1tSH)pcWK3@W-bweq}&s6+s3F@>lZH_?8-2?D_laCMo~RSej~Hi(S=1# zz0yf;kw%K%H#+`BHgFh5!ca7dvXok)aE~^I-^JLgF!AsI_T4Eec>m+mSg(I-Z~u7j zu=2qp_%#Q^PaQESY4uZ2qfZq_NkZ?KPQ@sI6>F(^5fwFh(3O zCO}KiWP52*%mfpUYsdL7Dr&Daes@nLA3cI!=}GQ5=Hd+z*$Syf#cpg>o!Q zom=Aq_Fs^c<53^r=%*LM(VWgGK&JFfVSKIlE!mg= znz$Na6zA#xbDe8kjT2UuRX|4nr;&v%uTonk!q7u93Rl7pjxMT56(}8|D zqX<)v&PTFd=vVQ};FbYAF~f99VigXXLV__br`2aLegsP}i##jurB2Iw-VZ}lN6U)SrW?aE-GXzkU5Ut&s_u!5rE$#WJ z#E+u{V};^cKpqDlm8|I9wNzq`M>XcAZ}GpPtNe#&Wgm)3^q}|1(xV6Q-aNZsSCViJ zs%)lOjZ=U8Jm?jW!Ts6whb%Sp7s2G7d(~Un6x> zWd8YRn?9Yp_BSu-n?8CRU+9|oA}1>(?1a@wn?IkV5U~3XzxYl!` z$1WC`7q>5QD&BFMuLy=9Pvf>vAjEsy#fwAQIAl0b|IdoFdYI?esr&o?ve=iQR}&5F#PYIR(tzHyIb@3=)rrb7#nH&px5z9@vWAE zD2~>=Hc`^x8Z@E|Rg`|^VMh=jIAnaGIK+k6N=}>;4|;+6P4T4TOf@P!VZ4s%?@?b; zSVg8xFSG(lYwKC7p8Fc6z2J0d*reIC6wB(S?A1rGsOYBfk}(Cb8$~|PPij;YXEla; zgd~PxINIU>O9N688o$~z3dhM%7%j4~5bzTFFvz=U^=pghpSfc3ay_#A%VYD=?wgZ7 zdg$)#*m7Y?!*DMnoS|K@yAXgFmmnYh=MghdB`LfV0=09kahglRv=2i4N@yBu>Y_{N z;sP$|F{40+mfaLTPu#GlA!4Y|Q?R1nV)6wAg-P9vUiFHizai(PM~~cBR9(Vnd^Jn8 zr}5rYt+BaW!2PtOnUyq-qSR2F5c^h6cQ{&zo}1AX69BS{qc^QY+PGU0t;>R{V+zvH zyA-Nd-YGUHICk9GG0NpYxlLS&1Uau)hS)9X3x^hdGQJ9A4B)T!1I^^*ElrVy6__lH zsWI!q%yHJRsxSNhqwd{yBt5b#O49CnN((y ztZFp$?6W?L2r}vJK@xN0V5>!unGx>)Z->3tGTVDCI?(VM#OjETaPJjhfI7MPlji=HDs-q*ml!lqRjL&+pT8F;6B#Kja zMrd!3R4vC@H27%^Z1DyS4UQS6CyOSCYjp3o8SvlX9;e$#@wJ9|Xu~(*oj#_eOArON z>JYR`2}vMf+*NV1(9PP!TtG`}s zb?=dTp+f)T2j7SP_+S6)KmOlD@#Oip{5?HVMpzq_Coe>YM7E$>tzwAEWfXOXq>(iA zVveMz7>Ji81)ilWPx%_hsv}gV8OgYWdD!0&FGrkNF%^?LZ9@!K4P_PNODhtJtlbu2 z|5c-`dk^02PN+XTcSAkzW2E?^cEvv0z+r2tp>QTxliEb*-NZl}Sm&J2CJF*In1!x= zg&#^U3Ze;OYNC01yP^D(1t#L=mc&sNX!I`;v6d07kEd{DjwVbB|OE|gr1q56))z6e?n3`iw$3AtpYC8sKUe%6I~dkLxHXsj}yDsmk!D= z{W4Zi)d=_QquHVFv`EQ@%hJ2Qd3?LyJbv-zt-JnvkKFZ<##3Jd_oy3DT!1FN^5k@U z*}^`zDU;^mMOM+rhe4u#o( zcC7YGK`0XCxT}+Ayezr~X(ld&jY2cp?15re8cU9BICpw@m0HmYR6d;EPy_<67Sr)L z;uOdqH62Jr-D5?%Mg%k!oL9+6ZJ6E^N3p9MLD5v7N0H!|o#DM_!V$G2S{x>mAj4i4q0 z%tvT&iFOG4XyDP3Zh2hZ3@P~_cu4A7NDUWZ9S-W6_Vjst##?;(cibR9@d|~Mp^4-Rn@%*@Y;gMJ`>plol+XpLiROOYpf{uF>Nw<2S$YH zD*m`gUM*~yQ+5GWAeEYgCt;j9U#5|p!cABwcFjjDWUux~$Icbk%6 zlZL6MQFj<*0x4rKzA=D?7Ez9amVQ%FUmyL_{Q3Fc{qgT4at~Mc*|T+oBe$ z74pkU8_1^CBBFt0!4`ug@F@HUWDX}BD@20Bkrr%?f_*J?@k}3w*r`>P^a^JwxXV-J zt|bi-ZTf0dE~t!hZZN&sDZtt(Yzf6Fxufonx+O-@!a}hHeUDXe*Ob-M87qt$^cx({ z;uWfGpOMng^g8OrbAm+Cv4?MQ@5@}O9{!F#&zBzRoAoyL9={v)uTNa3ep17Z8@EGE z(Kv-J<)Z5MJPjP2khnc!pmka)#2`Yj;NS^487p}1@KF~!(Nj(oIPh&NTA8^K{Y=wG zitx3GvxS|#8wD5T#wOCQC?o255JF}OL5xXm`Hu2Cae7rwk zBz+qn-+AO-X7_)7stT}AMZvez*{ET!q;Oc+wfb#a zLO=#m49Nkt~)$rV$JFfbaX27RZT1o{W3Q`sj+JHw^&&+AQU_a3-g zCnDw9kHi1S4rDFwnA`qfiv&w4IbW7^- z@Otez?#b3T$^~_JeM%MVnudN2q38%L+`|k6TIf)^a&%IZ)DL<^1lKGGD8)TUnzm}X zGa5+3stS{wNv>9mSoTs7Py+Np^vs<;Tt{7M*kWKJs#PpY3>8a44Jq;g5#@QM+LEo^ znp7l9{jAqo55Il??#-KTzP?p!dFOHac_$E5>=V^L9?3y1Eqz&Vi{qi8)JH4GqAtCN z3i+im7tGKum|`17d!Y|6up}7N3Z~GM1+OucIBlkTQ=iSDl`YD7LQCQt!mIQGa%IwH z?N>AVD~kMg9=RVu^Z#;x@PF{np7LnazN2;*GiHPmqs84pOb z8{r+B#9=B&CB06ZA!j_jz;g)ro}8Hk+YnK(MeQv4C z%G*-LY4@(eGopr?0qwZ1|7lp3W>J_USLm$Qs@C6N(GrD-@?24*7)iCjN$q7fns_PY zt{mZ3iZ}*i;j#i+oFRL$>duLEL+*^jT)_=TZm^Bn0p)P%821 zIj^poXbJO;fF*4j!$POn%O0+<155*u+Tt3Dgymc+i$4{B37n$7%L3f>|SsaK&g z=frwYaY5FG{sE8aj~OO3i$Ancx>TfBZq~M#?WH98^MCyEo3Gm2@4kG8it&e+!?Ab$ zk86B<_%Oa)U$vX9hxZ-K>*LR-E2xE0qk==l;)`@YvXT^MaLefPY@xzlRIN1b%&IF< z8)XGVC^jD7X=rUC1 zXi9e0Z8u(@4tSt%3p@V+0ga2x-{>`nk&U+8rWuw1;-m_v|l~eDH^{2t4ZPDoE zPc35gUT_k5Et)MUsc(v2M)Wbj+-cjwLRT<8(=IpmR#>bx1x?HUx;)q=dMZrEJ z6C<*+1qnn>WB4_fW!-z|F2k_-LwuUjIufmEb6O8V+tLzMJX%^>e#d$))&W>&?At4iJ{7& zB*G#3VF4on#(`;}_yFZ-`l5w6U+X&|Tvx>f>z-3FHY6`PsWt7! zQbW{mTfEY$sU9gZLA0!8qEM)r(2vd+bo}{W)9?M}vA?KP?hk+XFxuPscuThU-edTJ zq`tqIcnXa$#LqcB52}ZHP63v!^}aGEtAgJXvyl{Ng@cyW!p)D~qJ@M` z5N(ZSlG~95SqebrG~za4!XcDlCML{LIiL9xxSU@9M{{)9+OM4|>=eKxDaPQ1iQIuH zPPvt&5)uxPdpfFQy~EHsW<0HSoeM>TgHf{x(&z;TJDx&wuH+;R83va=F-@x-O@ER< zg~jv81jcn0g?Ib#@jq{wi{E+JeyY;_MS&8j&%U{{s+lq+j#+TW@MwJM|J2qaf*}@B z-Ko_$@;o|J_mD?(Ks zQypBUn1 zwU(VJK2SNqT_HET1T&^DLwn4QxhQU=>_)#t7q-peJbnxs_GL+6KduS*@TCS9q46g@ z`I{b>_Z`4%Q2bOFE4Y;vmS7UKEAA;|WN){|lNt(~q&lN4OwjNTtz4fQ3Q)48uQIjb zD|!%uoSV~6adJgY7sTWgK5;`5AP|WZnyA93I|xc>8+ye1(Eq=x2^dBja(D${t!XM^ z@MlFuLl1!zftK`WdP0r|6qo{6zTy$IWQs1WGC*8d=+VVDD7PpAS&3sKa+lae=b61| zWQ>Z00@K@0v7h1EzC5=0tM9&iyosRhJ#4R)cvusHqMLVX+K~o6^R3alsE~p!6q3XU z-S^;Z$+#ambZET(u;Z74A~Rhvs10;ri|bl&{?s@Q4CyVAQ!imB_A45)sF3IBz12t8 zOI@nBZ4^XR06U;t3btbD`;bFg+E58t7bB}UXWDqf%{@ZUn0 zoHFKMFzX!%e3xU+AmBvYtua?+xr+0AXro_N!T#;~@P3VN-ha4t#CY$ad(Elklhb2* ztZ2P)9Fr*JDC1CkqA^oQw_4PzC=)a!U<5%3{jO0WzeBi@j?;Smc_2HZH4j!cCq${W_uRj>K& zDLRqI2F&zr7NbGac;||)n=lqF*~Xh;sY}EqEpp}4g1E!jjix(v-lMRx_KU`EVij_! z-o8G3eBZuZx2N~sWA}>c963c2`tRBHJJC={#(HbNIrb(DOIb%+MF#gTekTaf@|v4F(+ zRC2>^y4xlQV%^ZkxVfQI&WR_jD?;1GyZ3J&{`ld~wz|LD+%cRpQ`rGi zICKE!Zd^8*EP$!~UqjYHk4aw_s?fHw8ts?IB(vkk99<0BD#x!%&^~L~)k?d1@Yo58 z*>SeRv60xDLTVPgp$A8iWnPw2cHvySEO1e1Bh{wl2#qh1KM^_azHAf~G=xd8(i_$} z7de7a0+oB=2dHE_p&V+ZL6jxZhNBoD^jXaoFc;4{hQEsxPz2I) zoWWKROBeJ=9tENjfra!{R^&73Cyz8fDn%MG0aPH?B_95D-q+rH5MR5m4WD!eZs>xu zH7I};D#e94i+A+6pd7FRw^Pu6KLN?(nz|Gq1G73jHj4rn#vbiCRnM)Un)FdiP%{FYIAUcXAaR$Iy+^Uh9cwyhD zcPierqzuK$l~Azp)X-^XM}=!;a;#jpJ@qZ(n0a36-~1CNP!FQaUq7t>{HDFRb;Nk* z0etNiuLo+jP>o7mhS6*Vobz7)I9S75UYYrwIj1UzAJm&C`lUt-oo_Qwu5JDT>dl3QKA4 zx`q4D3JP^YP{>>zK>hof*mFbs;bZG>&~|?R`1Xs(ed|c--edXNc?Er_R(YapSSh9N zm1>i!72dV!wF^=bhUfGgc?*RO+>MXdLv^PV6qRf$wh-tX;$n6P`6z5q17ey(<)TFo z--dZ|@*`L%e&=&@$y^d#<(4!vQeTv;p4P}Js1gB>6Z;pyBE=_#s?dnSMyC;4U>Q3F z3=5h+I)iNoo5hK_8v-p>%={+~I4?hu_ z?>&mQGOzh@=4D_~5n|^Yj2Ne^e~5+BpN7OVv9dCeGmO};Wh7Op6$zmlIw?$`;^>I2 zP7yvml0c6TeMhUf2q`H(HuRVEEtc~9Ei#Y!7J*8ydU?HPY0Wgv+nI*Z++r8qLW=-Q_m7}!t>G+}rSRvR?BTk|W-AxCca1`4uI%2g1VXA~# zgF#-MW?y%y4*U6Uzj^=oaMSVT-sAQY)vM2HR$+;zp`?mR535T-!J+FgoPvuIzP?A% zr|3Tw{gvC6*g7szSVm?~ZIXxy-5x<`ucL@R5rl{u*rsJDmZ}_x^Cp_wSmGKD1X@jk znkHVUr6`3>C8mNN-%@s^4_0_61%1{+H45m|ph9tSRI9YyH8nz8qDey57+MK{G>y3S zx)-vdhZc#EV>q}Rddh^z`s8s&+e>T+JJ@+j%YKZh_M7(cVKnXGTXHFP9=lg=3d|3B zR{Bg+V;0ZAk{DqgGg_n@wFuRueAGaawc03J@O>tT2$h5g7%rBjve#Oxbs@sd73C79 z6^#?E!3=g5%K6$@3ESiC2Y%&NlogG=-Y=PvJ|f%2mFZ>mhT~QBn&FUE%nyqOE^t`z@6Oz?hQEX@;R&~wVmvUM+21H&j zRoVak&AZV)u7_9D1@Aq0Kc(9JQo%~YUeOzKwuR-r(50|t7qAoo5hCxSoyxMpjZ0s` zZ^E|6&`^Mu;yz{fES4F?*b-rIVc+6XLK+_@_8$8diOa1flBL+nQq~lh9mtei&aaj( zXpc=c|$5Y#QetLPk7-W~ybXdg7z$Mf67|Y&8YVHq&c4^rQl5}sl zBNL-=B7rVrBQRYQ9?=6*YqI?4cyD7r0$9leTCoaG3A+YsSUA+A+s=38Zw2+$FoIJy zR~YYEAEsSP(-+F^g60=}q5tyYocnNk@^A#=w@q>mJmy-n3SLcsGr<{M)+VAiF3&hbbi$(QKv=dVj1{Uw!b?1VP&X8&z*VQK|43KimaQQG zyJqo0p<#YdV0g~#E%j5l0M*t+CcKjKph69ks2yS!f~yJ0+%-QFt3Ugq&G6ay@9ndu zz5Ath^2g8Koqv0OdL+O6?D54L_MgAg-@MmOfB5XX^S58$S_AhU;h)&+{zX|-dxk!E z6A>iP=cAu&E2b=&jx~o6mzHi6+z+@Ldq>|yKmON7+h^itn#5t7XsB6fwFD+nBE?LO zil<#QybawZnq|0=_3^l2YS=H&xm*`0jdoIhBu=EyKh}QBmm0W(OGxq$gRo%JE?oik zEWj$RJgP(6!cHOeDUQq)fWVgboGKLU_o$SZIIu<=#Vh%XjC&<`MFa!18J8|*<99!J zFFf9k=Jy`IS3DO!aU#^y>`M4iI1!Wuu4*JKXulznCMJo$11gvXso~XTYL(iGG_t=jh{=*{FTctRB~yNMjPFbYozh3p|noTzfZ zO=xR}2CLAnxH<4ssN&2B(+Gq|OzY5~>dfa99YgSsnnFG1GFUY99O{_(D8ojqO`D?9 zS+ydT*G?%4mu_5Wi;n-;XRm*Jc6NU1erCtxvq6{it-6jokLW9oDo4AYP3i< zLZQ5~30;{hJBy_4~TS(MlDtB!;nzalj?t?Ql=2GezFAaIS--4gi)-6%t%3?_M8Y`4e4~y zTKuzjR@fTt5}%b-agmFaLS<8%@^jtX{VFOe1QtgURuo^yr_YEp8P1D~*b!%An%9lK zJ&n*}A5rg>1AtYiyXXZ6C2HA;%5u=)airANpGtk(Ys2SDPo#foX9quOcERIc9M_y% zigtG%#n%+Gxb7N_Ixp_6#MUTT3dmPGPTit7AsT)|>3vO38W9mtlt9G_Kk`Ou7_{^# zWF)*#d-I6A`61eCvY5UT@QG6xqPvU&u<;nVVMtW2MEZN_6!<664Ixn^!!)&+n~6}& zk|IaF0q^r*P_V;CS)*hiT?2(>5m3=qakUhR-aK-sS!wa0B9G=SZQmh|n$}jzS57cu z<5REGM8rybL1mx+Z$DTOK0MtVzqA^izkm3uy=`BtTgC489?)wY9!^X057q7wf8y#$8mODxQf$^69+SG^4h~WT#YxGyz6i@}7mJSck{4f>Rp>&4FG8HCXOKNLN^_>xI^)v%@V!-V3FtB9%j& z!uc+$sWewAa+Qq>TI92o5;d$saNUO%hPK7T@*Qb#tqeTnT(1fn9Q)5&-RKMJ^~gB zurt#I429t!6%k4N5jD=~m^6uZJK_EPv$OsWKT{HP@A16qUb>iXZ4IrVHs_|oJc@QI zA?Sky9fbnS#AvT7YFeZk@lf1O3DhcZwla^An-zjo^m4)%7%@cUA4~Eoc-GVWg`iYO z%V7$(8#k#Fl^d#C)f=s`ZNZ%ECe?SS{^k zMW+>%sqJLMwb7|k)`uD8Y-R4mxi@8$+CR%UYsFoVj5TX&uN3Yyw?6LsbCth&D@694 zc-Avg`|U?@uXi`G*_}u5N?FZ5yLJ5Nj$?*uZEuV6#)0+AlbyQ2kAi3Ep31i+<|0;@ zGWY$b14l!;(f$={JrW^WoJdk^abg%xNP?828v;koY(JGLY5y&a3jr)-`=VU_+94}% zgg2~~wXpWU_c;cE(2W&mtpzt=EUi#?P(-v8;5wsmqq%-~`qaD

oh=SZLk9AoX3k#fVUeh=+3r8&oNVH;wC2rRm~3a`qZ zdN9M3QNKjfT@^?Q7?N~DxAOqU6x8CxFT6`b4_*YDFP)YS7cJYKB6I4m=`%G;v}$U= zoD!iIbVokFZTx9zMa8T&Qv_gU6$8aIx{1VqV+DmfM#jqXN{U(@lwsRQ({9VBD^TyP zw<=g+g<{Rkng91&Gymt;X8qnH`b%a#EK3(3=BGn&Cs36hgCNr2np`wOqf?uA$=F_DijeTkGJ?WBg0jK@$Ioigy&D(jpv86l4~AMF2l> zW-YuZvXD`jrG41y(L={p<+#u&?Jg>@Tb&aFQCAjKK`kBYjum}FWJ*A}ac-vQTVN~# zIg~pK(Oj$ppY)2=TZO~Mv8dl@Mjk&`iu5VN@?p)L%fifETQ;vQCPO+$P>j{(o5uH$BSlJGQ@M z{w>l59o><+tp>(Zx}#6V@QhmqQKPmhN&&%Y@tUolLplpfi>e(}JZ6tZAaz$QNJFuO zAAWM`U9h(b!#1TP{RE|yz9VO;UEMJtT>a7=hNK>jtsn=N`h~7Fo++O#G(8|3u5946 z6I!qlq5jDAMAR&gg|a->A}tFFubD;Oy*S(6ZaD<0wVw_Fbi^HTGwj!BuSn?Lj0aF`i-v(*SFq7HBYuMXlku*K>Wlf@} zOIaPq?*f5|j{Q)3#8^Z#dy2j>Sn8a#R>RlR0pPU<1b&^Pf32j%lN_lpWFTS9@k$o_W~r9v!pFt&9Uw*U~BH= zR}k6lQESR@CZ62TOo(2F)y1dM5FOE932=;DA_j#{|K*LMlXlrq-ddvD$?B=MZ&Uyc z6zWB3uvDqq$y0FV@(gFW?#YW9Gfadhjt@~pe<+3vLgV@)?xQU&rfcKc#R$m{M3U*Z z^SRXRy?#&m*5Qj_k&Q~4*l1t^SyWrEH54Out0>M0nQOq6O=tyc>E_&j{`%bi#LmC> z$o?V>sBz_pR1gxS-jEWdrHA6UTY1xZXWxcj=OI>M;^?J$~P~y47fO^L)c+MFle~r*^riRzoGP%N_ zI@IB^<2a_)xMt3AH|48f}bYpK$$h8_xt=-qCIHd>mh!f~3DE-$CHED>N^kYrm19BBT&vS@gH6aFK zqfmai|B;)rn3Raq3Brq=lih{m_VM=+7(f$U2@+?_sxhlLhy;Cwr8;G{bG=gsBC9;R z){=IXK$PafawDzB5JTz(kw@{0)j36(kp=-bm;b5#|LF?&^Uu%zy+`&Jo%nFth{w7a zH7W-hMGl8(;!wn_-ryXh!9`|iA%Qolc9ph~^5`-^PchI&(7YvW6xM(Bt!u8(ICskJYirXhpmS2AR88ds zHRpL$Jq<@D46QR(kFNx&n0soa6fzs08r)B#+QsP~ZyeCF;MQIl1AW!+Xa66*K6`we zy4RPQsqen`D_HuwTc(-3ldqiKUgZxChD%X~=FVvWB4T+*3ZOBPmMR7#vsT&$g75WPIohBn=%{@1gAE;}N zK|8V{=*Bqp^jvD;VX9e`qnk)G{hMRhoRFqB0_ECiiz-JkGJjQ5qdkC%Toh4DrLV$$_4RZ;BW#^2y34{|ih$fn z`GF@}3!?Rtdes#<`RcP(t{?%>Fe(&+Tis0tQ^^e|)2zFc<8b%<=(sW1c8_N8> z=ae^njZHDe<6Mu>|BCco)7Ls(GseXwG~FV~=r~GPTJODfh+ZwhvhAXW8C5lHON;jp zS1FCU;>)`^4Np>H@-yyZgN`skA4tyxeJBzL9$;SRG344=vAf%~T#n3JN*q@yNORv# ziJ%}19c3F`C?(Cc>GMz=)trkN8OV*$lO9rYjup<8U|IX~}R(!#0W3N@60l1SzuQz{i` z9Q5%vX(TOu7ve#%j8SOAqWEv-D`g~yVr!y$C{3;Aymwt9B85^<4!sLRGLwJXUf zCI-Cw?D09kYC!b3y5os3jz0>r8wl4QyJs_vNS4{8bIpm+t`ehN6w?Ncy1fwL7=QOP z(|EPrs*t$z*uA2A^@+=RUk&OgvgVJE(##9Jw5jjx*v=}SEir?!G+YnPeojLp25$u=)8ME(QX)AbdWIrT;~F}1mp7&qe0jv8s6E9O zRa8QZL3kIH)Y>ZbFq#N%L9ll@)IlsmtRzo8fl*@3QF~I%DvMym!ky~Up5eG{6^-Gd zOMd!+s=cV{Mlvi@E8*g0$H~7>#pjQw&*WR}W~$S_KIrSF$K<`o^6GTtzrH^i`Qc`4 zpGLh14(;fbCjfxJdK7ET4TE}(S`hh;I|&{XD>68ipZ&>8!p4l6cEW194nJ(IrxFcq ze4!3KJysw~nKg0lAI|-M5bB7>SM9RfM8QpHq!DmyKOL8%#NxssFYXsbs_JrdglR

KY8F6f=Ojx04EoieKV3SXGl0HqbRd27bed+Q1 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�DRbJjb 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≈U|=eSxpigVA9K%3F4-z! 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ð%!PtTI%rHAjG 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%0D62I>RNS@=PRry;;5@kf!7HK3wSSnmaK-i*fIRP zn!A7T!58OC7GDwCb06nYgk$~e;jMH~SO6mv{iExL0KJgi5X*8lk5W}mEzHZZVyWk& zaYg5nyhhH|sw=DjFjZz0Rro{9u#!C>V~y&_X44KrN%2cHZIa3~>MJAN6Fs5ww@xbF z+>pB0(V|p2O83=SwhT;I{?M(JC4!e0WIFm%CF8poRfS{6UX-Lb+c8(uO=!d+q;jqMju^00VQO> zfy$ZHd9u5lzIu>^h*$NZ+;M`IJP_tuoXx$~em+-q`SK+B8))k}T2sbZaAtCG*5dez{&9A%@#e`Kf*{tSeUq;n3Rw~AtxIm85) z^yUdY6uCpC6 zhiaU#)2!s6DGyB+8w)`9ov!GQp>d_D39pq`_AXL)I$XNUucnPk<~mv@-~~qgdR~oF zYG#o?g>%UmSvgyE9S|A-J#vPuy08knsI0cwe(0*?q|6eIwFYwDat~eFVdS`xbyQkl zQhhMK4Q3%f8(Zq#zjV8S;S&&9{H*!-S@ZF;=Hs6f&Bu4nRDa0t|3K0G$8Qy{68};4 zD|2XMe9(Dwb#1U@T7ZcI^d;MtoDPDH4*eMtBv6&7(iyUr(%UT!*6CW}UoXj-Uf_C4?l2GkNjK zIdpWZ`$TI2?6UZ?Z15_LfF%n$M(FNe*0IS3A??ZR`=_TlIZ8CAVl zjSFJdton&{T9=7w-tv>I?taZaG~6nnzB*CsboZ|w6^GCPCxMBrYLdB&QCWq2beolK z(UP%*7b4>~GTUuI1HV;sUg3wG!3egS19kBcG8tgFbVy=US3>$on!-1(VVaLJb1+%mf z0W1T6T3ZBBFI9em8YLuU)E+;Ku(qULk0e993QOlIEbyb-zK^5mc_(M2T?xEm_tdIp zW3sAbNDaKawFJnLVee&I^T}g;DZcTnz5MF_%cu9BuP@inuGG5D9=s2#b(NcS1?8i4 zi*87H+VIjrNUNlq-n;8BaP6)iE}N_IjK z#!G@ks)))pUXl;?KxsW^)ez}qgY*|9lSl2t9X{r&;`W`desZ-nlKCX%C+Vd?CE4}7 zqGR0lCRqhI24C^rgGkmZ3-m5csoaW@uY8rCP_iD@A3F?o6$p^Jb3Np=S0-jSxu~b? zj7mrv!DXpBj`$d5>3xY$PevbaE5BbneDd_k+cvWwZYkHjeE66-z0zhqc?7>nx!hmX z*}V7l?>=U|)M-2Uaeh(%{Q}PTV&7P84aP4QcrXxZyd7}OaLhiwb6?CRi_TqA3!juCb8 zD^Y068Y7NtN5vK)XvW;M&iVK`Z>y!j1ALphF$?^$sV`hNmVHP%b^yOBC}zmj78DN* znQ`*Il6?T<_`RiwTM5yip8(P9q3i;oHEcoWR5M)@6ruIljH0+@Cz@5ugd66|Wiyz* zt~GD(5cyWRONHl}p$*nF9=UIUSLECXr)l9=iWFa|hs1!k#Z zZd4{6U5zpIyu6&&rCGTFXA+(zfn^rJvBq-Fiy$eLaAIg#YI{&?vr)@F2@I@VVhb|z zb2=fZJ|8ELtTd)_dsWyEnR2pJ)C4#bwd&iV!mEB4bFk5GqdQ`;2h_Nk2>?tG%a`;F zjBQaRG&Au(V^s~aNFeNpmQ!@{fk?aT#h|zyrfucRhF#cHFAJa+bw-OOXZs5QE!(eNp1j>BD?R)4cT%ZXhThkeRl z+4wFSknQB;oaH}25|_<#4o$uxRjxeSEDJYRnbBG;uu%ik-ulrPm0|ZF!x`j!LXMDJ zQ}N>KUEVbiFMql6K9RI|iKYJZc>4G;^Kk{HP9DA6=Lr5Ln(`kLO`V-k?*6TB;Veya zsKOj)q_07S0d$ZM2n{1h1wB;}r8(x3VqE1N)c9EIn4(UKyJcNE-J0(0y1K9&xF4GK-QEjlkKQ|b;fvpVWfB4=e7gg__>EV;|L(8- z?=-e6vseeHFhBwxp+Rg@%{z`*swz%qE;_5=dAwOsG}*0^m&$>HVRcP-G3$5+^*8XY zQ-!gfzof&C#-dr9cw0#9hsKCi^RI1wfla!M<=$eux6$%FWcSfyO77|*mmH^hw^vsI z?+!X<%rng{%fl+6xo!54x<6yh$b@dPn`P9v__}vGUa7Me$h&o=Zuz41y0hz!@3Ojc zD)PUEj_|jGty1k~MO@XIoXw6dU4tJzojll&zg$=N?(BiPiSNQ|-^Tax-8*0XY@4^mhwfzYh>L3zIrB4APwezi3d z)zzoTOt`i|H`yh*f^|O@$%t4Tjeh1OzU$4~*jn!~W=bm2Bc_ z#b&mf`ib@?pTth4E>S+Il?nF73kXBOOJPvW6c+Zn$99d>E^;_5sek#Y8dO^^tLo2w zoXgIt^|Li@NjktVbwy}^?>4KA%XbrjH%Gyu97xo%UCIb@S_k;V9{VtApfIvCP$OXL z{2g*)j*e)konN`i&!4m5kR(sqLy9Bf5ln*Au;%~E7d<2&i}fF^WRug z&FTdTlJJg#^ej_dz?v=?Np}pGTHy$?DKTtSUbI4m5X&U1luG8$b+T&fR;MT7*;Z!7 zgd$5Qso(+`Yi`cxnh*80VH(h#2%X^**7v)A`@zRQ8I!S53_;QtWejzols-TcFl^~` z=ax)kZ8&udsl=;$#!;nvnMWOgj4&fZXj9qA$wUd%k`#=CoF7D^z!uT6=^<5&JNSYO z1h zZ)Mw||FouA>buQL@Y2Dc7!ws3n<{m#0!N8}2Pg{Z8j`G@>JifhFE=m@p?XQ$dhbAR zpDLG1zTN#huQUhOQtg0=A@(IbTd{d3yK#LbZlI@Q072JY!iUoRtCIEWi$rC@8eT=G zOKm1yerr<~xK66}Ug{px88)74#Kr+&_fgm$NI_a#_hh8qPoWzkj>^@2aqy zF0i|YD& z>Mj7qw|Y8Rpm3&=d=z9kRxN>#414$QJ@^FL-amKYf7CAgO>R?-Q)16`qelWu6AfA6 zyXjJ{SECMqVX81zY7#c|G7a}u9a!>`D2p{7^ISQ}qAU^AvRpPzpOQEN*h!Qo>^7#% zRbcdO6D4_zd0An5_TyaE6^@7ZA3g!l-k4AUQ(2~g)7e2*CnoZ12JEX}4u}uX%2IY> ze$~>v!QS50^2 zh7O~Dt=ah+Cstz7C~Xpz7_16;s0L!C^H&gUDuvLIU6no_gq3h&Rn6$6_GGJED5X*r zV*yQ)|1#ikzsQmS-(v#>_W(kJ}c`wq9s)f1)V1j%Nk(_Er3zdyv{K=DMMtpgT5pk-jV_x z2};VV8Kee!RrHhEXsJUgr3&kP>My}?63e;6n^bFcrRjR|<6HvvFP}rh_ScW@?^|#K zKIys+J8cTFkd%S2WZ|WWVOh%SQiXU{s+E<6C%x+dglMWu-iOKtSsL0Y*)DS11Wo~c zb;y={4RV)PMPS`!@nfVf8DF&rvX%L>oBA2yb@ZsO=C{PcnrcN-fyMU(C6KkGWT+*j zvMd1UIDu_(8ksPHyQdBEh$hjwly+4QO=yPAHNkVd(AH_0ns*xjco2eo)ZG=l5^m8w z!F>+NwJtv8?msyCjJo&98>wJTf?t!g7;78YYrAWswJtbJYM4aWnMsjykPPtQ2qYUU z1jcUIDrRKZnG7K4TaaNx){QRB$iqZd8PS9$Q)^>o>0-t7#=iRxKRZAD$#8yRC2hEv zouCE_S1fYL^}(?!NTdNI7@=TlRD=+CP@FDU;Mjy$k$W9VRX=4f9K75-fhiEQ&G(aD z4BOercc|LQE1KQvkSP>Xr_KVAg3D&%lON|oS>(_ELRmyQfO1><**E(w5qN+DP+F%$ zKUu-bLzO@*Nt#V)KIGJi5uRUWwkCfZJOIM$uvQlF5*&f1vusuG&f0W5blhtCS0Uld za(X1M$#V%fI5VW1+E6kO}KHLD7!~$TUx^1LL#%Djy z#hm}%`*Z%{&?NuqZ52orfmI8O$pr}53hC+adRW5T5G|t~cHrX%?;gbhK3mBEN&?YA zxyVil=$J`bFdNrd!-n{5?9fpMXmqp*s)9pX0yx|odR-F9SH~t}{7Nd2Rl>fRbsu8d zrLhxCCWPwj&dF7x@#6_7EJ{ z0l+?WHR3K~WQCVy5$E*aL&mRAXxWRC&jHbJjA$Tx;Ia(J*?Y-GC*ca@vv$y*bnPH-^3F?*Z=m|TB`yMiAlNS{(CI|3tR{JW_D^nn zYS?ne(Mbt&0CAHUTY-}l9lY?mO}gnMBqt86n=su5^fiU~RXA06dnS!>-Z_O!hI#hm zT$a>4emI^#ecWD-uWsq}vOtKlwdEOyU{x>ht<}gU;AtZhiDh*nDrh0e4K_TVAp>cM zrIUFjt5A1e;*fd50LEN$=j^KK7)D;@{NtBV^(*tr5V$09eWK1@H_i{<)L(_yI~WQm z-vxkf%4r@-)mw>#>;_!yHJH_PVN)0^h9rbkb$sUxV-;$UPdwBRXiEZ2vPdHhNgdH1 z5)LXH+JIq(RA;&*Cdp2VbL_6efXjlZvmfVjcAvH9FV_8^ym|i1-4+-=p2o+c*s1S}=rQ`^s z@PvmzUauh(9eWs1M#)Df+STmF_s<^fZaNO#a`XbA*OjZXL`!4Vu4_dZXX)fb4q(t4 zQojYXvf>@fkYx{6B!Es{gIURWg7g=dkMMdZnJ;*ON?IX4L__&M!-jI_J)JI6uRLH* zew=GR`t|bV&+qT2&)L8?A8St#-IT_DRqiryO9KaAo7GP$Ye~5~0qkAvZV}hW4<)L%Rmva3 zO*PnCy9bz^u#p&=nq>DE*-;aa2+32qi2>=!KU+OTd^txRFOUu|x9rJ}b1|KN&x@DL z;t`PVt1zAiy>+lFd8w*G=Byi^ATghr;7TE~&fq~yp|?kHz5^~o-o0Hh@G2{iO)7Ar z#wPQqTC7Qiob9&sh4k96wrvZsT-}jC4pkSFsH+;dmUuHf>2h-IkL^GD8xMZ}wgMvj z%9|}YzSiK3Lver<7d#Kwc@M~TWc)z#x6-GP*AA zhS#bDzL;3tGK3&pfpSgs%AJ6Oaun!Z%=p=lb4vm7by3PK61*yt;lTFHj-Be+=~cHy zwGY(}$cIZ!vBCLfM`AU0U8zZ|DrK;g_j*QEfea_#HBh1na-||G`Ldm4m%$DIj@ooS z8c6wp=q(7%yIn{fs-Gg8T1T2$H>m8JT#`zRSU6-TQrQBI8fm20X4UCEosQ4~gD#`` z8d52&Ot`5G*lkVnznt6INL*qR_ehQ{3HO(@rcNwUUrU#Zx^%w8$|pb0t*IP8dU@}~ zYrVdC`xMK;(^z#;)?fgow&Z7V_{Vu&y-T?mDn!iYRh%wyYX%=>=^e|xr%NNQ>KY^; zPP>48k}^?B?xVZ!t zQfx#sLalOO3bNme@{YAqf0zqeo67(N=S&z*%x3eG1iR$K6G_;F;VP5c@b;wYM}PU= zUpml}dE*8Dy+2B+buQ2(=5C6)s%Kt!->is{uH~!rFs+HgLb9knA3o=WR508ti z=|e5VkzkxK@Ur`;Uh+Un>kI7APFGUaYL<880=gK|UQp3vRM~;fb=fx_V#L48F!F<` zRfdZ?9?{^#QB@awXn;OvXQ3pns+j}w;lyPoV5zM-EA*8MBT&nuwM2DmYCs3k_1NExH zCNC9j7O}U`T2|d&Lzd3l>QI|+UhpWs*KLSW*YzRGMR%r$-c`}*Pawwox4P25A;$Cy zcS)Ci0P2D+wrot3SKP34Fude5WhD&Fl((<+0NCp?t#OmpxqAQ@4bR^M=Q2Kf$#>q! zF_h3`5}AicZbM=_lwuiaq2hKZLAeNuXd%SA|K!0ZaA)-S3hUeJ;(72}AG?1h>?~9S zKhc4pHL$9t(mItwWpV>Wv=z?@p}H{6+}CG+-@s-gxBhe_NxEb zf1(PZwX7zk*J6sAg_=%TncQ88x`Vh;i^#sW>ed7*`NYmseUI)komlX))`>88!+650 z2iYhQf(6pY(H1WKu_)?nv&c78(}0!#g5IV;{qdtWDR4Y}ezgG49=Mwv zAs@Fn*SetZef`(x2wUjUlLm^+&6pw^*^O1F+I>0_EEv*E=Bh~zVya>}cl8BJ;sjJE zF~YQThdK|z%Qd<*Pig?}sN5~fI)wzJ+L7d!>bR>jy-7WNx?J!6(+5XijcRK_2|1}$ zCgtt;=`4dpx=5RCUFGv#U>UeQebGmAS^$qP?i z;3NYNlBb8;8Uz$c|s-TXsuS#pTpdNYC;u(Sb<| zfF}Uu+5m2*1@J$O1*#?2)Se3Eswi5kZ#}R+uwV?THPHtlJ*Ts2Sqd>y(#SRq;l)&8c!O)bc}Tb@K+wTK+`Mu zP4x{dPkGK%7!vykObx!-s!kRA0SqijRTl*i=uI$v!~JxfZsc01!(51qv@<5tV=e*J z*^hH`o`3Vp^<+I)c)A6vKvGV#Fyvj{N8CKnV#=I^MG38i_kbIyn5FX)(+xQ?jUZ=o z=T*V7R6tzjE_M#Kx>Ln28CzFZ!2it8j0Ej;NVr8wc!+nls2lmTZ{1418S7^1uLN)2@v zQ|0E~jN!M#?U}$0b*U~dc2!H)71rHujrYNTVRpF0jtK6P^dR1I>TF#S-t&~+HhPO5!TF)zfd4k8^~1g1r9%Hi%m z*Hh@~fsfF9cU50WRwvux#e7c@vdb#8lbqmDlVX1!cen5!iI;+1cZEts3XL0u9+??U> zzg&->J-S^8CleR~Fwd!D*`jE(`QXM{lkR~_k}LyO+0>`1M|cqkX_Bsb?Xs+ONnLw2 z%JmcgSk*t8WeTto1XnGJxszRs6^4luTEP;Z+1 zr+m_LkOIyCdAco%-cl#Of)J0vo~&BS7p*6|R;!}HRe+VI0wnJSh93}I!- zm@48c^B9n0kujK@?2>v-4xhdrR2@g+uIwsxVM`g>0~;m}(wMWQyb1LJC@7Y9P>NSA z#1)A<`*AKRf%)=ua1bX`Smz_;2z&=jO?viOrx_?z|+<>P^!Apv0Kt= zM79OTlLTAUX*HZwf_XdaRb`(II4|Uex^#ukpY4NxiV@Ach@k?%?Dh$#wUDFbyCH}r zwsP;O`H|cJqJ2m~+w+0sR+fk!g1lcF!UmR7u9=<5dA%P_r+S)ePxIsg@$dP&o z@S{e)++PWuNDNMA@RNPU))YU>x+Ja#n<2O~^7=Hzg63^=cmL&~ow0Nb>UCNQSdy=W za{#jd`dJWM<7CGb#&MYrUyUFyarwDY^lEACbLwm+sam2bc)=cQl+3Rq+)5KJ$=uC= z0=kNWWLa%OgmbXASUQ&nS0_KtWfhqUj^Zutsb)(qhS<^bFSOGG8#Zpg6g zRtKqjT?6{2qYelr3C|^gi81B=ElnbUV4jFm3Re!C9R4ey{AX7Cqe%{%#JG8MS*l?LI&VHPWnf>02_4ubZacA=# zqEw}js#ZN2!D>Z51S}Kv~2v(t+AP^C1alhS+24X$cWTBQuyI^LgDJ@2QGG zfPpgt6)fXao}XV3W7zmH*&Efp>FvqmE7UoAXUX$ojKNG0!g$EK9*S!q3Z3yf za%C=Y4hYyJlkyWzBpw1klN`surN}sXNaIp>JMR!;QvX;LiIN&G z@rdta?Jpr+c#cX5rgfK1YGe{%LB5>$=7~>F7Y}%4}v;TC~n=88&N?xErVt4pY|A1j1}E5L;b` zQ7)k=AFfAlsKTFlDT#>tZx->b^M^>p zBo=OUQo}7BacoTkwh9Ku8fC;5mx z#@sa0kqczYq&y7_J33`kfX~;ujss;U z0hK<@zP!Ucn{|KSFynbs{J6SDI(zWG;T|a*)iT%jNUy*C5hCBoS0;D=^@C5~K>zN) zIpQx#Iz!Ni4O^%45<#=Tr09ugM(%-okm;-dQBgi5HLJ-&{V059G-{$S#1Of^dmq^QyZAKQl_1%0BaR^)*zitEL2VwZS8XR-@dB5leR8HRXoYF4%Nw#Oo^G~_kJ`q zN+STaU7PMaohn6^#uJncsY)J-A2l`J1ZK{tjdIkbdR|_o6T~||Udf$UxWkg#j^Vj= zaL7a6{ddPxs6!9pR-_hD(^f4=R;6_TSF-PdH3N()d%L8XWw2l6hqj_~<+9as0!TJ2 z1MeYdEyw~csawqXA&(D$Z}f3%1e-_&%gAcn*)$F;diUQS>q13SvD8tf>$*(2RQYis^?kmFiVohITI_v!p{n z0N4z@0~@QUZ(`-wv-@6mbC$pNg{$oPH+Ox9I6UU zb-T}SvxujTZov(nq$xo#_PK;J07$@D-3V1Eb=S!rY;iNIJx=XTjhVhjHh^(j&){9% zi=6#9m!fylBx{duonl(6@?2o%(zhmm>?0QJ1(&?a}05=m;k@N8sU@X?ck`nEd zOY6vlLO5$9T8O`G3-mBzTD)1TN6BAQk-b;1v5^@%Tr#pH?9CfMd#IAxUz}oo3cT=l zKDxfYl(vXC-lrpa0zoIiBxfQZ6C8C3F;s{=RYnIt)6N!lv~rCnZjl#+`0`MB%a#ZX zQQg9B$V4iq(#aG7s@V*%haHdthblvt+#=kiRL$90<|a1!`@UL_o~`HamF55R;fsg5 z&AwFoKY2J$LrdR+H?%9jCKcy{U}PIIx75Q`uCz#M(PTm0CK*Iod~6xbBpBo%rRr{t ztmy(FBi6`LnUc=77BowSRYpuD>t21&CiP3RRMA@otYu5!Yp2VVd3MgfxiWwE^~(I} z>BB>qWqlg652Hc*qYfTv%7#zV>?oX*lH-M0B zf)rU~0^*4*cxc~Rn*fvKa+X>nc}AAD8?o(e_z`(ZK{rYcp~D_CKR|YyOU}V6*!}SB z;;Z%XZ8$E;^uT7X1CFC0mr!g(A5^Rl$S$ftV4?^CJ?^f~%+8#YAz!sv;K59X=C=(s zV2-960hJg73*?$)QxyTT0e}?_{$f?&A)mEYq-u5v;!Z~SHy6x5@H+0ic=qVw%lqqR z&z?Sid7qbl)SfqO#LED5_L$!G68Ic}K1ZNWG6LBUP38GW$_cPIb1%gQ?an#e;az4t zX*TE%7}5o@ga(<+J5H4rM#Fzy1%fgt-e#%3=QMf}^ne~Yo75{>TT^X7jZARWkzwTH z<}_F35}$hE@MW+$dHBvmJ1SBwcIpr{Nd>N{+jvUA#O6-e?QCQ#4W=$_Xz^=ydoQ(1 zDQ0iNtu-|@U|k7{u@yp9BqgHWX36L(r2z9R`v`8+WMl(&1-LGW2b;V9`8X>qB`kKV zE`I_MK6hD#_8wLvz~`jX2V#zAE?V%3AsiAV$zFF0HJGx)%0cQBGELU48eGj2XL?Pp zN)5W`>KkYY7%jkRsZB-SQb{JnE7gdzALmMg>*07ho<4f|{8qp-60Vl215vgpq)E-f z5sRaQNnPTP;H$bH3+f@1=F47XB%id=|xOG#yu#E;;}OfBv>EjdkYL(MRgtoglTWH$X)rGL!YzzoRcee~Jq z$~R-&@4QA?`|Bq|8~*;28`19UfjpJlom>`t_rH7!XV0JU-M5SHK6>nHBq8gyxY%A3 z0yG91s;w@`-^q{j;X0=u5+S~^ z$|+Qv*J5jf1F~3=w?}I|q-JG9kgMJjqEeha5BTQxdqL?cum;#J9S-%u0mh4*$_H;J zM^yDYrzH~w>EgqKb){5#UQ@OQYUwr}K$gCt%IS6Y&DkYncYpmAdWjLxx>^7_vhPxp z&1WuBdn!3Xl6ZpE84G?|kG)j|;9^|SG2P5?C9lG5qcVV~>pDrvN@%JsKQ}aMY+^uG zNs>E275^thEx{G${3@cH`#9Hi@+_=dYO5q1D?fxK1qoT%vWnu+<4Z4!#21Rw!k^uy ztO8W80_GCH)RQPUWQ;o1%IA4>5AHU)YR}p#pz7eWo3b$X3!+x{)Uht{3tpLRO7o`E zk~`Mct7_^8-~ZUCWjEk|8a#Mgu5A(OWOWeh`-UVZ>v(d@&d}KjY}yiG{S++%E>HQ$ zc$h^}GMEqu60l}99KwwwO7yNY9nZKi5?mXu66=oYA1RhOzC4vW8~gu~mcR?pa`xc; zNv@*%t{rFI==8D;++(|+UUFrYXrtaVf;=&;%&j_@Drb~rE%7qTAD~OG^k@zWJRd7o z#@wzovT}+(4OOT36r@v~0Fgj$zrfI>bqVFb{uj@yu6a@foWQUUZ)ufX;g+-Oz`o-> z;WA68u$iN_AdamXZE3}uD2FsD-Rf8hc*<@MOi-2DR8(4<1-^6m)E1GpUKkhzxxI7bR{P>}Oqp9AJ2knL(!m6Mzy$%Kd3 zZq0J8^u0@iIZB@rh+Y7Cm)Ydx$GN$5{{Gk31F!v3?{ZsID?f2Z@= zs^;G)A6Nbc*~Jp^CXqxcbk%ziO%|R>Q{*bMmRC)qS@|y-4+-J_RpqQ(^Uxj4N=nPC z?(rcu`pWzFm8*+xz^42)fvW{>&YIGv*^vvOSJ9`!c5<>kNM2%f1)`&fi3|)fg@>7Z zG@t=spJ(i%!veqTEv8_sWC8>B{tGW-VoB^fSi+KaBN}LuT)?qnLPPH>G5%4nQ z%R|`P@)Wadi!P6`Q0EM0UdD5;cI{52lje&|khj}>1fUJx#Fs^aCkaqi;elTkW96Hx z(_;JTJLPT%q_gZoLU~*gCjs9PGo6lh;8XkzvO|_pe9-=bR5DM1M9}($^2_f(yVvfG zdw-38e|c!V{N&JndBU&uz32SuF~6Gk9v=RwR|>Ny5AAJ*S^L_J;{AT~cfR_`^%*!v z+)fjSAKlV5g?yv^03Ej`nLyL0k?GFPJ{A(cExnj=oJyONcaYFu7HRal7?nX|E3r?X z;gGWBEd05od6$>}NHUYSl);iDP-ZS%R-&A(o^#c-MNazplW|pKck-ycxBC9V5CUtjRzv;NQPxUzs%ho?88(udw=kh6# zNTv>di==40(Vhi@+QK|U3HB4gJcIAmmBLph)5b1el{^wi4VsT#=d}pm$?7aONzm`T zCP9y%&aWS>`!C6AFJyms)dO?(V4kUme0EpecfHB)hPy;?MT!j&etromUcHr}KCROOp+tdu_0S%D&jg_E-@z#e`;X`4zBp-|| zpI~s~Hb&=0@-M3%45LHLdU(t_jV@uI#ItmnC5tN?b=6Cv_rL0fdFduiGFXcl zH&flN!%F=tu#-j>R8rINau&$ctHh*a^j_A?a1oH0H#rmwEM8UCr^EMQT7tXmLLQWs z*pd%N9f=nib{JR};9NX45Tx$@w@;y4{*Ogl&y9c)TJSA@ELwaea#<4R$nn#*4=P436?1X&d)0PCA)g7kXl6OudokVzMIZHoC zHpEhR3u-+EPR=9=qZJjMNa=DqZ)9?3boo}v1N?0}S^{%M3w(S#@4t2T+V$qGJ_C89 zM;47*0EU zVyE(Jm;GAJhq0bcPQ41ttWy{wckas*#FmyVew0gxpg!Qu zKv%PjA*15H8a`MR*~XM*E8j# zrBn8iU4^&3$D|XP>fv$`mTSS`GZDDjT+U~hSZhwDmPgSpn2yyxrkW_!CILrFD|Ow( zGJpCp@SF{6i-CNn8qb;M*6oc28OiVXGANwvNc4@zXyfVQXAd78rv~?5w&!22m)EL9 zClBYlDB^eDM-gvw!8mvyZzys9#DQ{V3M_OP}?xbw~Va6Oxly->h#dDAH z+10i0Ao#(n9kiJZZGDjPwe`H5pF@t5OWg-*W$W{B?JjFg4TEDy&73s^!(TDs?tec{ z=b#&t)IXDai;4Y=Jqgn+b?!h}WTUn%`;WLfMINCh)s046fxN@_d^LV4voZ&;eREh| z*BQGs`?k0IytZ{-#nZJavs*ul8hpqQd*-|UL6 zRXa0Rguu51+uw(uuH?Rrii=2P7#yNT1ZdXpk z*J`8hS5Cb1)sLVKW0#I?d#k1j2-Kt-D>Wn$d1V&EMj3NwSB;bP0$<5M$t0maZ->pJ zc^AEItY8uu1lru3yN#WCQpopXTNRs-o{gNk2ON$hMLw55xw-qB4?ezHl6J6ea>?qo zcS}~((HdE@SIY)ZX+vR1nLJ`48RjNfz{`M{t4>0q$`uw_34BAW3vI7Z)GgvAm0NNF z>JAklfVWL&#q~TrVM_|;x6mqO) zGx?H}UE#W{}reb^t}TvlWJ;GM62a_i4DPflgOnXy%|Hzx0{x>6@6 zFYkaf@NqWcQB?|ro21+oB56(cf)X`?L68jnK2B}d9%_2mU2$b};e*jiwRm)O1$e&h zN!1Is)oX_-PdQ@ufP6TRpiu@ zu%Kzx8f<__f+ZY6G7NnUa=yvxp0QP}nsI4qOjaxjcZSaY9hW51>uQ}9rGxk2+DNeR zq0-`#<+``4O3eJMrtmU8S1B&H2@zi^efs7Ki1@82R3?^tmbivlI>zG}3!F}>89`!a zVuh;T+f!Xd#*J8=>RN~lfi%I}K){Io$4zETtB%sh0(E!;rcYkoxN;e4ON!ZtvIg*c zRbKwMBED?)J-g27=7RaN?^h-gd!9bOJ_I{^B;U(}XPknaz1hFhv1gNIw^et6fos-Y`Pmc@mYOK#2{!RXnwJJABsDiU8hKIHE5><>@1ZT@#z76jMp%F3JhDsCxHMmjbddNxrYZ_`p$O32o`* zQ&;AFcX8$oU*c8xYTAHKac90;C!|h?QFh(^EnO~j>7hl&k3iE~GHQk#Zl)k%Y@j7W z2k$XJpi*KcNK6Ns;&Y6FrzLd$u{G>SgR^I?otnFwSrpP`nSPYk%}s4omt}CvpUnscVh2Bt8!;UV)^i zwsk%%H`T8&_erhjCGah(c2M~vFb>k6Gf(ZMn-*9sd=fwC?*GpXXTP&N4+-D*3>@-44 zHBOTekN()nrX}*nWlJOzSUdPHfU_r7E1>)G;NawI$eT&@@4c#tepOF+ZEtbzSe|;5 z{qghZ(IvLvRZw1ru?LU`d4gCeZR%E}o{%VK2!XNc>I0=2-dHO3)4+wKnfJatf&a1nvHdJL z@yAkf;+DF)f-Zo+<>2#(ZO%^eD~DM&i2@P%T6KzVxEL$THx_KpUe_?e^v25$X-!D*cr=JcoSxlp)Cgou zT;49pkCnZ3hH3Vc;7s))zQXvy5$EE&tsS2LN&Tcb^B-+y;a_QGN!00XEQnM2#e>Ns zcaB2N@0yMY_l4Y<=tx0?sHy8yoi^D#XN`GFZ*H)UCvVv2gal?DPwiMSg>2%ix|~b! za$O*|Y&HvM`#0iGN9*Dl|IlCI9e)m5P>%Y8dmkEw+nqh* z_rK;lCt2;~p{DYo@0O-Yzs-sSbcAmR#nVe27SaKppIaVL3^ItUK(}=sM}FNN%EC&S zNAB{TfKUdL&3ch_)b3I-C?w;|rUwq@#TEmzd!OQF1*t<;_AE8179OHk*4nZe~z z&S*~_e*I$IfAsKL;`r>L`({ND&%gDL7*Bv3-BJX(`a7Q-GqT$)n{!d$^ccOxkcI>S zeC*o5wK(Y#NR^@*sf}e_p?5Wr7dE*CDw@(jA;H8brw`q&#~lgPY5A>^Ye+M6b5!WD zlYcm|%IIJYegIy(gg+-A<6JDyKcfk{|9m}K?ZveT?%88^TTjz{fDyTm$cVm$s*{pa za8fNOg-9`KTT*qA>qB1Ar!`3+)>vJib_d+g5Qw7vm?D)lSSZ*- z<`7fJaYKt_kKn*uvYH4Hh}9*%%!0ZysW|yi^I{$T4l8iHe6G%ir}xKK&!0Yi`1Rwf zdXtlf@aCD3eXZH3_*dRLGrIVbPi{r3Wwvfv5ZTmpis9kNWXm;tbE*5vgz9d;bwAtc zGguE5%YhNz0ArgYgI}c3?*QdcUSk5Zo4+x#DkT$1bmrr7u1_^E)eW8UasUa7B}m#JJryxSmzY`s24E)F3o|HgrPZ9NZZT1WbzQvDgvimubAgtvP06FyEzzz(oNa*MYLc80 zO-!jnlp=w$S_|OLCc~G)kZOv}1NNrpZF@rVcpd1K#8-VtP@}kuoQ)Vn(07!eO9c)U zn9*LBnh+;H&P`2-SNrD1{C0`*^+Ulb7|-fUv+{7Y$W<+PGE3g3d0Q&GxQp&NiZ3$x0}uMB7S`{m~o2=r4Xl=SBbU zXL;zqeR=4%56LX2eq zBy;i8;T}N3bV+BSQ`Y(QRoPy}Q;_>mT7jJc9zvinC?>)M88q}r8*yRz_B=9ZA zm;fN`i+6yb$5z}j-MFR$9RmagR}g6q>7kuWiG6!7HNGQ5bRad+CaEizbn@!3*ZR`- zU`ere!zjy>1U9fcl`_l+qjLU5=e=|ai2ZUW>MZFlA(Exbv2|n!P`8t;P?dLF6#C7D zyyggN4A>sCnb1MaV0Lg(^yCWShm;uY(3KT0C#`!ZWQj{n16|cvvo>!DlWe@pQzN^4T7?;hI4h{}ox5~TZlQbGuw6jqP6|B`!V*kO55UM9@Q zXwnIgOq`quw$DqKXI@ttd0fu#*^hG>re8eLbKR&U-zFO7()-TVQYXdU@*b)3?P)>M zS#H7_Nfc!ewjm60F48?Xni!pP>luzP)UWCRj4I}vz<7Qpt8jtu0Dx)itVv$dtIxzb zD09zp4C$AbZm%wAe(PgXwF#W4%h(zSLF|DA%vpO&7-B*a7-X+2FV<}kjx21LZlOaMOqig2 zvGTy}OA7m5dI!C%l0ur}qGf9QxyMBIC;U&^;EMUu0+&khxcAkS2Kd=Sc}^GAp+FT1 z8Ja!nAP{b?R2(1IS z2t6?)~vE|o7!Oj>p}S-eZ$&PM?G=Y z7~K&;M(m7J9TO?P>5~8Ahewbxy4m-yjBkTXuZps1u7`4=ji4B4f^oK2eg>alK)p&> z0$HwOXhF42_tH3QssXyx0xJz;{E*>`)EeMDMK`wOQ0)*$58p1E`SzcWM z%jYyYmWqKYRZsa?#R0D&u6qE|t6H$xdYvfWFZ00Jk8`<)A3uEZ@L79t>*NKzVx%uX5LeUe zmcaU2tU(^2+9q2_W|?VLp_WyV$y!drfbf&5y6B-R;4Q)$0R3e2u4dVlof%?Pmk5$YmDr5}(JcrCq9F(kL~(f&?2CGm11y^i zGMvKDNV?Kf>7u>&-lM%md!V17zp+o)|NN1PsywMbGI>a5GUC|1mzi^nwdNdyz3hR> z`9q+P0Seb!c&Sgs%Kw7s(q#Ich;0VMvK<&MEOp69jl9+yZ)%|?@{Q zGfB3Q&jA0X(@|>at4zR&j{3;Ei>0{+XgV5b93t>#FDyAgEOQ$m$=)~^Lo3=z{ zh$}ZujoSF-i)X9-@)WmRdfYy)J`j%hbgDk^`lDYRw=f|x%`i@;Ek<`UuripLj9YSw zvFf@f6h6I+dObmDI&C9-3_u&4w6<8b^gN4U;|#C@J9_51tkq4V+y|VZ{~*9tqu&XhU>6eMB+%$K zz^jvlSlf|J2H6~jK%6{09tOt>E)6irE{J}qf*g`bT#Z553MSj+{lXVG9nstGYgLdG~hI00#A#xrXJx)nw19N z)f$Ypr6TK?+((n1BpFuSLb}a2U|F{yZPps;gC;^9DJ>{9r4kNF+}>1gA9L<348We6 zC|7=a^zjb4+K(16o=rIS#-IGzy?5{a(|b4H`Y)b|NY9c=tbv3H(qkp-gu<(&uZZAQ z-50pB>;k4FueiH2@I?aMqgyh!4c%JSSNKuXQqw_)y)X5($y9Fk#MnsT%_PbwZM+7VB#oiCodt!p2F2Xd+pJ&RSeVu`%@K{ zd-4mS6L-b39`0WOjdrn z1(L;N_OcWaV0lpW!q2|?=Z+RRY0>W@_X#4`u1uQiGS|#jw;pW*M`R1$meGYf@gdl5 zXC?VXiN2enD@~r4)xc_v;3>vzRKlp2j9FZ*hc4+Fn?nHwOBzo)Nv-R7)73x!S!fad z3&&W96y!0oDx+jbASFCiI_Da6-DqL5Ta8INxR9T9XhZQ={S8^C2$p!va*6!J9DI+7 zHSY@J$w*2Tel*@mozk8OYXw|ToRN8+aqJs=^)EiSece0<*9Adl*0lO_3ZO>5R)cYF zHZxp-|48;)jvDOtQXu_#=AC?!ZABeU_GYS)UA9V1VplTFOe}*ox`E^iRe?6Gu8fML zwZ=5lK@XX@8&>t-I6IKj_O}a<=a)HEOFyrk(aw4O@z1V~DLR0ymEU{IV*$mYD~g#F zJ`dEMpf+GhfZR>>?T=ApN^Bpu91e3>Ijew?3|N^4|g)>+Vkaw+BQRluwKNVZUZs5~gan zH!GPgJ$Ua|GJW8PX>Vlj_dfd7vv((Y5;Q#zby&g6d(<$l1YvoQ%3#e-9+13Sz0B2| zG_{lbrnY)*RXXP3%5F(SIjU?6{#{iJp!4Q(_yGr1IrOP70wg6>XG8xO!e+1jrR%(D zd{c@5Ch#C-%20TjxnK<>#0tlRcl5lD>xEvL@b++QavnsLlsZw65}|xAcRXl+2Oe$k zTvic@Okh+BM=(rsx;YNni6n!75lp}Omk$ilbi~2ys7M&hqEOTT2*J<7?Ar*ob5Xfn zj?U6)nTJBG?oJq{C0FD=WYiK!rdHKh(S-qun4Paz(G5Vg&SL?XS*;rkDmW4FV^TZy zdb;%EoNS=qe%&>;xM^sS;%W?wanHK&F z{RO8Rp(pA6GN8Fj11QZs-MUfMdEv)7Jz#tBl3BdppFTcU2m(6J77i>ELMsa)f+w6&ZV%Wl4p6883uU~NVuR@N}376XoiZV@J{38hvqLxwz$ z+R;hQmj@IJo0QSc-zML>!!!v2FfUyhu+7S9Yn!X`?=^Ms&2&J;Si~bss2Or8s|el8 zvpJYJV&+aZA0Gk1vYV!1Bj`AUxt69Ibaf9a_0lLb4EmN6nFXf>NXO|4Vayl&iODj9 z;43b|6sr<46_xJp!lodA#+p=%!PLe8?1mjq7=-HL#w;?sf?E>Rrqty;kwZ4jfvJ&o z@7mYO22uJ2+p=Cvm7bgvFe|zj8Awvje$%N9J3=ViFsh5~f=YB{-5o(Q!MR+8!F^HAS-akkxW> zYT(*I*D|E&+`Ly^(rKTLj?Ib&IT@f@*+zEZ>OEb$u^q52LV+XS?BW}lwyA`utqrD2 z*69Xx$eAZqsNQBx@Inwvp(P9T4&J3jq-()jg4@*nS3L}0R-|9JbKvuAWVkoJ`=%Q5^(o#D$GxZbp74>U_a2?sFbI{{+uf)`!m{=_ zt4Y$VSceJ&xiIh$36@=|Z(w5AWI0kLe;0KUyw&iaa@Sn>yLO6{`wS~YhSgrEC`<5K zS_U&gA9}Jutw#aCx96u+LSDMy|E~Yw>+L@nRuxqq9M}dwO7%WvG+jjk_^eKDiea?s z1W&1pG94ay!Lggza#jK!V=|JPsJ63*UDXP>c3s^Ao3GOWo?#gi(yck;3#sUH4`;_H@7ZiamY*IJ58kzjpesjvnsollwDk!4Ag^^G=EV z=~TziDhOO6B<)b8y6bK=OmzAn}E)`+csL++* zMXQGyeO9TZmE}n?eW}l>)e~(C_qM`af&l@XljNpZ86H5^p~KS)Yp~2PIz+95tYnqd zs)`J~b{!ZSzRthl*D(}bEo{%Y0>o8y64`o8L+*TNS+yH1H7y=WE6jn^^5EAsUHvP6 zj*5s+?m~{OiKHe2;qherm|G`$`&eN{j`8h5C(xCU0X&>DGICLl1K!uL^lAP}w$Nc_ ztxF*TIzgz2(=`2)*rKGJs+%|XPYyaLYIU+SUGt~t#toxmWWQaOV|)`@t}+ly1LiDw zB7P}&XYWjMhsn5Uh|gW+F@PT3e?};82teRg_<)f(eIYH7F;-csjcvt~B;>U_cdtRJ zt5&41?HlF2zyA5d@$(xuOBWuqk9&^XyjhC3d9xJQX5JG_N*TMUOrD^uvk4~!Z2904 zg+>T56Ue7h56hPf8V_5R5h`<{OO(94%1Bw%316iEY^zUd1sZal zAp?bx;f6+Uql$bZbqzO;YR_D@HLB;bM_&efsq*FWq%lF>A6CJ1St#S|jG2n?h}3bi z>m?T_tq=ZFDoHVza$3+>SVcuOekzcO(r7Iuv!;lCpqX8z@(}&8v&r3ddk8?{G%H#avFGYxFo3OUb<)W+kaE0NyY9-;*+`3wF`Rnu zjMw#{*O_6OwWJML8D#~~O3&acNyDfw#gYJtl*LVzHf#xYfq{7Sc-%k7K`7n+>R;1I zYBJ7Dl`bC-(Si_N?ds=su>us6W3{vbOVkCtU1~nh%@v(nRJq{T(pU?ffgd0}(py+g zmeM;P5*~GVIHcZFCuc*-Q-y6DA%8{*^3+)8!jE$j=D)vR-2ajiO=m#BMfHzt1>I#H zt|>s^Wuy5l}kXvn*~yD8E~$kvVA3M08vW&Jr-OdUf2LK>3nt&-4*G4PGC zgS$Du2~r!`e2`RUL4&G)_WXWGEnLTWIkwF04tJY7o(FtiJ}jD)h|I2XEyo(G(ov4ui;n*qxRdw4nl4otrAOmO&q1Q1$fKza3 z0+d$W^)aYzcCz34$3osTlV;bLi2ki_a48Q!K0jCO%DX z?JNLmmY$12{lrYPe0pbc00na3Ufx1u2(Li7!MC%4oEu-#m+{8?JgXR3Vxunet!%)` zcS_;OCtXuSUEs1)RXfu7ooqJ^c-L78QEL`}d^!ZY%&}PDm|yKihTM0C=iQx}apJcC@#B(3fV2+7wBOPH#QhXpM@ zV~?ZVDw9T^g8TvD>dj3Z)rKHVs!q~bs_U3RJ~wd`o{y}R@)}!vFAzF;STLNw`ZpdN zx>i!EFxj-xA(CEoeuPoacaqej2L}P*RQm-iZVZrYes#(bCZxVr0{9reI5k&hK4VH1Ozg5_}> zt2F8m-WypUHqZzA0w4>bRddFcolJ1Huq;SJJdB$l-)RBEl|QqD44uY~u_7QVxV}^gOR!LFB)JFhKV6gy6cL55odkqPAg=!6u`oR+`3`gt*d)gipZ+(N^-g-hO2q;mCdK6vos+diYN{L;Q*+0ejL)leJc&|tg3Zh>#;QVI-4 z;93@*Rnp3qt*>$lHuKJay&`1?{$O=1Fi91QBrRZUj=KQY)iUFYtZw;CnbwCw{9j|; z;JL)kP9*oL(u2WAeonQ8wW{$T>lc1AYhVNh*`#W8eV%}GAM1EG;bG-ihW$9o;IYx6o;;t8akP(b5ygX*cnAb&C1yOb5iJ$L;(%bvb)ZU2gN7 zTEab%mojPu8c}#7tk7i_AM08&{Bwhl&z8&5SOlDB4MHQaCfO_`HP0E@3U#(;4bza@ z`J!bcxKf~lY%^OVYCGjY1P|M~h0IQ#kml;&y4`c?_hwjU(@&m0d-?8YIv6(S>p+&J z)=iFQ=c^8cH0f2VX5l;R_sR#zpi8th%_3qneP+Q;os-Q9W+7tLLkQLyFetCn4~>AJ z1OKCoLZ`Q|Vk@N_mrMz#N7Kt#D87|M^-P7IQY$bGpr%GH#Rw1CQAdjIXE(qDo;~~| zc)CS!UNSOH)$Rf16)aIfF;hqG2Ub<^T`f8h1UITx)B^99kzo{6-!g?az~8gyPsja7 zPrtZPmvZ4@J6m7;b>HFKesz?t)m0*~4L0*l(l|jK50&7$11MT!pJFs&23-yXdG0U|Q^k#^vDxVkV}hL- zW+<|vTVwuegM53k;kLqz#I!DvA1lRbQlI8qhInju4|0}=bzQ;0JRoz@!T^lHIWuHN z2SYH=qGEDYi<0z;G-FssBcH0r{@yQs@#=<4=!Hk@d{lm;3461$J$$AsPkPd0!tfzt zzCv5%WFkG?xF?i}Nj(ed zme@?pkW(zwmu#B>uY{lkD^>Z51i48oPKxg;Ya?_>CyIwMJvv}s&;je1<6OB7GcBW9 zrt?Od&xHr?l2v&*_o=IC0~q(oNh7UR{yw~u8NCdUNb4p`g-K;(q@c`JY6V_wbpQ*( zGghZIwg}@N&02&82`cf@fH{J_q+?(;y4`}_S&)U>()n`cwB+H^kMpi7uOHPp>rEBU zAO8xh_DK~xwXkMLeIrR5&qhB0s@Xt{Sg*Yw1!P_Nl&pdZ9MkmxYc>&uZ2%C12>{Kc zQTfOpotSlWqH790H-d5jd`h`ex~Oh@b#1CVt*IG2`WnxigTA>>dBcnDDlvbDDlsoz zBmGS)*}gf;GqP)KN|kKTN`-!^wh%Diwv|GxT}#URD$;_eHeKTh=IUHh*PuLPk--vt zRw8sAutHGtx-w_q@7$XJcaIJJm|<(I&@OcwGNZM+7XGAqTUkX)`kz=gv)6g^(B+;> z+o;)_AGDVoNtA$#=j#lN0&c!Co5jUp$btoAL?n{@XJ+HgGKr03!p@@9g;9>ttItrq z?6I?A*Ji+%VLhJi=?g#3NB8uPULLVqyLz*)pEI6k#YhvuTFs%ou-o*UcIRP;>Le6f z0#qiGG=QnOgE=d4-9@hz$_unaTrmY4tCGCL(rdaAKRCBcsgILT_5qt-js_*g;f7Sz zw07m0H|{E|?<%aDJ4R9VGT2FR3bH-$ads}GCsEWoPV_SL_wTaQZ%yWi=|-|5WX z>CAsjXa3Sv_@{T>7k-?RO5DFO4&*NEJ`T0{Pv&rYPZ`BnquPry1=ZP6gz@f|s#AcK zAPz#u>Upo7y(~qCN-9;qF@(`AUw#yJnl#B}%k-Jp(ZGRViB>zD-6=TTYyD9co3{lL2NB(E#zTtlGWQfnP=wFqSGoswV(CHO^bP zCr3i2THmd4Fb?SljYC#N!fDHjr{vwEgmEROM#c&(Nq2h8bLq!9y@OuAd3X-L7q;2} zYeB#|yU|D;+OQOXqvQhC4PIB{C8WkRJjYG?HP$T27iGHbz5!sB&DiBeCQHunV*rTOtzyz;&Fl8w~I+8)Nu)EH>pOVUy;gio77I>dwk3 z$(>HMDunkY0Uq^o=-x!dD;~67J9J6Hf~r_miGguNSKz!@sO&Gd_%((f2aFh7m7(s& zN!q0!=Oq7rwa!OXO{-;Rl@bMqdryf3%M>>Y7bEvr(7cSqTX$0xua1{DQg(4=^%#e~ zGpnv3W?2mysq?5{aa(AS4(_5{4gy(6LaPwi1aW}78EIvnH;vGhl{?x$Nfna?xsFV? zBr+<|ULt=0=ueiE`YOqVMFe*O7*aCErUa5~sw)#K>?DX-K3fu!RA407M|y zttL**dUY~JG);mySO3mYjn>If%S>f1UU`6!pweDm*095*GZhOe4aR^_d1pzZxd!_i zB?JkyxIB)GD|ZE*tGSZ+Ije&}wxp1yD+thm7dM^NK&pHQFx!-~3>QzU(JuTrr^xT) zEAKh0?b&hibJlaZ8_{{d+fw;YR*71HKgL-JWxJ~%cuxz6Rhy+7Zt<3}39U-OJF^b9 z;Cl!B%Xr4>ORKI-BWO_u3B4{=W@jA_!&ViE2xxXnCK{sfu~jEa^)Vr-O~)Q4ZB}XG z7s7#;R3oJu*P1#*q4L>>W-6G)+mQQE3}<`u9hu;eLXltlSb;=6*)k2BBO_Y*dHcLV z(tyShm#m%E2!`;Gul`-Fx)ybSz(zCbueK$!BUzsO$@A?{RqE}6mrhRBsoS7N;0 zB(GZO*8=cZ%f-i7lZ7d@G+FSA2OvohhgF*60LL&UUYGSA3p5>gCe_uefA3iPckWtu z?pk;5THiW%Ex=}g4odZU%}U%F2H;nOHc16r!q>XhlLjx$OoDM@ZpmvW@K>oLB(tpU ziafDxWVlL@al@2dQ0~2{k&*?cB(gS`usE_fUtXlEZm#})MVCvPYTbE!-JZwS(SMPE zhrJ)|u)KEz_7ds_@AHzQalWADtpRVyLGs(B_9s(@MM`z)?f@e z0+5kJ2VxdhVmYdx*~^4?$!n-PAzb|j*KjTI)$scS-UZ zMC+9RJ{hcI<<%b30y43neHl_nbfA4O!VFUO3{|}`eo)Y{D8PJnveV|zP@pD()wUMzIpk0d1KKUT zy$$$F*LON#O<*yFML$fYc0RDi)kY7*-Y zvhH#%>{``;3m)untm8~XLYr~&gmC9VRsr+EX27NWv~l&)k8|1)@aLObW{j8t>2We~ zYWkHvWl~vad4b@kVLW8{Y^4CR4M`=b(M`9}Otn)Rx7bTqAgw6T7I=?3N4)9+ zg7vO|=h7rujN+n>8jmvEw|92`#8r`2?4SJIzxyXwRmtr5lQpl^Mt}d$Q!DzVWALFb z$M~CncJG~n)lctz>i6+LA2?xFDPR(%j0!uz7li03=}f(`EfNB+>cy9vu|YE!`3-W&;bEa+OF`>A{XXkIT3&^>=%k?k;_m{wC;r z?-$P>&M(%l*P}NArhoWSN1*o~w`b4fYIy2`dEsF^uN8CcbfMhNp*Q((5Mm=P$8353;86|4&^ z-QA(4zz7k+!FnbcjnWq>5^!5clj~^7S7UkDvB{^C*PL>=lm5I{_jj?w5|ce#EeI=i zpdhSOEnD(sSd#52aXMAaoVz9QZ#Ckt^&j@`!a%){1eV%}Oi_6!kIlel_5TB`Wy9!f zQyuWsngzJ~E&ov~Kmm_t>#9z)laCuA`RE3Q!Lqg)+YOG@Nvu>7q9GeinXYtMn4Z=k zU;1%AKGT2Y#nV^M$0AzXA8e>`u7|r5)v6Att!|s8v>suPvAHN3Ns3MC?D3lOkX5OW zAz4dSx{2qPjVo9xOGEBZQ-UysuDb(>ca#a0&Yd7ZQ}@=er9Hh)zQEh8k^XMB|M;I`lu?R_c?xZjw3~>I{&A?FY~7fxUrRbIL8JEVybIqNOU& z2cme178D)58>4=EW^$(m=^=b?0_KF@0P6#QPbUtE&9SFC1oCN3%cajqPq@_|J$&)9 zJ?XC=-M{XCxY7M^>ES!u`}HP5q#MpquRr?L^NX6x$Ka`Fbu4n-W4R5=Q|qbOL!+J< zmBAoqGH}&deG0N|&}Af;a}n@^gv@n{kelw?dNK(x2!t522JG+|vzcl@uZ|&>j3vDY z>5iv&?w5X?lT+j${~WaU__#R{5|p0ZvyWlsD)IN0i35Sy2Gx;}NzAP5c}y~Be@ms! zuQ0*Gt#r9T6cbqaEHU{A6Jid{MAlX|!>B{O5`As;(iABM3P|pPQ4@+GcQGXZ+!i`7 z-F{4?^wO77cXwp}5bwxtKd-cHc=!(!+Q*zl3vYm*0EuqqmS>?rKAR=W0WsJYY3wJJd=}iX#w< z)pzU|4%Y~BEALhsP}=!M^5!d~aTaw!9Kne4#WOO8^Rm>;JXeH)Bz1l9MdZEeRocEo zAjwxXkTm`VzlUiJcf%R?!jE&~nE!2*I5VeXkl=GuA5ZCB;u=|Z2dW|kG&@HaBHLF9 z2k1y$`ah(g9d0;3LKZnd%LTBu4bsgS7ISt>Cn8_TnMtM@E#Vr~tan571mEPEI$ zJz~pvZC#^piAM&>5l;ZLKuf=}wT_itpYkBhc?PxBvm>RE*028l&mR22ZD%`M&f`%Bk$(ugd+GPw&6UbvMMEFFbf>b6b5|gZh4M zd+(!PJ-1!@K=qq?zI*0$&UrT`@ga?>Mri3C^gIXgOeD>akR$895NOoyl2#_ymU^_z z=;o+;DJDU^1B)uwN@yB2^2KUz9$8%!(hGD()w)duzI7K#VaOeP+jQo<=FK^-eN&x& zX>*O=6|WC4Y@cdPi!29#a8x|o>U&gYguJ4R4C0dq)<#)xXY0a9yp`V_ZZw>-UX_by z&fV(L)Ts7!OSFusC&o-O393ZH+7h@;r!oYqO2h@M-Q>~NUWI+6Dxpb6l?ZBdECm_q zzHVK}N#|3|>=Ue=q9WHJWiDYOW0RCQj(bgZC=s`+YC^rvGP|GBD@t=sbwL%G1(wa@ zKz6}sK*#E{`o2z6#HAnS1j+uB*D3+mbE~R5=>@#v&*Qi^dwiUnoa-t#>N|9!ZTNF0 zmTVv4|FX64W(g6D15>$Bwyj!;VMFwGGm1-dLXvGzS0L{#jWt#$0CnYFrFLN8$=m6| zI7-_$&5{U)K;))u!ZJVa>~j0~g6+kcD-63@_Dtx!D2dPSqVs1Ro?B<5u10xwfit+Q zmBTnQRhP~VHVlw$n%R%hb~TU_8GTb*z$VK^qaF}%Yz0vPzK)tZ_6iJ;Sb55#KaH<2r_UeX1UO1#0g=#pbnBR{puZ>A4lrv%jx7MI8s5kgZ*m}HuuoFf4I}h22M% z^y&5ou;hIW8B8Eq>y$ZWxyx}y$1ZEU?LI%x5z6&!t14O2w@#OrwokdsC04p@p%-)) zo)QWvC0O159YuM@t`?${vfwX+SE$eyD9@B8q=X@1zreAT6sJ_I8-T~EH6YXkokM!h zcXT@^JpbxHdhi+O3EasW+^W36rIG$;O+4;>yO@WzOJq|Bmg<^V-HzSu#d;2&>@_!l zTvmhRT?cXBk+rt8#A5T?1zX_tQ7Ym_8e7E<)f@Oiato=Y>OfI#>&QSDEJ`q?j*ymA z<;MgF=Xv!XKlluqr0;sRzviB8mDBh`GnU*$(92nsPEqH^D)ox&RX{yBNTw>Xja!FA zY2&v=w#;5(7Tz+#B-OpLRQLjdV3)uOc4PG#kl7(P?`4Swpx5e>UWi#Yc*Uh3=j1fw zuf6LY{5kPMfBMo`Vx>Acq~-2N#%y@8T-&;nON3O>nQL}E5uf$ty!>hSs-ae-OnO|$ z7l-6o6{|GGo}+;}gkE-6^Oli@hCJ^|$cyD14&|pI_aL2xf06=XXPrl5XO^2BV=7-H zfKm>?p%%!a(Rvkj2EenLP3BZJjzl5U3!}a~9i{asHBn%eaiHWNPPOYYENG*i$;y1y zWOl1^puDTDMP5$P~dqvrLHne4yQ{SV^e`HfbD3ZGB zCO9paQ>r{3f6O`>N&H!U53+7m5du4Qz>A5zUT4=^78OnIXasN*g_p}=0-}CV!^>tP znLIw~{qE=R=neL9>E_J4UeT|&SJa!lVM0|i^yDuE?6Nug@^s6dz@2ZRZ)_WU&EL;0huNhG!Ku2O0XkoZk@g=?K==}SM( z=}r6NhvWIv$L-}f*Q!Zi7_xp-3*6Ag1Y^Q0U?4>_mp#iPiILQp+;T(0R{RcG2$7tf zTDM(wM0KY;oF^G)Ow}0X-n(wWqs{uSUk1drBVeMzCA?K(px^7vP5Yb5o7Wy*S*#i) ztrFA0KGCJAlMlB16G3aFi{y$j%FYm2HwiS-dmp6A)++-$O6(KxZE9y7O8PgY>?7pY z94+mu70U~Qc|+t0iMLV@JaB4?>*_zb>jeJRbpppOLd*7Ko92=ryH!4gj9OG5S=#)z z#fL%#kCD3)JAv@GvXeW3DQiijK?2StPqqVig{9BtCSt3So}kF9wa&)QayHagv(t`~ zvqTiV`cEG``0KY{{B8k6hv8L}B(WqKJSZy3q)T$qdf(_}2U!`PvRr|ZH}*di)VJiD zRcIEmAf>==O*;G>HZN(5915#^Lcw)@xPExxkO0U{1JF0!jViMXkMXIe;jf=Re7WxL zhmY3%_VOuF@n-e=WykMJs}tSX>O^-dPTW-obiPTcF4-(&4Z>}YUiL=;D5?Uuk-eIE zO0tpYU>pf7s2zYbJ!M2g02%Yp;%lnLgnw+Ia-uNojiDUbk)hbbC6Tk#@DvDQ5%_!R zfqm)6Ic2#IAHRCe|9<|F2xruj8pw=J^=?h#Pno#Iv$hT}2df3r5>Q|pRn|(u(4{Gb z`dsEtI@KJ6ug$v#)ws*xwpHj@Pzme=u#EccC~;Oh*k z+CJq;a3vWSVg(8Gw)jMl&+0%v+&P@eqUO$3<$q0xW7S~c@FuCOS9G>1mzu~XsR8m;-Bs)#|Z zY0VD2W9dwp7mBgT;4}GsZhrmi-Jidf9x4&{AfbFxbq(=w{tiTA!fzJgFl@})z@p$O zDH9XRnTIU@CK+dLh`Y2eb=8r)hsngsikGOu;i#4*<|#A=h_q9Buq^3j?QvG%!;M?| z&+Aa+CqF#s62ai*b@A#+4!QK;UGkRx($}VUx42*LE$$)@F;L0D6LW?+d7qD}I(a&Q z%VA@xOH+FW`zLqVutV7xA(?JCIG6V-tf_J_URf;!dcRIKHtY#e+G&+SjrvcM`dVsU zpnEk-hFq`yvpW^~Z=DK#1jrajIa^VXo^USfi=vWNFIrk5hkG34K*dDNf#f%#TsD?{jikZWbRUAAOx!goyWpQj6jnXuKm-CxI{IuzQ)`0`ePQ+8EuDJ6po+_YH{BBSG`sif;<;T{%nO1s&=z3&$}*_6Ur^8jT&oW_3=>T&E3@$u-k;GNQ;JC3vImm zuO2-3@u!|B{p7p*#rhR%;l0sktQ? zWG~>ngSwRh$%d-1d`RJ5nx%k4h`}1OOHweXp|zS*v^k!y_Hx}nju1{8PA@!i=M~}Z z&YJGdnr`E)>8^VF+f==MX?L(Yv$C&XR(AGo(cQUPeOnHTzO+L6?&RQGeR9yI4xtY5 zI0g#HA;rqxSlhaMu8Rc}I~dYR%`{7tF#FPpHC;-yo(H#3mfYjmg}Gt*Uh7jZ?jRV+ z!$xUnvzdGfo}5_ub0sVq7dI5~>c2jYoK@){&Cw!m<*V(@n?iWnsn^aI8Y}!WhGT0$ z{Ur4bKlkj#X`x>76Kq8~v}Q8xMJIzT8q;g>ngy0fl_Ow1?gixi=L4aB=Aet#p057h zKmFi`w|0-th>zp+u)VIBf9pH`BR>7p_aObB{^G@h?;JEJ$Q3Mus?$=B^SnN%EYrKX(&Nv zLe|LETl%b0l5|n}?7OJ_US1fOS~U zSOTyXYh)azIMwBHL=B17F+oXE(W|qFs+A^c&M_yj@_77EV-}~q-)R7a+p{=UrS&?uM7I8ndquwS;Z4Kx>J4h1bUaJEo zkY8L+X73!2TQCPl9|YArcGIzEU%r+V_ybc*&X<>k5voyj(Y*`0%AX< z{8m7R>IEVR^s%?+J(o^wp^}7x76!x>&d0Ex!q!W7n4LtIzx?dsa|q&1@$3ta+6VVN zH~Lf3+5VKT?#`fvcDt)jf)LVj2FJ!F?Hje<1S_~xb<^x6iU~RZ4o;n903WJ+>0q>Z zx2gkJMP%?Uz`!nTA6d2NFhRXZ>N+q<;@8XpQ>G)%x0In(VJwkpYGK_KO3Vy!I$;2sKjxExnh zMBdIbWc53&l&vK=`vUxra+Hx!dm7f05qFQK>axCM=Su5ZYe2iz&8p3%kF|grV4mDm zT$99=RSOsSn`P>GfA#1X*F9lRSLuAR&IWkvyAd)q#E1XUR5OVV9hP?|NpDt#Db9L1j`S{H1>k7{9cOPd+neobjDbeF z=x_KRUHEkQMrM8f^zpNswnvv9wey+Pz4prbu=Df1kAC&oM&QV5!S06Sp)*a!JD+Ss2yh7a1`gZpHV16noHA5 zG-`$(_w0bv=&$}eo&N9P^9*w|5NT4~*qA$*Zou#Gyu+$jke%Pt+LYiH!GN&Vrm#H( zNPVD%v^Je-Ii$vxQ9wrACLejN>Yw+vpzyBI`B8#Ljur0dG zW|x0oP#3U#Sf*LFnn=E6Pq5g1X7vbSsVAU0f{vFGr-9w^jLnJ6$^=aMfm^cFSs9$g zXH0<67@%Znn;k{;1i~qzS$E2yb;;OV(C!;OFb)LVB|8Og8b5t|5rC+AM)lhGM_icIH=A`599SQ7N(s*yMP9)hq5<8kO_hb z2Pr(TA+1W^Hb3TuD=?8padxvEje~a;;g5cJe@VbGv!zLyB>TW$raZ)8?{ROnO;)@3 zb~A(R1~}Xt3r$6qQZA1q*HQe@D85=IG}?H!m5( z(-nB>k^4C3a%UZj+^wAD-2Mt|8?3M1+(y2UeNYVKMBvg)i^LJ_p;3Pq_2GT8}JD*?i`2gcO zh;80+*irbC?%k)l)wXp~XlPz`A~NiZO{eI+dneu6EE8OEcMpD?mUjH!%XVYsU3$dM zue|)4d40I@-uviR=VM2W(jI$T>j=OqEv`*xcCu$JK-eZVoVL7m%efkZ6o}aQfz8fn zv%}S7ID4pj@*a!qWLhtl&<=3fPOSj79G=4sq-BFde?emzBA{N&tN%fKjL5=Fm90t| zGnr2>o^Gd2Qsf0`dlrTS{%4kPYf^-mIspd~Rh{mTN?n<-`OrcKvlrFA2i>l3z_srI^*_#CiYbaO$qn={wNGr;egHV&J^rEVC+hZ`BXCuH>XUqW6F;anfb_Tn}>ouxfZE)q<%X z9DDODE#c;&qZ85*0JDawE}^aSaGiB_wgFGE`86x*7Su^UqlF6TV7CAcrb}b6VIWj( zMe8;!DMEx{O{}5doWvlj+%iEN&?&Nuk>C9~*Xs2B_2gF%pFe%_n8!Q?6PF&oi`Iu4 zR;yd=Ko)#60QWG#Ni6<;G?GaR6s|j>9D-C-GglM9B9t(r@_!|^m!Lu_S6d%sC?LJk z2Z+MSk2C=4!eEc7H6hld=o$Gf%NBE^i|W#k^VY5JyKgJ9Uw4S_d+q27zkldFJU;rv zU!3g_UqL$METY{C;l_h1XCG}O>!j)yj;nM-c=u`;22jrFibr! zzPBS4_OT$xO+MO_SKM)LzX}PZ#Z&-aOP-yLT&2>m!EYi)G&t=vK_|d~3>W5>aggh$nvF+hz5ZB-ETfn5$zCh7$2k^wrka0XT)zDp-6^rip1e`|09YAts41#qT|2_Di+tXV zvByj@E7c!h%h?KMlP9dsipirZ*dmi6v&k>3svs<89rqBgtZY2kguB2qm|$=*!vp)x z`-7yo+?o;-)Iiw+seHvw05)4O8GraZ6I=ItmP$ zzgd&inwBtl3ZMlLf3d)I&;z`N-@tBFZxY!tpOB~@9o+&)CDVF-bPe3N_P_K1UJ@Bz zx}p89zy4PH>kA9l8_9+F4s}sX%@S4%2`U@_Ck$CzDhwP>nJA64B~qA$Rpt;>iabB* zPFCPVZr%O3;ELBV;g%&IyKp7R&8k+I{W%Eah4&@o&vNy@h<@|V%R``4xmUsXb0RJXNSTLA*&fHy~!Zy$w{pA(!uv>=;9f29hMRt3ts2-K~p(lEV1zeZE~eI za9ZrVz^7nOyPFP}3Ec$-tqXxFaMKcdjy0lt(RuX37qFdNj}s)xbruYJ(FVS*l9JN| zC+8hA2+)QFL_UOHVF-&fAt4?1SFwIt)%dyGHz`{!yQf<5mwuenDSq~Ry?puG`|@vY z=M)`sBgzG)$C^SK0S@ate>asEHbR*} zETto5QeuNYS&$a<>EKoDT$_Z%!Ql|Atb+0NRxI#KdctoXr;r}A+O$EA&L)N2$r>c( z?yLeHX>XeznVKTC$7wu3F@Z1zM5oT$hu3{l0*>1$b!;$XF9uW{fbMW?4**jKBE&1H zo>R3wV2|2lIcQH0@;{S9h!4-NcKhYJ|MKBu()|rZ@e2>%ouc^NNygW8k^yd8M{CtI zYM=pyv*=ihOGgCTb*BQW?A2btCW}Cjw3mESoZWk?WCe)j{RSV(bpw=T);4V3H3t|R z@ zm)>T8p)=S?f+K+CbSgo6>Bl)e#rnznr&#*ai=zj0eYv)DS2Mi|ter%x&4jps{AWL! z3T=xd^JV%qjHw3RGGk*M$Ec6Wj+A8uO2RUO%L|yUM_o^;z5NeelI|GtC-dXFWsn+R%=0qKYD78@y=~|vAQY+eN)u&&U$u^*yf3T29}z3R*f*!QXIuJ{IYZVKAcxJ#LIV?qW=N?BHlvXZLt0W=~-PrlD@sY0-1WNL3& zOjC8BRnAy;)*5#@MKYIuoU;d2FBP|*uNSW#ojcx~QM-i|GXX=TLV)2)vQll^>T1L4 z0J}3)y%^FdOOsXK)LNSxoOA1#%q#1eSRxA)bfta)(*SIfz$#;y)z$Sy5G2H@nHZiE z%d%{kw`Q1k)iJ-rXG)hQ@^|M7w|cH{>6_uZi|SjwsFvn>m5@g;{PYv)m50IHY5p$qaW+n>)0lESpihMZ8ab&nmh73%L zBgBH)Cd)OhtN-mdSdIyX3fr9>jSgD^^06B}A(xm}s3GS=^HU!idaeH7j5J?}y!=)NzP_W|khi z+lehjyP6=eE zW#EfDfWKgfIunH+4og1BQ-Z5gjfy1_pdeuC7Kc{&xYR=0>YBN@IwVeYDnxSO$2pnz zAHVPS`0C)$*EeftW*atTI^4^tm3b(gX2`Eq+#hO-R(~D&3-HrbS7ST83+CcrV{&I; z71l0xbVx|p$?6W^^y8FLd^6wB8E3f5q=uG*~yI}ReMkfctfTh ztR_}cF}jspL^~dyyv118(2}%N$UQJ@HH+620*oGB&3g23E8yHbEM=Llr1M9(y;VY9 z>PsMzr+Rp*7awFUb%Whp_;JpbV7++Kp1t__({lv&y3;2CwX+1Ix>~@Tev5)LAkWFT zZbY_Z+DxT1TYH zoD977NuCXtKKi~piT`>%IbiFnMwZ=-FlhNRyINNcYy_4)dt<1Xo9AKN0NkwfN#-5cth`8N< z^ziXnzof>H!%S9Cy@jN!X4vxD1~(*nIpuF^9APVreCr&U4< zWC!XF0h63BLEjAauH=1Vvhs`^Z0rHfKD>g&q2T4`{B+)EQJTB@$=`|kNhJ}vbHcBn z?^4`NRd(#AM+j_*gcuL(P4*xn&UPpqPuwM^FFDEq-{#wRMz+9`P8*zuU864aEf?#; z(jIn8fpY5V8AcD`X)qYI@vqqS)&D78mnWpQ!<-4Co)_KfTmW^HtS)M)1{s*F4w@Q7 zNrWjBbzv9jsV}JG1bYS2p{Y#zkQ8kuc=H0$GW5jtAtez@HYNr}U4^aI#`OGB9_BPl zT>5cN4^Cb@(sP}ma@znYocEqx0W$<`L;tgrkTy|4(j(H6)6q?V^liWWAy6CSf-qNx z>g8xb>N-bbAwda}Y~lEs#nAl`lV}PNNH;aA2*g|4WN%MfQETmc|T%wHXZ4q{T@bfMQF?mm%ppu{||x$-_IWW&D*}J zF4Hs+Hy{m;um;JA0ku+17+(4UX3hvP+iiKWxe9}?t%`J&BuU&Xy65;aD?pYKVgg;_ zwS+mZQ+=Ij^;Sb2gv}`~;8?Ikpjkb0aC*de;W0khDSsf5+na6mmmak98a?*VA3IgX zd+(!PhdPvwHJ5Wz6#~R(vM9j6SF$8Dp4h#0$hR4;(M3g}bBQSDoNi?a4zMC!__LXz z9@2d&Iu2=ZAHFHlq-dii0qFwutst!k43QO8Q#%NtC!ZdoUHWm(T{_$wf1}@P_d4AA z5p4Sz|9*Avi=)m}XD;pDIPS8~*0T~I3m|(2vH`?vDaINpa_I1@7VqJc4Fu*DgtPi! zl5E)3uterfZLcbdVp(3TORIsT=|i?4KOF!j;+t+EAs^rz14mV{6(QV(GSyl0CMf@< z>pKZ~Yx-anR0Zf*(cV$C99B2bn?D= zH|GKiyOP1Hl)QtVTQ_%$Oko|Lu7u)Xo1Em!sXNN0ALq2z@h?8lc|!Zm+(5GdRdBF* z2_9x~E)tptG!b@U1o~t$lxh*Y=kvL*(Ytj53{~=2#=%#jK&npQ{fu@%w=0XJRwt8& z?4etnQ0D6n?TWfjtdWIHnTHjL^U|g9W+6 z!_VDx|L~}1c(MN0Di<7D5qK zGtXWb&~+~%y53tfnWf)~S-zc~6<_#qPHunx+PmAIYj>_|zg}h7XXo$ zv>rk}c;HbrG*sPB?g^i=qc45Xa(C`?d*?p4-;6Ee!L+j4{6_J>c$wglMrD)@=5nfE zIT}V}UZUF%ke7=M*gpdA6Ud#?$g?C!oujf9j>4TKj~_U`$^f03YS_TGIOmAG3?H9P z>YH?@RRBKQSW=R-1Z#qvmQzOHixm~1L( z#0VRW*V>zI`Rz*IQoQt8J1s|D%3FEoEf|AWMR!jp#*X73yT0>(azuoFM1*zkh7s0< zhw$U-#5bL=-uvihr;8orqyyMhhIZsRd2p+kY_j{MW-3+(f(t}Za;8e-4QV5nAg@;4 zPWVcqSD+09gBt6U3D8i@D``^qbS26gaTS^5mBY1%H_gq9kqz^JMcuCV0+6Z%eXE2Z8;%JHpV#q|l#?M637fAL}i zs@gStss)1%u=7EUTW9+K#?fTVu)RE%VyvVMGgg!!2SX(s(X?Dc0Rzfzu|;4<0UnO( z$PO~2;Rl3y^xiO4TcyLQ3(W5HQUPA&RLdZ%?&O-^lN_qXCU0b9qIy-bmcN!gZbux6 zM2X4RsusWYD2ebnEx=~8#P|#NP42@ypqk?BvIHYvnp|#b*O80a(nu{{>*!>m{L#-} zzI=B7+4HBr`R#pz!p-Z2OAp`KD3{+V7@X! zkdmMf1e62;*#USzCA7h%{MhSGQC`k$Pz4y^?e)PNge~yj_ z0AJ9fSXG@`qfYL~u4A8rHzjuCNEPayjV)C$^irgOGZfn+<6nA^+E25tNX&ta?bw!^ zVeZ+7&J)f}B=OAb)VcG96|6jY)3tX=?dt!1@R`JlKe+8!A&*w07|BXz^|q}uz2u~o z#+XGTX-U~H9tD%7RTr9?fDT9UVdS){rog4<9Iv|;TZfxgJAogj(e1P!T z!&*V{Cu58giDXx zc};+8O{W{4NI&@Cv)Y7(LJD+9xm{pLiDh?_H zs5$sx7*J33nWbG-1wq{Rqr(z);0QV`piQr$om%#G$-3III@nW!ko$Cs%scY{gVoKC zbj0d{0reS+%~nOI5)}n+uh0nVY7X!<9Jf-Eb|AG0r^wGGCE2u)6k^-NMj&n?K&tbE zXD8?Y-EBUcoorIogI6OX82(h5;;#yszxXm}e(CZ1`1zMPI)Tq&^Ym@VPTvk}9-{j7 zIg`0z^b}>R`jc`O3t>mx{^*kKzA$c|FuB_4go>r*w-9^>US(Yigg0#WWbHb>U#cXR*V<&U@RGf^QU10m~?yM)gMK{!O zk%w%niGoA*+fKTK& zdY2x)v*!`+?5V5!Hl4bDb6xl%^PQk^1B%JxZXSlvkmO9cs%_q?xjbj5^(++);@0BD z{900ci<1=VWxnWg3|?u{Wn!Sntvb)ABMw74Y^i3R z%vS6ZAnii$mEfqIY;}k3by3=lv?v&dnZY^+sJc$&HUfa$s|vo9v76e;7#-Ou@e@ZM zPX60}VB`&!Z6Z@yLTaobQa`+Ks?#Q^u}4;z z&bMhQ*yS`tMb{3G#gzN5pnDK}c0e95uj+||s*?+mD~uwi!V0{SA%WV!r3VmuVID(~ zX~Xuq_9ZH1`I0R4)~VE$%`Ul-1vbe;w#hKen6d|{)YB04kG@W5_kUH$ZOkY$cjHF; z!Xx^@&{c{-DQ!^Wu;w5BszJk-sTZzQUe5B z4p_`4Cs_FmiWt&SG19RZiP#UbW9xQf!`{+3 z4U`jeQmasNI!I`v0JlmyZSMOkubw>oTmL_MZ?LKd-Bvu37Fiuz+1H zAqKiJ@ajdav^g!nDkoerlSh?UmD+4J_;B9d4tF$Y5`qW}5*lcs0*iPZkhL$G2H-vK zo1uoV6dz*~;8vMoNZKYrO-KpA^!9)L;(Nda(i0q-x!K29#50}WPYrzp;l1TTRP(kCiFAVKoj`qH4f+ zPJr}1*(AJJ@U@vZ%9Nr*PZ<}jNy}=p0HTEz{b?E6(+A(Qr)P-Z%4_!F%*uIXk@-Y3 ze8emQtO{7v(wL7P7VpjA-8l|`Jm8jOAzNtC6mS--jCEpboi}`nIat6Hj7&nEd8%=! z`T|M>aj!A9b83IKhI5y(BMC|7xx$8YG$QCHEp_wxU%QhuTF;-eWp_der)2la>vvTJ zTH@H4sVUy^NHgWlv%(deroAROg#(V&RjR4Ox2F4JtJBE8b|OpZv+%uk3^lFTv?URy zm(tvrnhQT%ZR-g@9#}8ftU6khCfZ`Mecb*pUwi_xkoPK;->*t#HN4l#6YxRwF9h`D zVQvRYRiTTmGNOvNU{%EYqAV>-@=b%*HKYe$pHwH!`I9D&s`ea!-181q_0hd+I0>NK z^Q;6bRl!S5+70N#?f?44C!l6{FRu7e#TBpJJ#*j8^WB?yKG4fUY~5L+*3xIl%9dC0 znZcn40m!Ng<|x%9Y`v+URc-WAtZD^3OQ;Uh6VyeV2Js7T*x^+ZZ>f4fE#y{yVQ#6- zw<&@Ty>gpv$;9i^`=={E&dK)v;G2iz*^@)5@lr1y?8x+88(we(FO4Rt_y{zcFicyS zM{0Mio^CmuIv!u@=1aZwPQrVxy5yi;Dj}S6l`)s#Ru?fH24bv#{4z?%MXV5{01g7r zHNV$;cK7a{{9YO8w?rA}+Rae+y;;9enmlJSPOkenr*|KJQ~i|fsD1pUit0t(2StW) zWaIF{8g8j1U@a0*HP%Ln1!Aai4v48P<{%W1FG=bplXfA@w#eC?p+T^GVefk9Y|f!7 zf)0()R%6S=Vw|`{%I%>Py_TjnMf2_kyH|H*KmO=BvDTzUoYkj_xniflx&*|icZzhX z2I%a_*ia9!4i7pASKzyiuK)kO%vUh=Y@ z*SF>@KkSvWQZrMuS}a0ai(cXj(UzpHl4&#tCr0&}>nl?rB&aLBz*qp;2LBE5gF~fN zG#)THgBMqsh9)7h@;u%oG#a418!9g`L&~0#=s3Np_{+LXy^G(cd9f?6+vU7iy;u+X z)~6pqgMq~wDr=D@_?8@o#s!SZ(?L22zm2G*Vw1GIV6z50L$%@7M7E^ML??v94+s)S zsBqW}wQqq7k)r_?aCXei(;gFnaFkJa@PA?R?0R4mYi>K|eR{v7N zHhZ`Lc3^RW+M3OGKn$c>4SPT}T{RHWs|W7``|&MVxlkTK+N^F$7^YZ_3&-aXX4K~m zBE{;hx~QW1)PeOr45`r*gd|O|z(`gJv+mCwi~T+>;dRx)3*{BPi@XaVaHhppDN6tX ztx~xO4j9L0N%7983(V%M++@;dV(&K)NXTdx%Zn~v05qRQ3V8vMr8z<5@ah=@1s>C` zx-N!tI?EO*S&0)_M)wo!KkO{5&_NL^R<MkrcVHe#FF{BOLNy!q z6IInOWhi|e5Q?DEXdr}e`hngHsMog=b~*e~%>!%W7qexPhpTG#AV>j$A*xkE%@8^# zsZQ~h)aKomTjQp-*Gk+voYj56^VZE*H%|`K)A;Wv*xy+z@0Hi^!}spy;=TKK&#`}e zTjcC!w{60Yvjm6wemyQfgO`(mutDzxWh$6os)K|es2z|HAP{>1qDVa)o`5qSMwhS} z(4fngXqvTrwnlZJmhOPYwfdt=kZ|RFB5Iu_M%1H7kPK2<)6Mx_ElR2?YPzV=7|)>z z7Lr6)aYvZIuDQy}YSdXx$X8vO0B)Z^CcKQT)dc>!`DU6^VnpD)8b=%^$Ps&n$I)6G z?kTPM?6~jwv%3)%XVc}cyma>pSN956_w(NFZ_@7Pz1`1ydv#oKUMy9F9_nI6-AhAF zsf{OuKj2N0pOD85Tu)Nf0lnL_b3Sg;fPhN-MxssXnih(?8KJ3&ZK=1fcB?KH+e^}A zyJlu>jo$!Qg$80eb;{R%oYPn?ru%?xY?lvg^K)qEtaWP=Z0ByOCl8aY7zwAKdN=Fg zr})#kM~9wL$mX;^g24=Wa3&RRucA#L`8lg-@sucjEs2uzp0Sn+B0bGN8)_f zkvJd3aFfvFW`~i$<6ULnL-d+TUDTz2+_>{B1}0U37@H-IacnhLMUCd}trU)PP(MTp z!((5r>{+9Y0lyVAY`u4<2s*LV;WaB-?Gv0~m4}{oUS9igPV!s-sP0*w9qQ0u-8{H? zbaY{U#b;k%)JEBvpvLLkB^f2yc3Ez#xFHS;bdk;l92M(RyRme2GPVl|sel*Fx(q?+ z4vgL~ysg~tQOA(-s2H&a{~PrcYwl$Ty6tVv4h<^6KwL8CjzlTZAARhc04#GEQ^Ru5 zRkbmgu7X#B?v^66D~BlhR7X#j(uc0~gVKmB$|f3Gm65Yg%JwzrcumR(X5WU!lj>@U z^PQH`++#^M0Qu+^I|&a&nu^8q}ai$@H%ywBKZkbWokeShS%!Q#7l7K)bO-%YBHby)t}z+ zy06wRE>?hEd-Xn40h-SA2HyGnlgmz}aR`~aVQ|=08DmI2u2hoe>|$ASb0iCxz7h|OBUe2aH98!?e#4m?~ z@_@?_r)c0<`1>j49pfM@d~Mam+}TLJ=Pz(i4<0>yv7WUvJG}PV{c5uFD#ZX1fy!gV zR4MdT>KvKNg00mWb7~>t()8Bc!r6wzUHIJR0o+|kv~?o?N88DT|p`@eq=Js?Cc0E=5+$nbtH1WTeOUj=U(|p46g@BG);87LgH`WhhlWL4pgoq zob$-jPa>rma$}~PraC^Y`moP``20m1KYKM({ZwP<$}4x-0$(d@q>FkRA4OxRNXG%9 z$oYdA8Y!VT3tBEkMTvfL#*Oz`)4IS|fPBKxUhK-Y@PehQ-!9nS*}JCNwwOZzzCc00 zm&Qf)F?V66np3j2R3IRrt%Q8&lc^SL0={qmkM98ou*L~#`LslL5AYx{+r!lP;mN8&WbUv*0NA6eeMqCvNE;@=abi(neaFBSc&~<{ z3jEerS688uG19}<0D7;f0}TgevFxBh<68-svO%Tl7EUf!v+`*g;NkNJU#-V5FD&iB zetaf7c;(f5uj-LKt513B(@)L_jbziM-I546);OsLj}q&0U8Cs=45SQc;VFl>SfCu8 zT~ZM(EKR{k;>=RSBi7C(P0A(it9$<(_2aOeJkmC6SU1$tJrZCsIGu90&qS1>280sx zgAwPCt$Dnm2d!xi1*WFan^6s|Y^r1=3y`$oIEcTc_Yqx&NPB18)Rh;$4+~7}yV69` zu)!Bu_z6yj$ht$+fE*%h4U?D~*NGASE;!{BfL?jQF4|pqm18|jEKrHnR1%q|yT zz8mWQ(cR!w+o@VK@L@B0HHDw%KrIAFvq#MYXm*wvD>9m&p-}?S@@tIpM$+8cYnjwr zi})QWiBoZ^TC+2lcEO?XK|dtVn-YIx>Wjq@m6HD z3-#t#Ubn0EzhApR<-T6#`>mI`_J#NT{rg9~f9JO?-94@_V};S~C`o8n~d+z-H;s+lc*<*#kUxFfl!f2{CfVJh765v$j1H=_A zJ)2<$RLnPJbToY$zXT%QmAx7Tc+rG1+z!Mj=h;i|rw6yRDFn5r1|ulHn&l{WA;_+} z;whta6PU80enX1Z0_}m=Hr(B|N(gJ8B3n zM2N7=nFq;C#Yd~=C7-2Wcl&=H+E!aLa@99g)d91WY1ACD6$(y)XWDI-G?w$3Z^NO$ z+$VfdilP~FlJuihU5m!EH0TxZ7>m(Z4wKT+xyjQsO^i=Rq9fH~RB+)f@#kj@l)un*kqB(XBoW($X9t5$~$t0focnsde# zt8Uwd9%BQ~Ky#c18aX4$a<9}OXE_F=);Cb}(uIo&s!E0z0fE1Tzx(Lw_5PT-!u}9} zBz%h%s;IQ>t)}6S3z2-NhhhTJz=0toNzzw>Tr37EQNdJm3#k9S~;sFci7m&jcK4Kr=D-n`q$V*W zz~+s&_)%DzL{Ac=M3a4w;g$G(fC4li-2PwkbsDeHKqkOW{$AOl&K7t{MS+|=o-wo_ z?L$dd!TiBpwWxCrw+dd8@Vp9BdT($_e9QJqy+*HeD|;xBL2M^BqY*MifCTdc@)EZs zjelCXdhN$Ksa*ZT=f|w|XRl_4yu8``v(zbj0p?+naIuZ6TZATH-qOR_nOAAei@4#r zlzMMFp@lfqw>K+JDTfng$4FI^>AGiC zu-CACQqi2po7k46Yu^dRP;Y=5p}y^W=nmSEG>1sD4|1`m%wD;v;gyI1?3rapCWdL6 zp0ZDxo97_x(r-2?r`V5N8m=acxv)ApI7|H88M@4d6y@Jl4y@|WlG5NId{?tyu-z5s zlfj>ENl6pQI8mqbk$?2GJ$t?$eD(0f*Dw2nm(R{h2d}++7w-^$jWo?~#veUB&Zg!U zJh=Jl=HXFM{*rSlHJ@iUk8Z|~{^aH-#GOa{-Jjh2l&}2acMsFGQg<6hnS8bqPtf4_ z9IgW|ZYjRz4iVIBj53o3XD3$yVLf3)@yLcky?xekt|0(hDtOvj(5hys5V1_syf(Me zHltb%_wkYmvQlXXrx}ZD3v8cwy}$YL<}oYwPqK*VZRC6JY%0(m%)4^GA{DOe{oVu-KdwT|d zg#sjJ<3f`9u+%1vW*bzPA1+{P@K{mtvN|4!ds79Wr}>a;Kh9~{)WdIHKI1=Mzeg+0 z1fXYdW4P7{UuI1Q>Tjx$>V`+{8pmA0YuiX#00iq?nz=N!|7~dST0@!_Q7R|ZAA^{{ zh0q7c_@35FC((6fRaV#3Ijk&7mqG#=Z(6e7=>RmZ?&hU*`0=ZYO3GRJ{cI}q-F96g zO3yz?c5=8G@#6#^r67Xwg~MK?@aY^eM}M=Om>V$xyppT80jkuy^L?;JUPFH&RztJy z;w(ej&nmy{#@4L}pZ4-%8ahdl^7Zxg^ zsH%pHO9L0JY9LB6JGi>HQIV_zOpK;kjM2By7Q7=L&17zA7E7@;j9frdDz|M8YdN|e zC&n}Z!(N$yJk_jG{i)mXT^EH(H_j%j#HLw8Xwb9{qp3srm|8dIto@k(qL~2AwKzWml#yVSK2Y6{(4wnPu*63_|=1lk6)~> z&P7PBy>joHZhChM6W_JL&))g`le0oKP)$4p6cwuEN1gVV9$I*L*gGy?ryXiu8w^>q z9N|q$6v2RJjsf5szzIt9^aYvUUQG=Xy2tKMLI;Sv%@ixd4ybfgVoYyXN{Dq1r_)WZ z-5z{8ux)+w@WqSu?9We4@Y>6EQ3vPF)A>^`_}M$3e{vQ`I593QV1}9ovP5P<)v%|Q zRP31ew_r?AN|=+b`Rc?uI~Q?LT5cY87`rrZU|uT79RL$Qg>wz=tF;|`iJi@;y67if zs(2u@Ji@fQx6```><+In0QuInAUO(Kn}lgsTD#1gnh>4x8*VwMX>bL+w{S>NGNM7% zu(}TmP}~^ja!vK<#WuFiX_9=?z|U0GG^Er&gxBWYvIfhmvGbJ$j?Xj+t{r-)&u?Bc zfqhJc|K{l3eR%Wqn3{T?!@Ks1et0sHy*L@^e){B9r%z_DQMt2c2cm-s;C3W<3K3~R z1Y^(EfRH@>)WpaJWvr={Q4Z-tb?dZ}UDMSpb{-wTz~Nzy`bH|~(@6-i1%=wS@`ef+ zU7(l%<}m%uCBf;GUGu%M0P!v!sHuA2!b+;9gV`E!*`b*(6vSht1z;#@i;5+4Vr@~G z{%%nfs}P*#^GaQQY){h!bo?WV*iqrX3 zRS9(DST&;-q8L>RTL_j!9!*f~N*im4v(yZGGP%Y*Mzu*5w$NRxDSw)>HtdW5bsq`9 zeWzvM7kfzWz_=A{^vM;+Pps0lo2FgTf4iIIeTUKSs%s2yJ5|c7acJPY=|GMN1PSm; zYKfD?YdK)wDw0&3!9ay}txogUJm-nusKPJRk!Ce#cwnAZKjP?3-(^${jWA0Zc-b2~ z<|3LRZQ+H}z_eX4Kmqx5I#cI^m0Jf}tyTLY=0__LUrYvfs{B+mc@|xlr zK~o!(mqc|7>{aLZv0BmzHSXxq6NR6eYT=qX-BgAT_9U1ad;5Ri&HE{bas#Zs=xQ%S zWwcE(Ye=0ksTc?0VbXKcjBAnqtEXZNFp)||ZR2bN|iU&D4p{t9$R__jUHW%Bt zRF@nwWT|>-#PuNA*D8U|TH)^BN&~U`w6U_TmWZsWn1Bu9l2Z$Wv)l4iOPV8Uwk)2n z6EntTtjsZXaTq7n&SJ()D&xy5?O8P8E$rU0y95--F>+K@5XMo(+}DzdD2KS6*8E=k zao)S{KbDS81B*Yu*@t59HHk@CdXvB||u|W!1ShDaRf1*nr3!bWzqsaBEG|mlTJJ)~1nur-1snSG~Ni;=gv; z{CySwN3G(&c46LW&g9CEbF!VUOF1vxb~)le_Yx`^L$VU;Kva8~mrTlz08t>Rq)h;% z%lGI4h=2{MNm|0NEs#Rv(I)7$O5Pnx56#ikvAgDI)jQ=aUz3Nj#|~Ny_EIA9=%@V_ z_1)K=gLglc@4JuXyQpaTYA#20e@2LiB?-;U!d#Aq_ZNTLASaI?ozT;0dA`jlm*F_DiN)lmQ zlITc>s*`330soC_ygt9d>85L#+{fu?u4_Ne$sYgsZe;k~2#Hr!1Q&v_WpCP?U?#wT zN(P*DDQR?A>bPB)F*Yesd>NV&9sl6Z^s4I(W;dWVCuO zH7DiFr}d?6?0c(;Uc*@JF|@wfu>%%(E~)edlVx~W<;ghJ zAU9^?&{g2Dr~7;D$2rycdE8#SeAXU47*D==+AgN@9a|ZMBN}9&<3+kwA1E>MG@4ID z=!djx#7io?L1=Y{>}LTa5;gYG3u;s*4dOh|w6SZp0$cBZ5*^pB8db*+#xNat(TfN| z3;LX6Uc%XTHG}tkvcD~TvP#eZ-}W&s@Tkb?LATOzNk=F_J(h9N8e(4yTQ}<2+7hrR zoaHK$Px$@A7fnGU>Jd-3i+icEUkm~SI@IhGppRK22Pc3j+o+?rrqWAiW96>=IH!q_ z=j)rFuV`5l&2d?2 zR!Nca9}Qf}dPTdHwW|OS!SLZ-3~KiUHUd*>O&u&T^Ly_5<1Z05R3!3LM0DbmD)+Lk znTI8`n?q}_0#pL)(PszH*1jF_9=|D6FWH@J06s&Kp;Ef5&Zm&f;Jiq#$}b#fDPRY` zx-OdoezrjVId%mgk@D^TpxfShTpToE;}A2i#qmp=L$AC+BNlh8y-Z@=1c^FbC?x{t zG9pvpwCqw&z7{;QG9oJQt|?0A9-w11FmzVQNloQGrgSA&#rZo{aTX%|?f-aGxF@e3 zk>I`R$k_d;VvR6`gPJ2&s|8O=e7iPl!3JH09LgSRCOt<}1>9^)RX1PRy>t&0=1sfO zTMN(HBbK?EE`dv^K`jjgSb_;}#9I7MUw-kAfAoH(fp1#EuDOjIO73OeyNjLs3)o%D9y4*7re+we6K_dqE*ACj;$~GsqXdAdtI8vM5O0v*OcU||Q zin9{Etm<(O(w2aWtWrceG-LNQ^7zp&tI!Ob_7&zRT{8v~^lFr1h-XR=PU4|cUdctJ z9%_wv&|)2H>LZY~t52r7p0^LyRn0o+RS;n>w^ir`b{;zz)^A7YW#aEOHr*)La&#rZ zZa_$DpXLOv{WzB!NREB}(?5OB4ok&+3Y5Z85-}9#0u*WlzN4mt@M)SRgmi$8Hsj^IYDFNq!d!w$R>R67sO)v>=kwqB z&~$f*vl?A? zEK9ONxk)h+R`q3p&Ra zrWjT12hNC^x-w6*!Pf>f7ahSLz8mI_1wIVsZ2at%7xT9|+MR}!D?iSgs+=G68%=Cq z$~NBRCI9x<$Df`a+5ivu-@A@kRn7ke)mdw)(Q!g~O$ner*M)x*o^Yw)iU$WDPSpVB zoX1#dEvojoKnjG9!U5PA{8G(eYa`}VoT@y$I`VK>>Se1?x)!Qyu%VK=1Dk;kr7yAb zdny!PThV(ep+A8De~&lr@y0#g_yq8Vt#0|Ucne&MYbtpx&`pkF8-rsq-44xbD7-x; z`8KPz?j-Hxi1DgE(J$}g8ciAiUazYD?!Zy3#&nJL!_8@akOr~f;o*`_NnZ|3+h@{8 zpGK5;*Ae{nuh*le>)C@>u;XHz^R?IUVu#H91??JX&7>Wf>+`$kaK?G`rCz$oTkF( zq7pl6>}DfQ9oV&%o=(-c{y?3455O>!f1bU%M?KRayz&}e?&+(qqSZUr_=C4T{Rorp zHV56gQnk2QrJZbwUn)?^0p;9)iMEMDJZDcv=i}m z@f*4nq`r_;l?-kmynq(xgoapNB&ggW9i)k6580>yo#=_1Q0GSP6GyOy$L_!)#rU)_ zKNtPD{r|rB_=-_hsx!qF-6rOssq$96GNX6R8YKcspU%o=)9xDZg85@>;F=zfUKf1$ zHsW0&9W~bmkOzfIn)QfVFHu8DLvTlJU=sn$amqhem6M%bf?j*4PtWD=OQER48O}n( zmDla^S+p1DoV@kvCl?pukbz5_bqEhHaNurgk&SaqRTQ(y`A9ZLjsi=@3bD_u?N$s{ z{#+yAqE*)iC$sZ6emPxA1(l|`seuqdMJ=m%X;Z4~zH7fEzj!upPe0f-qX_I<4f5Eg zOjaEq%c(bEVtRna2}n`Bu-WXlYA}M$MDrn|z+YB9d9-swfws_Ww^8CxOR_&@RY^bT z3I;zhI;gp9DZ={GBC5|`&D?$d$c(3)2*so`i%od~tFR)XG;@;#c#_piBG_#>7j4 zxxq~8S%)?mMZ)00=q>U?0`O|opghh_olt8ean*`hXNjq6Kh8-7m}XnY7ZZ%S za8Vna)I-V;JXJQ(709Y#txM(*fLk~r+!moND4_AD``XF-+Q~G8k8(?xT*)$jUwk7b zshw)6w>EBzy#sf(HZWhTY-@OxSIM8IQhNtcT|10zTy>sDu$nL}mDQqF<_3lb1!I7% zSiI#phQf#B)CPGfG<)U8x!B+E^Y-ZBY%eZmn={T|+B!*@Pp5&Jbx*>7Z9$?4Axk4j z(i#RA)m5k|L<+==9m1c~wOXa`ERLQB6wRymR!Rw6{O4EH|3Lay|7IiU5 zMDfglnbjN<6k%LGQ$e`)&a}n==Q;%_cFyK3bTMjeV%RzFko1E<&ODCz@DwuKd{pIV8_xfT8@%>4jBtV=;K`Jrka?3!`Y9E|GfAZ-dJrr+r4z z0gbN5uQ#J1yH$D=nvz;f9IzF&%jO*d1kpoTT+)R?&_Wa5C11(0;9QsiGT~L>Nk_k| zu0nSl!8y5d&NZyJUez>oo$cxw->IJ!%&@c zHwoM&Q6-geOw(uAESDywKXHetoUbW!8$Ca$-tiP&@Da}@jnJU8x>1k7Y-1v(9~0GFtVLVk%Lh^H#cVyf|%k{X=AI9Np=YLJtlj+Z>^?$sn4_b{+>CD)_Ry;@yGW{JM3afRbymCG}F-nJ*c zi`P*M@mBS)s+EClLGW3`vJBz1Do;HiEu7BNs;?_Q&c&*)JIs4we|vN7sLBZ|7?1TO zRpPPDWhygKu^>F`oHG)A4;^fJFm!`S z4_yRWEXeCJP5LO+r`Oc;FNu2o@x1`oZ{DTVwRP%0Y1#boqjhMMzc_9)p56TUr5LLL zlfgA2t*#%+REj0G2x^i@g(`(Jd(3k#SJWV#hDI)Ne&e#D37&ckl#^P32=93v zAn;TbIRIv<-j3h{ySx2ojx2YFt9m20qd{CvWgQEvUtQTU7*Nj|wAJE--^`3ZgWw+7 z>Ie`S7y@gjQ$NNwy5i#p;c)Tqd-aX$R@S66%pz(0)X;6El~@WKEA_Md^0go5#LE80 zk-J-ufBx{$1+W#@|rpj0QPg}(rwkxi6`zBrwkfgCYN^PQtG$BPk0a< zWW+#0Xt`sui(kx_C)e&KsZ`b1;5kj;ubbx6I(6N)wN*}Jj;RxEIIz8+yni{}-)le4 z`%m+q5v^a`jGM3DHwzv*2u=(ZWLi1YU@n=ChPBOXcz6i)n#N1CYvYi2TQ-dWLgai8 zaDUXy5sO>L17+PG4??#dRK`d=j-33h*yDITdp8h#`^tAD-^%({`FyB)u)S153p7L; zc_3%b16*AqYFK90O*YiDrm7^RTA*k0!ZiHRxkR9Wj;=j?lUx|#Ll72k$rq_lS`#pV z4z@t)4plMvT)w<$Xxmwn+?5~abO!d@yRCbhpS^Fd4RIw+nH|1kYjBn()meT$?}1q^ zsES#G4>U$cANARe)(LRi0z{;w%U4i!@0{;B#ZxR6>abM<&BeU~A(LtWn-bW2>(*YH zd_GSls{i7>4hmNa!y_=a%A~U((s*}l7G`-b$4&mWH`;}j*IVv$$?}e z^s_@Xy&yz7B(#zZqhWe;sw~WHFaNm@!Mrw(*ulpVR^OFl#ZhxHNn|mDg`#RghUV-F zfWS@1vO-H6B7XbNefh;7fAsRQjA`p4*LKzP0jxP$a_^hZ;4veZX2qMm?lRX_J8e~O zE$?3X4mB#T=x6A1#94w0a9?410tE3LmWNxIc9t2dgkwqteFboJ7tKALH*xJXK9#$E z{^aGeu^xQWo<4Z~^6Aqj&(4HvuDyWoofjKl<-AYl#lHFcBXscEa$GUM{b0D9u%_gp zlpe(6!4RWsg80f_W6pcbE3&`*V+kN>N8U4K_GYD4m3SJQX9@jpd7484aT7CC4$PV@ z5i{a24hf4G9zbzgKYQiJIU98S5>ol>!G8ASn@dC_1R_sqM|*it0VU7o3QiQ`S*|4l zR!P`z*Bp4WmnetnBOil^tq_}%EPa8dvLKDiv*X`#tho6+2!p_Dz-q)49S}BEWoCGj z4#s&inDf;In0<2r28U?`$7;a7ntTkp;#AI19mmeKI=sewLftrb9z4ZK3<1y=mDh=y z8@ZEuc!>mY83S-0xbvP=*2Wjvn2zaxO0wd&t7;`Uulue%d$@M{&wu$nG(@w2Ed|yW zB%u2W+nS%I2Q$iqxMU@~z2tt_cI%I%Pw<2!UQhQEc{+lT<#1QKl7Xa@6~nG<)PmP6 zkdI{Sd4F&c>oyi3q^j;i*B)o8(4Q86e%+Az^6`s@-<&n1UVG`TIurETrHuELmDi}O zEXHawFAl!mC3%ak!|HJ}t(301Er1O;>IH$yJe>-Cy^=|6hPhFo`$HNU_u1hR&bgsUG}99k?dVPl_h!YdX(0~hqmH0}OC;vS1hfMX zV(qxQnLtE*6;=_frXhD_Ab2tVt+?B8gw{GFz5@8v{Gp~U7Ay~>=1g%DvRTXGcXX_2 zsQIccfTYEVZNbWBOH_i}Ry`07P&y!kKT8%a5}!FvQ6+CI>h3ugJMhUc?y`Z8xBtQ+ z_cnKg(Kg8wYf7yyrjuhkkFm^PRLPhT|M3JG;?k#vn;mtm+j1~)1nTR7zjCrGHZX~+ z(&jFSGoKc;7Ka`&B{pOLIgMC-(VX!GP%`cIU;OeDDCWJdExxZUzOOC5uPwf>ExxZU zzOOC5uPy$~s4bpmj;$W-(jfWCbZcNaU|xQHit3z&-|Xb@Y{1_Yn)J3+Gih{-V)&j4 zV3vqn#$7HIo=A_5*YweXUGPNF~N2bU@M4ORaD_ z>0!GeL2&#OV0=K%h+sR6;yS1!tLYxkY~nGYFA7w~P&7bv`!#mbouI*zmu?VpUz)Tj zlUO0*$&=(&?TRUT=@*`+e6RgDC-+f*dmObQ>INOht<=wN3jeK7e}3?ryZWIERtK+M zx`Qx9nYx3_a;|aX8cVFfO=xJor*8a3gxcZ9b3b-Lfz zew-60@(+FW=t;liLo~ic!>er@Y#Yyo$Jj?+OS3g45pp@*TL`DwwrfAm z$-e*i?R|d&68qUj^i>mKR@d*V;-Q7C>X9N+u~4mhvPEu&qfP+uK+MIH<7v!DQ}e^I zI!>yqzO|Tv{S|`Vmz|qfFd!2wfRo_MK^_XndRC$iv3~$uM*UX%+yH(h8as3HcHuKY z_{!sPGHPl80u-%xMwhlj<0jUWTyPVBfX`0VO;%mK!FqiUgjXlc>CN|ZtPBCm$i}PH z&4<|yKj)W5g3p|jk_x9;)hj>F$v*$BcWbtFvVZa6vrTBVp)IqV>QbYHfu&@C8hJw0 z0Uyh*0{SDsw3U?yO#C}R$_ERnH!A(WDx^C-yaeXdHqN97xa4H5<#&1gQ1 zQR*!p{bc?9mD_J+WUgHpe_yBntE|(vTNnbYmzB8QyII(crl5d;jV|$a+XWoxyvTfL zslXt*!@B(7_hG6KSsf2zjc+@c*d~xVdIt$sO)_vAlQ&`Me#;CGz!H=y95jW z8Jwnx!-SWP^{Em?W1HZF&Ip+T<^XDa$H2Q2c!GX#jwTqM6w4D4Q)*F=xTcC8Mr0jRnUIYg)~Om_S1NAdY$Ax5O#oUkT5)I?c1v zMLMUE|7!fQ1&fE)RMk+aNG!l@mRofCS`YB<< zm=yepy|-2!R!$&s^8HGX0Mt}deF|w@TL(SQ)>&2cDOSW`4-XUL8buY2AvL);=R2P5 zxJRz=eSU0(lWtA$Qm+?o7NhPUK&w)Ea0CBnP@%@gnzVg7l9t^Aj6<*^1am6<{lncK z{8@W3zW$~?K05|iUb)K?gWM~Ncki5ow?6#{=K$_dLgB%8b0N&KBBsyFNB#tEhA+M-B$yp5t+U^ud+0j0&_|6sb#s2s=1{kb~vd=>{G z4~tX9;RekCJSv+za1@iBP%&Yc#p^p8)>0>1#?Q|b${ATNx&=2NyP=XNuf`^Pr5^01bbXbVH0A^}40XW+^usq^e}` zYHX#ZGIl_lJH0A<{`}d)v+;FTUb2h*FZRs|c(*$IozK7f8JNUc7H=echRw%Nu+I8U%Z%KOS#-Q<8ZnL*6nxj8=MSAay}1PQRfr{zq&WJz%zPw&>+l3;{vuc z&$`d=BFhZ2^zWI#{GI$s(sT!}3Cy@_MJy2DeTAG{z?ZlS4 zQ|;9(LDTz;jUXc7KHS1-!uRukMBL-?R}UVo$6vkp`qZ&pd+jbq)^IVhhL0IprA#kO zhy{b*O@YFVj>|XV*WksSv+md$Alv)JqHwxR60XUs^Mzpv{p1GsZXS#;=`Llr7IAi} zXZw(}uMK7Z7^y%F4%3RO8sl5>@%CRmbcJA_qYkAVRDiOIYMG^kuF6*Juu+3f(4Fa0 z&vY&&+0hJyFIN#yp4ct}uJP6bevb5!#xlTRqJaQP1aNF^+p;FHXAQ0&JW&naayCNp z+K+Q$x<9z1&F%5?hnMb}by?E=(A`r>oCPECMPjkRg$?VrfuJRWYwIDdGMt++62q05 z1=}XEX0=xZ5b&525TGdoO;yf*VWH~ZQEHRdgU)fLV}?I#qPj|BOTAD#lHSCVXRs(lb4e*yyF79`o{ZecwuZ+Goj)A(qB`>jIBn|9(PfU8hCdLt#+ID z)c8X+po|IMW#2GqXXa7Jy@4vpCoJC>equSTQ&fhm0h*xB!vkgTKTTt6lsQ>(TTP|l zbd;bT3(ydV!`KB!wkC>O4j!OFH+(WIwJF#ZEFz~#h?1P3yk*dI;l7NTb#ZjC2fm}* z$;mop(0}8YQ2lx)^~2{c+T;H6(W$??_8MOHcj;Blk$uPCz4hsL_jlJGB!2s^9TPL+ zl5T~=hf4cm0%PZ55l0zY*G79OCaSvEmJ$Fbu_t~)BaYgkh6P*X2lkk5f_ed}t-%yFIRdL2dyQk8V58=9An3X3mojcnf|d?G1@6X@t-6JjHRj!b zN%K@c;@Xe%rX%AI9v-)Z>cQwYFK-^*XoBynJH*ePzfy=%?a!sLTo{W+aDaVVsze6W z=C`orK5?wAV<#%m!?KJ*mucl5TRBDU=PAE1_Uk%<|s6pn)|H*S`aC< zKg{Ws@l#T8HxRS2N6$deJ3{@&fGx^m)gXa`i$HYE*DN9fMrb7{1>ZT5XXOV`KkM^5^d)h9jR>Ul)Qdjkz0Su3#$>{{N@R+GU zNy1({;0{w2%o5wtO*7%ORW;mo?{f~P^=8+8oYR}?7jJH=RhKZZ!IwAl@=Z0i5f+@) zd0BWaR?))3ttD;2*-(oQtSQCJ{{U+67c0f8F}&b$7+aDuvoXo`00leh9SJNjm^KTK zcIWC>vUn)Bl){>MvkDy!1aoVDQT+eG$BzF?J*P+K%~-8*TGTz)%GOl%QGHuM(7ffc z&2U&}H@$k@!k2>IwUVL{teI99_P}z#RfDIrK_qww*CY(BY=L)B02gh`cyl~%?yOTj z9a42|1bqq?$Jg!IgJf9-|)U>4n7%%XpHj`Q*7jXTF7N_CnP)IjB>p|Etx zG)D+K^#wx}asX5C|IxWtRi7Itix8dk!OUbii@qimqE?LA2`VK}hNdNIHW_Yxvc*>J zKFAMs$G`2h;%VXJr&U1r>Pr5bC*x};1P*YY6oEo~58Mkb@H>8J)ZJZS|=o{|~Ym5#}y86|Xp zj5xohshG98VVrV-V7)fMqFHT@O=AgqREZ4-L-bG=G+VdSMS4BUDu-#?Uf4~HTcl7= z1V7Abp)EUWCW_Y-RaZ|tXMgy#z4-dU^YQZ8vp+w@1lL}<%b4IU+jN$R`s|(0zdI&a z*mK5;OT>*P-A}t5rqFU6D)|_a&r;E-S$=VJRAtqS>S0wh-W^bV+eB>St&48^8-Hy$ z0@C+TNr<>GRk8L*fB*0Q(QV@2-0^SuRTbOEm$(B~fs}&MBmwXsmKvyArtx;u91RC1=zV5CSU&0VH1nw7IGs z#;FrRoteOxq;k&F+J&WPza_6c3lzqLI3b^=m^CCUoix{}OY%^e=-5k^I9-q^kJaE` zTUDPHjT{Q+jr~zWIN#&8=S`E^+BKs`i5rYcJ(!q{Ed<=EF2#Kb&VIIj@pO&5F!}sU z=kChucU3OrZCttumP$Z%mE!{j;g3n3_6bCnl^OS;tK*3^_d(Nlj@dbqnghKguqq^@ z+X?zp9(cON5;)u?44L6)o?_)|KhDLzg|F6&2g1%5+zxws z+!XDZ@B&eh%{T={J3@>V(kr#6*bU4bXJKLfNz#1HNSMGJ)5IrE5Qh~&zt}?>fw;NU znFhK9a7jK$*GnC=#SgR^PSBtZk#q2Yy7t$6=;PNmxXdm|cD~`(#}y0w2u923-8G>=n}~thLD@Vy(Q^lM&*2}KLSEm&7xZ^Pk+=Sv36<^ z4gk+pPIE3DmN``p!ow_1vX#my;Yd5q6NIHU++C z-#ArONtE2i4o2F}(y4@8TZp(d27Wv%+?Kbq#Vto&8PVZeW&HD_wVobKX0V|Yy?aK0$rTZ?K$rSYiK&e!<2Q?RkslNJd zj5Lc~16GYtN3}%q0;tL^dEs$Q?(1syObNRUQdj4P#ttHERqaK(yt$;5^2_>!yA~j? zn|R?nI3{P)MCl6wEfX#?g+nUV90?u#vRWoM`XxwmNMFQb$7R5Bz{)a=4L)I`Jyf#nPJma*eTqB}|sy zAH`h~1gYJr^0FzK;5^5Q34o{@wxP*Mgov!6NJnEkKOjWGAG~NfQ&_t8#*(J*B@Vye2_g$D#6ZFzDAtV*q;%%kOH>y5{bptU2sMl!jPUl2s$uR>v*<;-I zHuVS}1kL4i$cyU^Tv~>oWi6-S7)2F8xa(cOKBf-;277*Xr;AoT9mIKh?|0?Lxp?pQ z!()s8^iSWjxuz>rLL-~^l4Z;iGcTJSvcEjYD@|ZNU!XHM>b? zF#(8FnJ_Hgw-iknAOPd18=LKw9&BEc=mACyW#=5n*~4p*{?C8skMA<2-#$t4`H%n3 z@t!|<>jj^D{`*g!ijlTQfA{bG&KJM?Zp+tz{)H9T9RnPUpf~;@j>wr}z?>3`jeBcy z=Qt+KfP_qIx|IRnNJ&Dqc)mz;pAFo$ z9T31ia@tE>QsLBy4mAd5Q>T}1PE%htL5gh%um@vr|J|c<*}Kh-$6nb%m;&Y`MNTER z#*yjtO#c?jAj!#^2K^jE(rokE~jcUlvbDY4r4HyC;Z5nGI z;Rj$Vf*3zWjfNc_ZWN1q(f@^+L&eB79K+R?#dM*SEKL8$7~ zUp=tEVX#AxG>jycp)!Qq|KQ7yU*p+1u-o!0bRgMaj=RHwb2wG~AQKJ_udYmHRk4D) zzSv^1Yyh9i*p_mrs>X-*v!okDo&h7y@wQe`fQ3D7)S@PxO`9BmE)5)=&!e8!UtHPV zE;`B|y>gUat;g$`oa9-%_>~v&V!da6bx#oAsrP*A(~r<8du<=}AAS$r;>T1Ljg<2( z?3!BY{m|yd|6@nB2Y47Z$+l>Z*mVb?(d-sHzV0D>fs{H;AH~H)-q?ZceJCJnNnRL` z06r_(0*W8N`@9SW9K`WT=37rQ09W>X7f-}reRU#UtZ$w^YA?>4p zULd5JU6gifRspbyZQu*c2!!`^6ka8bsp=;9dL~qRZJhOCkM{s%K%2j;$#tB0ylb!F z-TgnsXRur zMxgq9B|ggRy*USjNQ}dFmE%j5E(s$5tj8kM+p(-spMA)#@DrN3RAur@`^eu*l?m?| z7ct(&0wNhz%4J0G#d32V6UcUZbvH_fcJK`e9Kw~lUQX-mz zW0eALTP52GCm=0Qesqu+*Y?)qKcEluG)1dAST8^^jFA9|S38UaW?Sfo&s(j7T?LJ~ zm|*cn!RxMb@>G({RT9RPsebGh2=Jh)IBHOBHGyPX^$V{Wq`3zwQtvH6#tXj%7gH>! z+HB+NCx7<%jAdMV(JrzKe@T(&2XB4)$#s?O8v1TIRn1aNeP~vy@!4q-y?CQh$tuWd zcQZ%S>=DTY?~*oD5@g4bT!3gPVM)1Z+eCoxxw3X+FF>56N#=GTN9s#5)~F6G*MUe2m+Ijcy8Cp86^-&VzIIn4w$YYngKAk5WN&UfP% zOXS$jXw;%$)hjY#yHnRm3jn>MFYATHFis2Q;mMux^QN0Zs9JWR(k>6&#D7o!9I zU`ti%D>5i5c z5;N&o+iKfD*20X|2duZjlm`m0m4?jJ~X=oXy}5A zNHqsC(uW#MQm!#Zw#RAObT2R$CDy5xc#N;8#5KZZdO5;Y!#k5^nrHE*!J8z~w_Kvzzh zB?Ao4I4jLnNzvN`fW!h-3TmR)bcMWm!-{X8t+e@`8BqSn%6%VbtAr{#u{2dHTFqI8 zB?ak&g>B3+D#r#zAOjJVSi6)wcx5=4y}N#rkn90BeBv8MNgCbLjY-uUorngolP6r) zK*hXaM~@n$L(=K2416V@a|S;9LR94a9UwMfEX@Vd$7 zDA@g|7gD3m7rdXS*1RYU&KiNSi7<|7z{6PqoI3hkD#3a($`gPhZnoZB`4IW+ns zN!-B>o{E*#=!hz%SaXakB1}2leryDfpiccMsZQ870S-TN`=973wg#JbaD6MQZYhyi zeomB{C68v0Bm>~S8u52)KtCaGUE+qayq9zklrg#0L3?RS^BKp{A~w*s(n&E@R-){z zgfHPq{iOR)Jlf9GQE&g#qtbxt&IkzVUIBw!H85=)<0_)c2f=d zcKTnSBSbM|P0og8E*;1S>6s!8C3(24f!0<7vlJGKDm2Cg^9qq|YUTDnyX!KMk`)27 zXyje2i$44k7!Z`C!Mw2D#gLD zB!$?d?YN`gR+G2DO6o9Wfw#~&!6pv&vZUMp^015LbX&hHw!gvKo;L)*FAXnq8Y?+< z52c!+v~)nyG8%_s_8_7z7BSUO*}3Qd=P3qVI;g}9C^wY9WEXORc4%~nI*oaKuQZ5) z9!qF%|EnVx9+xVf)$9~8<-qc?$H1Yk2Wsf80>oH;{l zC`Y2nW`%gYXZ1nch;tgWkgE6vk$A@emb~c1$5a(gCZ0V2UN=0-}#UI`m?S1T`y(9&3ST}~Ar<%t2DuDp|?tqHgR0dyyB*rC8$ECHX|wJ&}G-(5Ts26*qO33@QW1b*N=0fM){ zRuov^(N$zSbU&{C8XZ>yW{&60htHord-(Xpe(=+?6v(v~?(%)ReKXnkl#{&r^wY`D zy;i)P*nQ^s?;YidrBqNfj?P;SNK#>QtI{@zme^0Q^BPwzs0`G@FR=A_0SdCp*)xZ9 zHrO6ZG|~VtHLtuawh>H_G?37sdc~cWW{$U~x#7h(U{eb60SYvV_t{LsQQR(j0o}Pl zt1d`r)}N>*^3#&I0WBnpBMHBkf+Wv_W~B->K# zn{+O69ib1c@pQH8R2{17w7c&RLj(~*2q9&Z7{ri37{ZW92uL7-Fk~Wg3~_)UaSsVe zKmmTw+WS;j?Y*nrZJ(1}Zf_rVRqbzo-~apn*Lv6UKF?b3pp3_=N(~F(UQ3A{U1brg zHp~_eT%ce$2fq_k8+x>Kju2$2^=`O&GY8~mwcC3hzjs&nw&yJC=3d{IW!W-LMa>T&d2;!)8M_y1Bm}`h*oYVD#x{eyVI4`*J3I9QMK`!ylVtFM z@Tfowa#>;C6E+FQNQFUbs#e!dc@(cI!9#&&UUf?AnCj-(c)Se>O6o=u`w3>8$^z3? zX;#e`9hsLHRp;{N@I!@I#HU@C=J*6fF6*nK5><>{Fc)#pdz!wvlETsLU8 z_)*v)fjv)6teeVeZ|_w@(t#ZV4j#n1)5f@F4h*|0YQT|}x}vRYxpq5S1fvC{)T}}T z2VmepinfaZ9YmE!S|uG}>(3U%aX~z|aSe(bLSA>9weN7VismnRv0grZ`sMX~>nk5U zfAQ*;N4xLQyPr-_pS~5I{^}jtqRzb;N3xL55x1iwV1(90EGv1Qxw0yLp-Q$nHP&%Y zIYCg>Sq-{i;mP&~w#t zRvh-kq108i1A_O{t{sHGv~7Cw==I&?RJf8EpiO8A?ypLL4jb*&M>`|RFQ}ag9#`SG z_}lLD;Fh*mF&Mng-q3ItcfT3&@rzF>nvb4+^!VBwZv}tc_xQb=;k!E-zWeMLzD7e8 zfRsjPV?nvAe4(3Ot1!Ee6hFaqsLqaKMXFm&Qgcpzj6Ek6+C>mGh2S3eSIk6$<3N*5 zXHXQ6H6kuAOt%;_)KSYi!V!^TjMGhPy6@Y$i*7yorn+!X+`HGAO!Z3wP~F~>nxUtH z9|wagnslxR2G?LJlwD1kOjDS+f}z~p>NQy+#vatXNtM*p_`<0W5<UQ68~YSD^LDX&@HvD!=V^c?FU?ak`aF$NnUhWt7E_|O zoiNE$QI55#NCvz@v>i_ZVRkck2*Of!PEuhYs}?XZh6PS<_)V?C?$fMF$~-8TGxnPb z4#;I(o3L7?UmDVX<8F>}&PoevQw<J2lp_Gy?ID}RV!^iAN}ba1;_7u?C!Jn73*c8Hvnvf z8ZGY4x5ViCU~5zWuF(*)h`I_O-4^k5CClmc3Wl^D@S8mr_Rnrn7vL`%@F zIWCVQ&J^6UqI3IQOz9;%Z9Y0Uv0}QjhA#}@&&{Y)-J7MArcSX93)&$-6DAh57wZRJQ~jOu z9JtpWXPiw@X|Nszz9^_sMb|oTJHRW@ui_n-n!)Fi6xPEGH@Q~Xi|=Qzb1O<=tMj_o zSz;+8-|VyaJqMDXuJ&V(=X$lq9eJtuJ%IO#%lBPu^r80YXI%SKu^n64UwtD&0PhU| zR&DFHG?2q~K`P2Tg{;avowIsUmGfSka$+r{XjFOYnG8c5p)IVyRTbP*Ha=tnx|LxE zcURGAm{M;PX3P@tI+49uck-TZ=jI%L^kThw_0`Aw`HK(RtGhBC8_X~;Kh`LRbf`e2 zSL5$GTZ?9}^jk;~cQd?Ikx1tdJwtIwL%~7l13k>z)_GG@RynC0IM~=GHrZ4RzA3ZU zDauA?5I!iRB=bFG_4e*Le%(RfQ_pow=%8&1PB?A&1X9K+P_C&K8agN|S_~;X{8FnQ zHDR<~rzDm&m{Z^I=xV3MwCjo~cMn-@tUNcHmYep7`c$eie!%QzmAc%gVuyl<1m4<; zM?+1tS7&0mho)u%_z_{UBJHX5Zd zV1=b-<(E_}p$60^Br|rE%7ugj7JA}aJ%v7OKgJ-wxa~^rd)(gLKj139)!phJ@cQ+i zxi2xuBCEZYS&?9Py=+RZ(>2f3wVZ9-bquSpK{ZS&MitG0bPwTAtnZ1kJzFt%9@ zR8I#Oqg3tr_*7L)ysLGj3IW?vQwq%*h4vw=e7O9s&w%3(&<2kYHIpcN>#Ewy5A9CP ztt9iZl*gXJ9>JkGn+P`(sPf7|n~;IVhx| z&JH%s9$LtuDjT8dMBM9%TK7e27;YX>o(&93IuBn+VYRHdu@Zh>e|ekN-}jK+$?M&n zy54hw-7J1e2QuJL&RBU?;NrxqBU>9#RhbJv z6;!Q#hN&6NLXDAE&0U=$Ov^0~Kh+^O=og422xy9-Uw-#zVE-m<*Jlv1EjtF=j9MF@ z7S-?%hISg47+YpnO_>Frfp}d#{Q`t~+I&ndqDIHraoKje0b2vMYE}=flc*9vVjk!e zuB=;aGgRgwwp*>R0pzGYmFkM614#sTboP^`tZ#Kz`1v0^ecs#c zrV95xboZ$%5K7#=U0yeAQ1aZAuQ)eVB*G;ZgEa5$B-ri{))FgTs;O8|S$=yvv{9sH z-@`c_JS&${&3^{GT0warlfuwhW)&3J%v!EWcQ8XGx^I}xec#SIYn}g+_2}87FF$(n z=*6Sw{OiL<`uWveJJjlos4WnaVmsOO%b{#cM;NGZlRDCghiQ->J_bUa3zBn6>S=E`lY3a1#fll>_|6t#xeY(oE5D;*lCRl`R5AiMpU6p zQQN#eqqNqBZsD=KQM0|9WwP%3cHTMb->ELT+J_%^&vn`+DFr82#UsADpX z+4Ty(hZ-&vjqD*da1EqO1=$g+T}`DMz`bO(cLETp&8AeAa=w&*U?YUFL>|G|syvkl zn0Q|;{A$0u!{8fpecvq`A38{WwjCtzyN~O8-Bxyd&(}`RJ_NbPqaV9#9dG5eRi;6W zG`QJ06jRrg)1pr@nVjD|PzSZZ?sp?x-Rtf9# z<^iFAzbqXZ6uz+Q{4brlYm9o@Jt_?+Cgc-e=N8Uk$0Yr4H!v|+cd7>7oC-RyJQ-c? zO%3T2Odzd=hSy1it6{0kP&A?BrD%|;G%nNbf`!k$eE#u^u^xZeZWWNY@6r2ueYn!i zQ<3j{>-A3|Q{Nrj-m+*^PY1Wq{_rh_irv*4R4;e0(vD~;k?7&Jj&+l|-Bs4O$zHi* zRw*XvWA$rLexYI(@%go+Vp)1S*=|^Eu~!C%PZq0&c{ioTec#R}rt`Tky?8P|SU=comiefHQEEeC&1Gh&OS^T<7lF zN9D@DgsYYn44qfVMeG@&ywgxMP!%@Jc=A|tQ+36z?ckl8c5<7%u$LlZSXH0D)t+jG zA;EV0klP;D3eKy=qQ%a~#8EPrDz30Hz!+~eDZTI8xw*wS+S8{mpS-%0KA2?;)`IJh zqEX;k%SyEe(~uoIsj`h_LZ$YeRMV`ekU?YpEB&y-P~EbD^8QMkd{OY=3{KY978J?kGo{nG2A zicg=n`S{sa$79^*e)7SsqKfxCknfD6u(vV*-gxy>=%+XEX{NJ4l-&{_!C|O@;8b70 z2{^}Y#r%MF$XnE=skR2S)t%NJjcL{?k{#1@5RuV~DpL|RgQtoqIBZp|bBtmD8eATD z)uqGS5``Z(4d|Y4=e7s=a6KLE@5Xx+0Rw!(rHg3wyJFBJbX z+Eo=)jw@@bn*vWcdBHk}jp)6qQZv)AK=?^?rvwP3Cb2A%gKY2DEfBey1LCSnT zz@iX`2H#`s4X&zt9T9Yl%PFX?EvzUh<}TW_pe-}Dpb&V7OE)1{Y%0i}lS=AMZGLQ( z(&UHKmBoE(`PyY$!NBe4jE={$>kN0zZFs%z&)njqKnxXp?|hHCe8QVbRP$kHgXJsW zM@N|Zwp5hUci9@hVc46hBow5La`AMSJEwL!pe~~XP_9M!Lmar8f~p{dsu?+L*VN_J ztg`sazjgX0OxSnZP8laUGGmRdjCC&U^(JPoD>$ty)sq|QMc9Yx5_d*c!6i&m@sM3d z4qb&JR`IBFm8ExCX?9BecdBb^iYiP-m4-`Qh0>yi@bYh;AbqQ<`+h0r!9=uw<^k~u zLmi!>vnPsZWprEFO>)nwnR3n(m#<6efNq$f;v#G8yw47Rnh$k#Nd&jmYE`W-^|eTj z#WyJnTBE1%qnknc_k24y?EE{gGd&*f7tcSuD{dQ#8dV1oEgsOzJ$L1E=QO+uxD=y3 zl;x7*$s~a^X`!>!RHCsk-FBjtkiIdhl7+UAn%%t>^^LBXF!Q1I8q4KntiQ2S_*7RP4N6<=D1S{rw92HaOGEzw>L}gHYgy z$mGvDGWk0{Z6=Hz1`KOj<$)PjlB%|_+%v}MRe;+sfb5)M*iG@_YstK@u^;8Q{`{yl7+}z4}y>I{f?oFSY$%pqmZg*$K zr|UhRw|5EOc=f%@w(1!*3vf0su35?4>Pp}YP93M) z)>iRBl#v3FfZEV-X%kI6*7RMH!T4#Qkx6?tjz5H+N+${cX}#$i?;FQ&Qk|#k%j?;# zx@-45W_R13zjKG$e`-6_pT6w{CLyf_5!^NvM#tK%-dGdv2ORW`02!)@5SHoAtFwv0 zeZg%8Af%nB2#G?Kpj#nRz`n}*cY{w;dVX6xdyGi7%PUAxY_3GW&gx;y%SyEQg=O?JlyaWhRR z+So*J6^;z7h>|x9!z@32PF#KVo7F+ys!)Ce-pzxOdmg`gjjm95D_%rp@RDP(sBKeI z_4Q#{_$w)_B~EAah(^l@-C8p%ww^k}Flh$B*{ZTVSt_b9MVSfDwMO+?fh)7-nn1*; z8ir!~r)q*K-?$lb`FD>}yyvR+?{$&=@x%R5d(t3yl+K52G62bQbvATWZLT; z(z`O&-h+a|5A}^7>Ki}QH@@fk#&~~Z@$?Bt9lD^E)ppuZs42wmqezZ4b*`>cRSebj z#@UdaLB~W9MQqvbu~h{M3IR+FuX0^bOT&7In68OS)p-+3A_SJssk%zV-vDL#ippv1+EWwj?SG9qi@T?%OgtdwbOf*(jUmb@- z#cIM(!@OD48EmD=WHHGqFqunNUD%#((46o1@X50$AGMda(v9wW*xubu*xuPq*uJMV z_(l$~t8XE4Lg`}&<&w=@8|5RtVY=6$5%h1XdphcBPBmw93al*P`M~4anYKz)*@2)5 zwyCGeMiZ-&o=;|BMSiWmeNxjApksnPLH!#SU-g zZq>%cteDjrDyzIpOlpFV67;#@=Fj;8?@svUdN!{V&7{K=t7eGYUKqnHRc(a#CRd#z z{xIQr!~A~fC*ettpFZi2pFDf{>cz(&a<{jVK<{}J-@V^(yZ_G{ul~$=_I-1P%fI(t zblCp)PcJ0ANXa^PS$;T=6&Mh!Cnh^M&5fmW-?#HRAMAUdoZOKHZ}0H> zr;onG&!6Omy@cz35oZ4(zrU*yt{>UM@0_|0Ri}o$@WY^;5_dfLf`|0=nQ$ubiWbn1XY!&qu)Sn?J zan!g~@h3qYbDLODb`Yd8=Y}d|`wl1{y?o)Bes_B{xKA0I`ZOEU>?ZM=%HWzU} zxY(k`vor6&3Q=naSCvVrJ@o+913r25toB79v1hKfGD{mK>yg(+#{rB8#PM6h-{1Er z-tF(>bp*S;RfpVttN8n$&07|_yCm-C-zXfM~m*QqLImIXi`SDwpx z?VwpSc}@kd64jIqae~tr$3c{?cs}i9446+k^+RH)BaYMbL+6)jA~)|iDbLsSa9*F3 z-#3%GnbUsHw{z$Ge)~u5#mhUrNh}ICk&M)7ku6T4(j%<46j#eK)&^|S2C-@yjffLe z9H_%I)nm?Vw-KR=F&_9xE8j5{gN#C*63vi85269_EhO_t!rElMI9hb@0IeIp;-7%K2uymG2}6rDct98-ykA*X;N$2oOH zYEQ@?c<}aVQu;ps*~Hr?ZKpfsbEttyQK}EH+M{ZZS+)FG+RqwZHHuY#I;nFq^n_Vs zF?A0Q&#kJ=pYO0>UmD6rEp0<}y;+6f)CGfAWQ7W=F_B&g2~pLp%&jP+`|e13r_=v? zKYIG{2Tz_|xBq_p>iI{H75(w_ar^Q1{?_ZCf<|CCS;m=F zS;`t=tnAe|1;wK@CL|pCt>WvV-)7+x9V0O^!vK2&@R2yaC3v2L8LQ}s1T1ut6Q z?)CJ%R!9!`YSeX%g)NS6E83~W%YSfpWw`f1FZ^tlFU9lK%xx3sY4r$J1Jh=h0Jw5j z!vG~KnA*DP)qtCerC1b@#f|uRQi!)vKA1NUFu0x7L5w=Pd6$IiEMFCdFjYOD%wj%E zQ7@>ZY=-L-*YAGw#P#vRsq4e3>ohA z?;iZ!yZv2gC*i6foF~S~Ux1{N@Z2sz!OX~v)}2~|;8hg2&J#3s`enH-J)T#bO!R`K z0X~Q7l{Mbg<8Z}QGvA=vFTu1WD^Op-DY=q+VPtM~vI;wy7`jIiZ(HUJTJC&DloC@b zajTT$tVoBr^Tau}qTmRpzayBc9nTuoc+9A8`cUNFYzogr#8qv?DHa)z6GH@7#+zAA~>}`Mdk+b)M_0GBd)Bmr8@r_feY<)Mt%IAv%N7BNU60cDCBT^n_w`i{6B zzd}wnOa+iP$K+ze-fnHk`@Ha5gVi|wjOrlKSkboo?rvt(XdPmLq0|TK=&GB`K&trMkW4bKk|AY0&)i@;g`PKo3WS$&;ixOWqMFO zY;bnPU`%16>y7>HUv^TuKPffy<}}={>3_fDc%L=>5#t(pJF_;FrzrvR_5n)5Gpc%& ziPk%{PDZGDg?UcQyqONHZLol6tA4WRl9trA#wnX`tBG!11}bB4b+}8_pJ!nqd_6X? zReLk3M8?fClY73M8z*MJ{Ox|KIvM*4|NfX)o;-Sb*C`p;Xt5cyTyGgyQL2K)O#mNu z*aiTytE9^9@lSvx@$2C6m4Ia_)2KAC3TF8V-O`4)>J=Ht;ernG^r|9Th7AsvI`Er* zW}~BleA=Y;yQ;L_(K`%OI|XU0GB$U!C3qpTPHw@#wc9R$p7UxSsiT7hd^^5R8y{)~ z9*Wg~;h%j2%43^Fee+z$;V1Q#F${tUYot<*0tJFodp&&OX8GUB(7)f?xw90+%V+JQ zmtTB-SBAdXhlW6NGtN6%6UUd^-14h&NqCln=S5LGAs;=wCo`v{u=ZYK1M3fy&< zD=SoAe5-oM!lAHKR9Jh(3iY(LcYI3>U^O?vS1I?=I~ZCi3L#LU+bXkKzL&4qY6cc_ z9;yV*DqJ-x1HPreDon*RmfgxWcAZSaTiV3`Tb*kGB6o7mzx!=r^`)23`S+_APo8~n z%j4YlaQ-;qU?TLVH2CjB2{6dd^0kTZM*pJK!oC)rL!fhq>u3L=L3fIr0zHjm)Qz zvf>KLs!6S!Ln$HJY-)wsrwq(#99&d+?RUibmQS$hLDfE}+6PtpplaWxYEgqe!}w>J zA)8`VDDu?V-s+Lm_FC98H)V~jY6i+8wW$Orq6dasweo68Zs;o2vrV#Y<3XW)V`I2& z&RyNa;?;Fh<&6h33Q0>Uv<`aTWTyrf%bq*2F~qY*9Ne1TEWaYepv0vzKuGw_L*^Wt^(y-taFn(#7OkoVTeTq- z_&H##+qF_EX0ixayd~b;;5ZxKUMHcdI$f1Y4_um}Ze&V@&laDsn^B?BHOg{P_7Yh1 zD(nQUNPS{iHaBIA^lW#ZJccv!3c?2-HiN|_udEFZ+)+=qvW(5p*WL*Pzv2e#=wDjn z?6ALj{PLq0tIgZ-!S_3;4~*l1aXc`N2gdQhI35_sd&fA`Mx62YqpFviiC(pr^yr0A zw+rbUT`^5=aGI3YQZpfyr*3UIz}aY3wRLhPRkwAyg>bJyvBtA1_fuW*)at1Xuq)`u zyeLg9skg{W0&9hVsa9wKLxybf43nQ}(+RVc;=E(2L1F2ED$4REXq}6Rzr(~-_ z?clmqnUH<6=7}P6a0UfAza9AAQ&lV+6M>JOJJ_ti!C14ZB5ieC_SI)45WB6Cfwi16 zm`R;e@D3%JtWLPytCb^2y4yBR&EN14@Quw}7P;A`8iT2A1;kFH_6w%;!8i_=0~0c_T*g6B z+Asj*IDqU{EZOMM?BXGl+fAJovgsqOl$9^X3RIQBWYirv&Q_SMXtwpS-0JX*lU3Ar zER1j6+fKzAl~shEBIhN3~nH?*rUp0<}SAAj_M_q}*^S9-!d59wQcruvKMr1FBEW zN7V?>^tEHih&?4Q8N2FGo<( zJ;9sB#hU3gs~e2k0)@tR`mNpk5~WdVaaMJQIV{bqqZB zJ{UnJg4+)@ zs*^QlmLe`#lZ8AFb#UXcsAZL%UU|MYsntODt{HKU?!n}5q{iE`k3U>5o{YyY*GKJc zzH!fE`g6JR&CdnS;R>dUPg}Uhh+m6%O%n!iISM>9M%xQ^ z@j`f{>3LvKi$^nRz1*y-Mzx}bwdzS4Mo3VUXgW)>EH{er_%^@aSwY`?(vjtXbv&?+ z2iEbxI^M-Pvg2{oXM`n@(ayN8(&EB-GmK-gxB%*C@Xla1BMr>OsLh3eYMOJUzVV7Z zBz@Kxmf8$p;@$=vmm^ild$$8VR24L0%xZey5K+<3GH*6mGHw_Ld1(0B(Gy<51%vY( z9ynyN^k|&H>BiuCvc1>f64F1YZo(P>KNex24-O#BY8t)Nz{C!dW1CCG8XR5-T*)qj z&(j8@(nIP|U-gi80>Q6-n{_;W{=t*co<43bUq1QZnffig-tV}z=YQYB`}HcTKQNF7 z2J*l_9vH|219@N|_nEOdz2B{Cc=P9`SxZYDU-rJ~x+F`&7|Dm-5?huCcNs|^7BW<2A>p%$0a<#6vc zk^%JlSeQY@QOBu9ISg>`Q9Hs@$&1`#^>)|jc!0P!cO!)5n^{De)!p#h-Klj7i>z}C zf{_qIRMbK!RxX^m27EsOf={ZLVH&TLo%wA2IKFq?EL zd)HSyjm&tAg3YoJhQkNK9evDdlQpKpi#DgS8zrg*7P!Dr`c~X-tbCK9n7wQ$BpJf@Y>C`_ASHW)CDl~5(7U3ms^RdZRl*U zAT!QJ)kUzaC7?pK=|oC+M(E zu`bUjz+i3|;dg(qUOoP(jUQvi9&2^qGQ)cwzB|wL%$-(f-eW5?>a40JO3pQ0uc`(b z;mw*0xQX3M!nC9srRuX@)KRVSPmgEnL*+@cs@$>0@$Vt+j1OSxVj%c8)!q!U7{(PJ zKE25dYE@4!u3t;89NKyi!0!S-v#MqRL!$MZ8AIq*6gA!w)FBr6+dOV|=azmY&uOtlHsNZ4nIV%~}B*m?P z5T@c>2j89{{`HjYFlvIGoUQn@h~OJ4nGIzeBQvKcuxbr6SR2uso0*Y=CgpS--4(Q@CTc=vA8n{|tCSHMo6R*Vfwc%zCUdK#kMkvrX0 zgg5je=Z&7{Rb(A%s;b=gh)$VGC00ayN5Tz*Cfu6=KnP7m8fytMnNvH2UQMpiUfLq^ zini6L05Lc_hI4IKF2C>GMaO0kk7|uuJIEqW6o9LkjkT=*ZU*ALl!+PO^iXP=aD{mp z%p=9ca<_0hEN=A1T_ptqm&%8jT<3SSzGIowr`2>|%51k};|vHCbF(J%ec#TV+ZxwG z_>O&zg7&IGh4{2VG1XwpKx9>029(Ccd@?6ztD!{T34W>Iu8nwX1kT(%4!0e=cDvj( zoz;s>%P1a?=;w-7&Bt~Yt=hM~oY6;!av0MdJyC=Cz3A(#zqg%0kjwVtn4 zf<1efT1cZ!7J(bsNe#O>g&{VU3|_*gw7lA8TYPyNb%xf~bgUt!$EP-$Dh}A;)rO~} zg7WEgXd&V^)H0}^`~_B9%c}?H0V5Vx1IghyWvI&e<@f)ZANY<>+v~OhuZ0Y`tk&~M zeX7%`R-N-$HmOy6@i|6qA!IDZROf)%5RsW$@f#jIjY+1}ZYm2mXXg|}H%EZB*w9#j zsJgrut;It{bsUCxgRdTKcvEjEkS_KrcUglFcth_NWZt*15W>T#7&aA%K$7GLga)XFhXAkN|xtspE0GsW<)(#KXt8 zs&C%+n7v8({c1Uz67j zKRG^^c|{o>iJvBa>i7D0;njqXuKdeie`fOj%Kr@4Oni&uy5n5K@ws_^j{I-)@6M}% zcj~?Rd7p1=d@gXse7ViJG32_A_8)jI>Ec?y~jEfV#<8`i6sFAs*Q%;whsO=K;>PNRa1my)nDcEx9q!4 zS5OoU@ydnZCuQ3;Oi>S%sKjKLASy^*UcgL<+qPkxawyr&(B;`{43OE8WO_i-h!ZWf z(f^ovoCQ?k_ff45;x-n3G;uHyuiXda2-ko4i$A1oq1yKx3oMJq@X#Xhs#g=&^Nhx{ar6V{z!e)UOpbrpFV$a`Aa|a`M>LWKl{dSeo~iyD=(kN(A-tm zf*5!fCB}_01PYzAL*;drow@LX+MA;3@S|1kdx8(@b23=zcvYTZHKXvmq4>HiH|NIA zQoAG6#%#%9gv`qwieuL@8?gS zKL7E@FV=kWVvSd~PRj3l_};|Tf8!Re3gs;SD+i6{K^!5LFg6{8EC-hi$TIj_2prCz z9R#xnd-X2IyM^Y%oDH<%$r7#BTg_Sc;`HDQp<+uFcdq7hzzx4;dNmRRHGMC@+ zgP;G-YcRWd;dlPv4Gb$jcxMs7j^#D?+G()_ExK3Pw!x&mp*bONGw4HjO@slrs9*r* z1G*AYV0ijg4N`6!Eax{%Cl(8r=X!Oc=~;pz4H)C0Z3hFk)G?W_ThTyKHBVjF873@y z8&qq{jo}4~EYkfPHxy>L7IYl&&#V>?Fz|g&9V~IYkg&E&Rcr)Gz~h8UU{u{Ky}K4$ zhtbOlhPHHg=*2BMh}udwFzgq!@%+WJ$6tE+m0NMf_dITIZM@uOh3%~Ne7KVSEe_|e zSA06J?APca918qCoWF&1{$QOsh$bAm;%njHl0Ue%&K1`A4tqGFJIH3QF-yP82aohG zp=LjSk81=fM=7?$2JJP{wQGzNgWU(!=E13S?x-Kk)U}0@`=Ho77?;lzxbwMw{rA_< zD_-+I_ZBOB@E4y>3V*?IN9kOnsrgtkl)6!I-fWdqKqM*ho@bgp}m>{4 z6@2-_4?lkP7Zie?{t`8I{0P}j;_P~>_NYLu2hbemOd6|Ye(_+YYlIX zrf%2#PS~@S|Ka(HB=oD`)RW{9`M(yRQ5NX09p-qt`V1^EKEsCH; z#R+%Yu>!G*RH1{YM69|k?Pji^TV%dldDz4&p--$$Msd+4EzjhCIbsN8LvDopW(pJC{(`RIy_{N zFOd$f+954>kE&DVG!icc@oUo*x8WGop$4seEJnsmKOoc{7cvq$KDW!i^6TD*Y5G@x z-8YHnzwjE*uYls!uMq<15gc)XvZvNa=2&3_L2rpbWJo41J@t`6Jxwk_b{Meyng; zINf;_j5-|Os=W@yDFf4E???!z%r?M(zg*-C?2O zaLIB|U4M^jjJ-lae{eY*L|=!qUU6M}P`V$CH|LY~FkpLrTGuRi9+VHqdzizk?e#bM z!?X9{-s^Y;bNqlkEV*AJx%Ls}Vch0;hI+oSAFOxh9`|`iIM>_f?|$vA^7*N~f!^+} zp2VMf5^UWd2ud*h-(Hg9{e9{UAcAPO3oR%eEo|E9m<(Ux zfN!k!)TKc6XMX8{TJ^c^j;9%yf2xV6VX$4X_XX*R-Lq1Y8j-*3m=n^FBRT3Tq~2JdAU75R_LX^v&bfWr<)9hcwK zzDeBt4t{v9mSmTIrhWbweFCDNy!M;hjok#8I({J5?(vvQ9YYjKh8))uE`{^C>FO|R zSCp}DMsepr5yRn^@@K6_I|FUVWo@T_*0(puwYW zH^bS2cx}*LD0(L;?miF9XirAJDGnb*1bL9$%0C(|;egam#d~eOySh*OArqqjkUSki z-S9=G%3AkIVWBYa;U)BHYr>Vqu$h^v*kSJc6JGrDpO071f9%Pt8?{P5YW&$=t<#9* z7A?N#q5S%%PU(7wVIR!9(&SgWitRAwE2ImD2e<3}PJejuxW=h)-cb*Cy*ja)hn24L zS~({`>oDAS_E+b@@o}zfuDNl!K5rg}g|~ys^Kj>N5b$abp&vv|2Qlrz`g-s^AB+x% zGso9EsOwy>9&T>0cSy_GA1&vO%;EK4!_{hUX;s#I`Q>TgekEui!JNn8S8JFOhLQIXv!}MfsOd^N zPbWRilEHtaJvywr4md5W>hhn(ANcmWeayX2(;xT^qK=TMnFA<&^s$X$e)Rd=VT$WqK| zb?s9t8@*%Qwn@3mXG2Fa@glFJ|Z4L9>vrw!a)@TFCRj5W&`?X@BZ8seho zr1ZX|^Y*~pV`D@6|7JNJSTAbVRgL7csXCmUNTzHVC>(K6f6#5T>BJYPM3uIen|gpY z;5L>SZ|+n##Sk$?(uoOd&T|_#_;i5xqFLO;J!BILQwzQ#2*GbC`iv!x5Frm`D8ver zL_{ioPp8VQ@aaBs>(wt4&tA4FQ!_oK2Nkr;CHkJ5eTQ%Po@?LoV*R5ZD{AoR^IP!@ z_dSpgp5+_!ET2U0hC5?=Kb3ffdxxx_aPMO5_kL@C{JlWaKk@0H>7TlZra;#Ut;CWy zWH9g`)fhM|9=Edc3toFy?Y)CNjXOb&O#~V&Qb(A$)-d-hc-n+CN1ugiRnmVeEy?;d zSE-;No^&hxZZdr4IaLK6Iz;w%S z=fH}9(ZLVUPxyF;6r4IYn|{GMIufz?s>CFeo<+DJ0(2r*6<7sBcO5#CLkjOe)4%66 zngXQ^^heLNjs4+z^~LA&)<*Vy59tH0eq*?r4==x~`lI`_BGd03ybfc(cdqU~l?--4Qjk~%`osk%X0 zZm)7q+LG}qn>LVMIjRYZ8+q*R6w!Fn`07+>z2jP?g%Ps_>++mBS)1u*WjVWyk_D~l zb=asnn+t$ro)j59x=+(bj9~`ovQM}E`}4XIP4r6)8w@^ z=vzp9c4vkdn(28WI5KiFVanlFa_dJgo`3k{r7{cm(mc!F{6 zrW}8=&o!?0#TC7>ujAhCV#xMRhHO8xs5F3}Gg*1q?iHapg9>bToUjMA+*V!^+Rnyt zw%jVXCKKJoq@05{QCO=~>7tB^f*twl;@GXlfU;VqTa|Oblx=V-FteA!A)zX=4%aV# zbxOxA;9cculmL+c-O8%L4*7bc(nl+;5sfPli>AoljAAVS5$MR0TZlRzP@W*(N?BPr zwgpuRXxl2wTD1(Sn}c^pJEIPjBd7E4cxNCezH?% z?-SHAI35oRtk?$MHx<|_mrzmnN=Zv*jly+s0<)!5;))8InYb9muyHr|EH$X?aWK*o zpujxvu3@cDIO?}O`^q(tefwNr7FoRkU-vz3Z=K2gt~+DX`Za^Ahs9m3@N~@<$2sM? ziu}5YkT8cY#&go<&goh`Jg}TknuCAg@XdA@;Z?>$y^g%-hx3ke7S|4!%;!_(nm^|2 zIJT=S1b+~#9qhTvO~{8$=7U@NT>Xm0hHFf{;+OvXHXn8x4|fjdTII0ja=36l*L)Md z((B4eZ=K71*Nxx&%o%A~Dx_u`+CkX>(jV0tj8f%YGmbY7GvQrI>0iyLJPe$#Dp}G> zli){P+|H>i4Zu^k&V2D!syAWAC~z$Pfb+zGr}XLoFMWe$&0=G%mp|=J@sa@;<+}W^ z-lPdk+JU;st)lmog`WoKV$!g7=cwLlI-1j2H;fN+h0?00T5Kw4Q}DEM^;V$S6?qXv z4j~5v4H;N;rA=j%=cRmd+t=mK=q_^QS)iVK?F^^?^YPZge-cj_9a0L)U>Mu>gQ zqJW{0y23pgiVKR8vzoLxSV$_}B-Ru+PB1u6-<<&1#28sHz=TeSGA0B?W8#{qAa&rx&oMj>yX;Hd75^J z_$*^D%TSr2v<^l0kEX`A$~W^c)S$fAcKLI z!-RuJ@*`X68Z$RsKv(;nvWhJ(w87U!WH$d5HSF6Ed^E1Fb?35q3+7>lwgmBMRW0@+ z6L$H-$DzWgcXcS?(Uq16lSfFe3}zynafr$mK_uft?E+-1S`&AV2v}wEio?9yNRU^H(#XvN@`RR;%~QU5OgCeVPo} zERLsS1(#;=mNC^Ax7HiTKRZf1D~K4Cgm=fbY}KAHnyPvDosLWxHpT+Ml=vJvRD_So#m2!9+4knoXWf z!Oj_&W`QtyeiTMW6*;n1{AG=^V5T7$gKhE&6dtP}jLTniKk(gm^Bxyw#1vJ;fFT;% z3HH$Rsw#$&+fl`u=CiiBLq7>bd73zz66CiMnmQCoskog1QNxDjBID9f#-|=p2a4$VVlgVawoWYYD#%azjglC`d(qZU#w({%q*x zm^|J+z$9TUN;*gmeLLf=X5t+>fJDI$BX-B4-^s zt)kk%7I+QtZo882xg7{=6Mc#3^bN*?#06@DO)Ea$!HQ>@N|9T-tuSs#wZC&bfBE4P zJllS9`yAt*NAByZv9S3ix&qg6^t_+-F{nI5=vTzQjl(YHD4>`dm}OIPVeHfB09vhHYdcjO`7fzpfQcvGs5j*r#_VF=y_nYPHeHAf zb#lp;efjG`Zm#1SzNe_F6}AU~T6r0z)`8ZoLc-xaU7H`QnttS8gDZ5K!-S9-lT>|w z*8%_E5g$@~#|(9Xp7%lsI%qre8%tDXdpzMo-Q=OFj;3FJ+mBoqh(iOG*5M5*VDBPE z-BgBhCm^#1v%1PzszAuD2GU-A;z8hlHPlcHL_c{vEkrFz&UhuRM7U2-ExWX!I69Zl zh?9jU@hC>O3kxlD9`EuuG!`Zr_!Enb8&jczws__o1K$^lxUScm_qKHsvmWWIEbqJQx~uTtAg37!;M?g+?O` zyIL8;ixFDI;!+dtvYUW6+n{E(4Gd(;_T_hInktWs$7#u`DyT`h!(T8;uHHOOdGUzZ zVR^7?=P_5MN&rI6Ss4YSS1_vVa~N<^UuAribEvt5r}rqcB-2PG4J6x~iVSKv(a9uO zpZ4W<{>V4!#XfhO*eT?2`Imm=^S}7oslD;)zx*RN6udS@R5=7+QJC%!SOahcv}VFg zogLh(_F9#^ptBHsJTe6Qt`GvJ&t@NOV0@2TmhgzkZq_2}%OrJL-o{{;4A<~5$GIGf zSj`h7O2YrF4XeHHfqU?6-3-z(*clZQG$=x>%vyKnt<14XqRdUFHx zo(Jqr^nBR=d@uGt)!^AF1WhMzyW|d+olqu>&DEqWq7E)$k2p*4YW6$^2D_PX2);8) zNasZ?LiveRsThg1Dz>I0m<5xF1x;*qI&k^VgP;n8wtR_O@OX<2 zW*l;@0kyeQ@yBDKs!<^2Qd(4;9+E}v2WG0O5H(fQKXO6a5H`lok!P?4dsT*cgS9M` z+vQU;sUTHRAPpCW^+RpkxCFm!*A)UILQ@vx%lv9hA9x^i{N%|KiMu#p?tR-}%kr-@&U+tqMzQmCH*pjT#4}* zgiU5GrX2AZK{13UkL$+tT#g^Gcbalrn&Fa$u)K+0y5p09{lM_p3jZ75RGb>kd=#23S=4qS_e<&dmkgATfNG(s+1|j zd$Qg_Rc$Q0?Bx&ZF6Op8Chk{V*LK%FHuAT2%-ibJO}@W4glPAB@>xuK8*R@Tt27Mf zR79bmq)~3j+pf6Oq~h!dZo?cmN$`xzs->!Awkir5c(cM^OX%(LU!66gcwDs7VhO6H zM{!9T0DUm7Spn+E;;pjCG07opG=GFuoJbJod@kCr=W{LuhYe<{iXe%vP!Ud)U)(Jq zU>PwL#MUXt#4XA1DTTD9%YS|Bf|Z6D<3iygAVtKpA_@SlGMD<7Y9oV%k)^*KD;VeL z6 z<}eRsFmP73<{di&FL1G#iG(H#1I!W#s?uVbp`(t|w(^d_709Nu4897YRCOyUDD43n zD64$%%?%+QEwhM=RcgVEYJ-EI^_TzVj75VUXtU2Y7^h0u^E^#O`FY7WW`3PEeDFmT z?(EnWH{7L+pd^K5wdbhK8OtQtDJ5)T!~CY_l1AyQiX_@XQ)MpztC@wOLNe3x&dYy$ zP%ADsvd*6vG8L5EIV>q`;7+V2R+R>1V9gvsrHqwO+pQu>xr5x zD~!xjRS$E*@={G2ZGa1w%ld)G)@@WB(<<(e+fd??77Y|gyDT1T0EPj5>|J@szJ%nL zHU9G7hm)dId@w3d!(@QIOx#k3XJZ%z=6EVR3Nttr;FaOgwA-6!ncXkkm0_Y=)n*#j zn^f$EDTgKw1gcTlyxv%2X%=w9H>VRloK2T*Wg(_|`J>?^BRfTk`Wg4yd?GejJzgu8 z06|}>7N*5e;+QP_1WI6+;Bt<-n!06dW-;-Ecrljg%6K1?lP}WGxMfUZs_rSbD>f<_ z5K~sQ3v6ZW%O5*iYhD#?lJci_!VYV#I;-jn?BH$@Bo4gK8GvMfF8{|DG!|hiK+o%RhR=W} zR>@+V;eF6emZ$lr5S{O-iB1$dcL7g4C3N7eXf z;3;ZLAmeW827N^J(nexviodx0$*a3)IH#tE0E?Vrfm={rjl9&cK>^H5;fhEq?q^GI ztG$DXC`kbHQIO)#gv~PYOceF<@^sLq^a(46e?GyEN71PaT$1 z)k4kSGsXY`98bX;fkXwdD1=h2NK|J@UfZkX$!?NQPK{4ycL5W{!SPMtnes;b5g{wnM2yh2vijIYmZAqht9_6l( zu{i#T7=YLTh0|BeRA;mq@h?``ZM(8<*5a6O>H!+0uA^MbK*C5C9NZennuQ!F_RE+7 zKQfBmYO!Aa^zkEE8{E@lS~}ccYRgg(!`4E|qKeoxxKiXjtQ)2Vu7wFtRQBK<&=p(p zoyeA=5CP3UtO97@RqiJiOi>L(fVnNo=MbqC!oVAJcGvyo&*&}&PNgTEg}_HG)7LDn zJ?WG^s)dyoV6bdwGAwsiv!BLnm9Tz=k0AaxC2suzmmKnfTE7%rlg2)3AmI}*24l&Ka+J&6>l`elSybtjhfAtHe zAT~Nl{kc?Y7T|0u-I2F)z!*%#D6XR|b*Ufn_dDqf1Rul5L81m=gHzz9tN8ZD3b8}j z&^fZKIP8J%gHt8Ohxb^(2%T$ny1Ay|Rxf`(ybmW?e@$ZnH^cX>1QcbyQ{SW3M@qT# zs$_1WDpIm0ArbH89fDBNay=aQTDPR8LStB0t$k$>=szbxV zMMQbyBWe^z32L!2%Z3eP&5e8oZbnt^RmU4<0`E0Oc>r*o#R@om4p=KF&j<@sq`N#G zZV#Z(Zm4{^Q8z@L=9_f+zrJwFyKW`I>)fym)jP~cXR$3D+1Bw~R-JitDJnIp6cbAp z{S*(d*nFCD=rBxNP&UaX~_KM!lB1;ZQth53) z%Is$qLu;HnGtAiWE_qO+2ygV><*$F?DrHH~0tH0aVUAG&om1|(8%(CF79~MpP#u`5;;kq}IQdlVPT+2dx9EcF>D|) zqb<(QtC1UbsxRwQGL0DxQ+@3xPKQ6dSkmf-75 z7(=Jb%iw|1+_Apaa+~TxIbcplBIdc|}oUI5hkgQ>0uAr7vaR81v79uBIjk zs`REFt}IQ{VzpUlBMPk-bH&*J898 zJ9LlJDSe+3(>6?}@L`-Vc7P8!4Q`h*KXod)GA4mBoC42Xnpu5rkThL(YLu~tff&fl z<$n%8@DJa8rinSKb~$zoV^!gPmIic8+#Xa7j6jl;1?BKDuy58jpdq-e+8$IVV2_$S z?PgGq@Si%g$FfY+ZjYjv3zF9q2k(}>#!-2`1p5GkmcRV1V=UV0ReGxWv8fW{MsecU zur-z`&H>q~J}KlDPK9iDZN-RnVB{Fjta#7p&0 z+a4e&H}5UPG$|?sS~r^>a+u3M_Ujc&bnAR~eEx?YJ$v+(N8f+`e0(yWUOf8o>mJTu zIp=McfBe@!8o%=G_wCaaMLAF}`ONEg{*%1(SAD%J>faw;z4tfq-hbfj_dY%E`uP0& z>WYsaeQ;j6{L{SqSO3)S{*a$v@|(+VzWx5Idr;Qdo9}=5=*y4Bqsu?b`~RVLU;k_O z{rZmnIX>}y-`FQ!-_<{V`!jFe)!U!BzO#RU&xD`qdp^0Vt30J^lAR`V#N_fp5EN z1+$UD+A&XA{e}@~yX&+ABo^I4S?HVr^;G0Nx34-U!MCdS0|alY?yrLU)Y1W@Q)Bd` z+Pjud)h0?aFIHwc^JG7A$FlqGPqxrX4Yn za!nvupfrui;_FRW8VmSAHr7y(o33aGth#@A4W^nss?X`P<{T)ZiC1Yy1XflPCh8;N z&S!JV3htl1c}@2{a$i68+njj5tNujw)Q>3F9gXbq?pHnA?5P$J52v`QHQ!IX;gw%+ zCl2ucXYWm)ZqKf}zWV|k$`(#=i~C3A zy|SE&vGHtU0XAcpl1ed}Aq-(~0(i#8jt!N9gkVhUU?X{C2#_$?CZF#<=SqE_d%LBM zy8Ikm*Rpi)JoI6=B9VX&NALowAVRxFSI~#LcdSVgu?qtuO=Vi^Nmvk+i9o0DkoVr@}npI#vKl0-j350))bWDFsO5 z`31b;&AI?3+FF-8pf9bMVvAxv_2@~tvVb*6du)|+0?2|YDcQ(Z>=#zWTD}B_svQ!J z%*nyk)2f_*-<7_cm0?nJ_le&It`;qbGU?0`y>4K&8!q-!?!I*Y!9DkwcfI9FdwuVE zRs`_d?>x+}mmlgEJ=J{ilxLm5vr@oWiDq8Zy3X2!;{1E6p2?Kaasd(gQ3rrDm- zY)@*okBpn`hf9aRhp(3Xbbt9X?*E;aUQ^@Z>BFvEa2NmWcTXt0edoH9Fa4m#{*8E1 zK(Jf?EA4lt{kihlkM`A0kM(wX)vIqpO+bKm!(ck>LK3Eq9U5{q;COt9=q{!R*XHI< z+@8v>1TuH_Om~ODst4WB1>HjLTL9df53=234cC>tQ(AMnsY|et0|%p24X@ikkl{Fe z*z3MfTGi4wQoB2gOS8IK=orWu>R^XUf+fUaaffoh1~1~IVrP}H4lq={LhP$ZN7X6+ z8uy6hgPw}BhwgP#j+cu?S?CLEWp$~#aNTe=bNa|01xEm4Gka0vx}-#A6;vs86@EE& zxx@#7n5D4oXKQvGUMm*nGIgT z>wxZ=4L}zluWpILe)@5ZLLtvKmFp6feW+%jt4Wwuxr){8qCZ`!FJ-Lg`lTjpCkxkl z8Q?7Oj-`Z@rXZ;EfH3w39Nt%e2rrJLMu#j~&*RuBY>-#BjI`NjF{hvK&%NczK7Iye zEfm9vVLvFMv}{y=v!Uc^uTsAnzdM`%herrY5FkaPz z##`K|2{}qg4o2Rk6(c~3YY84!h(Rds)t z*M8)4ZuoaxPvUs@(T4gOy3|ZjL~to1u3$`HvjMlWRic$UCjluKB7cbjFl-3X1A*g# zS5t1aV$%bZnH>*y3DoK4?#!+9Ms~U&Ff)Ojfqvfb@9JB3bi=%+Cchn|9;Hea9Zk+# zQYo=^WCqyjHWZXE8iK8GoSMQdH=zC?mu+%5}SMZ{WsnGZO`2!QToT#h0nS^XI)LRJ#^k4&~65M zX4mVZ3UXmH*R>hyA%6azo&0LM$6pxyO%ar;`g8T;AmpOxb4 z?yQ)0cSUmPP$dU zXi-zl1&n!=X1Zxz)fq=JY*Mc@1DC{80#uq`ElSX9Flu!QfCx#wtew8j$Z)pOk_bI^ zUB(!C1hG~Hhnk||$&S>3rw4QN`j@}{8X~b@ueso)$xa*bvct{Xm|OAsVxa^<@}nSt ztRTK(ouKh1f1rp)cf)dafgH*RffKM=>hXgs40#2WHaUhjaU6bG2pVfI!JD8tLh=!TF;h+`DmGzVTT1@w6BMQt=1l`I545t*YkVom#I!#Al zf8kZ|MF4_smD?mDy!*y>Wh=AALLQJIR=z3!bVMgvywle`ze`qaP<_1`eXAN#F$pD` zK|a}ofgLy1>j6i#TCv#CqiK06>lKXM2xk_Vwcu>AHU+>=lvp~v31185JcdfKN_JC% z6cS&>!hub)i1s{vy++ZD8$l?p2LpCXYK_5mZG9-l(dG3S=g3*|**4qWJ)22oddyCm z5e%RpDBfO~+9nSmS(8GXF0c}2Gpq7#i*OI7ZWTF^T;T3URu#nQw`&wjkpY%uW+25> zdPiZ;EZ`~6b>mPt2#=EZW<{4fJu7@Pj8RoX1x0wRPuDev&XVeHs!9{pT6!>PDh`qu z4VxRLW(s2hPqHWR^W%v5^gH&7lxm7HgF1i~1XC33=r3{uUb zgOY>PY#}qn)>}-~5hP>2B#*6pr@)k}r$XkVH7%@Z%ba?)f565RJgbB#IUZB(OgQ;f zSA&OAhYh?z_Zr^W>=b`eVV%-gjXC`;jUp*3GGNO!sbab*>TNm7sSe4XPYjB0`X)|Q zUWZTokgdikQu`GUe^ZhyPz?w$y37k$kae?T4Df4Uu5D33Av$g8q3btes@mczv#g$e z_w(0aP=C+!YL@qjW57H8vpWc&-MPg`md;U&;=GE_cz^e^^ zc_07!^3GV-_f_S0TtO#j{UP=;4SSeMxV%)7iHhO$A-`~caPs*3Vss9L-CZTT*V9A+lz zd=~776^|53Q}UP6pXG!xeL2Ctt&F4E(yRJRdA2Y?a{%)>Ul<)|Q;zM5pu zb?i!d67jLv)#cSUA>$e-FA?^%>tsq5_Dz+bV2K!iB(RnkCVmsVBQ z>UIM|hMR+6C$TN#ymV8PWTJd?{6yYam#%k3Jr3-q1R21GpfM zOr~(y@a-!c1!rItg9pRUW>4RyC9F8DF!yz#N@3yjT zAhM|oLXShhpBr^C8Vcv+{tnp57fenLD~6#0A%$QF79x@INaW2069us%}dnBOJ0-h4bWd$VsEU{ zdW)3SR3rdK1lF9s^_|y{1N756BRGs>Wss}$U{!U7;0tg#0=TC}rE%-9R27aIw$o7K z5~+;3b3FirqG#;1!iyn-*qO2zrJW2bWj)Lh1N%W0PxgR3ak8YC!T3Qepv-mpws&4b zCeqKOYq*yC&}N=kIWpK_f-CkRpIyPZ*M7g{I;ru|W; zE^TXA6Q5}L+MN0fTNq3ZzFI=ALp8y%h9iN;7oQ7V?@V4XRk{5NXw13Paw1iuRv^&t zLm^J1?0L>3hPX#aia-6G9T#zNn0N?lTXnE$@UL#CPEJ$L|IjfbYBsPE1_I+5#eG3d z&gH=zKpfY=_AE_GSkyaz;UL9;X_ zMl}1wv5x>-3|#8l*22O@1et*KVF8D#_l0S4gC;7~;`F~?38H?jI)_`wvLF83Ye117 z`P^$bI6wNi*Klxt>~o)3+x&^)x1apnoA~XgKKDt`>>q#bbD#34=uLHyI-@=s?BB)O z7A4(a{>-rIq6Y0X)$%P4==M^YMy~3*thrm=@*cq(pwNQbSfdyv4g}WDpGBP@lDdBQ z(pth%Dd!}sSH_|Hv^C2OXx7xDttxX~rT87bWK`T4Yhg{6T#A`i5_v}-zIk>-S-f?n z*n^5IIKrVii}|j`lvKTms>}zP&7d}bYHn2(0O%2zRC4#uL;Mw@QRA7L#UXFKTmqcS zL!N!*-hA-jrN@EUZBOFU+kj6Dm(`0N=_56$pZcm--vqts+csuD^S0O02)K2h^RJ%2 zh6(!D&%eQ3!5fD4r=NdVUw5bf+POO-sILFPoo9E?fcLXAU%K;d{`Jc43GjgbytMCR z`)5Av0MPgEJlX@GN_l<^aiO1TG;8l0^1j%zLWQ#Jh7cR$ow*QwFSlybIO z@?`bNnq86kzLXqSY_>q>L(c-XLI*H|b#=opsab7Hxhk4&ZtAlDuv!@EI;pO!4vb|n zmR(u&F{uY&v;zd~Q!co~$TM;6>U!D0RjV3xPU0H?y|7mxzj1gqqg2BtH(lDHPk;wz zdAbZPV5{|GEvH1#IoAz4{Hrc@_@(!~^76e0&)%E&U%tx$e)eOY?Xlhfw>+Oux$-Ay zll>E`3;df|U2sg_Qc|g0u_@SL)1hQ2pX;I98TFu3*GzE2YE!*JOU6Jh_%ejpHCRcA zRkp?}&mI#AZi@;8O^Fa>jNsVzGW(<)CR^?5>Q&fm#7dfe`W|x)hHvx3;?(GAmm43f;=u9g>X-GlNY73pKdYf__4d>VPpti3a z)@^N4?|56mJWE}=V1InQvU{p#9Z_X?sEjY1eHsw!U~Vm6$U|dRwL|rlsh_@AD+0@` zVt-MjGGZkB^e~j9*6tA3!7m)Dim1a@A^Qb=42G{*gHLKExK$$@MlSi`)Pq$u`C(ws zn41b0D!ojWN!_^AO}b+*{GtAkx|E%#@7rA2Ib5lcuXKt?Ff(nyJd7#}R$P2HR=rBg zVCZ^kRFGg)eY$9ES5sn;Yqo2PlNVLG8!*cEDiXFbJ%c?K*lPv2CCox#09BJRP2*4hxIr>y6D;g7s=hAAL8cKlH*iAjv=c z!Znz(Kk~vgnDsyU!W)bm+`zNn@WP#*9?dU&6xF`M-#@T>TdDWiOL*;9cBbKjJEuSK z!i_?i#AcDe2nR;JFXmONwQ=W^H95bdbDg7J1HNauw$t^qms-m zJ96bAIW;gBXGNFoT~cILduA9V`%4KXV*7)dbEX?G_O`dk4H)~GkK`0y(Ckg*dfQX@ zv|i>DM6S{nbUUW-2zGtTBd>q*==HX5E6`ak3f|4LXLcD*lrdOf zhq0w9_r0i_R#btk0Xjsr5Uqf*U=cG4T zKb`*4&KK%FOnG|gqNwT)%rV9V62gk{vGE63AcHam~Zzz!{tYG)0BDRF2)bT;8? z-Qm?FJ9fw}_^cgkfK!d6E2fWG6QS-mZDrTh2Ol!2!i(ljaRQip<(&BLx4Cao$K2h!2)q5Cm^xLvRuch8w5&y=tr%G3k+3>CyhW%k9a#&-;& z=P3a#ullO)TOWX})d#Nwsh5S6gUyx;YmHc)nm2b$mfT07@Wj^&Dhn zCGVhurf7`tpBhU`J>joh54Qr$saz^GwTE*)s%@^C2l0hLSVvc@ZKIAPQi4#!d3Ems zsxsGVP|K-NsjCip1ED3sd~9+AS_8c$BqgmD0B?;_H!RLI-BlP4J~*q*b^5ECi>!W# zEilo$^E^8cC+LQ&62Ga^+rmBJM$~VAGNr(GmsEgTIP&uty76R%z4WQP8dVKNnT=F8 zaY9BdYmI7|EI9p`QK~MS>J_|diCDqYH(dp*`R1!&HQ%C9+`3}Gx1Q|NS?Q>=}WIZ=a+9H2x+O>$Pjb^~Z!l~%w|hat?BA|vc?QwFCLgaYr-otekT zV>M<|Jp|l{lg}o?dQ_b!clx$HiY#3!CNgci#8|V!Fw818gM(8c3srqfp!TusEB`~1 zZVl(cn+wJg`~qv?lOS>`%fcIB!NSg!cS^`LP?{w*1a_CCtAvXV<4XdRoxXkhks);| zM&e@KdBq28-8$2uOAC$&%!1WB{VX}Da&ho=R+n<7EyhrtyOzqnvf7Hxph9;JS>qQ& zvTW06*OG8vpIRq)A75DdFAfOj{pmZ*HDm(+^}Rc9yEFWEnrmSG-+vX%|L?#3xnF&y zw>SUj`D@62{qXbG0Es_x6*pNw`urPY{=fV;JeG0zwo4}GPdtA!F7T7je*y`hKlS{L zd;+1*;4w0i;7rwnD?*7fbU<|jO$N710fa*ZUMQdrtL6|z!r{OG&b2tJ2?5KGRmQi4 zt)Yd5QbCD?^Olivh>Dx%l!~y);EpsvAFS|=0Kj3`H>!a5YJJ6~mf(;S6e=qaKxth{ zLUqXm#IE||AxO{C0lHNoe{=_Yg9xy%G7pgOrcqByX`OPE3KV8YABx|@*v8gj7ejq* zG6(wRJ=R+v4FJ4WKEZ8I;?sPBPb>luFPQ_6-d(-w)t?vn1XqxjbNXNQJsxlvo(l^Z z(u?B+g4y^)fJ6xDy4hEwW%VUFeU*?3KLP zI_NWi77Va(>v06T`~21=T~=GRHrks1n(s=EgvB3WsV3UyND4@>O0A-t}v~n4q5RTBmum1#eP^OSE_=1 zUQ(Ux@A43JV1H1K-xKf^TY@*pMCsVJ@!HB)6~=X9RF?1gJMzF&S7Hzi;3 z!ZjF?uYBQ+)#=>npY__eGpDb4;SFXXoqjXF@!5|)@v--OE$?~m_3nf|&S!k+g&P$> zitR~z>%mEYKX^3-xTxA`ygb$vtGSGitL9ZC6>p`#s2ED~YN6^J8%LRL zLn0|~2ea(y_gBU5Kp0;2Js4uVpivuC-FjM3i^mk>;IjJhHw93G(WsmvOvg}=4A)|% z+Zfe|TX!@AAE*Xd(M9V6Ru$NU#fGd!aEUsJ*}UUEV+CEguG1gTD1;c)m9j!&Mumbk z#|KZ{ai$&JF&tI!je4Nvx+HM9ItV0k#$@EvW2_GvsGPsnZ9DP_Vf?l{#t$0 zobnS3V9OqnRrHlbF;@Mcuum~5IJd=aJOD=lur7@Y-Ia|6rf_^wCwXbOWFHAIsR#}R zsl+%X&^y)Yz3HCGgB`Y(Di%szMJ30}Hah*=SA;u;!Z=B7ZE*WiqJ}#MzG`*_R}Xek z&@L%03+Mp`)&2pzD3qxVWX3?Jn-v=d+9k)P5{AMmAL_7$Db}X9sbdbKuCh20K+U1n zt_z=k`sr8RSgtR=_MxWNS=~z>Z9VjA|L&Eo_4aD7_&V?YO`rELH{wqJMeo_~e{koS zPveER$=v_C_uRjv{vM^^Th!~gNe?FJ{wDU~fbasny21lR0dYFV6{HC$2F@KyG=-~o zPCch{D4wn)#-SttwG|A7y;#^eJO*ItDi2-><8egQ2r3xKRI#Er<-dv_;9ON;>5V;e zwCV`!VBuKCTBHZ5Ygj36{kZurJu_`WvYJ#RY4+n%$h5t2{LH|8f+T;w;i;$lit%LH3<_0fw; ziINl`S37j&iB$&C*8!XIP3z8oyEUmx2pK9X$yAV#q%(!@B{|_CrPx3?$dYzx#UR@v z&@c0(O9&UE&$uI3dO!UUE4o>1R}bwhdEu;!6ON2gN5IgNXwsTB?}XAhlv2Oj{^8by z+y(?r6>%70HXzKRB>axbhd`t;*XahNQ)1cJQ8^L}U{$0t$p3My@O`I0YIj3IXs=3; zoP$KSa;1HCz@g2l0cOd z_i`~0Q#^(r!!qE9aB-y_;?_N+&l&ycs@J_rZ_{y9OWd5#2IXA`NlEuq@Z)Lu(;wF; zM&lnt3EWoq>cMS+>grhTL(fZ!{Z>{wNPBz*!R6s37^RM@7>R?AT)K?%8Hdw>@=;L) zrI3k#15^&>fvcraf%M0=V#S#!wO~DJIDLagf!poSz?qd-xizSn+u`~Apmtz9fbXF; zl>!$4bwG;0#`e)|5I9mw8JiA@elQ|0h2hw?8j`NBrY@#bV_DU`$?3)r-^aoZb-Ov# zzQ)zSGW64*&?syw>eQmvud`>}ler@wmVK(0qVNco(dz=ZMq!>fRS<#oRMSY$1Rc9T zlsDjvo1A=5e9LaF1>nU{pM5od(%#=a{kjqYSZp;JKa4;9$vqeBUceqUHnFr;?I78j z9XuIy18xC8O6sv39?POuZ)e0Ng9{Re5agoPePA(8ZZJyR$wOT_vH7?U-J&JfH=F(# zx{+){F?@9!)d5h8=+mFlD8Q=CL}-ptAAjwd+<`-q5z{SkRsi2;zbn=`p&)2TmGp~w z8PtLeP+9=LX`_M#UR~b6e#$NcZiTXgAqo+wA$|-TVD>ua#NaMrYVGu=_wKAUs#mAw zZTLeKODk3`5D)Ps9T@mRf*S{8M1qsAh9CVBNKu})U@04^)3 zN4@X+&_S{4>{`M9iZ(?yk{ZTGX?Uu2Cmz(bJxN_E{&3Lz#ZVoCv;xj)HP>0l#$k&rS~~c_ zROm8JMIWbEuYHLH9HA{EFg+kQMK|>|FriklIUaoav-TS9!N2h}`!C&kwfJ9s;Tkr} zUwh$`&=dNW7oJp={jDEOqwb&jzB|%|eYa5J>(vW-Ym2H+)DawaC~Yi`eU^TynvEU9 zs;RQXJK*q56-}7QY8J+G9h?=lBFgN}k$Ay(>ifsd!tor`@8l?S=xp1}Pw*eBuIP#1O zyS~(&gWcqnx)T)~#-@gYPsWIOC7-IOy248ieF094zgf5aA3V7K?2}?@w>@i5V`^_G zre?S9z~eEs%j<7K?^aL+*xJet0Br>LU7058Hf#VHkBEzt>@(ZW%mb^Y4&4oqApyB? zc;I$i;GxXU*5z1ML_)oYbHN!GCrjBYwpl_}yr-Bg%2&>JMD_H~-?pP!($?d=B;R^4 z;0i!pnhIR4s@n$->@_(0DJ4wMHoT%oC6VIMz0QS^cFu??LZX3#1|*|eMQ4YEhwws& z$3wLUj1M3L=})GjG&y7WYNx-pBYT`b8^nXh9Nj>k99ENY%fAoM4IISlx`gw#Br4W{ zlo{CTaqE^NE6L4Lfl-IZP;;3B7Nx1JAX+!6t;rcU#Gku*YVOpuQg!E~%8AoA)hme1 zpZ?aqb=U1Ezv4lV0$wdh7|k4jtC%qq2|uMvTTBM{@^F0dSd}PkfRzjMWdd}`g@akv zMQBhHQQy>^REem@HAUz_b0xyX;8sIvkyR$oif#z37FRb9LoB3Y+nUjd}Ro*3)T~w14M-pgTRu{64n9kOx_!J zJE_7lcZ}ibTQrKylW>M`)C%MP(E^D~Mtke8$|loqeOo543CD~IQ4@+zuV2t`Rcdw?=F!>93R*!|oL0yV z!*PS(c!|l3s><)vx7BON*!=0wy9Nk!#>>hkhpARw&FTrbYiXRS@$bT#7SRNyz&CBh zrps}KWh~oF(&#)hhb?^zMC}s}3%+G|IX4&yTaCkZDEb2P%IX0nRcmZ^IQL*}%%(A*l%k9|N zs%)5bz$UBY5i=az*?{Q`2E#TajwG!=&K?j5PWcskE+XErd4NNWDrRGMt0h5QYGy8x zL5aEGeTTJJCAAdyYw99R{Yn;omx)tsst?A&F~O6~A{80HP5vP3A!13Ol+~T)Ww+49O{($bbo&0)n9&iUvn1$_+LwersXTbiE0bc52YB1~2}= z77vNXB;B}Hl{q9e?4G8dzUJOFfYIN4?;70w*WOb|=#AW>e!6Zu4|wfM@Y-?b^jpu} zkJ?tzy?f``I}h(ePrvQnGoSVwEuu6ON0{_c;xtf9W^UFWg> zo_mk!{ycpCyZFx&M*iRM8^7Z5JgZmD-0!{j+%J20i~Q*iw&KsjXZE)|AugmUv5w2$ z`p1b4u25xQhkC%8z=5(T3g-+HqI(E9VPK!Lc>v6r%EV=0j-HS z<*zvS;#6FU%>+Ir3_)Cq7ULgp#D#DTY8wSKSzuZNq7QvwrShSB74Li-Z04nuQ#FCg zsw!%j16;6Ec$IU)r(?D_7s`_bQ3pP!nW2k|ImMT;-YH8PH)E3ugxFXM7P|i+v`dIHJnVvA6LLN)P981 zH|Z|m0IcWXr4x5Zd05I97O$sUNrhJCJS=FUg2md@wU=T?0E(FNQmOS$yw+`NhuSPq zVeRZ^6=#J|GX_l&rUGQleJfax+StT^8n}~Mv7NqIqX4$e2nd#PY^zxUg@=l}RGm3( z@C~%W_)_tpgI3@`2hKPv6_=A+@Zk2~S42VfW%kY(166>2;8xK%ohlIg0rrChnF1LA zvt{1Ila74)mVHO0n$HM}N>Xa+qd^v``g(0)<24(UG8fgSD=@;*H~6umRXkcM01#c{ zCy>;X_8-0zGy?HO;lgb&+a+4xgzy<`SO0+t zF~fW)qyc%e5-XACj{Wp)`+hxxwUz{z8yMs0e9O%G2fx3M+S`H5yNOD|=`DJUt+k+I zbqi2~0jof~Zc$AJVe0<0opt*JjH?gIqnG*$$O#%JQUJ#QE7~p-xaR3!C~A2K>1pGE zHZ<=N8Z9}iB$roM61W|d!bPcBiZP4ml)@wU#t`!b{Q&zPuy8nTkQ6!q(@E*OK@^J` z5GozJB?A;6Qb>nxfYmr}SWtiZ4$VcA7EHo<=w@M7mEQ9O0d4@7pbP=dj4}ZOz6G3F zR3KhWjKEyQQA4h5ULcS_dQkuLsXYRetxSzH6-Sa*i7+m-%tDZhme?;L(b@g!+cgSZ zma{v}RE9~BJ{Kzq7xXH{4%*ea7K9wLhHR>#hXW$vCAue7DhN0-(hQBnO^Pr#^wigEh+(kR%A04UcClI|vz- zGlGL;Z>T^V8>2(O?h*UtFiQqWvB#-R0n1?S3I+@}=49`VqIeYE`jGl=P}2vt*X-`} zoqH71AtIaV14^_9P_bE9YycTPQ=N91EB!3C-#-Xe>@qzePJ$T%l}aFufTZ z&IF8R`Z&R=gkkH1q-%S2ycIzjOe&O7sR109(|6fxh!_5iE4ta<1tLjF4qlxMl&{M< z>`4hk(_uRE!ggCY76{E1s4*)G&q+(;V)2bq0mRAm6%^NqO2)tm8c{m@pjWfKq-y`s zBrV{pn&WxX49x5F-8=8XKoQyKiWaDKi!=v3Y*$(8m?;bY&PKxD-W}?$617`9M&7iv zYtq$GB*{S*7V-cCP9w3$6jt9I^{}*xlkqQyGh1-_P}7hcf|Q%q>3i&RpZ(-`p_EKH z)Y=5BGsk%C0vqUS*6hTt4$gLWh)nDctYoh8%wxd;>#)jpQdT3|+Uv+lV3tjONC!%? z1x-*F#H%tCV7>k`a{j_ejd85RItHfFr5s{2BmUl?Lb$Z8k`T_GE5LdSNjQF=*&12jj)jP!r@`dDmDyiXjfG9^* zR#Mk(Gsqq=mXr?|!DXdk^RS<6H%Pim3JK#aM(ZkKH>ZEM=K_GHjw~?^r_wB@1oV7L%y$4q~HQg|Zi>uMz5nHXSA`338;Ee9L zp$v_+8HeQM3I@)ee$zXyAujYK@3;n2_NDKTn8F*0LVU(=fERxd2JyCCucR8K(^tIX zk=H-Cb#!6kU&-sg@=+#!evg>@M}PaPUhiEWeb!gM<4LiEuX)FFpL&DIKg=F~=F`SY z_aD5CpZ&V`+-H2}pYk_8^(8*(!JTLRvxo0^_ELz?MBJNj*g5v^y!Fv1szU37{Oy_l z@T0%iKlmE&oO{%-dgr|VzWvT$ar2#zjOa6NjEG<9zxL*Dd@Sbi%8qF0HC2w?Wd@)5 zr5}C5gM01$_g{JG?o?L%Th5wM$Hc;zcCg!A0l+tmIi7%nDzTbg3)nIQu!bb{nhUc4 z^{{CeNU6d{>F%*-0WYe)Fx@0zSu=qXfiDboi)5>nQFqFwgLV|D-hkQE0OY1H!EGxQ zeq7C{on`dw2Ohk1_x@wLQMWvmAEy_#+c5*T|5W@S-&uE#9S5i%jd|o9Q&_xq+$p@C zcAR4HFGVcoj&}4NMdk-Ik= zF8!msPlAmfzI#)#si-IMF|h|WDRBelqbQ3u)UM=UHe>Npr!E{l3$tKb4w2*x(_RXn zO}`G!vMwFlQX@pw2d$LUqw8?9BzAdMq;=WDsDVgWrDdyfh#SD@w$0ba1xCN{iJ0iN zXYnZ}x*klltjoExl2f_2maT<_@G;sB!u3%(i&r|rq& z8#8!OEfImtttkkfn7*X4yVh}#Lr^*j8G?Z-Y>~k#J)QRsNMvXKXZ1V?LA^(TV@p+- zhY@IE3XeS6P+p~)l-Sc>dHXdW_P_h~=l-KB#fSgoDz@xDz5B_jtNru457pH!aAzd- z%sO)7(3Ydc=H_CJ*_paQ0t03Rav2(jz%m(OWDdA)z`gApm)<}ogt)$c@~dx5s!-}WoAt;z>1+uE1? zIkK{Y=l7kd823+qPI=?4vy>lvuMi2KEJWz#Y;wsn7j>QR*?SL`c3nu)rN%y8Y8Pnp zPE-eu3rS9I7pm_%HC0&5GUNDm``?gL$q)|9P zeaw8AS5sL?DD>2+C94wepus+=Lj(ZW&Vu1}3b_o>N9Ul23@4VPYKH|T%kT2K;zUyB zRA#SVRuVMO41G5yJ24k69LvPaZ0LxezDw-&*7ZLA;d`%vvHkFSufd^x=qhv_uI66h zHF)E#qn{67#b)`)dq0V;8bAKtCxM}#c<)Vd!Xf>?G1h>saFlA%T{jyFOE{FUbEwmk zq%IG36{j?2J%_@#Y3D(Cuet4bCrGRIrNhx4Cd zM>kUnejb3K+n&*n!!YyajB_)>WAm`Os}9osn=nk?oX%|axHiU#n<*X}O^p4%V^=PS zu^pGn1@YFrpQDkdWZ>&9nx%sY8PT1UaZGKocFYLR1V_g_z z+DPfx^$}&)O!$p{>P9+q|K^#I>QnN5UfGoxcK>hqxsIYgMMF=~(DkCBr#NKekpJWD zN}_y!Fom=NZrG@#?I*2EeWyOT?!TR}$J%(qZIlr=vWS^N|}SO~G5wCzvjH`+(^k@JxOB6ZE;ohY67OC+?tK2FGYgyhDS7{FUAW()%I@VcUAI@g`tv0Z zI~i5kf~38AlB>cCGREd?pc*`k~r#$042T^u1S+d;I-xf9_MB>`$UfG~_BOb8RpQ zF=Z#6V*bab1JcK_gO63UM#|7KH8syt+R&8`^THvVOPcdAmcX?365)dta@Zvx3FR^1 zAv@HZh@J3+0j?stA7ELkGxR<-UBV&+H1OkZFP8PRz$0m)8V@Zrxv19CE$bt$Q03E%Vs+O}e^{fi zNyTzAN{sqwDv&Hpf>jqSGq5-^I;ypdqpF~kuQQn*1D|#l_1KT5SgK@lp~|9|?6Zvlt?kCc8S@94ddUYI_WNTkM!( z)s!DhfQ5nKB=*Y@)G(j9Vi7Th9BY5x^@;tJB}M1^Q8_bpp8n*E*Wg_K)Qiu3<{QGF zpK?k6`ZF&+^PgUT)JyMs<>h-1p1n8kzkC-by!-Z?{_Km-{HoXZ`KzGopL_9{&wh<} zeQ+MHwEo`HpMUZ7)R6zj7jNdJ{e>5wdFGK@PKtf&X^SfjUTZw#HP44yi&02$3)No}M|at%GbKCbJo= z$x@e;Stkdl;f}G@EbXdJ?Kw-ZtzhwWs4>0j=RH=E#6iJcEe;q|>*jsOExY-f!a|tt z54`(v>E+v$S>XWo~pQbZPx0kp;+Hr&PUBWpp?b!DXen$ZOM%m|HQEek= zzj^!GxV&%P-!=oV8_Cbj1k(PLbB0{l_*_rO8?(0^X*e!<8Ry%Muu;0%PYjoCRc3RD zV>67n$9cx>=O{?tIdNr=x$Mu&d#vX>62CK0-2RP^VRR1?cl-Y0)foL%uf7R48izDY zRmHm0dBE*%$*bdxs`s!*$QMv3;fG-DhoS&Up)w$ig`itCK%E1$Gn!L3B0tphQvxAY zJx172>|=n?FxEx2KT*HJ#J(#&*))!E`dRy0Idfh4oF1|d{B%VK#HeNdjJ~OReN$t7 zpk7uhXrr0}&cp6t8PuN9R(zAKJq1bhOt$D)4JS~H8Xke+)Fs+RhAs6J>#H~~SVzX) zb6|r#{qQ?>577fBIMtiY7`}ARUA;k;;wUNMn%&~`6fH37d% zy&;W$g_%{JR9RKZegKD|OOt5T1w`%(GOtb%UQM1HfG(VVMUv9YHwf9)}(I=$AfwW#7-9 zV;{$kiu7&G+U2I!Z0j4hH9aoTkz>bP$NubdZ@puW>6|H-w-vQJK76*IeaC$3j)A0Y z_uGzv*zFtjep!ab@`qvio)DBf%>agk*W3luc>DG zGz#-H3iC7y^E3+cGz#-H3iIz>6eg)vr&KF2bXe7a&ueuA*joULCvUwv$s4wDT^sUR zOpvynbWYTfUUGuF`==V#dexa6eQ-!JJgwmIB1b@S#q1bogoV#q7eIKe@&vCh@>^nmvZ_Iye zp5S+v?R=?1JZEv#9oIQ`$v#Ir&TOFU2uRwD!tLLyJNDu)5t+Ghd)}{~KQ~=^X`l00 z&o{Gk^M$q}D`hi{bC2(}@&Ebtym`Wz_l(Ue+-4YlvkJe*-7k@z^Zn^ft+sqq<@qg- zy#C2E2K*Zc3){!$%*m-z%Bsp-N~C_K)mC;GMyw##FexPGs$U-Gm9i8@Mv29<9YKxW z6zQK?46zLt~v%cHJ9y10t`hY#-4`8nG^kZ8A3g>hP8KSpO(nga)<*0zC9 z5Xe^h5G6E4P~zz)G>Ti77W&COid&Z!dTS#^U=r?$ z>QU{%=Rkis39(EMD| zMpE*J*hf5lsYY?@TIgS;YjM zYOe}_kRd@*smmONBq5kI)lL{*V$_}lggUnm3aj-oSgcuUTeGVn{|Kiqf3O=9@teE3 z_+rU9ZR*$vXsci+W-KL+*Ouj02O_nPZHjJzexrK(cE>&kZxt4kz2w=pmI?RA91x8H zo{JEwI<4dMDxS~4fpl(&$S_n_Pd~Nw4Dm{8XVC-Z3;50qTRuujYBul~Rt5Xem0?}k z#$Aw6$=5+GvT;o^K`=_dFMMLg4ij1GC}V-%N#3iQ<<))CA413hj}8VehdSS?b@1sc zG#7`$vM{RyqXq?)E;?vba%fNyE2|g{u73ba{dC8y%#zdoR+zh#AgMqgFL=4xawsiH zapcl1j$Yxl9gO6QVOu%i0mxuHTZoO5ltfui|5$SotJ;TPKzj*LNvBvPn-o6}CxD{H zG?>@L!Y?TS$%aXdgQ><+tBK7F%Dy`y)~`sBam=zCPA;_zUJ^i*9<}Z4JN1mhRWvC} zDtk|@*-!tp?q<&p3skU-eQ{nPP`)-uFAhQDlK4l?j!EcJeU-S|fvv?H*N~di&5qL9 zVdmXzwymA8wtj7}DPWV`(J<_hMTUQ6oC;rsrw>K`T{5SCw*3g$r9k2#Z z=mtKq1&&&j4D}Q}58lX@M~YmAJVsFk)03|_cq93!RZstXkAlg|nQ03#sZAFKKT8u+$^xpiXdSc_AS4P=@zS$uo&5pX&& zB%jrdt)(*ikhF7Cx-2w1gkrVR+%Ad{(U$~4RP9$v>e9{DXEJ1mONHj9y3aEJ%}80{ z^#5*qaoZ}a|7x#D*V)J|9m5uBAQ%s_!|k!MW(qh(9NW<(JIDh?fO3;>%Ipxy1BL~9 zsS<+j_-r*g8p`Rl&Ec!|4KkLygex(1DC@xv41(XxLUP&X>1;eV1iR6 zca2No*tL$oQ?Gi9&pG{@^C%SR00gLkQ(j{zeq(zFA!<@8k=MP|Ip0mtj&#cWV10cRC8i-eVAa81Z0CIzToL&8 zQ3Z1f3}89DmtLo8yC5|turCfZ09&W8(I|kOAsgLEub~bX@5r#UAH)2lG^NL z3v6L|8Dec5mZGO?KDK1mklhEHVLNhE7kvN_h$yJnqE1ubl&res__ks!2mw;xPyh7o z8|C1@65AjAt_ZEg9s@H5*6dJlUXfS`Mei;ESC=e%_V^*5%;`B4YE$+#yW5P7dzd}| zgi*ns)|LsVUBY6)#k#d9v>nFCL6-7Jr+@bL=gO0BFtDcT-T|?}V@Jt~K~(XVGDs8L z1OCJt$U8{5ni}B8K%CL3^aaLd_5Fuhd1KJA-GBm#kG9C}_tIU)(E;{{ z1XAQK_|B)V)iO1O|Je^%;e#DiaNkU+42pxq;!KUMaFWEGRDsy66UaA4MR!0ixNhr4 z`m6Ghm?!3&$&&mbn<1#Tp(r2ch3SZzUHG6>QWn5))#EsQ=)oJiufNkj>tns-^|uFi zUb?gR@4R#G&gr*3xYK{lquuyl=iOiT;Kqf%E+{zCs;-o>q=!>>sf1!gMwMzM2dyV5 zcE!y4V7@K(4BX8QRb7!3B^)fW@)PV{=j7@ZER};F@H99(+@?WE6ycXbsRWH-%N#J+ zUB3~STl{wL8Hksd`-NGMa1MLICS9HBx<||>YZI=5Q^!LnsRYjsSj&)hjx@%sVtiOq zb=K2ePLQ@`mpxPcK-BHJXL+(FzYr%zN#It zW%w`r7BNA^!3M zdqql}GAh^*87#Ba2VuF2?0KQ=w1b_34p1tied3t@j(>&1cz`9CN@7eU9w57s)Y))= zKA`7eX1;iah4F1*zw86io}DEzfbT5II{kwO*T7_c@WC}OnIGD?nMq}!8Bnb3KLFcN zu2#Ius0zJ9GtZjJk-Q7{XG|E z46r*7Fz1kFJ9EtUuBQ(@cLmpArysZq#QLSb{<*haDPsMHSAkf6_)SHuAAUoK^&=le ztath^dZ_yR%%}0fmYtSX(pmHwW2VO3&_m0Vviw7;j6udZh^tE|jXekhp0Gq{a$^hH zI@oApQn$Mv&Pv(oHW_`s?h{5Mse1+(fck3a^YI z9BUYdRU;z7M8{HjP+?EA9mOOZYOD!kn^-L+nBeKG?&Wg9A>ylKBH7wgU#GG?0GLU! zH3j^G1Sv;Sf9S=YW|y{!<2}N z7WGR7LAX5c+&%ZKeEn!=$A?`6?4#WU-tx%npFFM|OG$PBOqi3dp%S=L_Jy5LoSiPY zoi2?hZkXU9V-HTM=1>nL2#w^uic`*5X!TIbi4?J*SV)J>!gj-mjII^HbyfP(tJmDE z;_kDvjZc4Z`zidbWW&?sgB^G-M21zRwb{L*z`iK8e<(5puI58{7{|jXcdj#W-~@O!(95hc1UF6}`k>5kDaz`TV5$p7X^bIo zLKI5}dSzX-7$bd*BPl>xp@*D?o~0_?D%fFxm4b%F_dRso$*J%X#Z>|p5EQ4Uw$w`= z2eL3Yf(7rA3TQfxaQZDDe60%Ir3=L@dEeMn3;~*{>T(9|#H#e5NVJg-8;rM9|Jo1mesR_Z+he`f?>xJ+ z)cafde&yHQc@M8%T-BjWR=y~JSjb!7uer?R!-T>i$y5*-yh3uE>d)c5Rj4r>vwP1s zpRhi4ckyxVY5@L4o1_rCVXBY^`w%7#x>tJ8ZzQwdF zGl~7K&Ln+gC@|3I$ZWIF9%e)R!UIZo_u{aA*?&3jzB2DUtfkoEi0kEh?|ZDE;n>+01MMF{dzsezdi`(7CHqS`usdnjDfB)!~#QVoc?;DWlpDyMJye6dVd zl~L6<=UiY@jp=|7|wthpfSQp*4gFyLWjlYU~ z$J3wR7(#hWM?aRbgJY9KX;p$r$v8UjK+mkY#azv8F>|H)}xu}^o_Y$p{7TAq7`n&zx+Jf4hk}^;#dL(CeuzpR^2dRb zKBAJl@VL3U+2Yra`yEx(`A~TdHf8lD?I;hM$KOSOa<7Z0)S2^AN3EM4zcE*! zt-Sc^MOU+9;1uhu5dg<_S$-X=#_?O40jLQ+OU(V>E|D)6IVo&y&`QI(s-v?|)8 z{6jt-3@sqnIRY?YBhtri2jDq{Xl{_xU$U=RUU~m3A5AxZylV1x=kMcGO`dBa)5QzU z-DRn7AAP=&@Ru8uc2Nm9HmmEKOP+hv9lKWi?1}BZ%ZR&%J?%XtM2(usBH`~E($H@j=g1%AnY;b{o8pz zr*Bko?uw`JJjzSm6MNpdH%rCk3i7pHt0Fxg7DryNps`5H9w_Ya>)6Wdu<0sAQ(}^e zaG+b+npBhuII!fZFakU`Q6Nw%eq=IKpB9|8svtZ{d`wNw`XTocIH$Nh9D0$uHom&0 zc>3xux`qk*nlE~zJnWY}jO;zTHRkWbsP5kReExR&&=)<%(q8kuzvYW=+-~FX`OZhd zll9i|WrqT6RX1bXfu|mngH@D_;W`ithlI&nt90Fz75q(1KI2WdHpx)_;7kGk+hM;M zw4+4Jim%nJfRe)X8EGfdL*yUp)|Uy zV5U?%tdcj5fdFGLP`;@MjBmkM03a|j{?E_pz#5F#i^&AGNsU0V><-mCnv|bNw0_Ae zcR%oM3E2Nv?|;y~;Mw=w|AL#w_qJ#8^%<7kcI#Z_9rjIe+7`-Q`fHqP(Zgmx^rxqi zW@Po!ZSQ=mzV`3>OKpAFUZC&4m&?t1xx@_TrBC|U7J6NJrP@dOo1dAKyV>FVEswnZ z^MGOf)PJo}fRx!_a3z?^?8-6o!YsXHju4PMd$3~ca_>+lSWMxE8K`sQBPCxKk4hXb zRqT2UnoH{D%fW$xFj#GF6^?oXqA_uUiJ>nA-zc-i)6YC7BX^ZZ`pdrX8j$ptf8m>e zq`&G5Zy@R85c^8Hj;$dDt9wyUTf$!EQT8?CZW?+h7G>3JRAyym46WL$M1C1V6e@cJ zzBu7tRsx(yJR~?ZLt)S4Y79KDw8NyKS}3UmE?r`jn@GCu5+Y$vo}C*QRV5$rX0@bO z6!l>33VV*JU(IzKW@?a3dFxS*!nVt7M#!!*6cs%lHGvWEz%7b-AI!0Vm#VS>>I~Pe zr5b0~7^UU(mRf1 z%_;?qrNNp?@eh*Xbt^Ht1aJA8#XGgm(v5mCJ5=Wb-*Xk^>-gwpnH>vW z6Q-=2;Y*B_-2>3XzLv-W0b_H4mbqH7;x{b&RLxzn3dwf%nR>581>=_YwmHa}0Tnmn zcAEto)M_I;%=l1#ed)1a^UQ!|f$EDc&JUlC4irDw(N;|xb^_IG+6xRbl);Lr;Y7qs zd=#udjFJ4xJ$KK(a&O+B51#EGxQEqzuq*v9X8tkTe#_JO`hB*a+V;n9@}Hy<@TT;c zx^=U)?RuQLE8lfxf!~p2X3V4{N-X&`-r*h5~brTTQq2f+m zHZEl@iPaWq<%Fy}Fh-C=v#K;5hdn?cY9B}js(3`TLm9o z87tVVlDk;*^lD`kSNGLRWx%;55ds*y4ZG0|kjF?7fm07vS0?4IbZpBwUD@DU7{!`( z7(V?tl;&$oJN=`5Vc%6L;?-bks(NTR%X4DXq$>GaX~ZSCszPcdyGQKLlGzSr>XIWS zS0xyARM6TQO25M@#lt|mXRck{PjX<9o$hsa1i-BA_gL}T>*>RLUodgW#Blgtb)i2- z(CT|@qd=cs2IL8+&mmUkUxmoJM_~DNgRep!)f#4{D?4nBEM*)v4K_(F$=fP$X?4NB z_>_n{9!?jr(?@j^D5sBT6y8p2ZSJ$UQfI7l>nI)5^%!_#Tg>^Y33ujb>r>Y@JTWgb{*cFeso6_`37#P zV3jelDL5zryerwNEk%2P#+ei!RZ7Lys==w~2w$3`uAk&MjSo&Gi&_4HZMrHZI7j95 zW>yna!;#BQa$HLHQ2FID9&4QEar&{{(z4-IRQF@mGb^+Z1g)YZaS#2#wwoA!sE8C35!8vmF^b^Vvl93GeUkcW`Mu!)Q)zl<&gn$va%J_ zX}Ui4^pm^e1|Nh8G)j6-Ac2~@itK?)hl-+$x17J~l_KYKHK>WSinC7T$XCdq^tq~6 z@ND6Vah7JRl$7JD#MLSjH`PQng8?|WYAl!9?8gMWMR)qCy*n3%BDW)VRgU9lhb#MD zRrjSfG!-&3sZ)W%;B<)yXiEy zp|)K`-l~RYZ-OgvIfqQTK23e}cvup(1x2XeW>-Ni`%i{waHQ3Y`1DWS{@iC>DKh`? zZ@dO%{*mAKCLr@4|BW}0c|MFXLhZt0aDF(CxlZSl)ib)0B~$~V$w6eQSH=ip(xZCM z#Tqc7I5Hd9YnE@usRc%ZF;#LJL7g*YW0j(>+H%Yb&jwSbR8)?li^;NXAoJS>5>Je| zeD}(P&wIk;k7X_0_LROpIzM*z>vOKpIZr8VWPR+LLbLOA>elI+7nFRy z&8!zybF*&{=guwa7p1Iz$x1rkD!Pjny16K#yZz@`tH$p?Dw5tUprsdZ$6Or zooCxWtCu>nvPXRGpM9<{vzPy#J8p-aMRmUAG#k;EeM6frjH2!*>9t2AFY5Oi9zo}? zdiCcEI=}U(%XfY8)ka;u`-`u^wtvqTzX`Ve`@Z;wZLiE|b85&x%>;AzqSVgmjzje^ zs+K7dR+Ffqg$}Wx#UJw02hi3Z1D-O~Aa&@>D)^%9) z|Mhw;`rp0^i~e`s42%AEZ(4Mfl1~rnJ#&by9oD4?1=WU7;{`kG5f%MjShqNC7Q)?fsOu9! z>-}!KfB)H6?(x2R518%8+OXd8l)l=w|M91`{dH}--S?q4>f%2A#!sHw_&3SM|HZdo zt&RVItFZC^;LWh{KXlW^kHgm1mHgir)6s{`D`9H}fRl0h(9*H0Q&hcQUArETK-V0nZf%$Oxx+uDvfGVMTni%n3d`CY8pA(k=t>@#^3fu!V_)$ zFMrg=UmBXfk4e61-fw$0KTg&2Q~Um?eK$AbF>iU~^{2M|O|tEO;d*WR@4X7!{`=kx z+x`b{+ICZVKa8|CS``-VB_<|}RacX9bsb3>lIut9Ypj|h!&M7FqXdr0*L4`OAyE)l ziw)5orJ5GhQM;^!p>wR6>c?`o^(e|eSGVN~77fL?8@BznuVf*u+WDs#{x)p=zq(#q|8K6s*8kf#!`A=oW469ZT&FH)cMx}YUGz;1sbnI9SF=5} zl2k`f^Z&K?uCcae*;(EZLXKrSmWdofEFe}35kNlnykDx_5=x{<>A(5EqIvB;?YgN> zRbwkMf+PeJ6v;NeU$}+wo>TzW()hUVZh+(~mwLZ?sp} z(*c!#*VjMi>hF1U-=`YDgRg(!^#7#&{NK1kD zp?kHfs-;znYgWNm)!sDTVi|Yi@b{d!{X#$guiW+XudTP9jK@#co9%_({l3TaAsYX{ zbIqMf`o(GR% z4*w`o&Z@cW+%R}22G`&`4Ng@_>S zVqWOszw}uT|3?4V8mD#i+mD~V`PORlx%MgdJg5&b`3L@fUEcjqU9WfliL3DLKlw7e z`%m5V?y6kal!u-3oJz{*Y6F$H*`zkGYF!+b+PXw#qvwzu{LWGVD_?42#zr)*<~2)BC6B1Q6x;}p)k;%wZWl^Qxv1Hni0W9rn-Nm3A?BGo|E|Rw zCM4CQz6}#ss>#|$oseoAQoFnBdd~;BKa&W}Cq4W}+mqK{;N0(fOdsO!58nOSy!-X$ zN`C!Sc=vC38Q%Syo{P=|)d5egG2d1V7I2&s&I^z9xSFxrROxWPPNsE=kl(!u*3o=2 zHq2mK-RkEa=2iu9!8PnrZvx;=qC7bku%uS(jm= zYM-XVJ$9?1RcNEmjXQI=PFxK}bEevC3+aYJFT-pGHTq1?Rr_t~Fad9kdp11Ub~)TM z)aeDb%D{%2H14BBMJfVruw!EC-@=TPz3d9`{XCa5@bRRaoY=aV4kyS|fdyM_W@Uf7 zs$pn!d8jXM>0`dj-hZhYX56}W{G|>ytpJTca=+&@BJX?fK7B@HI{wZcAA94|)#osr zJ`?SDZu#c+=%!cIjdu-?;;qm3=NzX!{_zua75nj=K zcFM4~DAI5HTFC$QgCXq}1#T)r3S-9c$obTfT&MG+zGt4-_1>Fq80Pld*6mN9=x-j+ z)o*$^>O0au`5xt2wI#B#X8YumTi|#-wWYnQ4w`~r>0z48Pq+vhCl;dPdj$?+t;d}e zr?wQa+LG`{rwLKcb+zTZ&PC6S9#j?S*6J*6r)-;gZtF~-Gyd|s)EUbzUpwxo_qz!Jl+&%Jb1FkZgt^yj+oe(m3U#-jVQZ7!WboH~t?!hqrNVL*%(XANGQ zKTUa;0;|j>DFK4@$1}59jXUMX&6r7Dva{M(m&u@q-PO4n{^f81z6T%F$|Lp~VW!;Q zQk#X#x177U@2>IRdS=9(uiiq#95c=&j#BYf4)?k%6PO$G5$mj}_EptpcJ~o63z#R~ z=u}b3BUpizj?Dv)N_LE87>_q93E;wtlkElv$4~%Ve6pwublaEzMqR?76W)Mza;VpUZM2yl<;c>`0Jn{C(?P@zt8Mp$0zSYI}y)~a5kofQr#!IiW@JJ;n))Q=3~K{POV{1;P<0b@cX_%*h=DrId% zpmxm8otKu?BP}K=!=hN>7Uq+EX{DyicjzvLRvF|e7sb6;Z3`fc*<%IJo1y-A+*UU> zr_Ne3y34WDfVg_*MD0Yn?PaOvoA+w2V%+ecmbS;$Hf=bi5@BcBWR70S$~bPEJ6HbD ztid5YJ^?!04ejSWvM^{RCMpKC+0_%gCzN7rdMC!8ZFUVzy3=`(_za zJ>}KuE@;D^dG$b$TH=`oZ_h(ETtj6D-QsHumoqFkTpNam2mjr=3w6;6I7Z`vthSCZ z;1$+%W~j|)@Cmq6l_;|?mm+U9al}cH(*(}g=FzK0*~<8+x@sK*F9{-6`7?MtFcLaI zVOEoa1XKV@{0w@#&dYx*e*r%OV{q_us3F6!>e3BX7W_UdM@}2WT=2jcbnHa!_<)hf zk_q92O7l2I3Fe*>RIVhhvpULPC#SE4O8Hq>tO5gkj}IYCFfHd0!{zsAEYzu2=hUro zm!|;)3>3^|9N4OZH|rd_nxaBW9ef?Vfr#=p;AUkY%nF~#%xQw1BFM)I*z9DQ(HnJ0 z(DPoOmuf0%+c5$$Swalb>+|I=Xe?TkyTwD8iW9LqX4#dP0U+{mkYJ>08Bfg6tcAbF zN*5m8&Ixn2C@A%fWP}TvNG(}g)!C$}9L9|W0*iG)G=MY|*%YCj5t=d8UKu00{C8(Y zbgW(_AyF=^>o|}{)_{zlBpe)YMM^oq)NRw1Epon!s^;wSaJe148>U%Sn|6VhaCll3K?A$raAs`~0ReO6Z7}1(l zSiefqs}W%XLKG{i79YqLBbfS}YTdV#h?=l-zBn^txSfddXH6vN8PLme8fX)XTwdw~ zj;GV|+Lzyd&U|3aSrNm+_g-3=FFG*qbZDF zQ2+C#4!0W+o9616Kgl9j=vG(h?7>K2ax3$pezU z3#5U#iP%H_=(r^cr{ll@u5`DH9?o>*q;N8<66aNKOGn8($LF8s zr6}+HeF0_*dh4+o`Gs4!)iJZ8>VqO2R_7y^ve1_l*KMx2Y}!q^@zRp9IVT%z_wzC8T zZUj@C=tgZYm~{CL&B%uDL9rB!Ma9E57k||`0_Mjx)mW3O!BBNN4OWHRi_%8W*<|uy z^dPFk;y1=N41VK6EQGG}10AarpF=boTA1j-ngDov_}U5@)^`JmAaguxj__($+Y5oGjo zgZ^fb9f?T@vw>mb=%5TNYuvLov(!5QC(PVo&UPX#4dQyJV=vD-b4C}VWq#3oXn@$<xdKeU;U^9t>z|u`vpxxnxN z+!_o6^6s_*AM(rn^5eP-lm^1SZ`Bik+2LSuii|-5q%jVQHP7R0%RJFXysKq3@IdM! z$WsAc%;3a@@i6M|VZ*Abrc-u0Zgiuxv5Qwhq2Q1N{$WY`S3Jhgs z4DHBnqt==hU5RQSfJ%g!1|2f4vE|8v9pch~e~|Vr=+uTqfwPa>v7_0ZG>I z<^THND_{QN*vGw-(La5bFIqI4T1T2$gpdi#cux#?EBhFktau<38;YyV;;Eo=+CmH5 zJ`(_EgQX?FrOO*Dwg|C+k~j-7#1Co{)nN;r!B@jfyf$=y%~PoZ8u$}8#$eb1Xh6(iQ#PmZ(t55Ojug;PPP} zU}kEtE_J+K4x`fA-+iZIt3qLe)dAOlsG$(OgFmQubw+$%kfU+<#V8u>-k0;_dRIulbya#>?1#_C*!Z2zNY>}G~9_#v||hY zWCxnt-l6U`HWE)>Vm`Tp<=xoFJh_JZ^i%DpyXZ~K<)&9@I9Y`4TwU3V{ls(BW!0Vc z>uUa7SrHgTN%X%r--?lHsq^F_?i0z`C*qS%6v>=BQVizi6Z_;%>RaM@ z|4l6C+0Li&g`H31OX+;dT799Po%m){C)@!S0qaY#EB8%YKjfWE1#S?bP}eoZrcMtn zi}djcVa4wiJZY<`r&cZ6V`}*2-NCM`D$iA|&{M(h)UCs4P|00fTV^UVCg;m9e2qZ4 z$|qZ^^AHyCf{s9=L0c176-`?kqpB!*pb+y@^ttgi05t%hKA}CW=<-f5EWQEP=7O2E z_M)~30dhaL!XQgYBk&sZN=F^H2EZ48`MY29*~XZEt?WqIv#;W{-sHdUJo*UM{W`zB z#$N_@{stcH@(;e|(Fo6ay3g>F|L|+>#GV0Rz`cg*7jErd!H*IDSb_5Z0aP`k+g1AnstMVP(0Uw>_LT1y zO}uaRaK{6F-c3{JlMQ&s3*Ps@y-yx@JrUh-n-?uVv>)B{NFL{RcRW=-nb!SX&y|i( zx{2=g;~#JOGp7?lR?c@l-m{#D?><@L<@A8oU-Rhzkxpi}zm0T{^IAB*&7W_MC$ikn zYwb2Bt_bxwv2cIu_x!o9c>4|Ze4{&&>vH^QI?rAJFYic;u<_bTLMVO}*~zV~adA@=-zUwaLa&OiFK*PxUC znC`+V&=CXZVz!bEOjOdHLhxNBte9=o>mx%{yYo{TTA{?Ahw7Wv&AIFpe*8)&?G;XT|2G!qD3IGZlS# z*5WQ@YdZ#x(Nj?=M!OXBft|rlG-E~K^U1jSI4}kHMZWx<55DrbSBfeB`)|GmWBKXd z{1VR3{jJ}8xB5li)#Bwx(xFKxwui4RF0Q149eUK^0TmG_tc$ElWZOxGwWulw=y!=S7$eUaX7Wa! zqM*UDGB%aVgUXab1mwD^*4rGzI$Qsj|66x)->t(h|BvqCzT4eie&JZ>JvU^${M`?J z;Qm{OUH+c#;=UW*T>if9;=WrjT>inai+e5*e))$Vyn-UOmw)uZD=4;j`Nto;f`VX| z-}04LP`KvuTfg#^UwNha;HR%5Wc)Y3_GR=hxEuM>4!nvZ>%h-s`78NBCy9)_fMlfZzA!T^ono%?|A%?_4=piLw4Uo`hJy9^NBavv;Tj?{nz2;<2E8zPBo)? zTf-w_@UG_arH0_3`@1qQE&W`Ncy*PW~aQg0ccF4@_PFc9E zqvVgyC?^tj^S$QX%!7XNBf^Qc?GyEi=fCqP9CMy2o`2&}9^)v6a(iwh9tCpq9M9Lr z3oopV_fJRXf};`cy>`-{yNUuu-}pf#bX_IF{Q0XGp#S=1RB-wW&sA`;b>xA4tcDbV zYA4U*q`43oO$S94_AlGJ9@k2B1<06+ucR`03>_Rgb?4fEyK}d$F+N$!tykWdM^auj z4D3`O$R6%HBeWQ1?hZk_gE03k5?_cgU;He>^e6oC+$PI?599-`e0I3%f)2 zcolB*igD#HUBv+X<(GjgfAub|w1yDSDUl%k-En(W2_y`*uZthgnZ8m3&#Zpz(!r_$ zQdjpX!VtZ?Nv#W~Hl89Fcubv27(taum1|Rba>GaTf{G&W!I)jH*^e0e-JOm54*Pv3 z%4NLTo<4p2=38p3`8K0{7h&#uNZ*SvfA|4mJ}ts%@8ru*&f!47O&fdMc}~aN_i#Q$${r$R*M%;BGC{PsmB z=(fk;X2VyiP6DDql~*jjGKQd9xhkaZb;LEyF`cqr9XCCe*IBY?jq*d{GBYRDPsl1b zRGBaJX09sV+g5dq1#Ybpv{Axxevtog{yF=SByA+?DfvkBKaqa@neUI+@ zc3*u!oCkgLPZn+d##K1eD@L22zKQ|*n=b=xe&#OP#N@Qqto$m28!Kwe(8ii21+~t@ zW9bZ`ifc@aC>A`YJ8fSA1Fj}t(aH{+s^0WdZ?ya3tL33XEN(Zonc6Pdpw2|OO`Yy5 zwan#Ih3T%ox$h$upGk-B*WY<;Lg*fxKufmO9G0yz# zRSeM2y$qcB`R6j3)lUkhyn9$lW#mVkBh<;Ts3*+`zHFBVZ)kfcTR2o>cup1N%`2<^ z)M`51mB)gmo6&6##?5Z#EJ_5^OW7}z%S>~su~2t=sEbb48S^_hbKi&PUWhYa`Yg`8 z(Lc7v+mGK;hm@ypzO~wXF01*T2lZjE=0VF`7smXlt8k%Lj4?lP6$A8>F9TzK>Nzbl zyg?hpjUAn>>Dg>?YC$}g0{vA#bI~Ai&^@1JhT{1$kEiXieyIYCuo{vbs5MzGL9gKNX4yC>N7+4t}eav9a zC$B%(iR-=x_5o)eaOS#j=7+Arjb1U%{K!=d(2u?hocZy)IJ2x(m*hIt$+RpaL^A4( z>!IAu*s5)4Wdf^NH}1ZSXH&K@o5|Nnzgl@cEvvDY*ph6 zts&ikqvY*lcr|^wn-g%)MKC^-nAso0(q`ySJWeVGT0xi*Y>$ZG!d)AaRM zfid6kGBD|O!crTuZi=mt>4bIpWSdGA zyOg`yDQ5t}GytF!RTA1s4PAEV1-n%Y%Q+PsN2Ki1Lr`7C((hu-eU~_TA;$cwXEEmO zH{N{w>iYP4^>O=6?a6Z`0PcH4A9iIvt6iCJI@vtGD|7q$1IoN4l=;C2l=<}2^xLlj zWxnoZpv>=lE@EbOf+Gj@K5D12Lp3nSYP1Kqah@0AL?J)R5d#q^<%Ux%JVy& zLacg-nXS48mywtw#@8FO4N3vG+qejWRn-+Ns-3aHy9V#V|9_j)-}lJ951OdPZ#vbB z`>6x$Pvv_dLO->I*QrFTPCWV49=_>jFQ1)Go#2})`Q!L>RmhJAKi28KHcwUme!B6f zj_^%K`*=M2O-=rFe7!y2P*2U`dfx9(RpWl!foPr{M8YS3x&XL?H2t7WJk^bFdbO?7 z@$Cjd)Pa!awwdf9MPU z&=>xpFZ@Ga_=mpm4}IbPKkW3Z&n!+nq8r_Ts-C;s72AEb8T2IE96+UaEciFkKD(eZk^3HH;S>84-dP2VTQ z7H;AZ=|sG5dce2yb37db6~(si#zn$;zdLb{cB1f#Y25ULvZveeO&7%RZYRW>?oT(d zkagStaPpaQq8sf*In?Rt=DLd9D`sAAJ35yWbGeD9`14KUHdgcASbDnc+T@K(h#T_RhuDVSn|UAU@pjJ^dPQhcW4jH zGIbw<1Aa!6MU((=B=zb9PXUoMd|j$}qu!eetzN#ToK?iS*a)+tM(-7C%zy{7(Bc+t zI%#pm7z@GRh7<%uB%w!Fz-#N&>MjQUrE;KfWMI-Dvl`FBx`RPE{I1{}yGBjXcAcEJiADzs-{2xh>SGbCB%-05%s2T(x zQfKG_s3j$EyMm5w0IHM)x+y4z$!%6u7u|cB(X^Yu$S6ZGA$Ng2C|E>MBEVRC%C5li zb1}RZ)CScw;mu8Y>if#4>Q@LmgS-~eVq^+<2K7Sn;zpq?yzibGZ+KJBjR*Jx9BIiyH*~4MF1>nLGv`U5?USA2SLnC^z6&ql zd%KyG;nW+&3dKjIDb3URq7+t!7g>tBXpjXi!gw?HI?}9iR>O=^?w+s6s3n6ii}1n) zH?Ac^?_pRN7W|QbRfySTLtTvonaeqJ$du($Lr~$YcC+n(18|G2Zm@JWn|r~9sZF2euJ>n|a~FIHokW*8`dS9x3%R#*_t zs7u42!K{EFy9qnu4=NfmOhrK4iW72&_)!&_ijYDyuZmv@Qp+VGHCPv@@;qczU>M99 zF9ktzW@z*A@?QyI%34mv5rnQ|z_N=t7@oxgzs)HO7ac0j?Ty?p79oue4vGiC994+4 zR6x-mZ(Y$Aeki%YRdfmZ&a9;5I-f$vAr4HKAEAk5hv+gOefjg{tc^J%8WbczzN-3A z-YS$36&2TRo4lY@BzW7j(NK>TkAu}7vNjW>-FuVp1!j19qvKVzNjaz@#GVntpl4&S z6JyZ=$cyYOPV4;gvtOl%9RL+|h{-CPvj%V;VVW#cK5S9+8PAecfzBbdoGD_<*6^r7 z0bTxIHBk!+Z!mWO#toiW57woW77`Y4vaE6y!&4DI4+mHyRYg?dO8fG2=Ps)7--RWy zIwnt%q-`;Pos?H%T(mG9v^)+hAjQ>A2{~AFnweMJ=z~c?EY}$0YTL!VWvMo{y>3$7!<&#*-Y)lzsWtJ{*B3PT{ci};QpvLskm(jKQ9tu5IWJVRq4=7FYw z!@)cX3N@&n`-VcHWU6mKVhlqIqUEHT8b)oIovj&@Fg5U4OZz%m+|Mc$fym9!tr&Nh zfI+T)A}=5$Zo58rG&8HsQz;XNj67}q@?)oKw8favQi%^>7+uZO6-a<9XcIm!CdUBS zutbClKyHjSF&I2kGeVrN#b%qZy=|0E#6mrGZexIW8arTuLqsRG*j-K0_!_!1igSzl zUVhtGzVbz%BAbD!iAH-Gd~ft%SxAU~#aJTr2FioUWh6T42qtC}6*yT?J`BJC(?=Y3 zII>}wG2FDYGaO=9GZjXJCoYNxBynsg4l=&_Rkh{JVxRl+^H*Ukf9I<{OaAkDpM>kn zFMQPpe%UP@de5tWSC@RIJDV6OIE@2j-Ou9J*kLdRc(*#CyRZm|1BT$X{u~zZTj0FP)C9HQV8{D^1-jVtL z+}lszdHcz$&o^MZ=TUnf*5eLC*hllaTixxBS{|nh@;bS0{pk1`eo>BAPlsXHlauC7 zE?qh-qnucQ_|iPtX`jeXbLYC{T=OOy&L6$M&-bU(Nx2^;6wWvK!*TcA^wFua9#lpJYA$=y&@Z>v`t&Up(sp zff3ct+IDvMRRIYaptj&Bb?3tZ;j`UPR}>*EK43FT{~(G`dD>Z8+Hah&50^!nK=$j;IMu!$zffkNB=9YUBdwV)z>~tkNyG| z{?}f+BWm$JZo}g&QZYe=YfD|KPq_l4x~=qu*tKC$VN7mfO3G2eb6M4h91flhM>P!& zy!Y-Cy4v8ADeTEpE-6g2YQ?8Aq&q`q@tVU!4co>m-7W2GqSc-=vad}MUhXEw+K$h=$tO!E ztN0V1wI1)ePac~)KDV9T_5L=ZYLCiwCmXrmD%^dpId4C6lgGS{p4|sQZeqgy;Kn|& zUwt+l1Sq%B-*J5TJnA%_Snf?ub3a!I=ihj~<0d<8oUG`1RO~#jtrJ^z2Tj(=kIn}{ z^y(-5_)VP|dF}d)AAjccm*B@$xuPOnLxhL8Je7S^apE3?9?JcJMPqxotA^C5I0@_n zy_UqTi&<@sgi0*U41-E7&GlrkQLi4dF3E3&5XI7qO$&~{)wl`cQUSrzE?;j>xmR3^ z_zt=YE!A=!Knps$PDz1JlMDY>FMsPRlo_VI;&QW#r&uvgyMbm!(Z+ymw>`Dq)Y=cV zpI1)nWVaaYx+D9%FKZ^Gy$Y76!Jt+-X;;19p3!Sd(PKPrsfc^LYFgkWP8o*8g39so zGhcBH$odWD&{Fgz4n}Cv-O7y_*3N#htmTlV*7VHEO)HI`Z~}^eGv)~DsjzV~Jam|< zyyd()469=ml5U~sl+LuK$FW$o9BI=k#l35TUXgUfxW9a(dFAt7jI6mwxa7*{zsS%< zB~~k=ih0*&)5)em3XkeDf2%Oj4#;j>idQO3QF4Sy=<(QQDr43b!m#RgEO&xr&Qw0*MCTN0kvH^&2EF?(XFx)N?QX+WF-Xbo}ZoH-6{3hC=*1} zgY|*C)~X@dDx)d+K$$s7X(18gsDLzLUkOc)2{egDa0rIOf{M)Sd|7znSEK9(GAv)^?1OEm~QCUZv7{5Qr35xAN#ro=QDz;8W)7 zlW`+Yn15?L_hjgH5t8Mi0yBBXYA@fYyV&9@N_xp*z%roy1)JHuqtqb_T?rw;TH?vd zY=MQTAku`{DBnZL7@D79t7cM}*<0~+CIs7^3|d6QRInA}9>pu|DT89zq(bvO=F9Io zGg7K4!KirJ29IO0OZ7ZEW{Swr;RdB#jH>cz_!xzY(IBiE9W$!DZE442saz-b((pA& zBLH&8mW>ZuCXtcA4Y8WToEK+?A_gahN>>r(Or8 zM~8Sr7&YbJX1-d(!ko6us>l2TKBgGuhcEmdz9r&TeLxyng%P2aNUt(_L0^H!OSvU7 z=(>!#eDjB{!J&T3hpxe)e(Q%6aQSTV3V!u~hqOmePp-hn4=Z_cV(D)`dIP3%`Hl}g z8XtJ?d*0^N25LVA!S#;UKy=>sogaEPAK|U9{@ByYck#I|do~~8eZJ|tKlFir=@VC2 z`&E^EQtPML-foxQ&DG4OzS^g_r{D9TSH9p`9<7~~)l@?r)sT&{;h?F#PZSH7!Qj^f z0yP(t&K`gr#ds_x=fa|%d8pk~5+boWwXHfWzS2b~LO|Qkfci*Su~8}mpWgbx%~sdW ze%@`7qBe%RNyI3F80R`=l+EMP1IDHT!E-B4+LeDJTUa}ycfd)O5DTMV3QgtfA)DU% zsvJqy1+K(;OngP%ZgpDixR!vE+9)NMuQ3Jp{4S6F_>;F`(w{i(G2VcE!Lc5HygWyy z?|A^<=X82FCppYvpX)>!%HhoOHV+{k&bv?MfEcYg%r=}TNxj`S>L*%pb9Qf?eV~4> zW6thQc{g+6<`l+F>|>nw-^5PR*=JIQ!#sTXCPU%oY~Vh7Ip+2}M?B~K{Ow)%6O~Da zi~HMrhk8yWuJf(&Fn8Tmx!s#`=j@?BpJ?al-pi)H{G1ScCMNQE?|JnloG4Qp8fQu{E*&oxqBffVJ8;Uib1p z>Mr7`^Wy?s1?SB-=pcbwU?Xs&m>2xQ?hR_`Nk)jKucG5E&LgCuXj92Sa_>Qzn+0R% z0T3qDz<5x^O2e%P%>jV%HHOQfCdQrxzSQF7ubixl9z}*2Q2xM0VY?F$g5H2BJDK7O zPr6{hqTC1+omOZIvQR?sBPyNJ2Rkieby|%h@VSm+n2<52vn&m=bBahHc2N1S1O&QP zEP5(j{_5Ei!$pkQ0W6(HF$qQ!k`mYZSmMyQIn($(K{{QAW|#^ahC65FX5j?^WD_!@ znF2U$7+I*u29*^EP<8Q8crOAQUK3OUgFDwYS%{akNnU!rG~Lm6;h7riE$Ump}6QN&n%w24>w^2zJ9Nb?~hK%y>W@Bv^P- zEPvx$q4yJ;%ls{Af5X%Uz#D`oeoF zQ)BGqdyZWw3l~4d6D^5Ee2GfMAZuFcredrSdLkLadY7$rTpq4lN5eFQRgDc;d)$V4 zRr`}6wGw0L!d?)A9j4cIx{BnaBNJIgbqs6_(`%RiMRu{0&Uz}NVDjOm0m-Jy z?+l=LCF`4@+*zy^0m$Nj{i7BJ&*T>JGBQ$TcV!eLTqujFGL1|DcB~q6PQ^MgIL}oO zVY}&oNc1Jt%U?fvb5+Uf3=se%YeZEkJvf^v1pvk78&J1O{rQuK}7>_cvF&1tYB9F+zPzL@K%mcS#y?otQUdO)iE5G{1Q3#JK z#&cHngs8wvMBU>SV+uSg@_6AUaUNNx7Q1ra1^Xl5m051A{F>vQs{a78Am9ozW=>5F zkfuJ~%5REz4_sNu@_!vI2x7%ul^&EX-}m}8Ow%8I{j-bjKN?^1tZor!ef#|U_M^-9 zzkVmuUzIek+`~~=bfa12M=`!?X@%m0EyQe+Msdmy`mMHv5Qvo#_AEjjAFA>K&>EYn zx?|0@fjb>58EYwslUaNNeW1>Ryo$GAb!#^gQgAmX`<{pU&Svc=gvuRNa^HjYph~Vs zmCWjZ(=eA>bOw7)$ql0;ps0M?*bex_xy^2>JlZP%S-618T zo;&JtkQ-i`6{8JH>`8~{+JX(AN(g>%$EYfi%k5GUnlC7h4x##5fZ(pUD{gn`Pvw15xxo$Y{*sR>%wKNs)BPDR#jlfIzrCqWV=U^r~-L}5%zugHgh;I7f@FWbirP= zl?J3+Yy$=_k*p06U4W_Jv4@VIxoR*uWJU$!Ayc~-rrj$lnnl0ELR9Nmlu`5(@iKG( ztHg}jQF+>_gY=MAEPeRPx9cvD?I@a|a5U1;S((k`IZaWV#xgkS&}&7&OEqu=DRp&n z@@o6eb$#Bvu4Cfdh0eJSZI!98FUq|bbfJ83R80oxV(ASlfni`cTgMG9-*MIm;!nEa z2>6C7MO>_{BDzJ@4Z4y943^rPN*VGf`EGL! zI`MbwE`rqw?`nb$?9HW$53ER*NKt*6>=fiC^fC{lZHTHSj-9;z)yCtQAyxdxs1d(AcI#NTJGK_~ux-330g zrx-(FHQ{-xnA_+oG!Zv9t$iDw1Vi7_WQ=3+^5sLx!#X(an?;nI^c}0_c*8B74KRut zvrsXQ(87lN7am-l@o;!nr8IDZkukjdf#WZ%mBpx#0g%dCcS=llsHN_!iY`=~qz<%L zpiz0?2qWbH;$w;e$p*M@HLh%&I;OI2L8j7l-cF{%IJCs;2wj}`*5lQsW9|#6L{^2% zf2_OMPN_rz^KF`HSCtJoSlAX-1W;lfs3a~4`UA=Q0 zQN0W8HN&kXV%=#2xHYWJ^G{uB%>+d*Jm%h)KX`VlJK#~B@r+5=(W|sYK2SswJ`U^eVOPmx7vjLv0?Yv3ke4CEhSgD=tfFa|GbTY6$!%3?o-dm7HtdS!p&5bNk>+Hv_EU-`q%^=POE_+$3DuKmb;6f@sqAg;UK~^eXsh1zrU0`paxYiUl#?6_f6}hVFo+TAG(Y~&Z zY#Wu2kqc*$TJM2OjO={N-cje%)yzN@rT4DdIuEMAEF#0;46PG~2Nfj;s~y$|u!Ewz zUVi99*Kij9hmT!&#L3JaLj)P8YKq|3YY`%0=-Ht02Q)z$)?MdedZ;5e+`KKSS~6MM zrR;s$olYz<9RJtV2$X3sVuxeK+*Gt=Cb^&Bmg<3a?eLGwkDOeJ>5`hbDc5JHiJe@> zgb+i6yWnKF=x7ad`BB{kBf~lc>Zb~|7D1p+TW1uk2im0U~NuN%^G`4hSe5FNX84k@aX zj1C93%4tD?Ic9j`UQ?9>NJc>o)K44Qx2Ex7qmS_4$GrB=qt|)olam9XXd~bGU+}J9@oW_GJ$L$3H`jRYUte(Fe@1yA zpE{EHZ}ZQ2ia+~&-pAed-Fb%pl23g3v!D1>&!bPDC;D@mn-e#EG``@y*B@W}-rv5Q z_v%Ss`6V~$A28aIP;z^Stb*^yDa{TY9(chB)7nK@Z*`u-i~=*HY^bV*1X-%+6yR4u zzjD*g#wp`rEaZoS5l2>iD@Ns>P%Ur}7P)kA9FnnjgRA#VTIf#XjkHlNq)ZT$*=YJGfUwmY>Gu27?(#~qq!3V&^ zfj`g@v2r`r(N9sNti1rIEp?S8Y|0{3?vWh{GO(2jVkYDyST*TG;~0pQHU#-^hwh)C zP*NB4njnX$A>@u3mv0UN>VQ^)!vUx1WKIl~Ae$;e7Z#)uFYgxW3XE8&(aPGfKq{Z^o3ezKOlM=90Fm5(bT{}=!HS@f7tQIKYiZWM&_m^)8*HAd&ThCZ5 zRg7dcuIU=r>fk)x9Tn;^mz5ENNJAT zE!+~{E?t8+#@wxHvew`cblN}DrUwkHA@p=`60CC2K8zk}Tp}o>y}h$U^58;gGzHz& zY1GH}(9#tu8|erj7WFke|k*i^4| znbLx9G3n5j!A4X_z-iwG!U<+{)G9JTr3~TMGfJ8$SZZN?hz-Q%vPdi96lIO(Z65u&h*DgV+@o-sRu$4SLm4Q%CA;qZN^5~YxE$%2M zs|Z_!IS;dy)NQpH?pb}vqExZcoiG2s?n1{6=2i(xwI$s~RRAIOKy*~yr@c=_yQGoF z&LHwh`C$xO<Us=qfQqaB&mrn-OjMjRMCZP+kw47a6Irq{N3j@qL9Rj!g5a44jbamXVT9vc>; zXt+~71QtsPI)RrWE8M6~0yJD1R5ow{iw>-p|3G)K;RN{3#5-^-Yv|bQs12V4^Qc(d zaN6fk-NMo!4%ZDlCJTTglcUk0H0Jd1<%;$gvKIgl3ZZ1L21dP7 z`=$>+s}aAM_xuXw(SHQZ_BL$r3IBcsu6W-4E&TPDKdY?Xy`OJ={%`Nz-M4-CxvZ6E z?)BTB|NAp{{v98Ft`^~)=lD+E@oVqi*{67l@6rq$t@jCu!p~o!pT7KKPo?Z$`MqEK zfiFU~eAU14bppMKSo zH{V?IUwh}ttMlo<`elzk@I_CNR<|$wTW`0w*U79>z0Zo#4s~k?R(ttv;I|wsO$S>5 zHK$W88}#WCbgGY@bc%?T)K#FBJDtj*0ndU;3wJHibV{=EeBAvghapDgW#Y9|wWkJA zCcN?4?dpqlhycs2TUC=*_(w&Ele19hg~o%Aj40^GU2QR3m5gl=ejl-+L2E^)6-gi`4+Zhy0ZUKIQ3uB73dzhpTaBORB zL`|)yrjTj@t0Z?q5}b~BxUjiZR(xp7Yd9y)qEhR4SkD{{B}?ki(J5)vkO{rzrR3oz zdI0&K=PXlms#G-gRw^?55=B2%gHop)P9kz=P|wLS^~GTHmd;?64jV(-GwLc2)`;@!CsjRMwQm@H;KzV5rvU+$BtwMxtKz9uhKo9ZIMV=WW0DSDXw)GhGq_{;re=$c7)eNPKMumlX;QKo>O%Vjh|)MsNhCMAhw7+h1j_VR76# zb_65D!m&qgbHe)JTiTJca8<9e*p@k}N~v)gVxxA4VV>&oDX5pbkP9(r8_P`{92G^b zEUc1s3jmWc7LpF9p-ylS%!fx6!LD*rt%F!V6R5Aw-oa+JX9T%b%u5YVlvvVqehwO> z0{2lRl)-YH6MzAvt#VPUk)orjEM(-7LYS;b{+Uj`X{kPP#Tn;b3k>nWIzYC?wU48W|;(TGVMouFw2?6IGGD zGZ*_*c7!cLGMEhUSVVqcdyM9!wt8gvqc)q|(3 zDhw>SfPck}sX#$CjvIE98C18nE}J&0T!Ef425%S=IwUXEr77?-No7?fw>l3BE-*hu z6}a#kdo2)3E!UC)+DJbaw5s#c+0-zEH>yasUsWU%C z3Di4w@o`A^P{e+9Tn?^A{oA&VC}cHj2uf{I0#8&}A~4rNEHE&Gl2BBhQ^nx%s}QM* zywIY&=~|$Lr-SoxD%lE#1wbb6P|^w-IBmTwJBz|96MK>#VhWar4s!PygyW&Ka|4&u zK^VxTs(N6cD(}EJtG6i_u+=?8mFbPv`f5%qV(C1OVaB{y0|6GMu`0O+u7`FyP&D-l zQahBP0^$Ki96bVlDEe7YRv7NkqszcCg#?*pfX^ZG&TxSiEVTfEMTV|ARq0_f(96Zf z5Gk;c;g>wF&Z**S)AUHlj5AzSXNFPHSQMIeDSTqQbn`TN$Z$6Ct(KrmfE%2>hpm!p uE2UdO|I`r02Q}GZLW4H-Hvpbq`J#X4^Z#Gbvf&$feKP?6nSy@+ diff --git a/.yarn/releases/yarn-1.22.1.cjs b/.yarn/releases/yarn-1.22.1.cjs deleted file mode 100644 index 456718ca..00000000 --- a/.yarn/releases/yarn-1.22.1.cjs +++ /dev/null @@ -1,147386 +0,0 @@ -#!/usr/bin/env node -module.exports = -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // identity function for calling harmony imports with the correct context -/******/ __webpack_require__.i = function(value) { return value; }; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { -/******/ configurable: false, -/******/ enumerable: true, -/******/ get: getter -/******/ }); -/******/ } -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 549); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */ -/***/ (function(module, exports) { - -module.exports = require("path"); - -/***/ }), -/* 1 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = __extends; -/* unused harmony export __assign */ -/* unused harmony export __rest */ -/* unused harmony export __decorate */ -/* unused harmony export __param */ -/* unused harmony export __metadata */ -/* unused harmony export __awaiter */ -/* unused harmony export __generator */ -/* unused harmony export __exportStar */ -/* unused harmony export __values */ -/* unused harmony export __read */ -/* unused harmony export __spread */ -/* unused harmony export __await */ -/* unused harmony export __asyncGenerator */ -/* unused harmony export __asyncDelegator */ -/* unused harmony export __asyncValues */ -/* unused harmony export __makeTemplateObject */ -/* unused harmony export __importStar */ -/* unused harmony export __importDefault */ -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -/* global Reflect, Promise */ - -var extendStatics = function(d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return extendStatics(d, b); -}; - -function __extends(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} - -var __assign = function() { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - } - return __assign.apply(this, arguments); -} - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -} - -function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); - else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} - -function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); } -} - -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} - -function __awaiter(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} - -function __generator(thisArg, body) { - var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: case 1: t = op; break; - case 4: _.label++; return { value: op[1], done: false }; - case 5: _.label++; y = op[1]; op = [0]; continue; - case 7: op = _.ops.pop(); _.trys.pop(); continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } - if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } - if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } - if (t[2]) _.ops.pop(); - _.trys.pop(); continue; - } - op = body.call(thisArg, _); - } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } - if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; - } -} - -function __exportStar(m, exports) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; -} - -function __values(o) { - var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; - if (m) return m.call(o); - return { - next: function () { - if (o && i >= o.length) o = void 0; - return { value: o && o[i++], done: !o }; - } - }; -} - -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } - catch (error) { e = { error: error }; } - finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } - finally { if (e) throw e.error; } - } - return ar; -} - -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; -} - -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} - -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } -} - -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } -} - -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } -} - -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } - return cooked; -}; - -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result.default = mod; - return result; -} - -function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; -} - - -/***/ }), -/* 2 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _promise = __webpack_require__(227); - -var _promise2 = _interopRequireDefault(_promise); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = function (fn) { - return function () { - var gen = fn.apply(this, arguments); - return new _promise2.default(function (resolve, reject) { - function step(key, arg) { - try { - var info = gen[key](arg); - var value = info.value; - } catch (error) { - reject(error); - return; - } - - if (info.done) { - resolve(value); - } else { - return _promise2.default.resolve(value).then(function (value) { - step("next", value); - }, function (err) { - step("throw", err); - }); - } - } - - return step("next"); - }); - }; -}; - -/***/ }), -/* 3 */ -/***/ (function(module, exports) { - -module.exports = require("util"); - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getFirstSuitableFolder = exports.readFirstAvailableStream = exports.makeTempDir = exports.hardlinksWork = exports.writeFilePreservingEol = exports.getFileSizeOnDisk = exports.walk = exports.symlink = exports.find = exports.readJsonAndFile = exports.readJson = exports.readFileAny = exports.hardlinkBulk = exports.copyBulk = exports.unlink = exports.glob = exports.link = exports.chmod = exports.lstat = exports.exists = exports.mkdirp = exports.stat = exports.access = exports.rename = exports.readdir = exports.realpath = exports.readlink = exports.writeFile = exports.open = exports.readFileBuffer = exports.lockQueue = exports.constants = undefined; - -var _asyncToGenerator2; - -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(2)); -} - -let buildActionsForCopy = (() => { - var _ref = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { - - // - let build = (() => { - var _ref5 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - const src = data.src, - dest = data.dest, - type = data.type; - - const onFresh = data.onFresh || noop; - const onDone = data.onDone || noop; - - // TODO https://github.com/yarnpkg/yarn/issues/3751 - // related to bundled dependencies handling - if (files.has(dest.toLowerCase())) { - reporter.verbose(`The case-insensitive file ${dest} shouldn't be copied twice in one bulk copy`); - } else { - files.add(dest.toLowerCase()); - } - - if (type === 'symlink') { - yield mkdirp((_path || _load_path()).default.dirname(dest)); - onFresh(); - actions.symlink.push({ - dest, - linkname: src - }); - onDone(); - return; - } - - if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { - // ignored file - return; - } - - const srcStat = yield lstat(src); - let srcFiles; - - if (srcStat.isDirectory()) { - srcFiles = yield readdir(src); - } - - let destStat; - try { - // try accessing the destination - destStat = yield lstat(dest); - } catch (e) { - // proceed if destination doesn't exist, otherwise error - if (e.code !== 'ENOENT') { - throw e; - } - } - - // if destination exists - if (destStat) { - const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); - const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); - const bothFiles = srcStat.isFile() && destStat.isFile(); - - // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving - // us modes that aren't valid. investigate this, it's generally safe to proceed. - - /* if (srcStat.mode !== destStat.mode) { - try { - await access(dest, srcStat.mode); - } catch (err) {} - } */ - - if (bothFiles && artifactFiles.has(dest)) { - // this file gets changed during build, likely by a custom install script. Don't bother checking it. - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); - return; - } - - if (bothFiles && srcStat.size === destStat.size && (0, (_fsNormalized || _load_fsNormalized()).fileDatesEqual)(srcStat.mtime, destStat.mtime)) { - // we can safely assume this is the same file - onDone(); - reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.size, +srcStat.mtime)); - return; - } - - if (bothSymlinks) { - const srcReallink = yield readlink(src); - if (srcReallink === (yield readlink(dest))) { - // if both symlinks are the same then we can continue on - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); - return; - } - } - - if (bothFolders) { - // mark files that aren't in this folder as possibly extraneous - const destFiles = yield readdir(dest); - invariant(srcFiles, 'src files not initialised'); - - for (var _iterator4 = destFiles, _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref6; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref6 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref6 = _i4.value; - } - - const file = _ref6; - - if (srcFiles.indexOf(file) < 0) { - const loc = (_path || _load_path()).default.join(dest, file); - possibleExtraneous.add(loc); - - if ((yield lstat(loc)).isDirectory()) { - for (var _iterator5 = yield readdir(loc), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref7; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref7 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref7 = _i5.value; - } - - const file = _ref7; - - possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); - } - } - } - } - } - } - - if (destStat && destStat.isSymbolicLink()) { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); - destStat = null; - } - - if (srcStat.isSymbolicLink()) { - onFresh(); - const linkname = yield readlink(src); - actions.symlink.push({ - dest, - linkname - }); - onDone(); - } else if (srcStat.isDirectory()) { - if (!destStat) { - reporter.verbose(reporter.lang('verboseFileFolder', dest)); - yield mkdirp(dest); - } - - const destParts = dest.split((_path || _load_path()).default.sep); - while (destParts.length) { - files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); - destParts.pop(); - } - - // push all files to queue - invariant(srcFiles, 'src files not initialised'); - let remaining = srcFiles.length; - if (!remaining) { - onDone(); - } - for (var _iterator6 = srcFiles, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref8; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref8 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref8 = _i6.value; - } - - const file = _ref8; - - queue.push({ - dest: (_path || _load_path()).default.join(dest, file), - onFresh, - onDone: function (_onDone) { - function onDone() { - return _onDone.apply(this, arguments); - } - - onDone.toString = function () { - return _onDone.toString(); - }; - - return onDone; - }(function () { - if (--remaining === 0) { - onDone(); - } - }), - src: (_path || _load_path()).default.join(src, file) - }); - } - } else if (srcStat.isFile()) { - onFresh(); - actions.file.push({ - src, - dest, - atime: srcStat.atime, - mtime: srcStat.mtime, - mode: srcStat.mode - }); - onDone(); - } else { - throw new Error(`unsure how to copy this: ${src}`); - } - }); - - return function build(_x5) { - return _ref5.apply(this, arguments); - }; - })(); - - const artifactFiles = new Set(events.artifactFiles || []); - const files = new Set(); - - // initialise events - for (var _iterator = queue, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref2; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref2 = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref2 = _i.value; - } - - const item = _ref2; - - const onDone = item.onDone; - item.onDone = function () { - events.onProgress(item.dest); - if (onDone) { - onDone(); - } - }; - } - events.onStart(queue.length); - - // start building actions - const actions = { - file: [], - symlink: [], - link: [] - }; - - // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items - // at a time due to the requirement to push items onto the queue - while (queue.length) { - const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); - yield Promise.all(items.map(build)); - } - - // simulate the existence of some files to prevent considering them extraneous - for (var _iterator2 = artifactFiles, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref3; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref3 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref3 = _i2.value; - } - - const file = _ref3; - - if (possibleExtraneous.has(file)) { - reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); - possibleExtraneous.delete(file); - } - } - - for (var _iterator3 = possibleExtraneous, _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref4; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref4 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref4 = _i3.value; - } - - const loc = _ref4; - - if (files.has(loc.toLowerCase())) { - possibleExtraneous.delete(loc); - } - } - - return actions; - }); - - return function buildActionsForCopy(_x, _x2, _x3, _x4) { - return _ref.apply(this, arguments); - }; -})(); - -let buildActionsForHardlink = (() => { - var _ref9 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, events, possibleExtraneous, reporter) { - - // - let build = (() => { - var _ref13 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - const src = data.src, - dest = data.dest; - - const onFresh = data.onFresh || noop; - const onDone = data.onDone || noop; - if (files.has(dest.toLowerCase())) { - // Fixes issue https://github.com/yarnpkg/yarn/issues/2734 - // When bulk hardlinking we have A -> B structure that we want to hardlink to A1 -> B1, - // package-linker passes that modules A1 and B1 need to be hardlinked, - // the recursive linking algorithm of A1 ends up scheduling files in B1 to be linked twice which will case - // an exception. - onDone(); - return; - } - files.add(dest.toLowerCase()); - - if (events.ignoreBasenames.indexOf((_path || _load_path()).default.basename(src)) >= 0) { - // ignored file - return; - } - - const srcStat = yield lstat(src); - let srcFiles; - - if (srcStat.isDirectory()) { - srcFiles = yield readdir(src); - } - - const destExists = yield exists(dest); - if (destExists) { - const destStat = yield lstat(dest); - - const bothSymlinks = srcStat.isSymbolicLink() && destStat.isSymbolicLink(); - const bothFolders = srcStat.isDirectory() && destStat.isDirectory(); - const bothFiles = srcStat.isFile() && destStat.isFile(); - - if (srcStat.mode !== destStat.mode) { - try { - yield access(dest, srcStat.mode); - } catch (err) { - // EINVAL access errors sometimes happen which shouldn't because node shouldn't be giving - // us modes that aren't valid. investigate this, it's generally safe to proceed. - reporter.verbose(err); - } - } - - if (bothFiles && artifactFiles.has(dest)) { - // this file gets changed during build, likely by a custom install script. Don't bother checking it. - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipArtifact', src)); - return; - } - - // correct hardlink - if (bothFiles && srcStat.ino !== null && srcStat.ino === destStat.ino) { - onDone(); - reporter.verbose(reporter.lang('verboseFileSkip', src, dest, srcStat.ino)); - return; - } - - if (bothSymlinks) { - const srcReallink = yield readlink(src); - if (srcReallink === (yield readlink(dest))) { - // if both symlinks are the same then we can continue on - onDone(); - reporter.verbose(reporter.lang('verboseFileSkipSymlink', src, dest, srcReallink)); - return; - } - } - - if (bothFolders) { - // mark files that aren't in this folder as possibly extraneous - const destFiles = yield readdir(dest); - invariant(srcFiles, 'src files not initialised'); - - for (var _iterator10 = destFiles, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { - var _ref14; - - if (_isArray10) { - if (_i10 >= _iterator10.length) break; - _ref14 = _iterator10[_i10++]; - } else { - _i10 = _iterator10.next(); - if (_i10.done) break; - _ref14 = _i10.value; - } - - const file = _ref14; - - if (srcFiles.indexOf(file) < 0) { - const loc = (_path || _load_path()).default.join(dest, file); - possibleExtraneous.add(loc); - - if ((yield lstat(loc)).isDirectory()) { - for (var _iterator11 = yield readdir(loc), _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { - var _ref15; - - if (_isArray11) { - if (_i11 >= _iterator11.length) break; - _ref15 = _iterator11[_i11++]; - } else { - _i11 = _iterator11.next(); - if (_i11.done) break; - _ref15 = _i11.value; - } - - const file = _ref15; - - possibleExtraneous.add((_path || _load_path()).default.join(loc, file)); - } - } - } - } - } - } - - if (srcStat.isSymbolicLink()) { - onFresh(); - const linkname = yield readlink(src); - actions.symlink.push({ - dest, - linkname - }); - onDone(); - } else if (srcStat.isDirectory()) { - reporter.verbose(reporter.lang('verboseFileFolder', dest)); - yield mkdirp(dest); - - const destParts = dest.split((_path || _load_path()).default.sep); - while (destParts.length) { - files.add(destParts.join((_path || _load_path()).default.sep).toLowerCase()); - destParts.pop(); - } - - // push all files to queue - invariant(srcFiles, 'src files not initialised'); - let remaining = srcFiles.length; - if (!remaining) { - onDone(); - } - for (var _iterator12 = srcFiles, _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { - var _ref16; - - if (_isArray12) { - if (_i12 >= _iterator12.length) break; - _ref16 = _iterator12[_i12++]; - } else { - _i12 = _iterator12.next(); - if (_i12.done) break; - _ref16 = _i12.value; - } - - const file = _ref16; - - queue.push({ - onFresh, - src: (_path || _load_path()).default.join(src, file), - dest: (_path || _load_path()).default.join(dest, file), - onDone: function (_onDone2) { - function onDone() { - return _onDone2.apply(this, arguments); - } - - onDone.toString = function () { - return _onDone2.toString(); - }; - - return onDone; - }(function () { - if (--remaining === 0) { - onDone(); - } - }) - }); - } - } else if (srcStat.isFile()) { - onFresh(); - actions.link.push({ - src, - dest, - removeDest: destExists - }); - onDone(); - } else { - throw new Error(`unsure how to copy this: ${src}`); - } - }); - - return function build(_x10) { - return _ref13.apply(this, arguments); - }; - })(); - - const artifactFiles = new Set(events.artifactFiles || []); - const files = new Set(); - - // initialise events - for (var _iterator7 = queue, _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref10; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref10 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref10 = _i7.value; - } - - const item = _ref10; - - const onDone = item.onDone || noop; - item.onDone = function () { - events.onProgress(item.dest); - onDone(); - }; - } - events.onStart(queue.length); - - // start building actions - const actions = { - file: [], - symlink: [], - link: [] - }; - - // custom concurrency logic as we're always executing stacks of CONCURRENT_QUEUE_ITEMS queue items - // at a time due to the requirement to push items onto the queue - while (queue.length) { - const items = queue.splice(0, CONCURRENT_QUEUE_ITEMS); - yield Promise.all(items.map(build)); - } - - // simulate the existence of some files to prevent considering them extraneous - for (var _iterator8 = artifactFiles, _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { - var _ref11; - - if (_isArray8) { - if (_i8 >= _iterator8.length) break; - _ref11 = _iterator8[_i8++]; - } else { - _i8 = _iterator8.next(); - if (_i8.done) break; - _ref11 = _i8.value; - } - - const file = _ref11; - - if (possibleExtraneous.has(file)) { - reporter.verbose(reporter.lang('verboseFilePhantomExtraneous', file)); - possibleExtraneous.delete(file); - } - } - - for (var _iterator9 = possibleExtraneous, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref12; - - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref12 = _iterator9[_i9++]; - } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref12 = _i9.value; - } - - const loc = _ref12; - - if (files.has(loc.toLowerCase())) { - possibleExtraneous.delete(loc); - } - } - - return actions; - }); - - return function buildActionsForHardlink(_x6, _x7, _x8, _x9) { - return _ref9.apply(this, arguments); - }; -})(); - -let copyBulk = exports.copyBulk = (() => { - var _ref17 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { - const events = { - onStart: _events && _events.onStart || noop, - onProgress: _events && _events.onProgress || noop, - possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), - ignoreBasenames: _events && _events.ignoreBasenames || [], - artifactFiles: _events && _events.artifactFiles || [] - }; - - const actions = yield buildActionsForCopy(queue, events, events.possibleExtraneous, reporter); - events.onStart(actions.file.length + actions.symlink.length + actions.link.length); - - const fileActions = actions.file; - - const currentlyWriting = new Map(); - - yield (_promise || _load_promise()).queue(fileActions, (() => { - var _ref18 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - let writePromise; - while (writePromise = currentlyWriting.get(data.dest)) { - yield writePromise; - } - - reporter.verbose(reporter.lang('verboseFileCopy', data.src, data.dest)); - const copier = (0, (_fsNormalized || _load_fsNormalized()).copyFile)(data, function () { - return currentlyWriting.delete(data.dest); - }); - currentlyWriting.set(data.dest, copier); - events.onProgress(data.dest); - return copier; - }); - - return function (_x14) { - return _ref18.apply(this, arguments); - }; - })(), CONCURRENT_QUEUE_ITEMS); - - // we need to copy symlinks last as they could reference files we were copying - const symlinkActions = actions.symlink; - yield (_promise || _load_promise()).queue(symlinkActions, function (data) { - const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); - reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); - return symlink(linkname, data.dest); - }); - }); - - return function copyBulk(_x11, _x12, _x13) { - return _ref17.apply(this, arguments); - }; -})(); - -let hardlinkBulk = exports.hardlinkBulk = (() => { - var _ref19 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (queue, reporter, _events) { - const events = { - onStart: _events && _events.onStart || noop, - onProgress: _events && _events.onProgress || noop, - possibleExtraneous: _events ? _events.possibleExtraneous : new Set(), - artifactFiles: _events && _events.artifactFiles || [], - ignoreBasenames: [] - }; - - const actions = yield buildActionsForHardlink(queue, events, events.possibleExtraneous, reporter); - events.onStart(actions.file.length + actions.symlink.length + actions.link.length); - - const fileActions = actions.link; - - yield (_promise || _load_promise()).queue(fileActions, (() => { - var _ref20 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (data) { - reporter.verbose(reporter.lang('verboseFileLink', data.src, data.dest)); - if (data.removeDest) { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(data.dest); - } - yield link(data.src, data.dest); - }); - - return function (_x18) { - return _ref20.apply(this, arguments); - }; - })(), CONCURRENT_QUEUE_ITEMS); - - // we need to copy symlinks last as they could reference files we were copying - const symlinkActions = actions.symlink; - yield (_promise || _load_promise()).queue(symlinkActions, function (data) { - const linkname = (_path || _load_path()).default.resolve((_path || _load_path()).default.dirname(data.dest), data.linkname); - reporter.verbose(reporter.lang('verboseFileSymlink', data.dest, linkname)); - return symlink(linkname, data.dest); - }); - }); - - return function hardlinkBulk(_x15, _x16, _x17) { - return _ref19.apply(this, arguments); - }; -})(); - -let readFileAny = exports.readFileAny = (() => { - var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (files) { - for (var _iterator13 = files, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) { - var _ref22; - - if (_isArray13) { - if (_i13 >= _iterator13.length) break; - _ref22 = _iterator13[_i13++]; - } else { - _i13 = _iterator13.next(); - if (_i13.done) break; - _ref22 = _i13.value; - } - - const file = _ref22; - - if (yield exists(file)) { - return readFile(file); - } - } - return null; - }); - - return function readFileAny(_x19) { - return _ref21.apply(this, arguments); - }; -})(); - -let readJson = exports.readJson = (() => { - var _ref23 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - return (yield readJsonAndFile(loc)).object; - }); - - return function readJson(_x20) { - return _ref23.apply(this, arguments); - }; -})(); - -let readJsonAndFile = exports.readJsonAndFile = (() => { - var _ref24 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - const file = yield readFile(loc); - try { - return { - object: (0, (_map || _load_map()).default)(JSON.parse(stripBOM(file))), - content: file - }; - } catch (err) { - err.message = `${loc}: ${err.message}`; - throw err; - } - }); - - return function readJsonAndFile(_x21) { - return _ref24.apply(this, arguments); - }; -})(); - -let find = exports.find = (() => { - var _ref25 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (filename, dir) { - const parts = dir.split((_path || _load_path()).default.sep); - - while (parts.length) { - const loc = parts.concat(filename).join((_path || _load_path()).default.sep); - - if (yield exists(loc)) { - return loc; - } else { - parts.pop(); - } - } - - return false; - }); - - return function find(_x22, _x23) { - return _ref25.apply(this, arguments); - }; -})(); - -let symlink = exports.symlink = (() => { - var _ref26 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (src, dest) { - if (process.platform !== 'win32') { - // use relative paths otherwise which will be retained if the directory is moved - src = (_path || _load_path()).default.relative((_path || _load_path()).default.dirname(dest), src); - // When path.relative returns an empty string for the current directory, we should instead use - // '.', which is a valid fs.symlink target. - src = src || '.'; - } - - try { - const stats = yield lstat(dest); - if (stats.isSymbolicLink()) { - const resolved = dest; - if (resolved === src) { - return; - } - } - } catch (err) { - if (err.code !== 'ENOENT') { - throw err; - } - } - - // We use rimraf for unlink which never throws an ENOENT on missing target - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dest); - - if (process.platform === 'win32') { - // use directory junctions if possible on win32, this requires absolute paths - yield fsSymlink(src, dest, 'junction'); - } else { - yield fsSymlink(src, dest); - } - }); - - return function symlink(_x24, _x25) { - return _ref26.apply(this, arguments); - }; -})(); - -let walk = exports.walk = (() => { - var _ref27 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir, relativeDir, ignoreBasenames = new Set()) { - let files = []; - - let filenames = yield readdir(dir); - if (ignoreBasenames.size) { - filenames = filenames.filter(function (name) { - return !ignoreBasenames.has(name); - }); - } - - for (var _iterator14 = filenames, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) { - var _ref28; - - if (_isArray14) { - if (_i14 >= _iterator14.length) break; - _ref28 = _iterator14[_i14++]; - } else { - _i14 = _iterator14.next(); - if (_i14.done) break; - _ref28 = _i14.value; - } - - const name = _ref28; - - const relative = relativeDir ? (_path || _load_path()).default.join(relativeDir, name) : name; - const loc = (_path || _load_path()).default.join(dir, name); - const stat = yield lstat(loc); - - files.push({ - relative, - basename: name, - absolute: loc, - mtime: +stat.mtime - }); - - if (stat.isDirectory()) { - files = files.concat((yield walk(loc, relative, ignoreBasenames))); - } - } - - return files; - }); - - return function walk(_x26, _x27) { - return _ref27.apply(this, arguments); - }; -})(); - -let getFileSizeOnDisk = exports.getFileSizeOnDisk = (() => { - var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (loc) { - const stat = yield lstat(loc); - const size = stat.size, - blockSize = stat.blksize; - - - return Math.ceil(size / blockSize) * blockSize; - }); - - return function getFileSizeOnDisk(_x28) { - return _ref29.apply(this, arguments); - }; -})(); - -let getEolFromFile = (() => { - var _ref30 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path) { - if (!(yield exists(path))) { - return undefined; - } - - const buffer = yield readFileBuffer(path); - - for (let i = 0; i < buffer.length; ++i) { - if (buffer[i] === cr) { - return '\r\n'; - } - if (buffer[i] === lf) { - return '\n'; - } - } - return undefined; - }); - - return function getEolFromFile(_x29) { - return _ref30.apply(this, arguments); - }; -})(); - -let writeFilePreservingEol = exports.writeFilePreservingEol = (() => { - var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (path, data) { - const eol = (yield getEolFromFile(path)) || (_os || _load_os()).default.EOL; - if (eol !== '\n') { - data = data.replace(/\n/g, eol); - } - yield writeFile(path, data); - }); - - return function writeFilePreservingEol(_x30, _x31) { - return _ref31.apply(this, arguments); - }; -})(); - -let hardlinksWork = exports.hardlinksWork = (() => { - var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (dir) { - const filename = 'test-file' + Math.random(); - const file = (_path || _load_path()).default.join(dir, filename); - const fileLink = (_path || _load_path()).default.join(dir, filename + '-link'); - try { - yield writeFile(file, 'test'); - yield link(file, fileLink); - } catch (err) { - return false; - } finally { - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(file); - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(fileLink); - } - return true; - }); - - return function hardlinksWork(_x32) { - return _ref32.apply(this, arguments); - }; -})(); - -// not a strict polyfill for Node's fs.mkdtemp - - -let makeTempDir = exports.makeTempDir = (() => { - var _ref33 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (prefix) { - const dir = (_path || _load_path()).default.join((_os || _load_os()).default.tmpdir(), `yarn-${prefix || ''}-${Date.now()}-${Math.random()}`); - yield (0, (_fsNormalized || _load_fsNormalized()).unlink)(dir); - yield mkdirp(dir); - return dir; - }); - - return function makeTempDir(_x33) { - return _ref33.apply(this, arguments); - }; -})(); - -let readFirstAvailableStream = exports.readFirstAvailableStream = (() => { - var _ref34 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths) { - for (var _iterator15 = paths, _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) { - var _ref35; - - if (_isArray15) { - if (_i15 >= _iterator15.length) break; - _ref35 = _iterator15[_i15++]; - } else { - _i15 = _iterator15.next(); - if (_i15.done) break; - _ref35 = _i15.value; - } - - const path = _ref35; - - try { - const fd = yield open(path, 'r'); - return (_fs || _load_fs()).default.createReadStream(path, { fd }); - } catch (err) { - // Try the next one - } - } - return null; - }); - - return function readFirstAvailableStream(_x34) { - return _ref34.apply(this, arguments); - }; -})(); - -let getFirstSuitableFolder = exports.getFirstSuitableFolder = (() => { - var _ref36 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (paths, mode = constants.W_OK | constants.X_OK) { - const result = { - skipped: [], - folder: null - }; - - for (var _iterator16 = paths, _isArray16 = Array.isArray(_iterator16), _i16 = 0, _iterator16 = _isArray16 ? _iterator16 : _iterator16[Symbol.iterator]();;) { - var _ref37; - - if (_isArray16) { - if (_i16 >= _iterator16.length) break; - _ref37 = _iterator16[_i16++]; - } else { - _i16 = _iterator16.next(); - if (_i16.done) break; - _ref37 = _i16.value; - } - - const folder = _ref37; - - try { - yield mkdirp(folder); - yield access(folder, mode); - - result.folder = folder; - - return result; - } catch (error) { - result.skipped.push({ - error, - folder - }); - } - } - return result; - }); - - return function getFirstSuitableFolder(_x35) { - return _ref36.apply(this, arguments); - }; -})(); - -exports.copy = copy; -exports.readFile = readFile; -exports.readFileRaw = readFileRaw; -exports.normalizeOS = normalizeOS; - -var _fs; - -function _load_fs() { - return _fs = _interopRequireDefault(__webpack_require__(5)); -} - -var _glob; - -function _load_glob() { - return _glob = _interopRequireDefault(__webpack_require__(99)); -} - -var _os; - -function _load_os() { - return _os = _interopRequireDefault(__webpack_require__(46)); -} - -var _path; - -function _load_path() { - return _path = _interopRequireDefault(__webpack_require__(0)); -} - -var _blockingQueue; - -function _load_blockingQueue() { - return _blockingQueue = _interopRequireDefault(__webpack_require__(110)); -} - -var _promise; - -function _load_promise() { - return _promise = _interopRequireWildcard(__webpack_require__(50)); -} - -var _promise2; - -function _load_promise2() { - return _promise2 = __webpack_require__(50); -} - -var _map; - -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(29)); -} - -var _fsNormalized; - -function _load_fsNormalized() { - return _fsNormalized = __webpack_require__(218); -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const constants = exports.constants = typeof (_fs || _load_fs()).default.constants !== 'undefined' ? (_fs || _load_fs()).default.constants : { - R_OK: (_fs || _load_fs()).default.R_OK, - W_OK: (_fs || _load_fs()).default.W_OK, - X_OK: (_fs || _load_fs()).default.X_OK -}; - -const lockQueue = exports.lockQueue = new (_blockingQueue || _load_blockingQueue()).default('fs lock'); - -const readFileBuffer = exports.readFileBuffer = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readFile); -const open = exports.open = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.open); -const writeFile = exports.writeFile = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.writeFile); -const readlink = exports.readlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readlink); -const realpath = exports.realpath = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.realpath); -const readdir = exports.readdir = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.readdir); -const rename = exports.rename = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.rename); -const access = exports.access = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.access); -const stat = exports.stat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.stat); -const mkdirp = exports.mkdirp = (0, (_promise2 || _load_promise2()).promisify)(__webpack_require__(145)); -const exists = exports.exists = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.exists, true); -const lstat = exports.lstat = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.lstat); -const chmod = exports.chmod = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.chmod); -const link = exports.link = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.link); -const glob = exports.glob = (0, (_promise2 || _load_promise2()).promisify)((_glob || _load_glob()).default); -exports.unlink = (_fsNormalized || _load_fsNormalized()).unlink; - -// fs.copyFile uses the native file copying instructions on the system, performing much better -// than any JS-based solution and consumes fewer resources. Repeated testing to fine tune the -// concurrency level revealed 128 as the sweet spot on a quad-core, 16 CPU Intel system with SSD. - -const CONCURRENT_QUEUE_ITEMS = (_fs || _load_fs()).default.copyFile ? 128 : 4; - -const fsSymlink = (0, (_promise2 || _load_promise2()).promisify)((_fs || _load_fs()).default.symlink); -const invariant = __webpack_require__(9); -const stripBOM = __webpack_require__(160); - -const noop = () => {}; - -function copy(src, dest, reporter) { - return copyBulk([{ src, dest }], reporter); -} - -function _readFile(loc, encoding) { - return new Promise((resolve, reject) => { - (_fs || _load_fs()).default.readFile(loc, encoding, function (err, content) { - if (err) { - reject(err); - } else { - resolve(content); - } - }); - }); -} - -function readFile(loc) { - return _readFile(loc, 'utf8').then(normalizeOS); -} - -function readFileRaw(loc) { - return _readFile(loc, 'binary'); -} - -function normalizeOS(body) { - return body.replace(/\r\n/g, '\n'); -} - -const cr = '\r'.charCodeAt(0); -const lf = '\n'.charCodeAt(0); - -/***/ }), -/* 5 */ -/***/ (function(module, exports) { - -module.exports = require("fs"); - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -class MessageError extends Error { - constructor(msg, code) { - super(msg); - this.code = code; - } - -} - -exports.MessageError = MessageError; -class ProcessSpawnError extends MessageError { - constructor(msg, code, process) { - super(msg, code); - this.process = process; - } - -} - -exports.ProcessSpawnError = ProcessSpawnError; -class SecurityError extends MessageError {} - -exports.SecurityError = SecurityError; -class ProcessTermError extends MessageError {} - -exports.ProcessTermError = ProcessTermError; -class ResponseError extends Error { - constructor(msg, responseCode) { - super(msg); - this.responseCode = responseCode; - } - -} - -exports.ResponseError = ResponseError; -class OneTimePasswordError extends Error {} -exports.OneTimePasswordError = OneTimePasswordError; - -/***/ }), -/* 7 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Subscriber; }); -/* unused harmony export SafeSubscriber */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isFunction__ = __webpack_require__(154); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Observer__ = __webpack_require__(420); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__ = __webpack_require__(321); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__config__ = __webpack_require__(185); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__util_hostReportError__ = __webpack_require__(323); -/** PURE_IMPORTS_START tslib,_util_isFunction,_Observer,_Subscription,_internal_symbol_rxSubscriber,_config,_util_hostReportError PURE_IMPORTS_END */ - - - - - - - -var Subscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](Subscriber, _super); - function Subscriber(destinationOrNext, error, complete) { - var _this = _super.call(this) || this; - _this.syncErrorValue = null; - _this.syncErrorThrown = false; - _this.syncErrorThrowable = false; - _this.isStopped = false; - _this._parentSubscription = null; - switch (arguments.length) { - case 0: - _this.destination = __WEBPACK_IMPORTED_MODULE_2__Observer__["a" /* empty */]; - break; - case 1: - if (!destinationOrNext) { - _this.destination = __WEBPACK_IMPORTED_MODULE_2__Observer__["a" /* empty */]; - break; - } - if (typeof destinationOrNext === 'object') { - if (destinationOrNext instanceof Subscriber) { - _this.syncErrorThrowable = destinationOrNext.syncErrorThrowable; - _this.destination = destinationOrNext; - destinationOrNext.add(_this); - } - else { - _this.syncErrorThrowable = true; - _this.destination = new SafeSubscriber(_this, destinationOrNext); - } - break; - } - default: - _this.syncErrorThrowable = true; - _this.destination = new SafeSubscriber(_this, destinationOrNext, error, complete); - break; - } - return _this; - } - Subscriber.prototype[__WEBPACK_IMPORTED_MODULE_4__internal_symbol_rxSubscriber__["a" /* rxSubscriber */]] = function () { return this; }; - Subscriber.create = function (next, error, complete) { - var subscriber = new Subscriber(next, error, complete); - subscriber.syncErrorThrowable = false; - return subscriber; - }; - Subscriber.prototype.next = function (value) { - if (!this.isStopped) { - this._next(value); - } - }; - Subscriber.prototype.error = function (err) { - if (!this.isStopped) { - this.isStopped = true; - this._error(err); - } - }; - Subscriber.prototype.complete = function () { - if (!this.isStopped) { - this.isStopped = true; - this._complete(); - } - }; - Subscriber.prototype.unsubscribe = function () { - if (this.closed) { - return; - } - this.isStopped = true; - _super.prototype.unsubscribe.call(this); - }; - Subscriber.prototype._next = function (value) { - this.destination.next(value); - }; - Subscriber.prototype._error = function (err) { - this.destination.error(err); - this.unsubscribe(); - }; - Subscriber.prototype._complete = function () { - this.destination.complete(); - this.unsubscribe(); - }; - Subscriber.prototype._unsubscribeAndRecycle = function () { - var _a = this, _parent = _a._parent, _parents = _a._parents; - this._parent = null; - this._parents = null; - this.unsubscribe(); - this.closed = false; - this.isStopped = false; - this._parent = _parent; - this._parents = _parents; - this._parentSubscription = null; - return this; - }; - return Subscriber; -}(__WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */])); - -var SafeSubscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](SafeSubscriber, _super); - function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) { - var _this = _super.call(this) || this; - _this._parentSubscriber = _parentSubscriber; - var next; - var context = _this; - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_isFunction__["a" /* isFunction */])(observerOrNext)) { - next = observerOrNext; - } - else if (observerOrNext) { - next = observerOrNext.next; - error = observerOrNext.error; - complete = observerOrNext.complete; - if (observerOrNext !== __WEBPACK_IMPORTED_MODULE_2__Observer__["a" /* empty */]) { - context = Object.create(observerOrNext); - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_isFunction__["a" /* isFunction */])(context.unsubscribe)) { - _this.add(context.unsubscribe.bind(context)); - } - context.unsubscribe = _this.unsubscribe.bind(_this); - } - } - _this._context = context; - _this._next = next; - _this._error = error; - _this._complete = complete; - return _this; - } - SafeSubscriber.prototype.next = function (value) { - if (!this.isStopped && this._next) { - var _parentSubscriber = this._parentSubscriber; - if (!__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) { - this.__tryOrUnsub(this._next, value); - } - else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) { - this.unsubscribe(); - } - } - }; - SafeSubscriber.prototype.error = function (err) { - if (!this.isStopped) { - var _parentSubscriber = this._parentSubscriber; - var useDeprecatedSynchronousErrorHandling = __WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling; - if (this._error) { - if (!useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) { - this.__tryOrUnsub(this._error, err); - this.unsubscribe(); - } - else { - this.__tryOrSetError(_parentSubscriber, this._error, err); - this.unsubscribe(); - } - } - else if (!_parentSubscriber.syncErrorThrowable) { - this.unsubscribe(); - if (useDeprecatedSynchronousErrorHandling) { - throw err; - } - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - } - else { - if (useDeprecatedSynchronousErrorHandling) { - _parentSubscriber.syncErrorValue = err; - _parentSubscriber.syncErrorThrown = true; - } - else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - } - this.unsubscribe(); - } - } - }; - SafeSubscriber.prototype.complete = function () { - var _this = this; - if (!this.isStopped) { - var _parentSubscriber = this._parentSubscriber; - if (this._complete) { - var wrappedComplete = function () { return _this._complete.call(_this._context); }; - if (!__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling || !_parentSubscriber.syncErrorThrowable) { - this.__tryOrUnsub(wrappedComplete); - this.unsubscribe(); - } - else { - this.__tryOrSetError(_parentSubscriber, wrappedComplete); - this.unsubscribe(); - } - } - else { - this.unsubscribe(); - } - } - }; - SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) { - try { - fn.call(this._context, value); - } - catch (err) { - this.unsubscribe(); - if (__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - throw err; - } - else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - } - } - }; - SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) { - if (!__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - throw new Error('bad call'); - } - try { - fn.call(this._context, value); - } - catch (err) { - if (__WEBPACK_IMPORTED_MODULE_5__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - parent.syncErrorValue = err; - parent.syncErrorThrown = true; - return true; - } - else { - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_6__util_hostReportError__["a" /* hostReportError */])(err); - return true; - } - } - return false; - }; - SafeSubscriber.prototype._unsubscribe = function () { - var _parentSubscriber = this._parentSubscriber; - this._context = null; - this._parentSubscriber = null; - _parentSubscriber.unsubscribe(); - }; - return SafeSubscriber; -}(Subscriber)); - -//# sourceMappingURL=Subscriber.js.map - - -/***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getPathKey = getPathKey; -const os = __webpack_require__(46); -const path = __webpack_require__(0); -const userHome = __webpack_require__(67).default; - -var _require = __webpack_require__(225); - -const getCacheDir = _require.getCacheDir, - getConfigDir = _require.getConfigDir, - getDataDir = _require.getDataDir; - -const isWebpackBundle = __webpack_require__(278); - -const DEPENDENCY_TYPES = exports.DEPENDENCY_TYPES = ['devDependencies', 'dependencies', 'optionalDependencies', 'peerDependencies']; -const OWNED_DEPENDENCY_TYPES = exports.OWNED_DEPENDENCY_TYPES = ['devDependencies', 'dependencies', 'optionalDependencies']; - -const RESOLUTIONS = exports.RESOLUTIONS = 'resolutions'; -const MANIFEST_FIELDS = exports.MANIFEST_FIELDS = [RESOLUTIONS, ...DEPENDENCY_TYPES]; - -const SUPPORTED_NODE_VERSIONS = exports.SUPPORTED_NODE_VERSIONS = '^4.8.0 || ^5.7.0 || ^6.2.2 || >=8.0.0'; - -const YARN_REGISTRY = exports.YARN_REGISTRY = 'https://registry.yarnpkg.com'; -const NPM_REGISTRY_RE = exports.NPM_REGISTRY_RE = /https?:\/\/registry\.npmjs\.org/g; - -const YARN_DOCS = exports.YARN_DOCS = 'https://yarnpkg.com/en/docs/cli/'; -const YARN_INSTALLER_SH = exports.YARN_INSTALLER_SH = 'https://yarnpkg.com/install.sh'; -const YARN_INSTALLER_MSI = exports.YARN_INSTALLER_MSI = 'https://yarnpkg.com/latest.msi'; - -const SELF_UPDATE_VERSION_URL = exports.SELF_UPDATE_VERSION_URL = 'https://yarnpkg.com/latest-version'; - -// cache version, bump whenever we make backwards incompatible changes -const CACHE_VERSION = exports.CACHE_VERSION = 6; - -// lockfile version, bump whenever we make backwards incompatible changes -const LOCKFILE_VERSION = exports.LOCKFILE_VERSION = 1; - -// max amount of network requests to perform concurrently -const NETWORK_CONCURRENCY = exports.NETWORK_CONCURRENCY = 8; - -// HTTP timeout used when downloading packages -const NETWORK_TIMEOUT = exports.NETWORK_TIMEOUT = 30 * 1000; // in milliseconds - -// max amount of child processes to execute concurrently -const CHILD_CONCURRENCY = exports.CHILD_CONCURRENCY = 5; - -const REQUIRED_PACKAGE_KEYS = exports.REQUIRED_PACKAGE_KEYS = ['name', 'version', '_uid']; - -function getPreferredCacheDirectories() { - const preferredCacheDirectories = [getCacheDir()]; - - if (process.getuid) { - // $FlowFixMe: process.getuid exists, dammit - preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache-${process.getuid()}`)); - } - - preferredCacheDirectories.push(path.join(os.tmpdir(), `.yarn-cache`)); - - return preferredCacheDirectories; -} - -const PREFERRED_MODULE_CACHE_DIRECTORIES = exports.PREFERRED_MODULE_CACHE_DIRECTORIES = getPreferredCacheDirectories(); -const CONFIG_DIRECTORY = exports.CONFIG_DIRECTORY = getConfigDir(); -const DATA_DIRECTORY = exports.DATA_DIRECTORY = getDataDir(); -const LINK_REGISTRY_DIRECTORY = exports.LINK_REGISTRY_DIRECTORY = path.join(DATA_DIRECTORY, 'link'); -const GLOBAL_MODULE_DIRECTORY = exports.GLOBAL_MODULE_DIRECTORY = path.join(DATA_DIRECTORY, 'global'); - -const NODE_BIN_PATH = exports.NODE_BIN_PATH = process.execPath; -const YARN_BIN_PATH = exports.YARN_BIN_PATH = getYarnBinPath(); - -// Webpack needs to be configured with node.__dirname/__filename = false -function getYarnBinPath() { - if (isWebpackBundle) { - return __filename; - } else { - return path.join(__dirname, '..', 'bin', 'yarn.js'); - } -} - -const NODE_MODULES_FOLDER = exports.NODE_MODULES_FOLDER = 'node_modules'; -const NODE_PACKAGE_JSON = exports.NODE_PACKAGE_JSON = 'package.json'; - -const PNP_FILENAME = exports.PNP_FILENAME = '.pnp.js'; - -const POSIX_GLOBAL_PREFIX = exports.POSIX_GLOBAL_PREFIX = `${process.env.DESTDIR || ''}/usr/local`; -const FALLBACK_GLOBAL_PREFIX = exports.FALLBACK_GLOBAL_PREFIX = path.join(userHome, '.yarn'); - -const META_FOLDER = exports.META_FOLDER = '.yarn-meta'; -const INTEGRITY_FILENAME = exports.INTEGRITY_FILENAME = '.yarn-integrity'; -const LOCKFILE_FILENAME = exports.LOCKFILE_FILENAME = 'yarn.lock'; -const METADATA_FILENAME = exports.METADATA_FILENAME = '.yarn-metadata.json'; -const TARBALL_FILENAME = exports.TARBALL_FILENAME = '.yarn-tarball.tgz'; -const CLEAN_FILENAME = exports.CLEAN_FILENAME = '.yarnclean'; - -const NPM_LOCK_FILENAME = exports.NPM_LOCK_FILENAME = 'package-lock.json'; -const NPM_SHRINKWRAP_FILENAME = exports.NPM_SHRINKWRAP_FILENAME = 'npm-shrinkwrap.json'; - -const DEFAULT_INDENT = exports.DEFAULT_INDENT = ' '; -const SINGLE_INSTANCE_PORT = exports.SINGLE_INSTANCE_PORT = 31997; -const SINGLE_INSTANCE_FILENAME = exports.SINGLE_INSTANCE_FILENAME = '.yarn-single-instance'; - -const ENV_PATH_KEY = exports.ENV_PATH_KEY = getPathKey(process.platform, process.env); - -function getPathKey(platform, env) { - let pathKey = 'PATH'; - - // windows calls its path "Path" usually, but this is not guaranteed. - if (platform === 'win32') { - pathKey = 'Path'; - - for (const key in env) { - if (key.toLowerCase() === 'path') { - pathKey = key; - } - } - } - - return pathKey; -} - -const VERSION_COLOR_SCHEME = exports.VERSION_COLOR_SCHEME = { - major: 'red', - premajor: 'red', - minor: 'yellow', - preminor: 'yellow', - patch: 'green', - prepatch: 'green', - prerelease: 'red', - unchanged: 'white', - unknown: 'red' -}; - -/***/ }), -/* 9 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var NODE_ENV = process.env.NODE_ENV; - -var invariant = function(condition, format, a, b, c, d, e, f) { - if (NODE_ENV !== 'production') { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -}; - -module.exports = invariant; - - -/***/ }), -/* 10 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var YAMLException = __webpack_require__(54); - -var TYPE_CONSTRUCTOR_OPTIONS = [ - 'kind', - 'resolve', - 'construct', - 'instanceOf', - 'predicate', - 'represent', - 'defaultStyle', - 'styleAliases' -]; - -var YAML_NODE_KINDS = [ - 'scalar', - 'sequence', - 'mapping' -]; - -function compileStyleAliases(map) { - var result = {}; - - if (map !== null) { - Object.keys(map).forEach(function (style) { - map[style].forEach(function (alias) { - result[String(alias)] = style; - }); - }); - } - - return result; -} - -function Type(tag, options) { - options = options || {}; - - Object.keys(options).forEach(function (name) { - if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { - throw new YAMLException('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); - } - }); - - // TODO: Add tag format check. - this.tag = tag; - this.kind = options['kind'] || null; - this.resolve = options['resolve'] || function () { return true; }; - this.construct = options['construct'] || function (data) { return data; }; - this.instanceOf = options['instanceOf'] || null; - this.predicate = options['predicate'] || null; - this.represent = options['represent'] || null; - this.defaultStyle = options['defaultStyle'] || null; - this.styleAliases = compileStyleAliases(options['styleAliases'] || null); - - if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { - throw new YAMLException('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); - } -} - -module.exports = Type; - - -/***/ }), -/* 11 */ -/***/ (function(module, exports) { - -module.exports = require("crypto"); - -/***/ }), -/* 12 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Observable; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_canReportError__ = __webpack_require__(322); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__ = __webpack_require__(932); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__ = __webpack_require__(117); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_pipe__ = __webpack_require__(324); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__config__ = __webpack_require__(185); -/** PURE_IMPORTS_START _util_canReportError,_util_toSubscriber,_internal_symbol_observable,_util_pipe,_config PURE_IMPORTS_END */ - - - - - -var Observable = /*@__PURE__*/ (function () { - function Observable(subscribe) { - this._isScalar = false; - if (subscribe) { - this._subscribe = subscribe; - } - } - Observable.prototype.lift = function (operator) { - var observable = new Observable(); - observable.source = this; - observable.operator = operator; - return observable; - }; - Observable.prototype.subscribe = function (observerOrNext, error, complete) { - var operator = this.operator; - var sink = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_toSubscriber__["a" /* toSubscriber */])(observerOrNext, error, complete); - if (operator) { - operator.call(sink, this.source); - } - else { - sink.add(this.source || (__WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].useDeprecatedSynchronousErrorHandling && !sink.syncErrorThrowable) ? - this._subscribe(sink) : - this._trySubscribe(sink)); - } - if (__WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - if (sink.syncErrorThrowable) { - sink.syncErrorThrowable = false; - if (sink.syncErrorThrown) { - throw sink.syncErrorValue; - } - } - } - return sink; - }; - Observable.prototype._trySubscribe = function (sink) { - try { - return this._subscribe(sink); - } - catch (err) { - if (__WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].useDeprecatedSynchronousErrorHandling) { - sink.syncErrorThrown = true; - sink.syncErrorValue = err; - } - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_canReportError__["a" /* canReportError */])(sink)) { - sink.error(err); - } - else { - console.warn(err); - } - } - }; - Observable.prototype.forEach = function (next, promiseCtor) { - var _this = this; - promiseCtor = getPromiseCtor(promiseCtor); - return new promiseCtor(function (resolve, reject) { - var subscription; - subscription = _this.subscribe(function (value) { - try { - next(value); - } - catch (err) { - reject(err); - if (subscription) { - subscription.unsubscribe(); - } - } - }, reject, resolve); - }); - }; - Observable.prototype._subscribe = function (subscriber) { - var source = this.source; - return source && source.subscribe(subscriber); - }; - Observable.prototype[__WEBPACK_IMPORTED_MODULE_2__internal_symbol_observable__["a" /* observable */]] = function () { - return this; - }; - Observable.prototype.pipe = function () { - var operations = []; - for (var _i = 0; _i < arguments.length; _i++) { - operations[_i] = arguments[_i]; - } - if (operations.length === 0) { - return this; - } - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util_pipe__["b" /* pipeFromArray */])(operations)(this); - }; - Observable.prototype.toPromise = function (promiseCtor) { - var _this = this; - promiseCtor = getPromiseCtor(promiseCtor); - return new promiseCtor(function (resolve, reject) { - var value; - _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); }); - }); - }; - Observable.create = function (subscribe) { - return new Observable(subscribe); - }; - return Observable; -}()); - -function getPromiseCtor(promiseCtor) { - if (!promiseCtor) { - promiseCtor = __WEBPACK_IMPORTED_MODULE_4__config__["a" /* config */].Promise || Promise; - } - if (!promiseCtor) { - throw new Error('no Promise impl found'); - } - return promiseCtor; -} -//# sourceMappingURL=Observable.js.map - - -/***/ }), -/* 13 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return OuterSubscriber; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Subscriber__ = __webpack_require__(7); -/** PURE_IMPORTS_START tslib,_Subscriber PURE_IMPORTS_END */ - - -var OuterSubscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](OuterSubscriber, _super); - function OuterSubscriber() { - return _super !== null && _super.apply(this, arguments) || this; - } - OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) { - this.destination.next(innerValue); - }; - OuterSubscriber.prototype.notifyError = function (error, innerSub) { - this.destination.error(error); - }; - OuterSubscriber.prototype.notifyComplete = function (innerSub) { - this.destination.complete(); - }; - return OuterSubscriber; -}(__WEBPACK_IMPORTED_MODULE_1__Subscriber__["a" /* Subscriber */])); - -//# sourceMappingURL=OuterSubscriber.js.map - - -/***/ }), -/* 14 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (immutable) */ __webpack_exports__["a"] = subscribeToResult; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__InnerSubscriber__ = __webpack_require__(84); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__subscribeTo__ = __webpack_require__(446); -/** PURE_IMPORTS_START _InnerSubscriber,_subscribeTo PURE_IMPORTS_END */ - - -function subscribeToResult(outerSubscriber, result, outerValue, outerIndex, destination) { - if (destination === void 0) { - destination = new __WEBPACK_IMPORTED_MODULE_0__InnerSubscriber__["a" /* InnerSubscriber */](outerSubscriber, outerValue, outerIndex); - } - if (destination.closed) { - return; - } - return __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__subscribeTo__["a" /* subscribeTo */])(result)(destination); -} -//# sourceMappingURL=subscribeToResult.js.map - - -/***/ }), -/* 15 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* eslint-disable node/no-deprecated-api */ - - - -var buffer = __webpack_require__(64) -var Buffer = buffer.Buffer - -var safer = {} - -var key - -for (key in buffer) { - if (!buffer.hasOwnProperty(key)) continue - if (key === 'SlowBuffer' || key === 'Buffer') continue - safer[key] = buffer[key] -} - -var Safer = safer.Buffer = {} -for (key in Buffer) { - if (!Buffer.hasOwnProperty(key)) continue - if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue - Safer[key] = Buffer[key] -} - -safer.Buffer.prototype = Buffer.prototype - -if (!Safer.from || Safer.from === Uint8Array.from) { - Safer.from = function (value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('The "value" argument must not be of type number. Received type ' + typeof value) - } - if (value && typeof value.length === 'undefined') { - throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value) - } - return Buffer(value, encodingOrOffset, length) - } -} - -if (!Safer.alloc) { - Safer.alloc = function (size, fill, encoding) { - if (typeof size !== 'number') { - throw new TypeError('The "size" argument must be of type number. Received type ' + typeof size) - } - if (size < 0 || size >= 2 * (1 << 30)) { - throw new RangeError('The value "' + size + '" is invalid for option "size"') - } - var buf = Buffer(size) - if (!fill || fill.length === 0) { - buf.fill(0) - } else if (typeof encoding === 'string') { - buf.fill(fill, encoding) - } else { - buf.fill(fill) - } - return buf - } -} - -if (!safer.kStringMaxLength) { - try { - safer.kStringMaxLength = process.binding('buffer').kStringMaxLength - } catch (e) { - // we can't determine kStringMaxLength in environments where process.binding - // is unsupported, so let's not set it - } -} - -if (!safer.constants) { - safer.constants = { - MAX_LENGTH: safer.kMaxLength - } - if (safer.kStringMaxLength) { - safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength - } -} - -module.exports = safer - - -/***/ }), -/* 16 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright (c) 2012, Mark Cavage. All rights reserved. -// Copyright 2015 Joyent, Inc. - -var assert = __webpack_require__(28); -var Stream = __webpack_require__(23).Stream; -var util = __webpack_require__(3); - - -///--- Globals - -/* JSSTYLED */ -var UUID_REGEXP = /^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$/; - - -///--- Internal - -function _capitalize(str) { - return (str.charAt(0).toUpperCase() + str.slice(1)); -} - -function _toss(name, expected, oper, arg, actual) { - throw new assert.AssertionError({ - message: util.format('%s (%s) is required', name, expected), - actual: (actual === undefined) ? typeof (arg) : actual(arg), - expected: expected, - operator: oper || '===', - stackStartFunction: _toss.caller - }); -} - -function _getClass(arg) { - return (Object.prototype.toString.call(arg).slice(8, -1)); -} - -function noop() { - // Why even bother with asserts? -} - - -///--- Exports - -var types = { - bool: { - check: function (arg) { return typeof (arg) === 'boolean'; } - }, - func: { - check: function (arg) { return typeof (arg) === 'function'; } - }, - string: { - check: function (arg) { return typeof (arg) === 'string'; } - }, - object: { - check: function (arg) { - return typeof (arg) === 'object' && arg !== null; - } - }, - number: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg); - } - }, - finite: { - check: function (arg) { - return typeof (arg) === 'number' && !isNaN(arg) && isFinite(arg); - } - }, - buffer: { - check: function (arg) { return Buffer.isBuffer(arg); }, - operator: 'Buffer.isBuffer' - }, - array: { - check: function (arg) { return Array.isArray(arg); }, - operator: 'Array.isArray' - }, - stream: { - check: function (arg) { return arg instanceof Stream; }, - operator: 'instanceof', - actual: _getClass - }, - date: { - check: function (arg) { return arg instanceof Date; }, - operator: 'instanceof', - actual: _getClass - }, - regexp: { - check: function (arg) { return arg instanceof RegExp; }, - operator: 'instanceof', - actual: _getClass - }, - uuid: { - check: function (arg) { - return typeof (arg) === 'string' && UUID_REGEXP.test(arg); - }, - operator: 'isUUID' - } -}; - -function _setExports(ndebug) { - var keys = Object.keys(types); - var out; - - /* re-export standard assert */ - if (process.env.NODE_NDEBUG) { - out = noop; - } else { - out = function (arg, msg) { - if (!arg) { - _toss(msg, 'true', arg); - } - }; - } - - /* standard checks */ - keys.forEach(function (k) { - if (ndebug) { - out[k] = noop; - return; - } - var type = types[k]; - out[k] = function (arg, msg) { - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* optional checks */ - keys.forEach(function (k) { - var name = 'optional' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!type.check(arg)) { - _toss(msg, k, type.operator, arg, type.actual); - } - }; - }); - - /* arrayOf checks */ - keys.forEach(function (k) { - var name = 'arrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* optionalArrayOf checks */ - keys.forEach(function (k) { - var name = 'optionalArrayOf' + _capitalize(k); - if (ndebug) { - out[name] = noop; - return; - } - var type = types[k]; - var expected = '[' + k + ']'; - out[name] = function (arg, msg) { - if (arg === undefined || arg === null) { - return; - } - if (!Array.isArray(arg)) { - _toss(msg, expected, type.operator, arg, type.actual); - } - var i; - for (i = 0; i < arg.length; i++) { - if (!type.check(arg[i])) { - _toss(msg, expected, type.operator, arg, type.actual); - } - } - }; - }); - - /* re-export built-in assertions */ - Object.keys(assert).forEach(function (k) { - if (k === 'AssertionError') { - out[k] = assert[k]; - return; - } - if (ndebug) { - out[k] = noop; - return; - } - out[k] = assert[k]; - }); - - /* export ourselves (for unit tests _only_) */ - out._setExports = _setExports; - - return out; -} - -module.exports = _setExports(process.env.NODE_NDEBUG); - - -/***/ }), -/* 17 */ -/***/ (function(module, exports) { - -// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 -var global = module.exports = typeof window != 'undefined' && window.Math == Math - ? window : typeof self != 'undefined' && self.Math == Math ? self - // eslint-disable-next-line no-new-func - : Function('return this')(); -if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef - - -/***/ }), -/* 18 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.sortAlpha = sortAlpha; -exports.sortOptionsByFlags = sortOptionsByFlags; -exports.entries = entries; -exports.removePrefix = removePrefix; -exports.removeSuffix = removeSuffix; -exports.addSuffix = addSuffix; -exports.hyphenate = hyphenate; -exports.camelCase = camelCase; -exports.compareSortedArrays = compareSortedArrays; -exports.sleep = sleep; -const _camelCase = __webpack_require__(230); - -function sortAlpha(a, b) { - // sort alphabetically in a deterministic way - const shortLen = Math.min(a.length, b.length); - for (let i = 0; i < shortLen; i++) { - const aChar = a.charCodeAt(i); - const bChar = b.charCodeAt(i); - if (aChar !== bChar) { - return aChar - bChar; - } - } - return a.length - b.length; -} - -function sortOptionsByFlags(a, b) { - const aOpt = a.flags.replace(/-/g, ''); - const bOpt = b.flags.replace(/-/g, ''); - return sortAlpha(aOpt, bOpt); -} - -function entries(obj) { - const entries = []; - if (obj) { - for (const key in obj) { - entries.push([key, obj[key]]); - } - } - return entries; -} - -function removePrefix(pattern, prefix) { - if (pattern.startsWith(prefix)) { - pattern = pattern.slice(prefix.length); - } - - return pattern; -} - -function removeSuffix(pattern, suffix) { - if (pattern.endsWith(suffix)) { - return pattern.slice(0, -suffix.length); - } - - return pattern; -} - -function addSuffix(pattern, suffix) { - if (!pattern.endsWith(suffix)) { - return pattern + suffix; - } - - return pattern; -} - -function hyphenate(str) { - return str.replace(/[A-Z]/g, match => { - return '-' + match.charAt(0).toLowerCase(); - }); -} - -function camelCase(str) { - if (/[A-Z]/.test(str)) { - return null; - } else { - return _camelCase(str); - } -} - -function compareSortedArrays(array1, array2) { - if (array1.length !== array2.length) { - return false; - } - for (let i = 0, len = array1.length; i < len; i++) { - if (array1[i] !== array2[i]) { - return false; - } - } - return true; -} - -function sleep(ms) { - return new Promise(resolve => { - setTimeout(resolve, ms); - }); -} - -/***/ }), -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.stringify = exports.parse = undefined; - -var _asyncToGenerator2; - -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(2)); -} - -var _parse; - -function _load_parse() { - return _parse = __webpack_require__(105); -} - -Object.defineProperty(exports, 'parse', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_parse || _load_parse()).default; - } -}); - -var _stringify; - -function _load_stringify() { - return _stringify = __webpack_require__(199); -} - -Object.defineProperty(exports, 'stringify', { - enumerable: true, - get: function get() { - return _interopRequireDefault(_stringify || _load_stringify()).default; - } -}); -exports.implodeEntry = implodeEntry; -exports.explodeEntry = explodeEntry; - -var _misc; - -function _load_misc() { - return _misc = __webpack_require__(18); -} - -var _normalizePattern; - -function _load_normalizePattern() { - return _normalizePattern = __webpack_require__(37); -} - -var _parse2; - -function _load_parse2() { - return _parse2 = _interopRequireDefault(__webpack_require__(105)); -} - -var _constants; - -function _load_constants() { - return _constants = __webpack_require__(8); -} - -var _fs; - -function _load_fs() { - return _fs = _interopRequireWildcard(__webpack_require__(4)); -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const invariant = __webpack_require__(9); - -const path = __webpack_require__(0); -const ssri = __webpack_require__(65); - -function getName(pattern) { - return (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern).name; -} - -function blankObjectUndefined(obj) { - return obj && Object.keys(obj).length ? obj : undefined; -} - -function keyForRemote(remote) { - return remote.resolved || (remote.reference && remote.hash ? `${remote.reference}#${remote.hash}` : null); -} - -function serializeIntegrity(integrity) { - // We need this because `Integrity.toString()` does not use sorting to ensure a stable string output - // See https://git.io/vx2Hy - return integrity.toString().split(' ').sort().join(' '); -} - -function implodeEntry(pattern, obj) { - const inferredName = getName(pattern); - const integrity = obj.integrity ? serializeIntegrity(obj.integrity) : ''; - const imploded = { - name: inferredName === obj.name ? undefined : obj.name, - version: obj.version, - uid: obj.uid === obj.version ? undefined : obj.uid, - resolved: obj.resolved, - registry: obj.registry === 'npm' ? undefined : obj.registry, - dependencies: blankObjectUndefined(obj.dependencies), - optionalDependencies: blankObjectUndefined(obj.optionalDependencies), - permissions: blankObjectUndefined(obj.permissions), - prebuiltVariants: blankObjectUndefined(obj.prebuiltVariants) - }; - if (integrity) { - imploded.integrity = integrity; - } - return imploded; -} - -function explodeEntry(pattern, obj) { - obj.optionalDependencies = obj.optionalDependencies || {}; - obj.dependencies = obj.dependencies || {}; - obj.uid = obj.uid || obj.version; - obj.permissions = obj.permissions || {}; - obj.registry = obj.registry || 'npm'; - obj.name = obj.name || getName(pattern); - const integrity = obj.integrity; - if (integrity && integrity.isIntegrity) { - obj.integrity = ssri.parse(integrity); - } - return obj; -} - -class Lockfile { - constructor({ cache, source, parseResultType } = {}) { - this.source = source || ''; - this.cache = cache; - this.parseResultType = parseResultType; - } - - // source string if the `cache` was parsed - - - // if true, we're parsing an old yarn file and need to update integrity fields - hasEntriesExistWithoutIntegrity() { - if (!this.cache) { - return false; - } - - for (const key in this.cache) { - // $FlowFixMe - `this.cache` is clearly defined at this point - if (!/^.*@(file:|http)/.test(key) && this.cache[key] && !this.cache[key].integrity) { - return true; - } - } - - return false; - } - - static fromDirectory(dir, reporter) { - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // read the manifest in this directory - const lockfileLoc = path.join(dir, (_constants || _load_constants()).LOCKFILE_FILENAME); - - let lockfile; - let rawLockfile = ''; - let parseResult; - - if (yield (_fs || _load_fs()).exists(lockfileLoc)) { - rawLockfile = yield (_fs || _load_fs()).readFile(lockfileLoc); - parseResult = (0, (_parse2 || _load_parse2()).default)(rawLockfile, lockfileLoc); - - if (reporter) { - if (parseResult.type === 'merge') { - reporter.info(reporter.lang('lockfileMerged')); - } else if (parseResult.type === 'conflict') { - reporter.warn(reporter.lang('lockfileConflict')); - } - } - - lockfile = parseResult.object; - } else if (reporter) { - reporter.info(reporter.lang('noLockfileFound')); - } - - if (lockfile && lockfile.__metadata) { - const lockfilev2 = lockfile; - lockfile = {}; - } - - return new Lockfile({ cache: lockfile, source: rawLockfile, parseResultType: parseResult && parseResult.type }); - })(); - } - - getLocked(pattern) { - const cache = this.cache; - if (!cache) { - return undefined; - } - - const shrunk = pattern in cache && cache[pattern]; - - if (typeof shrunk === 'string') { - return this.getLocked(shrunk); - } else if (shrunk) { - explodeEntry(pattern, shrunk); - return shrunk; - } - - return undefined; - } - - removePattern(pattern) { - const cache = this.cache; - if (!cache) { - return; - } - delete cache[pattern]; - } - - getLockfile(patterns) { - const lockfile = {}; - const seen = new Map(); - - // order by name so that lockfile manifest is assigned to the first dependency with this manifest - // the others that have the same remoteKey will just refer to the first - // ordering allows for consistency in lockfile when it is serialized - const sortedPatternsKeys = Object.keys(patterns).sort((_misc || _load_misc()).sortAlpha); - - for (var _iterator = sortedPatternsKeys, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const pattern = _ref; - - const pkg = patterns[pattern]; - const remote = pkg._remote, - ref = pkg._reference; - - invariant(ref, 'Package is missing a reference'); - invariant(remote, 'Package is missing a remote'); - - const remoteKey = keyForRemote(remote); - const seenPattern = remoteKey && seen.get(remoteKey); - if (seenPattern) { - // no point in duplicating it - lockfile[pattern] = seenPattern; - - // if we're relying on our name being inferred and two of the patterns have - // different inferred names then we need to set it - if (!seenPattern.name && getName(pattern) !== pkg.name) { - seenPattern.name = pkg.name; - } - continue; - } - const obj = implodeEntry(pattern, { - name: pkg.name, - version: pkg.version, - uid: pkg._uid, - resolved: remote.resolved, - integrity: remote.integrity, - registry: remote.registry, - dependencies: pkg.dependencies, - peerDependencies: pkg.peerDependencies, - optionalDependencies: pkg.optionalDependencies, - permissions: ref.permissions, - prebuiltVariants: pkg.prebuiltVariants - }); - - lockfile[pattern] = obj; - - if (remoteKey) { - seen.set(remoteKey, obj); - } - } - - return lockfile; - } -} -exports.default = Lockfile; - -/***/ }), -/* 20 */ -/***/ (function(module, exports, __webpack_require__) { - -var store = __webpack_require__(133)('wks'); -var uid = __webpack_require__(137); -var Symbol = __webpack_require__(17).Symbol; -var USE_SYMBOL = typeof Symbol == 'function'; - -var $exports = module.exports = function (name) { - return store[name] || (store[name] = - USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); -}; - -$exports.store = store; - - -/***/ }), -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _assign = __webpack_require__(591); - -var _assign2 = _interopRequireDefault(_assign); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -exports.default = _assign2.default || function (target) { - for (var i = 1; i < arguments.length; i++) { - var source = arguments[i]; - - for (var key in source) { - if (Object.prototype.hasOwnProperty.call(source, key)) { - target[key] = source[key]; - } - } - } - - return target; -}; - -/***/ }), -/* 22 */ -/***/ (function(module, exports) { - -exports = module.exports = SemVer; - -// The debug function is excluded entirely from the minified version. -/* nomin */ var debug; -/* nomin */ if (typeof process === 'object' && - /* nomin */ process.env && - /* nomin */ process.env.NODE_DEBUG && - /* nomin */ /\bsemver\b/i.test(process.env.NODE_DEBUG)) - /* nomin */ debug = function() { - /* nomin */ var args = Array.prototype.slice.call(arguments, 0); - /* nomin */ args.unshift('SEMVER'); - /* nomin */ console.log.apply(console, args); - /* nomin */ }; -/* nomin */ else - /* nomin */ debug = function() {}; - -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -exports.SEMVER_SPEC_VERSION = '2.0.0'; - -var MAX_LENGTH = 256; -var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; - -// Max safe segment length for coercion. -var MAX_SAFE_COMPONENT_LENGTH = 16; - -// The actual regexps go on exports.re -var re = exports.re = []; -var src = exports.src = []; -var R = 0; - -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. - -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - -var NUMERICIDENTIFIER = R++; -src[NUMERICIDENTIFIER] = '0|[1-9]\\d*'; -var NUMERICIDENTIFIERLOOSE = R++; -src[NUMERICIDENTIFIERLOOSE] = '[0-9]+'; - - -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -var NONNUMERICIDENTIFIER = R++; -src[NONNUMERICIDENTIFIER] = '\\d*[a-zA-Z-][a-zA-Z0-9-]*'; - - -// ## Main Version -// Three dot-separated numeric identifiers. - -var MAINVERSION = R++; -src[MAINVERSION] = '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')\\.' + - '(' + src[NUMERICIDENTIFIER] + ')'; - -var MAINVERSIONLOOSE = R++; -src[MAINVERSIONLOOSE] = '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')\\.' + - '(' + src[NUMERICIDENTIFIERLOOSE] + ')'; - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -var PRERELEASEIDENTIFIER = R++; -src[PRERELEASEIDENTIFIER] = '(?:' + src[NUMERICIDENTIFIER] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - -var PRERELEASEIDENTIFIERLOOSE = R++; -src[PRERELEASEIDENTIFIERLOOSE] = '(?:' + src[NUMERICIDENTIFIERLOOSE] + - '|' + src[NONNUMERICIDENTIFIER] + ')'; - - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -var PRERELEASE = R++; -src[PRERELEASE] = '(?:-(' + src[PRERELEASEIDENTIFIER] + - '(?:\\.' + src[PRERELEASEIDENTIFIER] + ')*))'; - -var PRERELEASELOOSE = R++; -src[PRERELEASELOOSE] = '(?:-?(' + src[PRERELEASEIDENTIFIERLOOSE] + - '(?:\\.' + src[PRERELEASEIDENTIFIERLOOSE] + ')*))'; - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -var BUILDIDENTIFIER = R++; -src[BUILDIDENTIFIER] = '[0-9A-Za-z-]+'; - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -var BUILD = R++; -src[BUILD] = '(?:\\+(' + src[BUILDIDENTIFIER] + - '(?:\\.' + src[BUILDIDENTIFIER] + ')*))'; - - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups. The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -var FULL = R++; -var FULLPLAIN = 'v?' + src[MAINVERSION] + - src[PRERELEASE] + '?' + - src[BUILD] + '?'; - -src[FULL] = '^' + FULLPLAIN + '$'; - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -var LOOSEPLAIN = '[v=\\s]*' + src[MAINVERSIONLOOSE] + - src[PRERELEASELOOSE] + '?' + - src[BUILD] + '?'; - -var LOOSE = R++; -src[LOOSE] = '^' + LOOSEPLAIN + '$'; - -var GTLT = R++; -src[GTLT] = '((?:<|>)?=?)'; - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -var XRANGEIDENTIFIERLOOSE = R++; -src[XRANGEIDENTIFIERLOOSE] = src[NUMERICIDENTIFIERLOOSE] + '|x|X|\\*'; -var XRANGEIDENTIFIER = R++; -src[XRANGEIDENTIFIER] = src[NUMERICIDENTIFIER] + '|x|X|\\*'; - -var XRANGEPLAIN = R++; -src[XRANGEPLAIN] = '[v=\\s]*(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIER] + ')' + - '(?:' + src[PRERELEASE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGEPLAINLOOSE = R++; -src[XRANGEPLAINLOOSE] = '[v=\\s]*(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:\\.(' + src[XRANGEIDENTIFIERLOOSE] + ')' + - '(?:' + src[PRERELEASELOOSE] + ')?' + - src[BUILD] + '?' + - ')?)?'; - -var XRANGE = R++; -src[XRANGE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAIN] + '$'; -var XRANGELOOSE = R++; -src[XRANGELOOSE] = '^' + src[GTLT] + '\\s*' + src[XRANGEPLAINLOOSE] + '$'; - -// Coercion. -// Extract anything that could conceivably be a part of a valid semver -var COERCE = R++; -src[COERCE] = '(?:^|[^\\d])' + - '(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '})' + - '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + - '(?:\\.(\\d{1,' + MAX_SAFE_COMPONENT_LENGTH + '}))?' + - '(?:$|[^\\d])'; - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -var LONETILDE = R++; -src[LONETILDE] = '(?:~>?)'; - -var TILDETRIM = R++; -src[TILDETRIM] = '(\\s*)' + src[LONETILDE] + '\\s+'; -re[TILDETRIM] = new RegExp(src[TILDETRIM], 'g'); -var tildeTrimReplace = '$1~'; - -var TILDE = R++; -src[TILDE] = '^' + src[LONETILDE] + src[XRANGEPLAIN] + '$'; -var TILDELOOSE = R++; -src[TILDELOOSE] = '^' + src[LONETILDE] + src[XRANGEPLAINLOOSE] + '$'; - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -var LONECARET = R++; -src[LONECARET] = '(?:\\^)'; - -var CARETTRIM = R++; -src[CARETTRIM] = '(\\s*)' + src[LONECARET] + '\\s+'; -re[CARETTRIM] = new RegExp(src[CARETTRIM], 'g'); -var caretTrimReplace = '$1^'; - -var CARET = R++; -src[CARET] = '^' + src[LONECARET] + src[XRANGEPLAIN] + '$'; -var CARETLOOSE = R++; -src[CARETLOOSE] = '^' + src[LONECARET] + src[XRANGEPLAINLOOSE] + '$'; - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -var COMPARATORLOOSE = R++; -src[COMPARATORLOOSE] = '^' + src[GTLT] + '\\s*(' + LOOSEPLAIN + ')$|^$'; -var COMPARATOR = R++; -src[COMPARATOR] = '^' + src[GTLT] + '\\s*(' + FULLPLAIN + ')$|^$'; - - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -var COMPARATORTRIM = R++; -src[COMPARATORTRIM] = '(\\s*)' + src[GTLT] + - '\\s*(' + LOOSEPLAIN + '|' + src[XRANGEPLAIN] + ')'; - -// this one has to use the /g flag -re[COMPARATORTRIM] = new RegExp(src[COMPARATORTRIM], 'g'); -var comparatorTrimReplace = '$1$2$3'; - - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -var HYPHENRANGE = R++; -src[HYPHENRANGE] = '^\\s*(' + src[XRANGEPLAIN] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAIN] + ')' + - '\\s*$'; - -var HYPHENRANGELOOSE = R++; -src[HYPHENRANGELOOSE] = '^\\s*(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s+-\\s+' + - '(' + src[XRANGEPLAINLOOSE] + ')' + - '\\s*$'; - -// Star ranges basically just allow anything at all. -var STAR = R++; -src[STAR] = '(<|>)?=?\\s*\\*'; - -// Compile to actual regexp objects. -// All are flag-free, unless they were created above with a flag. -for (var i = 0; i < R; i++) { - debug(i, src[i]); - if (!re[i]) - re[i] = new RegExp(src[i]); -} - -exports.parse = parse; -function parse(version, loose) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - if (version.length > MAX_LENGTH) - return null; - - var r = loose ? re[LOOSE] : re[FULL]; - if (!r.test(version)) - return null; - - try { - return new SemVer(version, loose); - } catch (er) { - return null; - } -} - -exports.valid = valid; -function valid(version, loose) { - var v = parse(version, loose); - return v ? v.version : null; -} - - -exports.clean = clean; -function clean(version, loose) { - var s = parse(version.trim().replace(/^[=v]+/, ''), loose); - return s ? s.version : null; -} - -exports.SemVer = SemVer; - -function SemVer(version, loose) { - if (version instanceof SemVer) { - if (version.loose === loose) - return version; - else - version = version.version; - } else if (typeof version !== 'string') { - throw new TypeError('Invalid Version: ' + version); - } - - if (version.length > MAX_LENGTH) - throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters') - - if (!(this instanceof SemVer)) - return new SemVer(version, loose); - - debug('SemVer', version, loose); - this.loose = loose; - var m = version.trim().match(loose ? re[LOOSE] : re[FULL]); - - if (!m) - throw new TypeError('Invalid Version: ' + version); - - this.raw = version; - - // these are actually numbers - this.major = +m[1]; - this.minor = +m[2]; - this.patch = +m[3]; - - if (this.major > MAX_SAFE_INTEGER || this.major < 0) - throw new TypeError('Invalid major version') - - if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) - throw new TypeError('Invalid minor version') - - if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) - throw new TypeError('Invalid patch version') - - // numberify any prerelease numeric ids - if (!m[4]) - this.prerelease = []; - else - this.prerelease = m[4].split('.').map(function(id) { - if (/^[0-9]+$/.test(id)) { - var num = +id; - if (num >= 0 && num < MAX_SAFE_INTEGER) - return num; - } - return id; - }); - - this.build = m[5] ? m[5].split('.') : []; - this.format(); -} - -SemVer.prototype.format = function() { - this.version = this.major + '.' + this.minor + '.' + this.patch; - if (this.prerelease.length) - this.version += '-' + this.prerelease.join('.'); - return this.version; -}; - -SemVer.prototype.toString = function() { - return this.version; -}; - -SemVer.prototype.compare = function(other) { - debug('SemVer.compare', this.version, this.loose, other); - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return this.compareMain(other) || this.comparePre(other); -}; - -SemVer.prototype.compareMain = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - return compareIdentifiers(this.major, other.major) || - compareIdentifiers(this.minor, other.minor) || - compareIdentifiers(this.patch, other.patch); -}; - -SemVer.prototype.comparePre = function(other) { - if (!(other instanceof SemVer)) - other = new SemVer(other, this.loose); - - // NOT having a prerelease is > having one - if (this.prerelease.length && !other.prerelease.length) - return -1; - else if (!this.prerelease.length && other.prerelease.length) - return 1; - else if (!this.prerelease.length && !other.prerelease.length) - return 0; - - var i = 0; - do { - var a = this.prerelease[i]; - var b = other.prerelease[i]; - debug('prerelease compare', i, a, b); - if (a === undefined && b === undefined) - return 0; - else if (b === undefined) - return 1; - else if (a === undefined) - return -1; - else if (a === b) - continue; - else - return compareIdentifiers(a, b); - } while (++i); -}; - -// preminor will bump the version up to the next minor release, and immediately -// down to pre-release. premajor and prepatch work the same way. -SemVer.prototype.inc = function(release, identifier) { - switch (release) { - case 'premajor': - this.prerelease.length = 0; - this.patch = 0; - this.minor = 0; - this.major++; - this.inc('pre', identifier); - break; - case 'preminor': - this.prerelease.length = 0; - this.patch = 0; - this.minor++; - this.inc('pre', identifier); - break; - case 'prepatch': - // If this is already a prerelease, it will bump to the next version - // drop any prereleases that might already exist, since they are not - // relevant at this point. - this.prerelease.length = 0; - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - // If the input is a non-prerelease version, this acts the same as - // prepatch. - case 'prerelease': - if (this.prerelease.length === 0) - this.inc('patch', identifier); - this.inc('pre', identifier); - break; - - case 'major': - // If this is a pre-major version, bump up to the same major version. - // Otherwise increment major. - // 1.0.0-5 bumps to 1.0.0 - // 1.1.0 bumps to 2.0.0 - if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) - this.major++; - this.minor = 0; - this.patch = 0; - this.prerelease = []; - break; - case 'minor': - // If this is a pre-minor version, bump up to the same minor version. - // Otherwise increment minor. - // 1.2.0-5 bumps to 1.2.0 - // 1.2.1 bumps to 1.3.0 - if (this.patch !== 0 || this.prerelease.length === 0) - this.minor++; - this.patch = 0; - this.prerelease = []; - break; - case 'patch': - // If this is not a pre-release version, it will increment the patch. - // If it is a pre-release it will bump up to the same patch version. - // 1.2.0-5 patches to 1.2.0 - // 1.2.0 patches to 1.2.1 - if (this.prerelease.length === 0) - this.patch++; - this.prerelease = []; - break; - // This probably shouldn't be used publicly. - // 1.0.0 "pre" would become 1.0.0-0 which is the wrong direction. - case 'pre': - if (this.prerelease.length === 0) - this.prerelease = [0]; - else { - var i = this.prerelease.length; - while (--i >= 0) { - if (typeof this.prerelease[i] === 'number') { - this.prerelease[i]++; - i = -2; - } - } - if (i === -1) // didn't increment anything - this.prerelease.push(0); - } - if (identifier) { - // 1.2.0-beta.1 bumps to 1.2.0-beta.2, - // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { - if (isNaN(this.prerelease[1])) - this.prerelease = [identifier, 0]; - } else - this.prerelease = [identifier, 0]; - } - break; - - default: - throw new Error('invalid increment argument: ' + release); - } - this.format(); - this.raw = this.version; - return this; -}; - -exports.inc = inc; -function inc(version, release, loose, identifier) { - if (typeof(loose) === 'string') { - identifier = loose; - loose = undefined; - } - - try { - return new SemVer(version, loose).inc(release, identifier).version; - } catch (er) { - return null; - } -} - -exports.diff = diff; -function diff(version1, version2) { - if (eq(version1, version2)) { - return null; - } else { - var v1 = parse(version1); - var v2 = parse(version2); - if (v1.prerelease.length || v2.prerelease.length) { - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return 'pre'+key; - } - } - } - return 'prerelease'; - } - for (var key in v1) { - if (key === 'major' || key === 'minor' || key === 'patch') { - if (v1[key] !== v2[key]) { - return key; - } - } - } - } -} - -exports.compareIdentifiers = compareIdentifiers; - -var numeric = /^[0-9]+$/; -function compareIdentifiers(a, b) { - var anum = numeric.test(a); - var bnum = numeric.test(b); - - if (anum && bnum) { - a = +a; - b = +b; - } - - return (anum && !bnum) ? -1 : - (bnum && !anum) ? 1 : - a < b ? -1 : - a > b ? 1 : - 0; -} - -exports.rcompareIdentifiers = rcompareIdentifiers; -function rcompareIdentifiers(a, b) { - return compareIdentifiers(b, a); -} - -exports.major = major; -function major(a, loose) { - return new SemVer(a, loose).major; -} - -exports.minor = minor; -function minor(a, loose) { - return new SemVer(a, loose).minor; -} - -exports.patch = patch; -function patch(a, loose) { - return new SemVer(a, loose).patch; -} - -exports.compare = compare; -function compare(a, b, loose) { - return new SemVer(a, loose).compare(new SemVer(b, loose)); -} - -exports.compareLoose = compareLoose; -function compareLoose(a, b) { - return compare(a, b, true); -} - -exports.rcompare = rcompare; -function rcompare(a, b, loose) { - return compare(b, a, loose); -} - -exports.sort = sort; -function sort(list, loose) { - return list.sort(function(a, b) { - return exports.compare(a, b, loose); - }); -} - -exports.rsort = rsort; -function rsort(list, loose) { - return list.sort(function(a, b) { - return exports.rcompare(a, b, loose); - }); -} - -exports.gt = gt; -function gt(a, b, loose) { - return compare(a, b, loose) > 0; -} - -exports.lt = lt; -function lt(a, b, loose) { - return compare(a, b, loose) < 0; -} - -exports.eq = eq; -function eq(a, b, loose) { - return compare(a, b, loose) === 0; -} - -exports.neq = neq; -function neq(a, b, loose) { - return compare(a, b, loose) !== 0; -} - -exports.gte = gte; -function gte(a, b, loose) { - return compare(a, b, loose) >= 0; -} - -exports.lte = lte; -function lte(a, b, loose) { - return compare(a, b, loose) <= 0; -} - -exports.cmp = cmp; -function cmp(a, op, b, loose) { - var ret; - switch (op) { - case '===': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a === b; - break; - case '!==': - if (typeof a === 'object') a = a.version; - if (typeof b === 'object') b = b.version; - ret = a !== b; - break; - case '': case '=': case '==': ret = eq(a, b, loose); break; - case '!=': ret = neq(a, b, loose); break; - case '>': ret = gt(a, b, loose); break; - case '>=': ret = gte(a, b, loose); break; - case '<': ret = lt(a, b, loose); break; - case '<=': ret = lte(a, b, loose); break; - default: throw new TypeError('Invalid operator: ' + op); - } - return ret; -} - -exports.Comparator = Comparator; -function Comparator(comp, loose) { - if (comp instanceof Comparator) { - if (comp.loose === loose) - return comp; - else - comp = comp.value; - } - - if (!(this instanceof Comparator)) - return new Comparator(comp, loose); - - debug('comparator', comp, loose); - this.loose = loose; - this.parse(comp); - - if (this.semver === ANY) - this.value = ''; - else - this.value = this.operator + this.semver.version; - - debug('comp', this); -} - -var ANY = {}; -Comparator.prototype.parse = function(comp) { - var r = this.loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var m = comp.match(r); - - if (!m) - throw new TypeError('Invalid comparator: ' + comp); - - this.operator = m[1]; - if (this.operator === '=') - this.operator = ''; - - // if it literally is just '>' or '' then allow anything. - if (!m[2]) - this.semver = ANY; - else - this.semver = new SemVer(m[2], this.loose); -}; - -Comparator.prototype.toString = function() { - return this.value; -}; - -Comparator.prototype.test = function(version) { - debug('Comparator.test', version, this.loose); - - if (this.semver === ANY) - return true; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - return cmp(version, this.operator, this.semver, this.loose); -}; - -Comparator.prototype.intersects = function(comp, loose) { - if (!(comp instanceof Comparator)) { - throw new TypeError('a Comparator is required'); - } - - var rangeTmp; - - if (this.operator === '') { - rangeTmp = new Range(comp.value, loose); - return satisfies(this.value, rangeTmp, loose); - } else if (comp.operator === '') { - rangeTmp = new Range(this.value, loose); - return satisfies(comp.semver, rangeTmp, loose); - } - - var sameDirectionIncreasing = - (this.operator === '>=' || this.operator === '>') && - (comp.operator === '>=' || comp.operator === '>'); - var sameDirectionDecreasing = - (this.operator === '<=' || this.operator === '<') && - (comp.operator === '<=' || comp.operator === '<'); - var sameSemVer = this.semver.version === comp.semver.version; - var differentDirectionsInclusive = - (this.operator === '>=' || this.operator === '<=') && - (comp.operator === '>=' || comp.operator === '<='); - var oppositeDirectionsLessThan = - cmp(this.semver, '<', comp.semver, loose) && - ((this.operator === '>=' || this.operator === '>') && - (comp.operator === '<=' || comp.operator === '<')); - var oppositeDirectionsGreaterThan = - cmp(this.semver, '>', comp.semver, loose) && - ((this.operator === '<=' || this.operator === '<') && - (comp.operator === '>=' || comp.operator === '>')); - - return sameDirectionIncreasing || sameDirectionDecreasing || - (sameSemVer && differentDirectionsInclusive) || - oppositeDirectionsLessThan || oppositeDirectionsGreaterThan; -}; - - -exports.Range = Range; -function Range(range, loose) { - if (range instanceof Range) { - if (range.loose === loose) { - return range; - } else { - return new Range(range.raw, loose); - } - } - - if (range instanceof Comparator) { - return new Range(range.value, loose); - } - - if (!(this instanceof Range)) - return new Range(range, loose); - - this.loose = loose; - - // First, split based on boolean or || - this.raw = range; - this.set = range.split(/\s*\|\|\s*/).map(function(range) { - return this.parseRange(range.trim()); - }, this).filter(function(c) { - // throw out any that are not relevant for whatever reason - return c.length; - }); - - if (!this.set.length) { - throw new TypeError('Invalid SemVer Range: ' + range); - } - - this.format(); -} - -Range.prototype.format = function() { - this.range = this.set.map(function(comps) { - return comps.join(' ').trim(); - }).join('||').trim(); - return this.range; -}; - -Range.prototype.toString = function() { - return this.range; -}; - -Range.prototype.parseRange = function(range) { - var loose = this.loose; - range = range.trim(); - debug('range', range, loose); - // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` - var hr = loose ? re[HYPHENRANGELOOSE] : re[HYPHENRANGE]; - range = range.replace(hr, hyphenReplace); - debug('hyphen replace', range); - // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` - range = range.replace(re[COMPARATORTRIM], comparatorTrimReplace); - debug('comparator trim', range, re[COMPARATORTRIM]); - - // `~ 1.2.3` => `~1.2.3` - range = range.replace(re[TILDETRIM], tildeTrimReplace); - - // `^ 1.2.3` => `^1.2.3` - range = range.replace(re[CARETTRIM], caretTrimReplace); - - // normalize spaces - range = range.split(/\s+/).join(' '); - - // At this point, the range is completely trimmed and - // ready to be split into comparators. - - var compRe = loose ? re[COMPARATORLOOSE] : re[COMPARATOR]; - var set = range.split(' ').map(function(comp) { - return parseComparator(comp, loose); - }).join(' ').split(/\s+/); - if (this.loose) { - // in loose mode, throw out any that are not valid comparators - set = set.filter(function(comp) { - return !!comp.match(compRe); - }); - } - set = set.map(function(comp) { - return new Comparator(comp, loose); - }); - - return set; -}; - -Range.prototype.intersects = function(range, loose) { - if (!(range instanceof Range)) { - throw new TypeError('a Range is required'); - } - - return this.set.some(function(thisComparators) { - return thisComparators.every(function(thisComparator) { - return range.set.some(function(rangeComparators) { - return rangeComparators.every(function(rangeComparator) { - return thisComparator.intersects(rangeComparator, loose); - }); - }); - }); - }); -}; - -// Mostly just for testing and legacy API reasons -exports.toComparators = toComparators; -function toComparators(range, loose) { - return new Range(range, loose).set.map(function(comp) { - return comp.map(function(c) { - return c.value; - }).join(' ').trim().split(' '); - }); -} - -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -function parseComparator(comp, loose) { - debug('comp', comp); - comp = replaceCarets(comp, loose); - debug('caret', comp); - comp = replaceTildes(comp, loose); - debug('tildes', comp); - comp = replaceXRanges(comp, loose); - debug('xrange', comp); - comp = replaceStars(comp, loose); - debug('stars', comp); - return comp; -} - -function isX(id) { - return !id || id.toLowerCase() === 'x' || id === '*'; -} - -// ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0 -function replaceTildes(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceTilde(comp, loose); - }).join(' '); -} - -function replaceTilde(comp, loose) { - var r = loose ? re[TILDELOOSE] : re[TILDE]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('tilde', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) - // ~1.2 == >=1.2.0 <1.3.0 - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else if (pr) { - debug('replaceTilde pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - // ~1.2.3 == >=1.2.3 <1.3.0 - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - - debug('tilde return', ret); - return ret; - }); -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0 -// ^1.2.3 --> >=1.2.3 <2.0.0 -// ^1.2.0 --> >=1.2.0 <2.0.0 -function replaceCarets(comp, loose) { - return comp.trim().split(/\s+/).map(function(comp) { - return replaceCaret(comp, loose); - }).join(' '); -} - -function replaceCaret(comp, loose) { - debug('caret', comp, loose); - var r = loose ? re[CARETLOOSE] : re[CARET]; - return comp.replace(r, function(_, M, m, p, pr) { - debug('caret', comp, _, M, m, p, pr); - var ret; - - if (isX(M)) - ret = ''; - else if (isX(m)) - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - else if (isX(p)) { - if (M === '0') - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - else - ret = '>=' + M + '.' + m + '.0 <' + (+M + 1) + '.0.0'; - } else if (pr) { - debug('replaceCaret pr', pr); - if (pr.charAt(0) !== '-') - pr = '-' + pr; - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + pr + - ' <' + (+M + 1) + '.0.0'; - } else { - debug('no pr'); - if (M === '0') { - if (m === '0') - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + m + '.' + (+p + 1); - else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + M + '.' + (+m + 1) + '.0'; - } else - ret = '>=' + M + '.' + m + '.' + p + - ' <' + (+M + 1) + '.0.0'; - } - - debug('caret return', ret); - return ret; - }); -} - -function replaceXRanges(comp, loose) { - debug('replaceXRanges', comp, loose); - return comp.split(/\s+/).map(function(comp) { - return replaceXRange(comp, loose); - }).join(' '); -} - -function replaceXRange(comp, loose) { - comp = comp.trim(); - var r = loose ? re[XRANGELOOSE] : re[XRANGE]; - return comp.replace(r, function(ret, gtlt, M, m, p, pr) { - debug('xRange', comp, ret, gtlt, M, m, p, pr); - var xM = isX(M); - var xm = xM || isX(m); - var xp = xm || isX(p); - var anyX = xp; - - if (gtlt === '=' && anyX) - gtlt = ''; - - if (xM) { - if (gtlt === '>' || gtlt === '<') { - // nothing is allowed - ret = '<0.0.0'; - } else { - // nothing is forbidden - ret = '*'; - } - } else if (gtlt && anyX) { - // replace X with 0 - if (xm) - m = 0; - if (xp) - p = 0; - - if (gtlt === '>') { - // >1 => >=2.0.0 - // >1.2 => >=1.3.0 - // >1.2.3 => >= 1.2.4 - gtlt = '>='; - if (xm) { - M = +M + 1; - m = 0; - p = 0; - } else if (xp) { - m = +m + 1; - p = 0; - } - } else if (gtlt === '<=') { - // <=0.7.x is actually <0.8.0, since any 0.7.x should - // pass. Similarly, <=7.x is actually <8.0.0, etc. - gtlt = '<'; - if (xm) - M = +M + 1; - else - m = +m + 1; - } - - ret = gtlt + M + '.' + m + '.' + p; - } else if (xm) { - ret = '>=' + M + '.0.0 <' + (+M + 1) + '.0.0'; - } else if (xp) { - ret = '>=' + M + '.' + m + '.0 <' + M + '.' + (+m + 1) + '.0'; - } - - debug('xRange return', ret); - - return ret; - }); -} - -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -function replaceStars(comp, loose) { - debug('replaceStars', comp, loose); - // Looseness is ignored here. star is always as loose as it gets! - return comp.trim().replace(re[STAR], ''); -} - -// This function is passed to string.replace(re[HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0 -function hyphenReplace($0, - from, fM, fm, fp, fpr, fb, - to, tM, tm, tp, tpr, tb) { - - if (isX(fM)) - from = ''; - else if (isX(fm)) - from = '>=' + fM + '.0.0'; - else if (isX(fp)) - from = '>=' + fM + '.' + fm + '.0'; - else - from = '>=' + from; - - if (isX(tM)) - to = ''; - else if (isX(tm)) - to = '<' + (+tM + 1) + '.0.0'; - else if (isX(tp)) - to = '<' + tM + '.' + (+tm + 1) + '.0'; - else if (tpr) - to = '<=' + tM + '.' + tm + '.' + tp + '-' + tpr; - else - to = '<=' + to; - - return (from + ' ' + to).trim(); -} - - -// if ANY of the sets match ALL of its comparators, then pass -Range.prototype.test = function(version) { - if (!version) - return false; - - if (typeof version === 'string') - version = new SemVer(version, this.loose); - - for (var i = 0; i < this.set.length; i++) { - if (testSet(this.set[i], version)) - return true; - } - return false; -}; - -function testSet(set, version) { - for (var i = 0; i < set.length; i++) { - if (!set[i].test(version)) - return false; - } - - if (version.prerelease.length) { - // Find the set of versions that are allowed to have prereleases - // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 - // That should allow `1.2.3-pr.2` to pass. - // However, `1.2.4-alpha.notready` should NOT be allowed, - // even though it's within the range set by the comparators. - for (var i = 0; i < set.length; i++) { - debug(set[i].semver); - if (set[i].semver === ANY) - continue; - - if (set[i].semver.prerelease.length > 0) { - var allowed = set[i].semver; - if (allowed.major === version.major && - allowed.minor === version.minor && - allowed.patch === version.patch) - return true; - } - } - - // Version has a -pre, but it's not one of the ones we like. - return false; - } - - return true; -} - -exports.satisfies = satisfies; -function satisfies(version, range, loose) { - try { - range = new Range(range, loose); - } catch (er) { - return false; - } - return range.test(version); -} - -exports.maxSatisfying = maxSatisfying; -function maxSatisfying(versions, range, loose) { - var max = null; - var maxSV = null; - try { - var rangeObj = new Range(range, loose); - } catch (er) { - return null; - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { // satisfies(v, range, loose) - if (!max || maxSV.compare(v) === -1) { // compare(max, v, true) - max = v; - maxSV = new SemVer(max, loose); - } - } - }) - return max; -} - -exports.minSatisfying = minSatisfying; -function minSatisfying(versions, range, loose) { - var min = null; - var minSV = null; - try { - var rangeObj = new Range(range, loose); - } catch (er) { - return null; - } - versions.forEach(function (v) { - if (rangeObj.test(v)) { // satisfies(v, range, loose) - if (!min || minSV.compare(v) === 1) { // compare(min, v, true) - min = v; - minSV = new SemVer(min, loose); - } - } - }) - return min; -} - -exports.validRange = validRange; -function validRange(range, loose) { - try { - // Return '*' instead of '' so that truthiness works. - // This will throw if it's invalid anyway - return new Range(range, loose).range || '*'; - } catch (er) { - return null; - } -} - -// Determine if version is less than all the versions possible in the range -exports.ltr = ltr; -function ltr(version, range, loose) { - return outside(version, range, '<', loose); -} - -// Determine if version is greater than all the versions possible in the range. -exports.gtr = gtr; -function gtr(version, range, loose) { - return outside(version, range, '>', loose); -} - -exports.outside = outside; -function outside(version, range, hilo, loose) { - version = new SemVer(version, loose); - range = new Range(range, loose); - - var gtfn, ltefn, ltfn, comp, ecomp; - switch (hilo) { - case '>': - gtfn = gt; - ltefn = lte; - ltfn = lt; - comp = '>'; - ecomp = '>='; - break; - case '<': - gtfn = lt; - ltefn = gte; - ltfn = gt; - comp = '<'; - ecomp = '<='; - break; - default: - throw new TypeError('Must provide a hilo val of "<" or ">"'); - } - - // If it satisifes the range it is not outside - if (satisfies(version, range, loose)) { - return false; - } - - // From now on, variable terms are as if we're in "gtr" mode. - // but note that everything is flipped for the "ltr" function. - - for (var i = 0; i < range.set.length; ++i) { - var comparators = range.set[i]; - - var high = null; - var low = null; - - comparators.forEach(function(comparator) { - if (comparator.semver === ANY) { - comparator = new Comparator('>=0.0.0') - } - high = high || comparator; - low = low || comparator; - if (gtfn(comparator.semver, high.semver, loose)) { - high = comparator; - } else if (ltfn(comparator.semver, low.semver, loose)) { - low = comparator; - } - }); - - // If the edge version comparator has a operator then our version - // isn't outside it - if (high.operator === comp || high.operator === ecomp) { - return false; - } - - // If the lowest version comparator has an operator and our version - // is less than it then it isn't higher than the range - if ((!low.operator || low.operator === comp) && - ltefn(version, low.semver)) { - return false; - } else if (low.operator === ecomp && ltfn(version, low.semver)) { - return false; - } - } - return true; -} - -exports.prerelease = prerelease; -function prerelease(version, loose) { - var parsed = parse(version, loose); - return (parsed && parsed.prerelease.length) ? parsed.prerelease : null; -} - -exports.intersects = intersects; -function intersects(r1, r2, loose) { - r1 = new Range(r1, loose) - r2 = new Range(r2, loose) - return r1.intersects(r2) -} - -exports.coerce = coerce; -function coerce(version) { - if (version instanceof SemVer) - return version; - - if (typeof version !== 'string') - return null; - - var match = version.match(re[COERCE]); - - if (match == null) - return null; - - return parse((match[1] || '0') + '.' + (match[2] || '0') + '.' + (match[3] || '0')); -} - - -/***/ }), -/* 23 */ -/***/ (function(module, exports) { - -module.exports = require("stream"); - -/***/ }), -/* 24 */ -/***/ (function(module, exports) { - -module.exports = require("url"); - -/***/ }), -/* 25 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Subscription; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__util_isArray__ = __webpack_require__(41); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__util_isObject__ = __webpack_require__(444); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__util_isFunction__ = __webpack_require__(154); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__util_tryCatch__ = __webpack_require__(56); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_errorObject__ = __webpack_require__(48); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__ = __webpack_require__(441); -/** PURE_IMPORTS_START _util_isArray,_util_isObject,_util_isFunction,_util_tryCatch,_util_errorObject,_util_UnsubscriptionError PURE_IMPORTS_END */ - - - - - - -var Subscription = /*@__PURE__*/ (function () { - function Subscription(unsubscribe) { - this.closed = false; - this._parent = null; - this._parents = null; - this._subscriptions = null; - if (unsubscribe) { - this._unsubscribe = unsubscribe; - } - } - Subscription.prototype.unsubscribe = function () { - var hasErrors = false; - var errors; - if (this.closed) { - return; - } - var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions; - this.closed = true; - this._parent = null; - this._parents = null; - this._subscriptions = null; - var index = -1; - var len = _parents ? _parents.length : 0; - while (_parent) { - _parent.remove(this); - _parent = ++index < len && _parents[index] || null; - } - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_2__util_isFunction__["a" /* isFunction */])(_unsubscribe)) { - var trial = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util_tryCatch__["a" /* tryCatch */])(_unsubscribe).call(this); - if (trial === __WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */]) { - hasErrors = true; - errors = errors || (__WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e instanceof __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */] ? - flattenUnsubscriptionErrors(__WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e.errors) : [__WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e]); - } - } - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__util_isArray__["a" /* isArray */])(_subscriptions)) { - index = -1; - len = _subscriptions.length; - while (++index < len) { - var sub = _subscriptions[index]; - if (__webpack_require__.i(__WEBPACK_IMPORTED_MODULE_1__util_isObject__["a" /* isObject */])(sub)) { - var trial = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_3__util_tryCatch__["a" /* tryCatch */])(sub.unsubscribe).call(sub); - if (trial === __WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */]) { - hasErrors = true; - errors = errors || []; - var err = __WEBPACK_IMPORTED_MODULE_4__util_errorObject__["a" /* errorObject */].e; - if (err instanceof __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */]) { - errors = errors.concat(flattenUnsubscriptionErrors(err.errors)); - } - else { - errors.push(err); - } - } - } - } - } - if (hasErrors) { - throw new __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */](errors); - } - }; - Subscription.prototype.add = function (teardown) { - if (!teardown || (teardown === Subscription.EMPTY)) { - return Subscription.EMPTY; - } - if (teardown === this) { - return this; - } - var subscription = teardown; - switch (typeof teardown) { - case 'function': - subscription = new Subscription(teardown); - case 'object': - if (subscription.closed || typeof subscription.unsubscribe !== 'function') { - return subscription; - } - else if (this.closed) { - subscription.unsubscribe(); - return subscription; - } - else if (typeof subscription._addParent !== 'function') { - var tmp = subscription; - subscription = new Subscription(); - subscription._subscriptions = [tmp]; - } - break; - default: - throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.'); - } - var subscriptions = this._subscriptions || (this._subscriptions = []); - subscriptions.push(subscription); - subscription._addParent(this); - return subscription; - }; - Subscription.prototype.remove = function (subscription) { - var subscriptions = this._subscriptions; - if (subscriptions) { - var subscriptionIndex = subscriptions.indexOf(subscription); - if (subscriptionIndex !== -1) { - subscriptions.splice(subscriptionIndex, 1); - } - } - }; - Subscription.prototype._addParent = function (parent) { - var _a = this, _parent = _a._parent, _parents = _a._parents; - if (!_parent || _parent === parent) { - this._parent = parent; - } - else if (!_parents) { - this._parents = [parent]; - } - else if (_parents.indexOf(parent) === -1) { - _parents.push(parent); - } - }; - Subscription.EMPTY = (function (empty) { - empty.closed = true; - return empty; - }(new Subscription())); - return Subscription; -}()); - -function flattenUnsubscriptionErrors(errors) { - return errors.reduce(function (errs, err) { return errs.concat((err instanceof __WEBPACK_IMPORTED_MODULE_5__util_UnsubscriptionError__["a" /* UnsubscriptionError */]) ? err.errors : err); }, []); -} -//# sourceMappingURL=Subscription.js.map - - -/***/ }), -/* 26 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2015 Joyent, Inc. - -module.exports = { - bufferSplit: bufferSplit, - addRSAMissing: addRSAMissing, - calculateDSAPublic: calculateDSAPublic, - calculateED25519Public: calculateED25519Public, - calculateX25519Public: calculateX25519Public, - mpNormalize: mpNormalize, - mpDenormalize: mpDenormalize, - ecNormalize: ecNormalize, - countZeros: countZeros, - assertCompatible: assertCompatible, - isCompatible: isCompatible, - opensslKeyDeriv: opensslKeyDeriv, - opensshCipherInfo: opensshCipherInfo, - publicFromPrivateECDSA: publicFromPrivateECDSA, - zeroPadToLength: zeroPadToLength, - writeBitString: writeBitString, - readBitString: readBitString -}; - -var assert = __webpack_require__(16); -var Buffer = __webpack_require__(15).Buffer; -var PrivateKey = __webpack_require__(33); -var Key = __webpack_require__(27); -var crypto = __webpack_require__(11); -var algs = __webpack_require__(32); -var asn1 = __webpack_require__(66); - -var ec, jsbn; -var nacl; - -var MAX_CLASS_DEPTH = 3; - -function isCompatible(obj, klass, needVer) { - if (obj === null || typeof (obj) !== 'object') - return (false); - if (needVer === undefined) - needVer = klass.prototype._sshpkApiVersion; - if (obj instanceof klass && - klass.prototype._sshpkApiVersion[0] == needVer[0]) - return (true); - var proto = Object.getPrototypeOf(obj); - var depth = 0; - while (proto.constructor.name !== klass.name) { - proto = Object.getPrototypeOf(proto); - if (!proto || ++depth > MAX_CLASS_DEPTH) - return (false); - } - if (proto.constructor.name !== klass.name) - return (false); - var ver = proto._sshpkApiVersion; - if (ver === undefined) - ver = klass._oldVersionDetect(obj); - if (ver[0] != needVer[0] || ver[1] < needVer[1]) - return (false); - return (true); -} - -function assertCompatible(obj, klass, needVer, name) { - if (name === undefined) - name = 'object'; - assert.ok(obj, name + ' must not be null'); - assert.object(obj, name + ' must be an object'); - if (needVer === undefined) - needVer = klass.prototype._sshpkApiVersion; - if (obj instanceof klass && - klass.prototype._sshpkApiVersion[0] == needVer[0]) - return; - var proto = Object.getPrototypeOf(obj); - var depth = 0; - while (proto.constructor.name !== klass.name) { - proto = Object.getPrototypeOf(proto); - assert.ok(proto && ++depth <= MAX_CLASS_DEPTH, - name + ' must be a ' + klass.name + ' instance'); - } - assert.strictEqual(proto.constructor.name, klass.name, - name + ' must be a ' + klass.name + ' instance'); - var ver = proto._sshpkApiVersion; - if (ver === undefined) - ver = klass._oldVersionDetect(obj); - assert.ok(ver[0] == needVer[0] && ver[1] >= needVer[1], - name + ' must be compatible with ' + klass.name + ' klass ' + - 'version ' + needVer[0] + '.' + needVer[1]); -} - -var CIPHER_LEN = { - 'des-ede3-cbc': { key: 7, iv: 8 }, - 'aes-128-cbc': { key: 16, iv: 16 } -}; -var PKCS5_SALT_LEN = 8; - -function opensslKeyDeriv(cipher, salt, passphrase, count) { - assert.buffer(salt, 'salt'); - assert.buffer(passphrase, 'passphrase'); - assert.number(count, 'iteration count'); - - var clen = CIPHER_LEN[cipher]; - assert.object(clen, 'supported cipher'); - - salt = salt.slice(0, PKCS5_SALT_LEN); - - var D, D_prev, bufs; - var material = Buffer.alloc(0); - while (material.length < clen.key + clen.iv) { - bufs = []; - if (D_prev) - bufs.push(D_prev); - bufs.push(passphrase); - bufs.push(salt); - D = Buffer.concat(bufs); - for (var j = 0; j < count; ++j) - D = crypto.createHash('md5').update(D).digest(); - material = Buffer.concat([material, D]); - D_prev = D; - } - - return ({ - key: material.slice(0, clen.key), - iv: material.slice(clen.key, clen.key + clen.iv) - }); -} - -/* Count leading zero bits on a buffer */ -function countZeros(buf) { - var o = 0, obit = 8; - while (o < buf.length) { - var mask = (1 << obit); - if ((buf[o] & mask) === mask) - break; - obit--; - if (obit < 0) { - o++; - obit = 8; - } - } - return (o*8 + (8 - obit) - 1); -} - -function bufferSplit(buf, chr) { - assert.buffer(buf); - assert.string(chr); - - var parts = []; - var lastPart = 0; - var matches = 0; - for (var i = 0; i < buf.length; ++i) { - if (buf[i] === chr.charCodeAt(matches)) - ++matches; - else if (buf[i] === chr.charCodeAt(0)) - matches = 1; - else - matches = 0; - - if (matches >= chr.length) { - var newPart = i + 1; - parts.push(buf.slice(lastPart, newPart - matches)); - lastPart = newPart; - matches = 0; - } - } - if (lastPart <= buf.length) - parts.push(buf.slice(lastPart, buf.length)); - - return (parts); -} - -function ecNormalize(buf, addZero) { - assert.buffer(buf); - if (buf[0] === 0x00 && buf[1] === 0x04) { - if (addZero) - return (buf); - return (buf.slice(1)); - } else if (buf[0] === 0x04) { - if (!addZero) - return (buf); - } else { - while (buf[0] === 0x00) - buf = buf.slice(1); - if (buf[0] === 0x02 || buf[0] === 0x03) - throw (new Error('Compressed elliptic curve points ' + - 'are not supported')); - if (buf[0] !== 0x04) - throw (new Error('Not a valid elliptic curve point')); - if (!addZero) - return (buf); - } - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x0; - buf.copy(b, 1); - return (b); -} - -function readBitString(der, tag) { - if (tag === undefined) - tag = asn1.Ber.BitString; - var buf = der.readString(tag, true); - assert.strictEqual(buf[0], 0x00, 'bit strings with unused bits are ' + - 'not supported (0x' + buf[0].toString(16) + ')'); - return (buf.slice(1)); -} - -function writeBitString(der, buf, tag) { - if (tag === undefined) - tag = asn1.Ber.BitString; - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x00; - buf.copy(b, 1); - der.writeBuffer(b, tag); -} - -function mpNormalize(buf) { - assert.buffer(buf); - while (buf.length > 1 && buf[0] === 0x00 && (buf[1] & 0x80) === 0x00) - buf = buf.slice(1); - if ((buf[0] & 0x80) === 0x80) { - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x00; - buf.copy(b, 1); - buf = b; - } - return (buf); -} - -function mpDenormalize(buf) { - assert.buffer(buf); - while (buf.length > 1 && buf[0] === 0x00) - buf = buf.slice(1); - return (buf); -} - -function zeroPadToLength(buf, len) { - assert.buffer(buf); - assert.number(len); - while (buf.length > len) { - assert.equal(buf[0], 0x00); - buf = buf.slice(1); - } - while (buf.length < len) { - var b = Buffer.alloc(buf.length + 1); - b[0] = 0x00; - buf.copy(b, 1); - buf = b; - } - return (buf); -} - -function bigintToMpBuf(bigint) { - var buf = Buffer.from(bigint.toByteArray()); - buf = mpNormalize(buf); - return (buf); -} - -function calculateDSAPublic(g, p, x) { - assert.buffer(g); - assert.buffer(p); - assert.buffer(x); - try { - var bigInt = __webpack_require__(81).BigInteger; - } catch (e) { - throw (new Error('To load a PKCS#8 format DSA private key, ' + - 'the node jsbn library is required.')); - } - g = new bigInt(g); - p = new bigInt(p); - x = new bigInt(x); - var y = g.modPow(x, p); - var ybuf = bigintToMpBuf(y); - return (ybuf); -} - -function calculateED25519Public(k) { - assert.buffer(k); - - if (nacl === undefined) - nacl = __webpack_require__(76); - - var kp = nacl.sign.keyPair.fromSeed(new Uint8Array(k)); - return (Buffer.from(kp.publicKey)); -} - -function calculateX25519Public(k) { - assert.buffer(k); - - if (nacl === undefined) - nacl = __webpack_require__(76); - - var kp = nacl.box.keyPair.fromSeed(new Uint8Array(k)); - return (Buffer.from(kp.publicKey)); -} - -function addRSAMissing(key) { - assert.object(key); - assertCompatible(key, PrivateKey, [1, 1]); - try { - var bigInt = __webpack_require__(81).BigInteger; - } catch (e) { - throw (new Error('To write a PEM private key from ' + - 'this source, the node jsbn lib is required.')); - } - - var d = new bigInt(key.part.d.data); - var buf; - - if (!key.part.dmodp) { - var p = new bigInt(key.part.p.data); - var dmodp = d.mod(p.subtract(1)); - - buf = bigintToMpBuf(dmodp); - key.part.dmodp = {name: 'dmodp', data: buf}; - key.parts.push(key.part.dmodp); - } - if (!key.part.dmodq) { - var q = new bigInt(key.part.q.data); - var dmodq = d.mod(q.subtract(1)); - - buf = bigintToMpBuf(dmodq); - key.part.dmodq = {name: 'dmodq', data: buf}; - key.parts.push(key.part.dmodq); - } -} - -function publicFromPrivateECDSA(curveName, priv) { - assert.string(curveName, 'curveName'); - assert.buffer(priv); - if (ec === undefined) - ec = __webpack_require__(139); - if (jsbn === undefined) - jsbn = __webpack_require__(81).BigInteger; - var params = algs.curves[curveName]; - var p = new jsbn(params.p); - var a = new jsbn(params.a); - var b = new jsbn(params.b); - var curve = new ec.ECCurveFp(p, a, b); - var G = curve.decodePointHex(params.G.toString('hex')); - - var d = new jsbn(mpNormalize(priv)); - var pub = G.multiply(d); - pub = Buffer.from(curve.encodePointHex(pub), 'hex'); - - var parts = []; - parts.push({name: 'curve', data: Buffer.from(curveName)}); - parts.push({name: 'Q', data: pub}); - - var key = new Key({type: 'ecdsa', curve: curve, parts: parts}); - return (key); -} - -function opensshCipherInfo(cipher) { - var inf = {}; - switch (cipher) { - case '3des-cbc': - inf.keySize = 24; - inf.blockSize = 8; - inf.opensslName = 'des-ede3-cbc'; - break; - case 'blowfish-cbc': - inf.keySize = 16; - inf.blockSize = 8; - inf.opensslName = 'bf-cbc'; - break; - case 'aes128-cbc': - case 'aes128-ctr': - case 'aes128-gcm@openssh.com': - inf.keySize = 16; - inf.blockSize = 16; - inf.opensslName = 'aes-128-' + cipher.slice(7, 10); - break; - case 'aes192-cbc': - case 'aes192-ctr': - case 'aes192-gcm@openssh.com': - inf.keySize = 24; - inf.blockSize = 16; - inf.opensslName = 'aes-192-' + cipher.slice(7, 10); - break; - case 'aes256-cbc': - case 'aes256-ctr': - case 'aes256-gcm@openssh.com': - inf.keySize = 32; - inf.blockSize = 16; - inf.opensslName = 'aes-256-' + cipher.slice(7, 10); - break; - default: - throw (new Error( - 'Unsupported openssl cipher "' + cipher + '"')); - } - return (inf); -} - - -/***/ }), -/* 27 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2017 Joyent, Inc. - -module.exports = Key; - -var assert = __webpack_require__(16); -var algs = __webpack_require__(32); -var crypto = __webpack_require__(11); -var Fingerprint = __webpack_require__(156); -var Signature = __webpack_require__(75); -var DiffieHellman = __webpack_require__(325).DiffieHellman; -var errs = __webpack_require__(74); -var utils = __webpack_require__(26); -var PrivateKey = __webpack_require__(33); -var edCompat; - -try { - edCompat = __webpack_require__(454); -} catch (e) { - /* Just continue through, and bail out if we try to use it. */ -} - -var InvalidAlgorithmError = errs.InvalidAlgorithmError; -var KeyParseError = errs.KeyParseError; - -var formats = {}; -formats['auto'] = __webpack_require__(455); -formats['pem'] = __webpack_require__(86); -formats['pkcs1'] = __webpack_require__(327); -formats['pkcs8'] = __webpack_require__(157); -formats['rfc4253'] = __webpack_require__(103); -formats['ssh'] = __webpack_require__(456); -formats['ssh-private'] = __webpack_require__(192); -formats['openssh'] = formats['ssh-private']; -formats['dnssec'] = __webpack_require__(326); - -function Key(opts) { - assert.object(opts, 'options'); - assert.arrayOfObject(opts.parts, 'options.parts'); - assert.string(opts.type, 'options.type'); - assert.optionalString(opts.comment, 'options.comment'); - - var algInfo = algs.info[opts.type]; - if (typeof (algInfo) !== 'object') - throw (new InvalidAlgorithmError(opts.type)); - - var partLookup = {}; - for (var i = 0; i < opts.parts.length; ++i) { - var part = opts.parts[i]; - partLookup[part.name] = part; - } - - this.type = opts.type; - this.parts = opts.parts; - this.part = partLookup; - this.comment = undefined; - this.source = opts.source; - - /* for speeding up hashing/fingerprint operations */ - this._rfc4253Cache = opts._rfc4253Cache; - this._hashCache = {}; - - var sz; - this.curve = undefined; - if (this.type === 'ecdsa') { - var curve = this.part.curve.data.toString(); - this.curve = curve; - sz = algs.curves[curve].size; - } else if (this.type === 'ed25519' || this.type === 'curve25519') { - sz = 256; - this.curve = 'curve25519'; - } else { - var szPart = this.part[algInfo.sizePart]; - sz = szPart.data.length; - sz = sz * 8 - utils.countZeros(szPart.data); - } - this.size = sz; -} - -Key.formats = formats; - -Key.prototype.toBuffer = function (format, options) { - if (format === undefined) - format = 'ssh'; - assert.string(format, 'format'); - assert.object(formats[format], 'formats[format]'); - assert.optionalObject(options, 'options'); - - if (format === 'rfc4253') { - if (this._rfc4253Cache === undefined) - this._rfc4253Cache = formats['rfc4253'].write(this); - return (this._rfc4253Cache); - } - - return (formats[format].write(this, options)); -}; - -Key.prototype.toString = function (format, options) { - return (this.toBuffer(format, options).toString()); -}; - -Key.prototype.hash = function (algo) { - assert.string(algo, 'algorithm'); - algo = algo.toLowerCase(); - if (algs.hashAlgs[algo] === undefined) - throw (new InvalidAlgorithmError(algo)); - - if (this._hashCache[algo]) - return (this._hashCache[algo]); - var hash = crypto.createHash(algo). - update(this.toBuffer('rfc4253')).digest(); - this._hashCache[algo] = hash; - return (hash); -}; - -Key.prototype.fingerprint = function (algo) { - if (algo === undefined) - algo = 'sha256'; - assert.string(algo, 'algorithm'); - var opts = { - type: 'key', - hash: this.hash(algo), - algorithm: algo - }; - return (new Fingerprint(opts)); -}; - -Key.prototype.defaultHashAlgorithm = function () { - var hashAlgo = 'sha1'; - if (this.type === 'rsa') - hashAlgo = 'sha256'; - if (this.type === 'dsa' && this.size > 1024) - hashAlgo = 'sha256'; - if (this.type === 'ed25519') - hashAlgo = 'sha512'; - if (this.type === 'ecdsa') { - if (this.size <= 256) - hashAlgo = 'sha256'; - else if (this.size <= 384) - hashAlgo = 'sha384'; - else - hashAlgo = 'sha512'; - } - return (hashAlgo); -}; - -Key.prototype.createVerify = function (hashAlgo) { - if (hashAlgo === undefined) - hashAlgo = this.defaultHashAlgorithm(); - assert.string(hashAlgo, 'hash algorithm'); - - /* ED25519 is not supported by OpenSSL, use a javascript impl. */ - if (this.type === 'ed25519' && edCompat !== undefined) - return (new edCompat.Verifier(this, hashAlgo)); - if (this.type === 'curve25519') - throw (new Error('Curve25519 keys are not suitable for ' + - 'signing or verification')); - - var v, nm, err; - try { - nm = hashAlgo.toUpperCase(); - v = crypto.createVerify(nm); - } catch (e) { - err = e; - } - if (v === undefined || (err instanceof Error && - err.message.match(/Unknown message digest/))) { - nm = 'RSA-'; - nm += hashAlgo.toUpperCase(); - v = crypto.createVerify(nm); - } - assert.ok(v, 'failed to create verifier'); - var oldVerify = v.verify.bind(v); - var key = this.toBuffer('pkcs8'); - var curve = this.curve; - var self = this; - v.verify = function (signature, fmt) { - if (Signature.isSignature(signature, [2, 0])) { - if (signature.type !== self.type) - return (false); - if (signature.hashAlgorithm && - signature.hashAlgorithm !== hashAlgo) - return (false); - if (signature.curve && self.type === 'ecdsa' && - signature.curve !== curve) - return (false); - return (oldVerify(key, signature.toBuffer('asn1'))); - - } else if (typeof (signature) === 'string' || - Buffer.isBuffer(signature)) { - return (oldVerify(key, signature, fmt)); - - /* - * Avoid doing this on valid arguments, walking the prototype - * chain can be quite slow. - */ - } else if (Signature.isSignature(signature, [1, 0])) { - throw (new Error('signature was created by too old ' + - 'a version of sshpk and cannot be verified')); - - } else { - throw (new TypeError('signature must be a string, ' + - 'Buffer, or Signature object')); - } - }; - return (v); -}; - -Key.prototype.createDiffieHellman = function () { - if (this.type === 'rsa') - throw (new Error('RSA keys do not support Diffie-Hellman')); - - return (new DiffieHellman(this)); -}; -Key.prototype.createDH = Key.prototype.createDiffieHellman; - -Key.parse = function (data, format, options) { - if (typeof (data) !== 'string') - assert.buffer(data, 'data'); - if (format === undefined) - format = 'auto'; - assert.string(format, 'format'); - if (typeof (options) === 'string') - options = { filename: options }; - assert.optionalObject(options, 'options'); - if (options === undefined) - options = {}; - assert.optionalString(options.filename, 'options.filename'); - if (options.filename === undefined) - options.filename = '(unnamed)'; - - assert.object(formats[format], 'formats[format]'); - - try { - var k = formats[format].read(data, options); - if (k instanceof PrivateKey) - k = k.toPublic(); - if (!k.comment) - k.comment = options.filename; - return (k); - } catch (e) { - if (e.name === 'KeyEncryptedError') - throw (e); - throw (new KeyParseError(options.filename, format, e)); - } -}; - -Key.isKey = function (obj, ver) { - return (utils.isCompatible(obj, Key, ver)); -}; - -/* - * API versions for Key: - * [1,0] -- initial ver, may take Signature for createVerify or may not - * [1,1] -- added pkcs1, pkcs8 formats - * [1,2] -- added auto, ssh-private, openssh formats - * [1,3] -- added defaultHashAlgorithm - * [1,4] -- added ed support, createDH - * [1,5] -- first explicitly tagged version - * [1,6] -- changed ed25519 part names - */ -Key.prototype._sshpkApiVersion = [1, 6]; - -Key._oldVersionDetect = function (obj) { - assert.func(obj.toBuffer); - assert.func(obj.fingerprint); - if (obj.createDH) - return ([1, 4]); - if (obj.defaultHashAlgorithm) - return ([1, 3]); - if (obj.formats['auto']) - return ([1, 2]); - if (obj.formats['pkcs1']) - return ([1, 1]); - return ([1, 0]); -}; - - -/***/ }), -/* 28 */ -/***/ (function(module, exports) { - -module.exports = require("assert"); - -/***/ }), -/* 29 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = nullify; -function nullify(obj = {}) { - if (Array.isArray(obj)) { - for (var _iterator = obj, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const item = _ref; - - nullify(item); - } - } else if (obj !== null && typeof obj === 'object' || typeof obj === 'function') { - Object.setPrototypeOf(obj, null); - - // for..in can only be applied to 'object', not 'function' - if (typeof obj === 'object') { - for (const key in obj) { - nullify(obj[key]); - } - } - } - - return obj; -} - -/***/ }), -/* 30 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -const escapeStringRegexp = __webpack_require__(388); -const ansiStyles = __webpack_require__(506); -const stdoutColor = __webpack_require__(598).stdout; - -const template = __webpack_require__(599); - -const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); - -// `supportsColor.level` → `ansiStyles.color[name]` mapping -const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; - -// `color-convert` models to exclude from the Chalk API due to conflicts and such -const skipModels = new Set(['gray']); - -const styles = Object.create(null); - -function applyOptions(obj, options) { - options = options || {}; - - // Detect level if not set manually - const scLevel = stdoutColor ? stdoutColor.level : 0; - obj.level = options.level === undefined ? scLevel : options.level; - obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; -} - -function Chalk(options) { - // We check for this.template here since calling `chalk.constructor()` - // by itself will have a `this` of a previously constructed chalk object - if (!this || !(this instanceof Chalk) || this.template) { - const chalk = {}; - applyOptions(chalk, options); - - chalk.template = function () { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk.template].concat(args)); - }; - - Object.setPrototypeOf(chalk, Chalk.prototype); - Object.setPrototypeOf(chalk.template, chalk); - - chalk.template.constructor = Chalk; - - return chalk.template; - } - - applyOptions(this, options); -} - -// Use bright blue on Windows as the normal blue color is illegible -if (isSimpleWindowsTerm) { - ansiStyles.blue.open = '\u001B[94m'; -} - -for (const key of Object.keys(ansiStyles)) { - ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); - - styles[key] = { - get() { - const codes = ansiStyles[key]; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); - } - }; -} - -styles.visible = { - get() { - return build.call(this, this._styles || [], true, 'visible'); - } -}; - -ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); -for (const model of Object.keys(ansiStyles.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - - styles[model] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.color.close, - closeRe: ansiStyles.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} - -ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); -for (const model of Object.keys(ansiStyles.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - - const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); - styles[bgModel] = { - get() { - const level = this.level; - return function () { - const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); - const codes = { - open, - close: ansiStyles.bgColor.close, - closeRe: ansiStyles.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); - }; - } - }; -} - -const proto = Object.defineProperties(() => {}, styles); - -function build(_styles, _empty, key) { - const builder = function () { - return applyStyle.apply(builder, arguments); - }; - - builder._styles = _styles; - builder._empty = _empty; - - const self = this; - - Object.defineProperty(builder, 'level', { - enumerable: true, - get() { - return self.level; - }, - set(level) { - self.level = level; - } - }); - - Object.defineProperty(builder, 'enabled', { - enumerable: true, - get() { - return self.enabled; - }, - set(enabled) { - self.enabled = enabled; - } - }); - - // See below for fix regarding invisible grey/dim combination on Windows - builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; - - // `__proto__` is used because we must return a function, but there is - // no way to create a function with a different prototype - builder.__proto__ = proto; // eslint-disable-line no-proto - - return builder; -} - -function applyStyle() { - // Support varags, but simply cast to string in case there's only one arg - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - - if (argsLen === 0) { - return ''; - } - - if (argsLen > 1) { - // Don't slice `arguments`, it prevents V8 optimizations - for (let a = 1; a < argsLen; a++) { - str += ' ' + args[a]; - } - } - - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? '' : str; - } - - // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, - // see https://github.com/chalk/chalk/issues/58 - // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. - const originalDim = ansiStyles.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles.dim.open = ''; - } - - for (const code of this._styles.slice().reverse()) { - // Replace any instances already present with a re-opening code - // otherwise only the part of the string until said closing code - // will be colored, and the rest will simply be 'plain'. - str = code.open + str.replace(code.closeRe, code.open) + code.close; - - // Close the styling before a linebreak and reopen - // after next line to fix a bleed issue on macOS - // https://github.com/chalk/chalk/pull/92 - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - - // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue - ansiStyles.dim.open = originalDim; - - return str; -} - -function chalkTag(chalk, strings) { - if (!Array.isArray(strings)) { - // If chalk() was called by itself or with a string, - // return the string itself as a string. - return [].slice.call(arguments, 1).join(' '); - } - - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); - parts.push(String(strings.raw[i])); - } - - return template(chalk, parts.join('')); -} - -Object.defineProperties(Chalk.prototype, styles); - -module.exports = Chalk(); // eslint-disable-line new-cap -module.exports.supportsColor = stdoutColor; -module.exports.default = module.exports; // For TypeScript - - -/***/ }), -/* 31 */ -/***/ (function(module, exports) { - -var core = module.exports = { version: '2.5.7' }; -if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef - - -/***/ }), -/* 32 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2015 Joyent, Inc. - -var Buffer = __webpack_require__(15).Buffer; - -var algInfo = { - 'dsa': { - parts: ['p', 'q', 'g', 'y'], - sizePart: 'p' - }, - 'rsa': { - parts: ['e', 'n'], - sizePart: 'n' - }, - 'ecdsa': { - parts: ['curve', 'Q'], - sizePart: 'Q' - }, - 'ed25519': { - parts: ['A'], - sizePart: 'A' - } -}; -algInfo['curve25519'] = algInfo['ed25519']; - -var algPrivInfo = { - 'dsa': { - parts: ['p', 'q', 'g', 'y', 'x'] - }, - 'rsa': { - parts: ['n', 'e', 'd', 'iqmp', 'p', 'q'] - }, - 'ecdsa': { - parts: ['curve', 'Q', 'd'] - }, - 'ed25519': { - parts: ['A', 'k'] - } -}; -algPrivInfo['curve25519'] = algPrivInfo['ed25519']; - -var hashAlgs = { - 'md5': true, - 'sha1': true, - 'sha256': true, - 'sha384': true, - 'sha512': true -}; - -/* - * Taken from - * http://csrc.nist.gov/groups/ST/toolkit/documents/dss/NISTReCur.pdf - */ -var curves = { - 'nistp256': { - size: 256, - pkcs8oid: '1.2.840.10045.3.1.7', - p: Buffer.from(('00' + - 'ffffffff 00000001 00000000 00000000' + - '00000000 ffffffff ffffffff ffffffff'). - replace(/ /g, ''), 'hex'), - a: Buffer.from(('00' + - 'FFFFFFFF 00000001 00000000 00000000' + - '00000000 FFFFFFFF FFFFFFFF FFFFFFFC'). - replace(/ /g, ''), 'hex'), - b: Buffer.from(( - '5ac635d8 aa3a93e7 b3ebbd55 769886bc' + - '651d06b0 cc53b0f6 3bce3c3e 27d2604b'). - replace(/ /g, ''), 'hex'), - s: Buffer.from(('00' + - 'c49d3608 86e70493 6a6678e1 139d26b7' + - '819f7e90'). - replace(/ /g, ''), 'hex'), - n: Buffer.from(('00' + - 'ffffffff 00000000 ffffffff ffffffff' + - 'bce6faad a7179e84 f3b9cac2 fc632551'). - replace(/ /g, ''), 'hex'), - G: Buffer.from(('04' + - '6b17d1f2 e12c4247 f8bce6e5 63a440f2' + - '77037d81 2deb33a0 f4a13945 d898c296' + - '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16' + - '2bce3357 6b315ece cbb64068 37bf51f5'). - replace(/ /g, ''), 'hex') - }, - 'nistp384': { - size: 384, - pkcs8oid: '1.3.132.0.34', - p: Buffer.from(('00' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff fffffffe' + - 'ffffffff 00000000 00000000 ffffffff'). - replace(/ /g, ''), 'hex'), - a: Buffer.from(('00' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE' + - 'FFFFFFFF 00000000 00000000 FFFFFFFC'). - replace(/ /g, ''), 'hex'), - b: Buffer.from(( - 'b3312fa7 e23ee7e4 988e056b e3f82d19' + - '181d9c6e fe814112 0314088f 5013875a' + - 'c656398d 8a2ed19d 2a85c8ed d3ec2aef'). - replace(/ /g, ''), 'hex'), - s: Buffer.from(('00' + - 'a335926a a319a27a 1d00896a 6773a482' + - '7acdac73'). - replace(/ /g, ''), 'hex'), - n: Buffer.from(('00' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff c7634d81 f4372ddf' + - '581a0db2 48b0a77a ecec196a ccc52973'). - replace(/ /g, ''), 'hex'), - G: Buffer.from(('04' + - 'aa87ca22 be8b0537 8eb1c71e f320ad74' + - '6e1d3b62 8ba79b98 59f741e0 82542a38' + - '5502f25d bf55296c 3a545e38 72760ab7' + - '3617de4a 96262c6f 5d9e98bf 9292dc29' + - 'f8f41dbd 289a147c e9da3113 b5f0b8c0' + - '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f'). - replace(/ /g, ''), 'hex') - }, - 'nistp521': { - size: 521, - pkcs8oid: '1.3.132.0.35', - p: Buffer.from(( - '01ffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffff').replace(/ /g, ''), 'hex'), - a: Buffer.from(('01FF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF' + - 'FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFC'). - replace(/ /g, ''), 'hex'), - b: Buffer.from(('51' + - '953eb961 8e1c9a1f 929a21a0 b68540ee' + - 'a2da725b 99b315f3 b8b48991 8ef109e1' + - '56193951 ec7e937b 1652c0bd 3bb1bf07' + - '3573df88 3d2c34f1 ef451fd4 6b503f00'). - replace(/ /g, ''), 'hex'), - s: Buffer.from(('00' + - 'd09e8800 291cb853 96cc6717 393284aa' + - 'a0da64ba').replace(/ /g, ''), 'hex'), - n: Buffer.from(('01ff' + - 'ffffffff ffffffff ffffffff ffffffff' + - 'ffffffff ffffffff ffffffff fffffffa' + - '51868783 bf2f966b 7fcc0148 f709a5d0' + - '3bb5c9b8 899c47ae bb6fb71e 91386409'). - replace(/ /g, ''), 'hex'), - G: Buffer.from(('04' + - '00c6 858e06b7 0404e9cd 9e3ecb66 2395b442' + - '9c648139 053fb521 f828af60 6b4d3dba' + - 'a14b5e77 efe75928 fe1dc127 a2ffa8de' + - '3348b3c1 856a429b f97e7e31 c2e5bd66' + - '0118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9' + - '98f54449 579b4468 17afbd17 273e662c' + - '97ee7299 5ef42640 c550b901 3fad0761' + - '353c7086 a272c240 88be9476 9fd16650'). - replace(/ /g, ''), 'hex') - } -}; - -module.exports = { - info: algInfo, - privInfo: algPrivInfo, - hashAlgs: hashAlgs, - curves: curves -}; - - -/***/ }), -/* 33 */ -/***/ (function(module, exports, __webpack_require__) { - -// Copyright 2017 Joyent, Inc. - -module.exports = PrivateKey; - -var assert = __webpack_require__(16); -var Buffer = __webpack_require__(15).Buffer; -var algs = __webpack_require__(32); -var crypto = __webpack_require__(11); -var Fingerprint = __webpack_require__(156); -var Signature = __webpack_require__(75); -var errs = __webpack_require__(74); -var util = __webpack_require__(3); -var utils = __webpack_require__(26); -var dhe = __webpack_require__(325); -var generateECDSA = dhe.generateECDSA; -var generateED25519 = dhe.generateED25519; -var edCompat; -var nacl; - -try { - edCompat = __webpack_require__(454); -} catch (e) { - /* Just continue through, and bail out if we try to use it. */ -} - -var Key = __webpack_require__(27); - -var InvalidAlgorithmError = errs.InvalidAlgorithmError; -var KeyParseError = errs.KeyParseError; -var KeyEncryptedError = errs.KeyEncryptedError; - -var formats = {}; -formats['auto'] = __webpack_require__(455); -formats['pem'] = __webpack_require__(86); -formats['pkcs1'] = __webpack_require__(327); -formats['pkcs8'] = __webpack_require__(157); -formats['rfc4253'] = __webpack_require__(103); -formats['ssh-private'] = __webpack_require__(192); -formats['openssh'] = formats['ssh-private']; -formats['ssh'] = formats['ssh-private']; -formats['dnssec'] = __webpack_require__(326); - -function PrivateKey(opts) { - assert.object(opts, 'options'); - Key.call(this, opts); - - this._pubCache = undefined; -} -util.inherits(PrivateKey, Key); - -PrivateKey.formats = formats; - -PrivateKey.prototype.toBuffer = function (format, options) { - if (format === undefined) - format = 'pkcs1'; - assert.string(format, 'format'); - assert.object(formats[format], 'formats[format]'); - assert.optionalObject(options, 'options'); - - return (formats[format].write(this, options)); -}; - -PrivateKey.prototype.hash = function (algo) { - return (this.toPublic().hash(algo)); -}; - -PrivateKey.prototype.toPublic = function () { - if (this._pubCache) - return (this._pubCache); - - var algInfo = algs.info[this.type]; - var pubParts = []; - for (var i = 0; i < algInfo.parts.length; ++i) { - var p = algInfo.parts[i]; - pubParts.push(this.part[p]); - } - - this._pubCache = new Key({ - type: this.type, - source: this, - parts: pubParts - }); - if (this.comment) - this._pubCache.comment = this.comment; - return (this._pubCache); -}; - -PrivateKey.prototype.derive = function (newType) { - assert.string(newType, 'type'); - var priv, pub, pair; - - if (this.type === 'ed25519' && newType === 'curve25519') { - if (nacl === undefined) - nacl = __webpack_require__(76); - - priv = this.part.k.data; - if (priv[0] === 0x00) - priv = priv.slice(1); - - pair = nacl.box.keyPair.fromSecretKey(new Uint8Array(priv)); - pub = Buffer.from(pair.publicKey); - - return (new PrivateKey({ - type: 'curve25519', - parts: [ - { name: 'A', data: utils.mpNormalize(pub) }, - { name: 'k', data: utils.mpNormalize(priv) } - ] - })); - } else if (this.type === 'curve25519' && newType === 'ed25519') { - if (nacl === undefined) - nacl = __webpack_require__(76); - - priv = this.part.k.data; - if (priv[0] === 0x00) - priv = priv.slice(1); - - pair = nacl.sign.keyPair.fromSeed(new Uint8Array(priv)); - pub = Buffer.from(pair.publicKey); - - return (new PrivateKey({ - type: 'ed25519', - parts: [ - { name: 'A', data: utils.mpNormalize(pub) }, - { name: 'k', data: utils.mpNormalize(priv) } - ] - })); - } - throw (new Error('Key derivation not supported from ' + this.type + - ' to ' + newType)); -}; - -PrivateKey.prototype.createVerify = function (hashAlgo) { - return (this.toPublic().createVerify(hashAlgo)); -}; - -PrivateKey.prototype.createSign = function (hashAlgo) { - if (hashAlgo === undefined) - hashAlgo = this.defaultHashAlgorithm(); - assert.string(hashAlgo, 'hash algorithm'); - - /* ED25519 is not supported by OpenSSL, use a javascript impl. */ - if (this.type === 'ed25519' && edCompat !== undefined) - return (new edCompat.Signer(this, hashAlgo)); - if (this.type === 'curve25519') - throw (new Error('Curve25519 keys are not suitable for ' + - 'signing or verification')); - - var v, nm, err; - try { - nm = hashAlgo.toUpperCase(); - v = crypto.createSign(nm); - } catch (e) { - err = e; - } - if (v === undefined || (err instanceof Error && - err.message.match(/Unknown message digest/))) { - nm = 'RSA-'; - nm += hashAlgo.toUpperCase(); - v = crypto.createSign(nm); - } - assert.ok(v, 'failed to create verifier'); - var oldSign = v.sign.bind(v); - var key = this.toBuffer('pkcs1'); - var type = this.type; - var curve = this.curve; - v.sign = function () { - var sig = oldSign(key); - if (typeof (sig) === 'string') - sig = Buffer.from(sig, 'binary'); - sig = Signature.parse(sig, type, 'asn1'); - sig.hashAlgorithm = hashAlgo; - sig.curve = curve; - return (sig); - }; - return (v); -}; - -PrivateKey.parse = function (data, format, options) { - if (typeof (data) !== 'string') - assert.buffer(data, 'data'); - if (format === undefined) - format = 'auto'; - assert.string(format, 'format'); - if (typeof (options) === 'string') - options = { filename: options }; - assert.optionalObject(options, 'options'); - if (options === undefined) - options = {}; - assert.optionalString(options.filename, 'options.filename'); - if (options.filename === undefined) - options.filename = '(unnamed)'; - - assert.object(formats[format], 'formats[format]'); - - try { - var k = formats[format].read(data, options); - assert.ok(k instanceof PrivateKey, 'key is not a private key'); - if (!k.comment) - k.comment = options.filename; - return (k); - } catch (e) { - if (e.name === 'KeyEncryptedError') - throw (e); - throw (new KeyParseError(options.filename, format, e)); - } -}; - -PrivateKey.isPrivateKey = function (obj, ver) { - return (utils.isCompatible(obj, PrivateKey, ver)); -}; - -PrivateKey.generate = function (type, options) { - if (options === undefined) - options = {}; - assert.object(options, 'options'); - - switch (type) { - case 'ecdsa': - if (options.curve === undefined) - options.curve = 'nistp256'; - assert.string(options.curve, 'options.curve'); - return (generateECDSA(options.curve)); - case 'ed25519': - return (generateED25519()); - default: - throw (new Error('Key generation not supported with key ' + - 'type "' + type + '"')); - } -}; - -/* - * API versions for PrivateKey: - * [1,0] -- initial ver - * [1,1] -- added auto, pkcs[18], openssh/ssh-private formats - * [1,2] -- added defaultHashAlgorithm - * [1,3] -- added derive, ed, createDH - * [1,4] -- first tagged version - * [1,5] -- changed ed25519 part names and format - */ -PrivateKey.prototype._sshpkApiVersion = [1, 5]; - -PrivateKey._oldVersionDetect = function (obj) { - assert.func(obj.toPublic); - assert.func(obj.createSign); - if (obj.derive) - return ([1, 3]); - if (obj.defaultHashAlgorithm) - return ([1, 2]); - if (obj.formats['auto']) - return ([1, 1]); - return ([1, 0]); -}; - - -/***/ }), -/* 34 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.wrapLifecycle = exports.run = exports.install = exports.Install = undefined; - -var _extends2; - -function _load_extends() { - return _extends2 = _interopRequireDefault(__webpack_require__(21)); -} - -var _asyncToGenerator2; - -function _load_asyncToGenerator() { - return _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(2)); -} - -let install = exports.install = (() => { - var _ref29 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (config, reporter, flags, lockfile) { - yield wrapLifecycle(config, flags, (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const install = new Install(flags, config, reporter, lockfile); - yield install.init(); - })); - }); - - return function install(_x7, _x8, _x9, _x10) { - return _ref29.apply(this, arguments); - }; -})(); - -let run = exports.run = (() => { - var _ref31 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (config, reporter, flags, args) { - let lockfile; - let error = 'installCommandRenamed'; - if (flags.lockfile === false) { - lockfile = new (_lockfile || _load_lockfile()).default(); - } else { - lockfile = yield (_lockfile || _load_lockfile()).default.fromDirectory(config.lockfileFolder, reporter); - } - - if (args.length) { - const exampleArgs = args.slice(); - - if (flags.saveDev) { - exampleArgs.push('--dev'); - } - if (flags.savePeer) { - exampleArgs.push('--peer'); - } - if (flags.saveOptional) { - exampleArgs.push('--optional'); - } - if (flags.saveExact) { - exampleArgs.push('--exact'); - } - if (flags.saveTilde) { - exampleArgs.push('--tilde'); - } - let command = 'add'; - if (flags.global) { - error = 'globalFlagRemoved'; - command = 'global add'; - } - throw new (_errors || _load_errors()).MessageError(reporter.lang(error, `yarn ${command} ${exampleArgs.join(' ')}`)); - } - - yield install(config, reporter, flags, lockfile); - }); - - return function run(_x11, _x12, _x13, _x14) { - return _ref31.apply(this, arguments); - }; -})(); - -let wrapLifecycle = exports.wrapLifecycle = (() => { - var _ref32 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (config, flags, factory) { - yield config.executeLifecycleScript('preinstall'); - - yield factory(); - - // npm behaviour, seems kinda funky but yay compatibility - yield config.executeLifecycleScript('install'); - yield config.executeLifecycleScript('postinstall'); - - if (!config.production) { - if (!config.disablePrepublish) { - yield config.executeLifecycleScript('prepublish'); - } - yield config.executeLifecycleScript('prepare'); - } - }); - - return function wrapLifecycle(_x15, _x16, _x17) { - return _ref32.apply(this, arguments); - }; -})(); - -exports.hasWrapper = hasWrapper; -exports.setFlags = setFlags; - -var _objectPath; - -function _load_objectPath() { - return _objectPath = _interopRequireDefault(__webpack_require__(304)); -} - -var _hooks; - -function _load_hooks() { - return _hooks = __webpack_require__(374); -} - -var _index; - -function _load_index() { - return _index = _interopRequireDefault(__webpack_require__(220)); -} - -var _errors; - -function _load_errors() { - return _errors = __webpack_require__(6); -} - -var _integrityChecker; - -function _load_integrityChecker() { - return _integrityChecker = _interopRequireDefault(__webpack_require__(208)); -} - -var _lockfile; - -function _load_lockfile() { - return _lockfile = _interopRequireDefault(__webpack_require__(19)); -} - -var _lockfile2; - -function _load_lockfile2() { - return _lockfile2 = __webpack_require__(19); -} - -var _packageFetcher; - -function _load_packageFetcher() { - return _packageFetcher = _interopRequireWildcard(__webpack_require__(210)); -} - -var _packageInstallScripts; - -function _load_packageInstallScripts() { - return _packageInstallScripts = _interopRequireDefault(__webpack_require__(557)); -} - -var _packageCompatibility; - -function _load_packageCompatibility() { - return _packageCompatibility = _interopRequireWildcard(__webpack_require__(209)); -} - -var _packageResolver; - -function _load_packageResolver() { - return _packageResolver = _interopRequireDefault(__webpack_require__(366)); -} - -var _packageLinker; - -function _load_packageLinker() { - return _packageLinker = _interopRequireDefault(__webpack_require__(211)); -} - -var _index2; - -function _load_index2() { - return _index2 = __webpack_require__(57); -} - -var _index3; - -function _load_index3() { - return _index3 = __webpack_require__(78); -} - -var _autoclean; - -function _load_autoclean() { - return _autoclean = __webpack_require__(354); -} - -var _constants; - -function _load_constants() { - return _constants = _interopRequireWildcard(__webpack_require__(8)); -} - -var _normalizePattern; - -function _load_normalizePattern() { - return _normalizePattern = __webpack_require__(37); -} - -var _fs; - -function _load_fs() { - return _fs = _interopRequireWildcard(__webpack_require__(4)); -} - -var _map; - -function _load_map() { - return _map = _interopRequireDefault(__webpack_require__(29)); -} - -var _yarnVersion; - -function _load_yarnVersion() { - return _yarnVersion = __webpack_require__(120); -} - -var _generatePnpMap; - -function _load_generatePnpMap() { - return _generatePnpMap = __webpack_require__(579); -} - -var _workspaceLayout; - -function _load_workspaceLayout() { - return _workspaceLayout = _interopRequireDefault(__webpack_require__(90)); -} - -var _resolutionMap; - -function _load_resolutionMap() { - return _resolutionMap = _interopRequireDefault(__webpack_require__(214)); -} - -var _guessName; - -function _load_guessName() { - return _guessName = _interopRequireDefault(__webpack_require__(169)); -} - -var _audit; - -function _load_audit() { - return _audit = _interopRequireDefault(__webpack_require__(353)); -} - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const deepEqual = __webpack_require__(631); - -const emoji = __webpack_require__(302); -const invariant = __webpack_require__(9); -const path = __webpack_require__(0); -const semver = __webpack_require__(22); -const uuid = __webpack_require__(119); -const ssri = __webpack_require__(65); - -const ONE_DAY = 1000 * 60 * 60 * 24; - -/** - * Try and detect the installation method for Yarn and provide a command to update it with. - */ - -function getUpdateCommand(installationMethod) { - if (installationMethod === 'tar') { - return `curl --compressed -o- -L ${(_constants || _load_constants()).YARN_INSTALLER_SH} | bash`; - } - - if (installationMethod === 'homebrew') { - return 'brew upgrade yarn'; - } - - if (installationMethod === 'deb') { - return 'sudo apt-get update && sudo apt-get install yarn'; - } - - if (installationMethod === 'rpm') { - return 'sudo yum install yarn'; - } - - if (installationMethod === 'npm') { - return 'npm install --global yarn'; - } - - if (installationMethod === 'chocolatey') { - return 'choco upgrade yarn'; - } - - if (installationMethod === 'apk') { - return 'apk update && apk add -u yarn'; - } - - if (installationMethod === 'portage') { - return 'sudo emerge --sync && sudo emerge -au sys-apps/yarn'; - } - - return null; -} - -function getUpdateInstaller(installationMethod) { - // Windows - if (installationMethod === 'msi') { - return (_constants || _load_constants()).YARN_INSTALLER_MSI; - } - - return null; -} - -function normalizeFlags(config, rawFlags) { - const flags = { - // install - har: !!rawFlags.har, - ignorePlatform: !!rawFlags.ignorePlatform, - ignoreEngines: !!rawFlags.ignoreEngines, - ignoreScripts: !!rawFlags.ignoreScripts, - ignoreOptional: !!rawFlags.ignoreOptional, - force: !!rawFlags.force, - flat: !!rawFlags.flat, - lockfile: rawFlags.lockfile !== false, - pureLockfile: !!rawFlags.pureLockfile, - updateChecksums: !!rawFlags.updateChecksums, - skipIntegrityCheck: !!rawFlags.skipIntegrityCheck, - frozenLockfile: !!rawFlags.frozenLockfile, - linkDuplicates: !!rawFlags.linkDuplicates, - checkFiles: !!rawFlags.checkFiles, - audit: !!rawFlags.audit, - - // add - peer: !!rawFlags.peer, - dev: !!rawFlags.dev, - optional: !!rawFlags.optional, - exact: !!rawFlags.exact, - tilde: !!rawFlags.tilde, - ignoreWorkspaceRootCheck: !!rawFlags.ignoreWorkspaceRootCheck, - - // outdated, update-interactive - includeWorkspaceDeps: !!rawFlags.includeWorkspaceDeps, - - // add, remove, update - workspaceRootIsCwd: rawFlags.workspaceRootIsCwd !== false - }; - - if (config.getOption('ignore-scripts')) { - flags.ignoreScripts = true; - } - - if (config.getOption('ignore-platform')) { - flags.ignorePlatform = true; - } - - if (config.getOption('ignore-engines')) { - flags.ignoreEngines = true; - } - - if (config.getOption('ignore-optional')) { - flags.ignoreOptional = true; - } - - if (config.getOption('force')) { - flags.force = true; - } - - return flags; -} - -class Install { - constructor(flags, config, reporter, lockfile) { - this.rootManifestRegistries = []; - this.rootPatternsToOrigin = (0, (_map || _load_map()).default)(); - this.lockfile = lockfile; - this.reporter = reporter; - this.config = config; - this.flags = normalizeFlags(config, flags); - this.resolutions = (0, (_map || _load_map()).default)(); // Legacy resolutions field used for flat install mode - this.resolutionMap = new (_resolutionMap || _load_resolutionMap()).default(config); // Selective resolutions for nested dependencies - this.resolver = new (_packageResolver || _load_packageResolver()).default(config, lockfile, this.resolutionMap); - this.integrityChecker = new (_integrityChecker || _load_integrityChecker()).default(config); - this.linker = new (_packageLinker || _load_packageLinker()).default(config, this.resolver); - this.scripts = new (_packageInstallScripts || _load_packageInstallScripts()).default(config, this.resolver, this.flags.force); - } - - /** - * Create a list of dependency requests from the current directories manifests. - */ - - fetchRequestFromCwd(excludePatterns = [], ignoreUnusedPatterns = false) { - var _this = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const patterns = []; - const deps = []; - let resolutionDeps = []; - const manifest = {}; - - const ignorePatterns = []; - const usedPatterns = []; - let workspaceLayout; - - // some commands should always run in the context of the entire workspace - const cwd = _this.flags.includeWorkspaceDeps || _this.flags.workspaceRootIsCwd ? _this.config.lockfileFolder : _this.config.cwd; - - // non-workspaces are always root, otherwise check for workspace root - const cwdIsRoot = !_this.config.workspaceRootFolder || _this.config.lockfileFolder === cwd; - - // exclude package names that are in install args - const excludeNames = []; - for (var _iterator = excludePatterns, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : _iterator[Symbol.iterator]();;) { - var _ref; - - if (_isArray) { - if (_i >= _iterator.length) break; - _ref = _iterator[_i++]; - } else { - _i = _iterator.next(); - if (_i.done) break; - _ref = _i.value; - } - - const pattern = _ref; - - if ((0, (_index3 || _load_index3()).getExoticResolver)(pattern)) { - excludeNames.push((0, (_guessName || _load_guessName()).default)(pattern)); - } else { - // extract the name - const parts = (0, (_normalizePattern || _load_normalizePattern()).normalizePattern)(pattern); - excludeNames.push(parts.name); - } - } - - const stripExcluded = function stripExcluded(manifest) { - for (var _iterator2 = excludeNames, _isArray2 = Array.isArray(_iterator2), _i2 = 0, _iterator2 = _isArray2 ? _iterator2 : _iterator2[Symbol.iterator]();;) { - var _ref2; - - if (_isArray2) { - if (_i2 >= _iterator2.length) break; - _ref2 = _iterator2[_i2++]; - } else { - _i2 = _iterator2.next(); - if (_i2.done) break; - _ref2 = _i2.value; - } - - const exclude = _ref2; - - if (manifest.dependencies && manifest.dependencies[exclude]) { - delete manifest.dependencies[exclude]; - } - if (manifest.devDependencies && manifest.devDependencies[exclude]) { - delete manifest.devDependencies[exclude]; - } - if (manifest.optionalDependencies && manifest.optionalDependencies[exclude]) { - delete manifest.optionalDependencies[exclude]; - } - } - }; - - for (var _iterator3 = Object.keys((_index2 || _load_index2()).registries), _isArray3 = Array.isArray(_iterator3), _i3 = 0, _iterator3 = _isArray3 ? _iterator3 : _iterator3[Symbol.iterator]();;) { - var _ref3; - - if (_isArray3) { - if (_i3 >= _iterator3.length) break; - _ref3 = _iterator3[_i3++]; - } else { - _i3 = _iterator3.next(); - if (_i3.done) break; - _ref3 = _i3.value; - } - - const registry = _ref3; - - const filename = (_index2 || _load_index2()).registries[registry].filename; - - const loc = path.join(cwd, filename); - if (!(yield (_fs || _load_fs()).exists(loc))) { - continue; - } - - _this.rootManifestRegistries.push(registry); - - const projectManifestJson = yield _this.config.readJson(loc); - yield (0, (_index || _load_index()).default)(projectManifestJson, cwd, _this.config, cwdIsRoot); - - Object.assign(_this.resolutions, projectManifestJson.resolutions); - Object.assign(manifest, projectManifestJson); - - _this.resolutionMap.init(_this.resolutions); - for (var _iterator4 = Object.keys(_this.resolutionMap.resolutionsByPackage), _isArray4 = Array.isArray(_iterator4), _i4 = 0, _iterator4 = _isArray4 ? _iterator4 : _iterator4[Symbol.iterator]();;) { - var _ref4; - - if (_isArray4) { - if (_i4 >= _iterator4.length) break; - _ref4 = _iterator4[_i4++]; - } else { - _i4 = _iterator4.next(); - if (_i4.done) break; - _ref4 = _i4.value; - } - - const packageName = _ref4; - - const optional = (_objectPath || _load_objectPath()).default.has(manifest.optionalDependencies, packageName) && _this.flags.ignoreOptional; - for (var _iterator8 = _this.resolutionMap.resolutionsByPackage[packageName], _isArray8 = Array.isArray(_iterator8), _i8 = 0, _iterator8 = _isArray8 ? _iterator8 : _iterator8[Symbol.iterator]();;) { - var _ref9; - - if (_isArray8) { - if (_i8 >= _iterator8.length) break; - _ref9 = _iterator8[_i8++]; - } else { - _i8 = _iterator8.next(); - if (_i8.done) break; - _ref9 = _i8.value; - } - - const _ref8 = _ref9; - const pattern = _ref8.pattern; - - resolutionDeps = [...resolutionDeps, { registry, pattern, optional, hint: 'resolution' }]; - } - } - - const pushDeps = function pushDeps(depType, manifest, { hint, optional }, isUsed) { - if (ignoreUnusedPatterns && !isUsed) { - return; - } - // We only take unused dependencies into consideration to get deterministic hoisting. - // Since flat mode doesn't care about hoisting and everything is top level and specified then we can safely - // leave these out. - if (_this.flags.flat && !isUsed) { - return; - } - const depMap = manifest[depType]; - for (const name in depMap) { - if (excludeNames.indexOf(name) >= 0) { - continue; - } - - let pattern = name; - if (!_this.lockfile.getLocked(pattern)) { - // when we use --save we save the dependency to the lockfile with just the name rather than the - // version combo - pattern += '@' + depMap[name]; - } - - // normalization made sure packages are mentioned only once - if (isUsed) { - usedPatterns.push(pattern); - } else { - ignorePatterns.push(pattern); - } - - _this.rootPatternsToOrigin[pattern] = depType; - patterns.push(pattern); - deps.push({ pattern, registry, hint, optional, workspaceName: manifest.name, workspaceLoc: manifest._loc }); - } - }; - - if (cwdIsRoot) { - pushDeps('dependencies', projectManifestJson, { hint: null, optional: false }, true); - pushDeps('devDependencies', projectManifestJson, { hint: 'dev', optional: false }, !_this.config.production); - pushDeps('optionalDependencies', projectManifestJson, { hint: 'optional', optional: true }, true); - } - - if (_this.config.workspaceRootFolder) { - const workspaceLoc = cwdIsRoot ? loc : path.join(_this.config.lockfileFolder, filename); - const workspacesRoot = path.dirname(workspaceLoc); - - let workspaceManifestJson = projectManifestJson; - if (!cwdIsRoot) { - // the manifest we read before was a child workspace, so get the root - workspaceManifestJson = yield _this.config.readJson(workspaceLoc); - yield (0, (_index || _load_index()).default)(workspaceManifestJson, workspacesRoot, _this.config, true); - } - - const workspaces = yield _this.config.resolveWorkspaces(workspacesRoot, workspaceManifestJson); - workspaceLayout = new (_workspaceLayout || _load_workspaceLayout()).default(workspaces, _this.config); - - // add virtual manifest that depends on all workspaces, this way package hoisters and resolvers will work fine - const workspaceDependencies = (0, (_extends2 || _load_extends()).default)({}, workspaceManifestJson.dependencies); - for (var _iterator5 = Object.keys(workspaces), _isArray5 = Array.isArray(_iterator5), _i5 = 0, _iterator5 = _isArray5 ? _iterator5 : _iterator5[Symbol.iterator]();;) { - var _ref5; - - if (_isArray5) { - if (_i5 >= _iterator5.length) break; - _ref5 = _iterator5[_i5++]; - } else { - _i5 = _iterator5.next(); - if (_i5.done) break; - _ref5 = _i5.value; - } - - const workspaceName = _ref5; - - const workspaceManifest = workspaces[workspaceName].manifest; - workspaceDependencies[workspaceName] = workspaceManifest.version; - - // include dependencies from all workspaces - if (_this.flags.includeWorkspaceDeps) { - pushDeps('dependencies', workspaceManifest, { hint: null, optional: false }, true); - pushDeps('devDependencies', workspaceManifest, { hint: 'dev', optional: false }, !_this.config.production); - pushDeps('optionalDependencies', workspaceManifest, { hint: 'optional', optional: true }, true); - } - } - const virtualDependencyManifest = { - _uid: '', - name: `workspace-aggregator-${uuid.v4()}`, - version: '1.0.0', - _registry: 'npm', - _loc: workspacesRoot, - dependencies: workspaceDependencies, - devDependencies: (0, (_extends2 || _load_extends()).default)({}, workspaceManifestJson.devDependencies), - optionalDependencies: (0, (_extends2 || _load_extends()).default)({}, workspaceManifestJson.optionalDependencies), - private: workspaceManifestJson.private, - workspaces: workspaceManifestJson.workspaces - }; - workspaceLayout.virtualManifestName = virtualDependencyManifest.name; - const virtualDep = {}; - virtualDep[virtualDependencyManifest.name] = virtualDependencyManifest.version; - workspaces[virtualDependencyManifest.name] = { loc: workspacesRoot, manifest: virtualDependencyManifest }; - - // ensure dependencies that should be excluded are stripped from the correct manifest - stripExcluded(cwdIsRoot ? virtualDependencyManifest : workspaces[projectManifestJson.name].manifest); - - pushDeps('workspaces', { workspaces: virtualDep }, { hint: 'workspaces', optional: false }, true); - - const implicitWorkspaceDependencies = (0, (_extends2 || _load_extends()).default)({}, workspaceDependencies); - - for (var _iterator6 = (_constants || _load_constants()).OWNED_DEPENDENCY_TYPES, _isArray6 = Array.isArray(_iterator6), _i6 = 0, _iterator6 = _isArray6 ? _iterator6 : _iterator6[Symbol.iterator]();;) { - var _ref6; - - if (_isArray6) { - if (_i6 >= _iterator6.length) break; - _ref6 = _iterator6[_i6++]; - } else { - _i6 = _iterator6.next(); - if (_i6.done) break; - _ref6 = _i6.value; - } - - const type = _ref6; - - for (var _iterator7 = Object.keys(projectManifestJson[type] || {}), _isArray7 = Array.isArray(_iterator7), _i7 = 0, _iterator7 = _isArray7 ? _iterator7 : _iterator7[Symbol.iterator]();;) { - var _ref7; - - if (_isArray7) { - if (_i7 >= _iterator7.length) break; - _ref7 = _iterator7[_i7++]; - } else { - _i7 = _iterator7.next(); - if (_i7.done) break; - _ref7 = _i7.value; - } - - const dependencyName = _ref7; - - delete implicitWorkspaceDependencies[dependencyName]; - } - } - - pushDeps('dependencies', { dependencies: implicitWorkspaceDependencies }, { hint: 'workspaces', optional: false }, true); - } - - break; - } - - // inherit root flat flag - if (manifest.flat) { - _this.flags.flat = true; - } - - return { - requests: [...resolutionDeps, ...deps], - patterns, - manifest, - usedPatterns, - ignorePatterns, - workspaceLayout - }; - })(); - } - - /** - * TODO description - */ - - prepareRequests(requests) { - return requests; - } - - preparePatterns(patterns) { - return patterns; - } - preparePatternsForLinking(patterns, cwdManifest, cwdIsRoot) { - return patterns; - } - - prepareManifests() { - var _this2 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const manifests = yield _this2.config.getRootManifests(); - return manifests; - })(); - } - - bailout(patterns, workspaceLayout) { - var _this3 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // We don't want to skip the audit - it could yield important errors - if (_this3.flags.audit) { - return false; - } - // PNP is so fast that the integrity check isn't pertinent - if (_this3.config.plugnplayEnabled) { - return false; - } - if (_this3.flags.skipIntegrityCheck || _this3.flags.force) { - return false; - } - const lockfileCache = _this3.lockfile.cache; - if (!lockfileCache) { - return false; - } - const lockfileClean = _this3.lockfile.parseResultType === 'success'; - const match = yield _this3.integrityChecker.check(patterns, lockfileCache, _this3.flags, workspaceLayout); - if (_this3.flags.frozenLockfile && (!lockfileClean || match.missingPatterns.length > 0)) { - throw new (_errors || _load_errors()).MessageError(_this3.reporter.lang('frozenLockfileError')); - } - - const haveLockfile = yield (_fs || _load_fs()).exists(path.join(_this3.config.lockfileFolder, (_constants || _load_constants()).LOCKFILE_FILENAME)); - - const lockfileIntegrityPresent = !_this3.lockfile.hasEntriesExistWithoutIntegrity(); - const integrityBailout = lockfileIntegrityPresent || !_this3.config.autoAddIntegrity; - - if (match.integrityMatches && haveLockfile && lockfileClean && integrityBailout) { - _this3.reporter.success(_this3.reporter.lang('upToDate')); - return true; - } - - if (match.integrityFileMissing && haveLockfile) { - // Integrity file missing, force script installations - _this3.scripts.setForce(true); - return false; - } - - if (match.hardRefreshRequired) { - // e.g. node version doesn't match, force script installations - _this3.scripts.setForce(true); - return false; - } - - if (!patterns.length && !match.integrityFileMissing) { - _this3.reporter.success(_this3.reporter.lang('nothingToInstall')); - yield _this3.createEmptyManifestFolders(); - yield _this3.saveLockfileAndIntegrity(patterns, workspaceLayout); - return true; - } - - return false; - })(); - } - - /** - * Produce empty folders for all used root manifests. - */ - - createEmptyManifestFolders() { - var _this4 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - if (_this4.config.modulesFolder) { - // already created - return; - } - - for (var _iterator9 = _this4.rootManifestRegistries, _isArray9 = Array.isArray(_iterator9), _i9 = 0, _iterator9 = _isArray9 ? _iterator9 : _iterator9[Symbol.iterator]();;) { - var _ref10; - - if (_isArray9) { - if (_i9 >= _iterator9.length) break; - _ref10 = _iterator9[_i9++]; - } else { - _i9 = _iterator9.next(); - if (_i9.done) break; - _ref10 = _i9.value; - } - - const registryName = _ref10; - const folder = _this4.config.registries[registryName].folder; - - yield (_fs || _load_fs()).mkdirp(path.join(_this4.config.lockfileFolder, folder)); - } - })(); - } - - /** - * TODO description - */ - - markIgnored(patterns) { - for (var _iterator10 = patterns, _isArray10 = Array.isArray(_iterator10), _i10 = 0, _iterator10 = _isArray10 ? _iterator10 : _iterator10[Symbol.iterator]();;) { - var _ref11; - - if (_isArray10) { - if (_i10 >= _iterator10.length) break; - _ref11 = _iterator10[_i10++]; - } else { - _i10 = _iterator10.next(); - if (_i10.done) break; - _ref11 = _i10.value; - } - - const pattern = _ref11; - - const manifest = this.resolver.getStrictResolvedPattern(pattern); - const ref = manifest._reference; - invariant(ref, 'expected package reference'); - - // just mark the package as ignored. if the package is used by a required package, the hoister - // will take care of that. - ref.ignore = true; - } - } - - /** - * helper method that gets only recent manifests - * used by global.ls command - */ - getFlattenedDeps() { - var _this5 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - var _ref12 = yield _this5.fetchRequestFromCwd(); - - const depRequests = _ref12.requests, - rawPatterns = _ref12.patterns; - - - yield _this5.resolver.init(depRequests, {}); - - const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this5.resolver.getManifests(), _this5.config); - _this5.resolver.updateManifests(manifests); - - return _this5.flatten(rawPatterns); - })(); - } - - /** - * TODO description - */ - - init() { - var _this6 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.checkUpdate(); - - // warn if we have a shrinkwrap - if (yield (_fs || _load_fs()).exists(path.join(_this6.config.lockfileFolder, (_constants || _load_constants()).NPM_SHRINKWRAP_FILENAME))) { - _this6.reporter.warn(_this6.reporter.lang('shrinkwrapWarning')); - } - - // warn if we have an npm lockfile - if (yield (_fs || _load_fs()).exists(path.join(_this6.config.lockfileFolder, (_constants || _load_constants()).NPM_LOCK_FILENAME))) { - _this6.reporter.warn(_this6.reporter.lang('npmLockfileWarning')); - } - - if (_this6.config.plugnplayEnabled) { - _this6.reporter.info(_this6.reporter.lang('plugnplaySuggestV2L1')); - _this6.reporter.info(_this6.reporter.lang('plugnplaySuggestV2L2')); - } - - let flattenedTopLevelPatterns = []; - const steps = []; - - var _ref13 = yield _this6.fetchRequestFromCwd(); - - const depRequests = _ref13.requests, - rawPatterns = _ref13.patterns, - ignorePatterns = _ref13.ignorePatterns, - workspaceLayout = _ref13.workspaceLayout, - manifest = _ref13.manifest; - - let topLevelPatterns = []; - - const artifacts = yield _this6.integrityChecker.getArtifacts(); - if (artifacts) { - _this6.linker.setArtifacts(artifacts); - _this6.scripts.setArtifacts(artifacts); - } - - if ((_packageCompatibility || _load_packageCompatibility()).shouldCheck(manifest, _this6.flags)) { - steps.push((() => { - var _ref14 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (curr, total) { - _this6.reporter.step(curr, total, _this6.reporter.lang('checkingManifest'), emoji.get('mag')); - yield _this6.checkCompatibility(); - }); - - return function (_x, _x2) { - return _ref14.apply(this, arguments); - }; - })()); - } - - const audit = new (_audit || _load_audit()).default(_this6.config, _this6.reporter, { groups: (_constants || _load_constants()).OWNED_DEPENDENCY_TYPES }); - let auditFoundProblems = false; - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('resolveStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.reporter.step(curr, total, _this6.reporter.lang('resolvingPackages'), emoji.get('mag')); - yield _this6.resolver.init(_this6.prepareRequests(depRequests), { - isFlat: _this6.flags.flat, - isFrozen: _this6.flags.frozenLockfile, - workspaceLayout - }); - topLevelPatterns = _this6.preparePatterns(rawPatterns); - flattenedTopLevelPatterns = yield _this6.flatten(topLevelPatterns); - return { bailout: !_this6.flags.audit && (yield _this6.bailout(topLevelPatterns, workspaceLayout)) }; - })); - }); - - if (_this6.flags.audit) { - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('auditStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.reporter.step(curr, total, _this6.reporter.lang('auditRunning'), emoji.get('mag')); - if (_this6.flags.offline) { - _this6.reporter.warn(_this6.reporter.lang('auditOffline')); - return { bailout: false }; - } - const preparedManifests = yield _this6.prepareManifests(); - // $FlowFixMe - Flow considers `m` in the map operation to be "mixed", so does not recognize `m.object` - const mergedManifest = Object.assign({}, ...Object.values(preparedManifests).map(function (m) { - return m.object; - })); - const auditVulnerabilityCounts = yield audit.performAudit(mergedManifest, _this6.lockfile, _this6.resolver, _this6.linker, topLevelPatterns); - auditFoundProblems = auditVulnerabilityCounts.info || auditVulnerabilityCounts.low || auditVulnerabilityCounts.moderate || auditVulnerabilityCounts.high || auditVulnerabilityCounts.critical; - return { bailout: yield _this6.bailout(topLevelPatterns, workspaceLayout) }; - })); - }); - } - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('fetchStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.markIgnored(ignorePatterns); - _this6.reporter.step(curr, total, _this6.reporter.lang('fetchingPackages'), emoji.get('truck')); - const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this6.resolver.getManifests(), _this6.config); - _this6.resolver.updateManifests(manifests); - yield (_packageCompatibility || _load_packageCompatibility()).check(_this6.resolver.getManifests(), _this6.config, _this6.flags.ignoreEngines); - })); - }); - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('linkStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // remove integrity hash to make this operation atomic - yield _this6.integrityChecker.removeIntegrityFile(); - _this6.reporter.step(curr, total, _this6.reporter.lang('linkingDependencies'), emoji.get('link')); - flattenedTopLevelPatterns = _this6.preparePatternsForLinking(flattenedTopLevelPatterns, manifest, _this6.config.lockfileFolder === _this6.config.cwd); - yield _this6.linker.init(flattenedTopLevelPatterns, workspaceLayout, { - linkDuplicates: _this6.flags.linkDuplicates, - ignoreOptional: _this6.flags.ignoreOptional - }); - })); - }); - - if (_this6.config.plugnplayEnabled) { - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('pnpStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const pnpPath = `${_this6.config.lockfileFolder}/${(_constants || _load_constants()).PNP_FILENAME}`; - - const code = yield (0, (_generatePnpMap || _load_generatePnpMap()).generatePnpMap)(_this6.config, flattenedTopLevelPatterns, { - resolver: _this6.resolver, - reporter: _this6.reporter, - targetPath: pnpPath, - workspaceLayout - }); - - try { - const file = yield (_fs || _load_fs()).readFile(pnpPath); - if (file === code) { - return; - } - } catch (error) {} - - yield (_fs || _load_fs()).writeFile(pnpPath, code); - yield (_fs || _load_fs()).chmod(pnpPath, 0o755); - })); - }); - } - - steps.push(function (curr, total) { - return (0, (_hooks || _load_hooks()).callThroughHook)('buildStep', (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - _this6.reporter.step(curr, total, _this6.flags.force ? _this6.reporter.lang('rebuildingPackages') : _this6.reporter.lang('buildingFreshPackages'), emoji.get('hammer')); - - if (_this6.config.ignoreScripts) { - _this6.reporter.warn(_this6.reporter.lang('ignoredScripts')); - } else { - yield _this6.scripts.init(flattenedTopLevelPatterns); - } - })); - }); - - if (_this6.flags.har) { - steps.push((() => { - var _ref21 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (curr, total) { - const formattedDate = new Date().toISOString().replace(/:/g, '-'); - const filename = `yarn-install_${formattedDate}.har`; - _this6.reporter.step(curr, total, _this6.reporter.lang('savingHar', filename), emoji.get('black_circle_for_record')); - yield _this6.config.requestManager.saveHar(filename); - }); - - return function (_x3, _x4) { - return _ref21.apply(this, arguments); - }; - })()); - } - - if (yield _this6.shouldClean()) { - steps.push((() => { - var _ref22 = (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* (curr, total) { - _this6.reporter.step(curr, total, _this6.reporter.lang('cleaningModules'), emoji.get('recycle')); - yield (0, (_autoclean || _load_autoclean()).clean)(_this6.config, _this6.reporter); - }); - - return function (_x5, _x6) { - return _ref22.apply(this, arguments); - }; - })()); - } - - let currentStep = 0; - for (var _iterator11 = steps, _isArray11 = Array.isArray(_iterator11), _i11 = 0, _iterator11 = _isArray11 ? _iterator11 : _iterator11[Symbol.iterator]();;) { - var _ref23; - - if (_isArray11) { - if (_i11 >= _iterator11.length) break; - _ref23 = _iterator11[_i11++]; - } else { - _i11 = _iterator11.next(); - if (_i11.done) break; - _ref23 = _i11.value; - } - - const step = _ref23; - - const stepResult = yield step(++currentStep, steps.length); - if (stepResult && stepResult.bailout) { - if (_this6.flags.audit) { - audit.summary(); - } - if (auditFoundProblems) { - _this6.reporter.warn(_this6.reporter.lang('auditRunAuditForDetails')); - } - _this6.maybeOutputUpdate(); - return flattenedTopLevelPatterns; - } - } - - // fin! - if (_this6.flags.audit) { - audit.summary(); - } - if (auditFoundProblems) { - _this6.reporter.warn(_this6.reporter.lang('auditRunAuditForDetails')); - } - yield _this6.saveLockfileAndIntegrity(topLevelPatterns, workspaceLayout); - yield _this6.persistChanges(); - _this6.maybeOutputUpdate(); - _this6.config.requestManager.clearCache(); - return flattenedTopLevelPatterns; - })(); - } - - checkCompatibility() { - var _this7 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - var _ref24 = yield _this7.fetchRequestFromCwd(); - - const manifest = _ref24.manifest; - - yield (_packageCompatibility || _load_packageCompatibility()).checkOne(manifest, _this7.config, _this7.flags.ignoreEngines); - })(); - } - - persistChanges() { - var _this8 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - // get all the different registry manifests in this folder - const manifests = yield _this8.config.getRootManifests(); - - if (yield _this8.applyChanges(manifests)) { - yield _this8.config.saveRootManifests(manifests); - } - })(); - } - - applyChanges(manifests) { - let hasChanged = false; - - if (this.config.plugnplayPersist) { - const object = manifests.npm.object; - - - if (typeof object.installConfig !== 'object') { - object.installConfig = {}; - } - - if (this.config.plugnplayEnabled && object.installConfig.pnp !== true) { - object.installConfig.pnp = true; - hasChanged = true; - } else if (!this.config.plugnplayEnabled && typeof object.installConfig.pnp !== 'undefined') { - delete object.installConfig.pnp; - hasChanged = true; - } - - if (Object.keys(object.installConfig).length === 0) { - delete object.installConfig; - } - } - - return Promise.resolve(hasChanged); - } - - /** - * Check if we should run the cleaning step. - */ - - shouldClean() { - return (_fs || _load_fs()).exists(path.join(this.config.lockfileFolder, (_constants || _load_constants()).CLEAN_FILENAME)); - } - - /** - * TODO - */ - - flatten(patterns) { - var _this9 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - if (!_this9.flags.flat) { - return patterns; - } - - const flattenedPatterns = []; - - for (var _iterator12 = _this9.resolver.getAllDependencyNamesByLevelOrder(patterns), _isArray12 = Array.isArray(_iterator12), _i12 = 0, _iterator12 = _isArray12 ? _iterator12 : _iterator12[Symbol.iterator]();;) { - var _ref25; - - if (_isArray12) { - if (_i12 >= _iterator12.length) break; - _ref25 = _iterator12[_i12++]; - } else { - _i12 = _iterator12.next(); - if (_i12.done) break; - _ref25 = _i12.value; - } - - const name = _ref25; - - const infos = _this9.resolver.getAllInfoForPackageName(name).filter(function (manifest) { - const ref = manifest._reference; - invariant(ref, 'expected package reference'); - return !ref.ignore; - }); - - if (infos.length === 0) { - continue; - } - - if (infos.length === 1) { - // single version of this package - // take out a single pattern as multiple patterns may have resolved to this package - flattenedPatterns.push(_this9.resolver.patternsByPackage[name][0]); - continue; - } - - const options = infos.map(function (info) { - const ref = info._reference; - invariant(ref, 'expected reference'); - return { - // TODO `and is required by {PARENT}`, - name: _this9.reporter.lang('manualVersionResolutionOption', ref.patterns.join(', '), info.version), - - value: info.version - }; - }); - const versions = infos.map(function (info) { - return info.version; - }); - let version; - - const resolutionVersion = _this9.resolutions[name]; - if (resolutionVersion && versions.indexOf(resolutionVersion) >= 0) { - // use json `resolution` version - version = resolutionVersion; - } else { - version = yield _this9.reporter.select(_this9.reporter.lang('manualVersionResolution', name), _this9.reporter.lang('answer'), options); - _this9.resolutions[name] = version; - } - - flattenedPatterns.push(_this9.resolver.collapseAllVersionsOfPackage(name, version)); - } - - // save resolutions to their appropriate root manifest - if (Object.keys(_this9.resolutions).length) { - const manifests = yield _this9.config.getRootManifests(); - - for (const name in _this9.resolutions) { - const version = _this9.resolutions[name]; - - const patterns = _this9.resolver.patternsByPackage[name]; - if (!patterns) { - continue; - } - - let manifest; - for (var _iterator13 = patterns, _isArray13 = Array.isArray(_iterator13), _i13 = 0, _iterator13 = _isArray13 ? _iterator13 : _iterator13[Symbol.iterator]();;) { - var _ref26; - - if (_isArray13) { - if (_i13 >= _iterator13.length) break; - _ref26 = _iterator13[_i13++]; - } else { - _i13 = _iterator13.next(); - if (_i13.done) break; - _ref26 = _i13.value; - } - - const pattern = _ref26; - - manifest = _this9.resolver.getResolvedPattern(pattern); - if (manifest) { - break; - } - } - invariant(manifest, 'expected manifest'); - - const ref = manifest._reference; - invariant(ref, 'expected reference'); - - const object = manifests[ref.registry].object; - object.resolutions = object.resolutions || {}; - object.resolutions[name] = version; - } - - yield _this9.config.saveRootManifests(manifests); - } - - return flattenedPatterns; - })(); - } - - /** - * Remove offline tarballs that are no longer required - */ - - pruneOfflineMirror(lockfile) { - var _this10 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const mirror = _this10.config.getOfflineMirrorPath(); - if (!mirror) { - return; - } - - const requiredTarballs = new Set(); - for (const dependency in lockfile) { - const resolved = lockfile[dependency].resolved; - if (resolved) { - const basename = path.basename(resolved.split('#')[0]); - if (dependency[0] === '@' && basename[0] !== '@') { - requiredTarballs.add(`${dependency.split('/')[0]}-${basename}`); - } - requiredTarballs.add(basename); - } - } - - const mirrorFiles = yield (_fs || _load_fs()).walk(mirror); - for (var _iterator14 = mirrorFiles, _isArray14 = Array.isArray(_iterator14), _i14 = 0, _iterator14 = _isArray14 ? _iterator14 : _iterator14[Symbol.iterator]();;) { - var _ref27; - - if (_isArray14) { - if (_i14 >= _iterator14.length) break; - _ref27 = _iterator14[_i14++]; - } else { - _i14 = _iterator14.next(); - if (_i14.done) break; - _ref27 = _i14.value; - } - - const file = _ref27; - - const isTarball = path.extname(file.basename) === '.tgz'; - // if using experimental-pack-script-packages-in-mirror flag, don't unlink prebuilt packages - const hasPrebuiltPackage = file.relative.startsWith('prebuilt/'); - if (isTarball && !hasPrebuiltPackage && !requiredTarballs.has(file.basename)) { - yield (_fs || _load_fs()).unlink(file.absolute); - } - } - })(); - } - - /** - * Save updated integrity and lockfiles. - */ - - saveLockfileAndIntegrity(patterns, workspaceLayout) { - var _this11 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const resolvedPatterns = {}; - Object.keys(_this11.resolver.patterns).forEach(function (pattern) { - if (!workspaceLayout || !workspaceLayout.getManifestByPattern(pattern)) { - resolvedPatterns[pattern] = _this11.resolver.patterns[pattern]; - } - }); - - // TODO this code is duplicated in a few places, need a common way to filter out workspace patterns from lockfile - patterns = patterns.filter(function (p) { - return !workspaceLayout || !workspaceLayout.getManifestByPattern(p); - }); - - const lockfileBasedOnResolver = _this11.lockfile.getLockfile(resolvedPatterns); - - if (_this11.config.pruneOfflineMirror) { - yield _this11.pruneOfflineMirror(lockfileBasedOnResolver); - } - - // write integrity hash - if (!_this11.config.plugnplayEnabled) { - yield _this11.integrityChecker.save(patterns, lockfileBasedOnResolver, _this11.flags, workspaceLayout, _this11.scripts.getArtifacts()); - } - - // --no-lockfile or --pure-lockfile or --frozen-lockfile - if (_this11.flags.lockfile === false || _this11.flags.pureLockfile || _this11.flags.frozenLockfile) { - return; - } - - const lockFileHasAllPatterns = patterns.every(function (p) { - return _this11.lockfile.getLocked(p); - }); - const lockfilePatternsMatch = Object.keys(_this11.lockfile.cache || {}).every(function (p) { - return lockfileBasedOnResolver[p]; - }); - const resolverPatternsAreSameAsInLockfile = Object.keys(lockfileBasedOnResolver).every(function (pattern) { - const manifest = _this11.lockfile.getLocked(pattern); - return manifest && manifest.resolved === lockfileBasedOnResolver[pattern].resolved && deepEqual(manifest.prebuiltVariants, lockfileBasedOnResolver[pattern].prebuiltVariants); - }); - const integrityPatternsAreSameAsInLockfile = Object.keys(lockfileBasedOnResolver).every(function (pattern) { - const existingIntegrityInfo = lockfileBasedOnResolver[pattern].integrity; - if (!existingIntegrityInfo) { - // if this entry does not have an integrity, no need to re-write the lockfile because of it - return true; - } - const manifest = _this11.lockfile.getLocked(pattern); - if (manifest && manifest.integrity) { - const manifestIntegrity = ssri.stringify(manifest.integrity); - return manifestIntegrity === existingIntegrityInfo; - } - return false; - }); - - // remove command is followed by install with force, lockfile will be rewritten in any case then - if (!_this11.flags.force && _this11.lockfile.parseResultType === 'success' && lockFileHasAllPatterns && lockfilePatternsMatch && resolverPatternsAreSameAsInLockfile && integrityPatternsAreSameAsInLockfile && patterns.length) { - return; - } - - // build lockfile location - const loc = path.join(_this11.config.lockfileFolder, (_constants || _load_constants()).LOCKFILE_FILENAME); - - // write lockfile - const lockSource = (0, (_lockfile2 || _load_lockfile2()).stringify)(lockfileBasedOnResolver, false, _this11.config.enableLockfileVersions); - yield (_fs || _load_fs()).writeFilePreservingEol(loc, lockSource); - - _this11._logSuccessSaveLockfile(); - })(); - } - - _logSuccessSaveLockfile() { - this.reporter.success(this.reporter.lang('savedLockfile')); - } - - /** - * Load the dependency graph of the current install. Only does package resolving and wont write to the cwd. - */ - hydrate(ignoreUnusedPatterns) { - var _this12 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - const request = yield _this12.fetchRequestFromCwd([], ignoreUnusedPatterns); - const depRequests = request.requests, - rawPatterns = request.patterns, - ignorePatterns = request.ignorePatterns, - workspaceLayout = request.workspaceLayout; - - - yield _this12.resolver.init(depRequests, { - isFlat: _this12.flags.flat, - isFrozen: _this12.flags.frozenLockfile, - workspaceLayout - }); - yield _this12.flatten(rawPatterns); - _this12.markIgnored(ignorePatterns); - - // fetch packages, should hit cache most of the time - const manifests = yield (_packageFetcher || _load_packageFetcher()).fetch(_this12.resolver.getManifests(), _this12.config); - _this12.resolver.updateManifests(manifests); - yield (_packageCompatibility || _load_packageCompatibility()).check(_this12.resolver.getManifests(), _this12.config, _this12.flags.ignoreEngines); - - // expand minimal manifests - for (var _iterator15 = _this12.resolver.getManifests(), _isArray15 = Array.isArray(_iterator15), _i15 = 0, _iterator15 = _isArray15 ? _iterator15 : _iterator15[Symbol.iterator]();;) { - var _ref28; - - if (_isArray15) { - if (_i15 >= _iterator15.length) break; - _ref28 = _iterator15[_i15++]; - } else { - _i15 = _iterator15.next(); - if (_i15.done) break; - _ref28 = _i15.value; - } - - const manifest = _ref28; - - const ref = manifest._reference; - invariant(ref, 'expected reference'); - const type = ref.remote.type; - // link specifier won't ever hit cache - - let loc = ''; - if (type === 'link') { - continue; - } else if (type === 'workspace') { - if (!ref.remote.reference) { - continue; - } - loc = ref.remote.reference; - } else { - loc = _this12.config.generateModuleCachePath(ref); - } - const newPkg = yield _this12.config.readManifest(loc); - yield _this12.resolver.updateManifest(ref, newPkg); - } - - return request; - })(); - } - - /** - * Check for updates every day and output a nag message if there's a newer version. - */ - - checkUpdate() { - if (this.config.nonInteractive) { - // don't show upgrade dialog on CI or non-TTY terminals - return; - } - - // don't check if disabled - if (this.config.getOption('disable-self-update-check')) { - return; - } - - // only check for updates once a day - const lastUpdateCheck = Number(this.config.getOption('lastUpdateCheck')) || 0; - if (lastUpdateCheck && Date.now() - lastUpdateCheck < ONE_DAY) { - return; - } - - // don't bug for updates on tagged releases - if ((_yarnVersion || _load_yarnVersion()).version.indexOf('-') >= 0) { - return; - } - - this._checkUpdate().catch(() => { - // swallow errors - }); - } - - _checkUpdate() { - var _this13 = this; - - return (0, (_asyncToGenerator2 || _load_asyncToGenerator()).default)(function* () { - let latestVersion = yield _this13.config.requestManager.request({ - url: (_constants || _load_constants()).SELF_UPDATE_VERSION_URL - }); - invariant(typeof latestVersion === 'string', 'expected string'); - latestVersion = latestVersion.trim(); - if (!semver.valid(latestVersion)) { - return; - } - - // ensure we only check for updates periodically - _this13.config.registries.yarn.saveHomeConfig({ - lastUpdateCheck: Date.now() - }); - - if (semver.gt(latestVersion, (_yarnVersion || _load_yarnVersion()).version)) { - const installationMethod = yield (0, (_yarnVersion || _load_yarnVersion()).getInstallationMethod)(); - _this13.maybeOutputUpdate = function () { - _this13.reporter.warn(_this13.reporter.lang('yarnOutdated', latestVersion, (_yarnVersion || _load_yarnVersion()).version)); - - const command = getUpdateCommand(installationMethod); - if (command) { - _this13.reporter.info(_this13.reporter.lang('yarnOutdatedCommand')); - _this13.reporter.command(command); - } else { - const installer = getUpdateInstaller(installationMethod); - if (installer) { - _this13.reporter.info(_this13.reporter.lang('yarnOutdatedInstaller', installer)); - } - } - }; - } - })(); - } - - /** - * Method to override with a possible upgrade message. - */ - - maybeOutputUpdate() {} -} - -exports.Install = Install; -function hasWrapper(commander, args) { - return true; -} - -function setFlags(commander) { - commander.description('Yarn install is used to install all dependencies for a project.'); - commander.usage('install [flags]'); - commander.option('-A, --audit', 'Run vulnerability audit on installed packages'); - commander.option('-g, --global', 'DEPRECATED'); - commander.option('-S, --save', 'DEPRECATED - save package to your `dependencies`'); - commander.option('-D, --save-dev', 'DEPRECATED - save package to your `devDependencies`'); - commander.option('-P, --save-peer', 'DEPRECATED - save package to your `peerDependencies`'); - commander.option('-O, --save-optional', 'DEPRECATED - save package to your `optionalDependencies`'); - commander.option('-E, --save-exact', 'DEPRECATED'); - commander.option('-T, --save-tilde', 'DEPRECATED'); -} - -/***/ }), -/* 35 */ -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(52); -module.exports = function (it) { - if (!isObject(it)) throw TypeError(it + ' is not an object!'); - return it; -}; - - -/***/ }), -/* 36 */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SubjectSubscriber; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Subject; }); -/* unused harmony export AnonymousSubject */ -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_tslib__ = __webpack_require__(1); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__Observable__ = __webpack_require__(12); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Subscriber__ = __webpack_require__(7); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Subscription__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__ = __webpack_require__(189); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__SubjectSubscription__ = __webpack_require__(422); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__internal_symbol_rxSubscriber__ = __webpack_require__(321); -/** PURE_IMPORTS_START tslib,_Observable,_Subscriber,_Subscription,_util_ObjectUnsubscribedError,_SubjectSubscription,_internal_symbol_rxSubscriber PURE_IMPORTS_END */ - - - - - - - -var SubjectSubscriber = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](SubjectSubscriber, _super); - function SubjectSubscriber(destination) { - var _this = _super.call(this, destination) || this; - _this.destination = destination; - return _this; - } - return SubjectSubscriber; -}(__WEBPACK_IMPORTED_MODULE_2__Subscriber__["a" /* Subscriber */])); - -var Subject = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](Subject, _super); - function Subject() { - var _this = _super.call(this) || this; - _this.observers = []; - _this.closed = false; - _this.isStopped = false; - _this.hasError = false; - _this.thrownError = null; - return _this; - } - Subject.prototype[__WEBPACK_IMPORTED_MODULE_6__internal_symbol_rxSubscriber__["a" /* rxSubscriber */]] = function () { - return new SubjectSubscriber(this); - }; - Subject.prototype.lift = function (operator) { - var subject = new AnonymousSubject(this, this); - subject.operator = operator; - return subject; - }; - Subject.prototype.next = function (value) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - if (!this.isStopped) { - var observers = this.observers; - var len = observers.length; - var copy = observers.slice(); - for (var i = 0; i < len; i++) { - copy[i].next(value); - } - } - }; - Subject.prototype.error = function (err) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - this.hasError = true; - this.thrownError = err; - this.isStopped = true; - var observers = this.observers; - var len = observers.length; - var copy = observers.slice(); - for (var i = 0; i < len; i++) { - copy[i].error(err); - } - this.observers.length = 0; - }; - Subject.prototype.complete = function () { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - this.isStopped = true; - var observers = this.observers; - var len = observers.length; - var copy = observers.slice(); - for (var i = 0; i < len; i++) { - copy[i].complete(); - } - this.observers.length = 0; - }; - Subject.prototype.unsubscribe = function () { - this.isStopped = true; - this.closed = true; - this.observers = null; - }; - Subject.prototype._trySubscribe = function (subscriber) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - else { - return _super.prototype._trySubscribe.call(this, subscriber); - } - }; - Subject.prototype._subscribe = function (subscriber) { - if (this.closed) { - throw new __WEBPACK_IMPORTED_MODULE_4__util_ObjectUnsubscribedError__["a" /* ObjectUnsubscribedError */](); - } - else if (this.hasError) { - subscriber.error(this.thrownError); - return __WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */].EMPTY; - } - else if (this.isStopped) { - subscriber.complete(); - return __WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */].EMPTY; - } - else { - this.observers.push(subscriber); - return new __WEBPACK_IMPORTED_MODULE_5__SubjectSubscription__["a" /* SubjectSubscription */](this, subscriber); - } - }; - Subject.prototype.asObservable = function () { - var observable = new __WEBPACK_IMPORTED_MODULE_1__Observable__["a" /* Observable */](); - observable.source = this; - return observable; - }; - Subject.create = function (destination, source) { - return new AnonymousSubject(destination, source); - }; - return Subject; -}(__WEBPACK_IMPORTED_MODULE_1__Observable__["a" /* Observable */])); - -var AnonymousSubject = /*@__PURE__*/ (function (_super) { - __WEBPACK_IMPORTED_MODULE_0_tslib__["a" /* __extends */](AnonymousSubject, _super); - function AnonymousSubject(destination, source) { - var _this = _super.call(this) || this; - _this.destination = destination; - _this.source = source; - return _this; - } - AnonymousSubject.prototype.next = function (value) { - var destination = this.destination; - if (destination && destination.next) { - destination.next(value); - } - }; - AnonymousSubject.prototype.error = function (err) { - var destination = this.destination; - if (destination && destination.error) { - this.destination.error(err); - } - }; - AnonymousSubject.prototype.complete = function () { - var destination = this.destination; - if (destination && destination.complete) { - this.destination.complete(); - } - }; - AnonymousSubject.prototype._subscribe = function (subscriber) { - var source = this.source; - if (source) { - return this.source.subscribe(subscriber); - } - else { - return __WEBPACK_IMPORTED_MODULE_3__Subscription__["a" /* Subscription */].EMPTY; - } - }; - return AnonymousSubject; -}(Subject)); - -//# sourceMappingURL=Subject.js.map - - -/***/ }), -/* 37 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.normalizePattern = normalizePattern; - -/** - * Explode and normalize a pattern into its name and range. - */ - -function normalizePattern(pattern) { - let hasVersion = false; - let range = 'latest'; - let name = pattern; - - // if we're a scope then remove the @ and add it back later - let isScoped = false; - if (name[0] === '@') { - isScoped = true; - name = name.slice(1); - } - - // take first part as the name - const parts = name.split('@'); - if (parts.length > 1) { - name = parts.shift(); - range = parts.join('@'); - - if (range) { - hasVersion = true; - } else { - range = '*'; - } - } - - // add back @ scope suffix - if (isScoped) { - name = `@${name}`; - } - - return { name, range, hasVersion }; -} - -/***/ }), -/* 38 */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(module) {var __WEBPACK_AMD_DEFINE_RESULT__;/** - * @license - * Lodash - * Copyright JS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '4.17.10'; - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; - - /** Error message constants. */ - var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', - FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used to stand-in for `undefined` hash values. */ - var HASH_UNDEFINED = '__lodash_hash_undefined__'; - - /** Used as the maximum memoize cache size. */ - var MAX_MEMOIZE_SIZE = 500; - - /** Used as the internal argument placeholder. */ - var PLACEHOLDER = '__lodash_placeholder__'; - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - - /** Used to compose bitmasks for function metadata. */ - var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256, - WRAP_FLIP_FLAG = 512; - - /** Used as default options for `_.truncate`. */ - var DEFAULT_TRUNC_LENGTH = 30, - DEFAULT_TRUNC_OMISSION = '...'; - - /** Used to detect hot functions by number of calls within a span of milliseconds. */ - var HOT_COUNT = 800, - HOT_SPAN = 16; - - /** Used to indicate the type of lazy iteratees. */ - var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2, - LAZY_WHILE_FLAG = 3; - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991, - MAX_INTEGER = 1.7976931348623157e+308, - NAN = 0 / 0; - - /** Used as references for the maximum length and index of an array. */ - var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - - /** Used to associate wrap methods with their bit flags. */ - var wrapFlags = [ - ['ary', WRAP_ARY_FLAG], - ['bind', WRAP_BIND_FLAG], - ['bindKey', WRAP_BIND_KEY_FLAG], - ['curry', WRAP_CURRY_FLAG], - ['curryRight', WRAP_CURRY_RIGHT_FLAG], - ['flip', WRAP_FLIP_FLAG], - ['partial', WRAP_PARTIAL_FLAG], - ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], - ['rearg', WRAP_REARG_FLAG] - ]; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - asyncTag = '[object AsyncFunction]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - domExcTag = '[object DOMException]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - nullTag = '[object Null]', - objectTag = '[object Object]', - promiseTag = '[object Promise]', - proxyTag = '[object Proxy]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - undefinedTag = '[object Undefined]', - weakMapTag = '[object WeakMap]', - weakSetTag = '[object WeakSet]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to match empty string literals in compiled template source. */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match HTML entities and HTML characters. */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g, - reHasEscapedHtml = RegExp(reEscapedHtml.source), - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to match template delimiters. */ - var reEscape = /<%-([\s\S]+?)%>/g, - reEvaluate = /<%([\s\S]+?)%>/g, - reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - - /** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ - var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - - /** Used to match leading and trailing whitespace. */ - var reTrim = /^\s+|\s+$/g, - reTrimStart = /^\s+/, - reTrimEnd = /\s+$/; - - /** Used to match wrap detail comments. */ - var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, - reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, - reSplitDetails = /,? & /; - - /** Used to match words composed of alphanumeric characters. */ - var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** - * Used to match - * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). - */ - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** Used to detect bad signed hexadecimal string values. */ - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - - /** Used to detect binary string values. */ - var reIsBinary = /^0b[01]+$/i; - - /** Used to detect host constructors (Safari). */ - var reIsHostCtor = /^\[object .+?Constructor\]$/; - - /** Used to detect octal string values. */ - var reIsOctal = /^0o[0-7]+$/i; - - /** Used to detect unsigned integer values. */ - var reIsUint = /^(?:0|[1-9]\d*)$/; - - /** Used to match Latin Unicode letters (excluding mathematical operators). */ - var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - - /** Used to ensure capturing order of template delimiters. */ - var reNoMatch = /($^)/; - - /** Used to match unescaped characters in compiled string literals. */ - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - - /** Used to compose unicode character classes. */ - var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsDingbatRange = '\\u2700-\\u27bf', - rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', - rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', - rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', - rsPunctuationRange = '\\u2000-\\u206f', - rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', - rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', - rsVarRange = '\\ufe0e\\ufe0f', - rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - - /** Used to compose unicode capture groups. */ - var rsApos = "['\u2019]", - rsAstral = '[' + rsAstralRange + ']', - rsBreak = '[' + rsBreakRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsDigits = '\\d+', - rsDingbat = '[' + rsDingbatRange + ']', - rsLower = '[' + rsLowerRange + ']', - rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsUpper = '[' + rsUpperRange + ']', - rsZWJ = '\\u200d'; - - /** Used to compose unicode regexes. */ - var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', - rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', - rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', - rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', - reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', - rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - - /** Used to match apostrophes. */ - var reApos = RegExp(rsApos, 'g'); - - /** - * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and - * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). - */ - var reComboMark = RegExp(rsCombo, 'g'); - - /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ - var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - - /** Used to match complex or compound words. */ - var reUnicodeWord = RegExp([ - rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', - rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', - rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, - rsUpper + '+' + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji - ].join('|'), 'g'); - - /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - - /** Used to detect strings that need a more robust regexp to match words. */ - var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - - /** Used to assign default `context` object properties. */ - var contextProps = [ - 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', - 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', - 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', - 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', - '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' - ]; - - /** Used to make template sourceURLs easier to identify. */ - var templateCounter = -1; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = - typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = - typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = - typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = - typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = - typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = - typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = - typedArrayTags[errorTag] = typedArrayTags[funcTag] = - typedArrayTags[mapTag] = typedArrayTags[numberTag] = - typedArrayTags[objectTag] = typedArrayTags[regexpTag] = - typedArrayTags[setTag] = typedArrayTags[stringTag] = - typedArrayTags[weakMapTag] = false; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = - cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = - cloneableTags[boolTag] = cloneableTags[dateTag] = - cloneableTags[float32Tag] = cloneableTags[float64Tag] = - cloneableTags[int8Tag] = cloneableTags[int16Tag] = - cloneableTags[int32Tag] = cloneableTags[mapTag] = - cloneableTags[numberTag] = cloneableTags[objectTag] = - cloneableTags[regexpTag] = cloneableTags[setTag] = - cloneableTags[stringTag] = cloneableTags[symbolTag] = - cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = - cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = - cloneableTags[weakMapTag] = false; - - /** Used to map Latin Unicode letters to basic Latin letters. */ - var deburredLetters = { - // Latin-1 Supplement block. - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss', - // Latin Extended-A block. - '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', - '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', - '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', - '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', - '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', - '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', - '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', - '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', - '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', - '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', - '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', - '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', - '\u0134': 'J', '\u0135': 'j', - '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', - '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', - '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', - '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', - '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', - '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', - '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', - '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', - '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', - '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', - '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', - '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', - '\u0163': 't', '\u0165': 't', '\u0167': 't', - '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', - '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', - '\u0174': 'W', '\u0175': 'w', - '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', - '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', - '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', - '\u0132': 'IJ', '\u0133': 'ij', - '\u0152': 'Oe', '\u0153': 'oe', - '\u0149': "'n", '\u017f': 's' - }; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Used to map HTML entities to characters. */ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }; - - /** Used to escape characters for inclusion in compiled string literals. */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /** Built-in method references without a dependency on `root`. */ - var freeParseFloat = parseFloat, - freeParseInt = parseInt; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; - - /** Detect free variable `process` from Node.js. */ - var freeProcess = moduleExports && freeGlobal.process; - - /** Used to access faster Node.js helpers. */ - var nodeUtil = (function() { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require('util').types; - - if (types) { - return types; - } - - // Legacy `process.binding('util')` for Node.js < 10. - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }()); - - /* Node.js helper references. */ - var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, - nodeIsDate = nodeUtil && nodeUtil.isDate, - nodeIsMap = nodeUtil && nodeUtil.isMap, - nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, - nodeIsSet = nodeUtil && nodeUtil.isSet, - nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - - /*--------------------------------------------------------------------------*/ - - /** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ - function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); - } - - /** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; - } - - /** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.forEachRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.every` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ - function arrayEvery(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; - } - - /** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludesWith(array, value, comparator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; - } - - /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - - /** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - /** - * A specialized version of `_.reduceRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the last element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; - } - - /** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - - /** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - var asciiSize = baseProperty('length'); - - /** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function asciiToArray(string) { - return string.split(''); - } - - /** - * Splits an ASCII `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function asciiWords(string) { - return string.match(reAsciiWord) || []; - } - - /** - * The base implementation of methods like `_.findKey` and `_.findLastKey`, - * without support for iteratee shorthands, which iterates over `collection` - * using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the found element or its key, else `undefined`. - */ - function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = key; - return false; - } - }); - return result; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); - } - - /** - * This function is like `baseIndexOf` except that it accepts a comparator. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @param {Function} comparator The comparator invoked per element. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ - function baseIsNaN(value) { - return value !== value; - } - - /** - * The base implementation of `_.mean` and `_.meanBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the mean. - */ - function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? (baseSum(array, iteratee) / length) : NAN; - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - - /** - * The base implementation of `_.sum` and `_.sumBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function baseSum(array, iteratee) { - var result, - index = -1, - length = array.length; - - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined) { - result = result === undefined ? current : (result + current); - } - } - return result; - } - - /** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ - function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; - } - - /** - * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array - * of key-value pairs for `object` corresponding to the property names of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. - */ - function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); - } - - /** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ - function baseUnary(func) { - return function(value) { - return func(value); - }; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); - } - - /** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { - return cache.has(key); - } - - /** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ - function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ - function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Gets the number of `placeholder` occurrences in `array`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} placeholder The placeholder to search for. - * @returns {number} Returns the placeholder count. - */ - function countHolders(array, placeholder) { - var length = array.length, - result = 0; - - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; - } - - /** - * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A - * letters to basic Latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ - var deburrLetter = basePropertyOf(deburredLetters); - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - var escapeHtmlChar = basePropertyOf(htmlEscapes); - - /** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; - } - - /** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function getValue(object, key) { - return object == null ? undefined : object[key]; - } - - /** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ - function hasUnicode(string) { - return reHasUnicode.test(string); - } - - /** - * Checks if `string` contains a word composed of Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a word is found, else `false`. - */ - function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); - } - - /** - * Converts `iterator` to an array. - * - * @private - * @param {Object} iterator The iterator to convert. - * @returns {Array} Returns the converted array. - */ - function iteratorToArray(iterator) { - var data, - result = []; - - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; - } - - /** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ - function mapToArray(map) { - var index = -1, - result = Array(map.size); - - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; - } - - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - - /** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ - function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; - } - - /** - * Gets the value at `key`, unless `key` is "__proto__". - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function safeGet(object, key) { - return key == '__proto__' - ? undefined - : object[key]; - } - - /** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ - function setToArray(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = value; - }); - return result; - } - - /** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ - function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; - } - - /** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * A specialized version of `_.lastIndexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; - } - - /** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ - function stringSize(string) { - return hasUnicode(string) - ? unicodeSize(string) - : asciiSize(string); - } - - /** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); - } - - /** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ - var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - - /** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; - } - - /** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function unicodeToArray(string) { - return string.match(reUnicode) || []; - } - - /** - * Splits a Unicode `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function unicodeWords(string) { - return string.match(reUnicodeWord) || []; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Create a new pristine `lodash` function using the `context` object. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Util - * @param {Object} [context=root] The context object. - * @returns {Function} Returns a new `lodash` function. - * @example - * - * _.mixin({ 'foo': _.constant('foo') }); - * - * var lodash = _.runInContext(); - * lodash.mixin({ 'bar': lodash.constant('bar') }); - * - * _.isFunction(_.foo); - * // => true - * _.isFunction(_.bar); - * // => false - * - * lodash.isFunction(lodash.foo); - * // => false - * lodash.isFunction(lodash.bar); - * // => true - * - * // Create a suped-up `defer` in Node.js. - * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; - */ - var runInContext = (function runInContext(context) { - context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); - - /** Built-in constructor references. */ - var Array = context.Array, - Date = context.Date, - Error = context.Error, - Function = context.Function, - Math = context.Math, - Object = context.Object, - RegExp = context.RegExp, - String = context.String, - TypeError = context.TypeError; - - /** Used for built-in method references. */ - var arrayProto = Array.prototype, - funcProto = Function.prototype, - objectProto = Object.prototype; - - /** Used to detect overreaching core-js shims. */ - var coreJsData = context['__core-js_shared__']; - - /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** Used to detect methods masquerading as native. */ - var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; - }()); - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Used to infer the `Object` constructor. */ - var objectCtorString = funcToString.call(Object); - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Used to detect if a method is native. */ - var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' - ); - - /** Built-in value references. */ - var Buffer = moduleExports ? context.Buffer : undefined, - Symbol = context.Symbol, - Uint8Array = context.Uint8Array, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, - getPrototype = overArg(Object.getPrototypeOf, Object), - objectCreate = Object.create, - propertyIsEnumerable = objectProto.propertyIsEnumerable, - splice = arrayProto.splice, - spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, - symIterator = Symbol ? Symbol.iterator : undefined, - symToStringTag = Symbol ? Symbol.toStringTag : undefined; - - var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} - }()); - - /** Mocked built-ins. */ - var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, - ctxNow = Date && Date.now !== root.Date.now && Date.now, - ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeFloor = Math.floor, - nativeGetSymbols = Object.getOwnPropertySymbols, - nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, - nativeIsFinite = context.isFinite, - nativeJoin = arrayProto.join, - nativeKeys = overArg(Object.keys, Object), - nativeMax = Math.max, - nativeMin = Math.min, - nativeNow = Date.now, - nativeParseInt = context.parseInt, - nativeRandom = Math.random, - nativeReverse = arrayProto.reverse; - - /* Built-in method references that are verified to be native. */ - var DataView = getNative(context, 'DataView'), - Map = getNative(context, 'Map'), - Promise = getNative(context, 'Promise'), - Set = getNative(context, 'Set'), - WeakMap = getNative(context, 'WeakMap'), - nativeCreate = getNative(Object, 'create'); - - /** Used to store function metadata. */ - var metaMap = WeakMap && new WeakMap; - - /** Used to lookup unminified function names. */ - var realNames = {}; - - /** Used to detect maps, sets, and weakmaps. */ - var dataViewCtorString = toSource(DataView), - mapCtorString = toSource(Map), - promiseCtorString = toSource(Promise), - setCtorString = toSource(Set), - weakMapCtorString = toSource(WeakMap); - - /** Used to convert symbols to primitives and strings. */ - var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit method - * chain sequences. Methods that operate on and return arrays, collections, - * and functions can be chained together. Methods that retrieve a single value - * or may return a primitive value will automatically end the chain sequence - * and return the unwrapped value. Otherwise, the value must be unwrapped - * with `_#value`. - * - * Explicit chain sequences, which must be unwrapped with `_#value`, may be - * enabled using `_.chain`. - * - * The execution of chained methods is lazy, that is, it's deferred until - * `_#value` is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. - * Shortcut fusion is an optimization to merge iteratee calls; this avoids - * the creation of intermediate arrays and can greatly reduce the number of - * iteratee executions. Sections of a chain sequence qualify for shortcut - * fusion if the section is applied to an array and iteratees accept only - * one argument. The heuristic for whether a section qualifies for shortcut - * fusion is subject to change. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, - * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, - * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, - * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, - * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, - * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, - * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, - * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, - * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, - * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, - * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, - * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, - * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, - * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, - * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, - * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, - * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, - * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, - * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, - * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, - * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, - * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, - * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, - * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, - * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, - * `zipObject`, `zipObjectDeep`, and `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, - * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, - * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, - * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, - * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, - * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, - * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, - * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, - * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, - * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, - * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, - * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, - * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, - * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, - * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, - * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, - * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, - * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, - * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, - * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, - * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, - * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, - * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, - * `upperFirst`, `value`, and `words` - * - * @name _ - * @constructor - * @category Seq - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2, 3]); - * - * // Returns an unwrapped value. - * wrapped.reduce(_.add); - * // => 6 - * - * // Returns a wrapped value. - * var squares = wrapped.map(square); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty.call(value, '__wrapped__')) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - /** - * The function whose prototype chain sequence wrappers inherit from. - * - * @private - */ - function baseLodash() { - // No operation performed. - } - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined; - } - - /** - * By default, the template delimiters used by lodash are like those in - * embedded Ruby (ERB) as well as ES2015 template strings. Change the - * following template settings to use alternative delimiters. - * - * @static - * @memberOf _ - * @type {Object} - */ - lodash.templateSettings = { - - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'escape': reEscape, - - /** - * Used to detect code to be evaluated. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'evaluate': reEvaluate, - - /** - * Used to detect `data` property values to inject. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'interpolate': reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @memberOf _.templateSettings - * @type {string} - */ - 'variable': '', - - /** - * Used to import variables into the compiled template. - * - * @memberOf _.templateSettings - * @type {Object} - */ - 'imports': { - - /** - * A reference to the `lodash` function. - * - * @memberOf _.templateSettings.imports - * @type {Function} - */ - '_': lodash - } - }; - - // Ensure wrappers are instances of `baseLodash`. - lodash.prototype = baseLodash.prototype; - lodash.prototype.constructor = lodash; - - LodashWrapper.prototype = baseCreate(baseLodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @constructor - * @param {*} value The value to wrap. - */ - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; - } - - /** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ - function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = copyArray(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = copyArray(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = copyArray(this.__views__); - return result; - } - - /** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ - function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; - } - - /** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ - function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || (!isRight && arrLength == length && takeCount == length)) { - return baseWrapperValue(array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; - } - - // Ensure `LazyWrapper` is an instance of `baseLodash`. - LazyWrapper.prototype = baseCreate(baseLodash.prototype); - LazyWrapper.prototype.constructor = LazyWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; - } - - /** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; - } - - /** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function hashHas(key) { - var data = this.__data__; - return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); - } - - /** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ - function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; - } - - // Add methods to `Hash`. - Hash.prototype.clear = hashClear; - Hash.prototype['delete'] = hashDelete; - Hash.prototype.get = hashGet; - Hash.prototype.has = hashHas; - Hash.prototype.set = hashSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ - function listCacheClear() { - this.__data__ = []; - this.size = 0; - } - - /** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; - } - - /** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; - } - - /** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; - } - - /** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; - } - - // Add methods to `ListCache`. - ListCache.prototype.clear = listCacheClear; - ListCache.prototype['delete'] = listCacheDelete; - ListCache.prototype.get = listCacheGet; - ListCache.prototype.has = listCacheHas; - ListCache.prototype.set = listCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ - function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; - } - - /** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function mapCacheGet(key) { - return getMapData(this, key).get(key); - } - - /** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function mapCacheHas(key) { - return getMapData(this, key).has(key); - } - - /** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ - function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; - } - - // Add methods to `MapCache`. - MapCache.prototype.clear = mapCacheClear; - MapCache.prototype['delete'] = mapCacheDelete; - MapCache.prototype.get = mapCacheGet; - MapCache.prototype.has = mapCacheHas; - MapCache.prototype.set = mapCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } - } - - /** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; - } - - /** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ - function setCacheHas(value) { - return this.__data__.has(value); - } - - // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; - } - - /** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ - function stackClear() { - this.__data__ = new ListCache; - this.size = 0; - } - - /** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; - } - - /** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function stackGet(key) { - return this.__data__.get(key); - } - - /** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function stackHas(key) { - return this.__data__.has(key); - } - - /** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ - function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; - } - - // Add methods to `Stack`. - Stack.prototype.clear = stackClear; - Stack.prototype['delete'] = stackDelete; - Stack.prototype.get = stackGet; - Stack.prototype.has = stackHas; - Stack.prototype.set = stackSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ - function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; - } - - /** - * A specialized version of `_.sample` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @returns {*} Returns the random element. - */ - function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined; - } - - /** - * A specialized version of `_.sampleSize` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); - } - - /** - * A specialized version of `_.shuffle` for arrays. - * - * @private - * @param {Array} array The array to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); - } - - /** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; - } - - /** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach(collection, function(value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); - } - - /** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); - } - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } - } - - /** - * The base implementation of `_.at` without support for individual paths. - * - * @private - * @param {Object} object The object to iterate over. - * @param {string[]} paths The property paths to pick. - * @returns {Array} Returns the picked elements. - */ - function baseAt(object, paths) { - var index = -1, - length = paths.length, - result = Array(length), - skip = object == null; - - while (++index < length) { - result[index] = skip ? undefined : get(object, paths[index]); - } - return result; - } - - /** - * The base implementation of `_.clamp` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - */ - function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined) { - number = number <= upper ? number : upper; - } - if (lower !== undefined) { - number = number >= lower ? number : lower; - } - } - return number; - } - - /** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - if (isSet(value)) { - value.forEach(function(subValue) { - result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); - }); - - return result; - } - - if (isMap(value)) { - value.forEach(function(subValue, key) { - result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - - return result; - } - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; - } - - /** - * The base implementation of `_.conforms` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - */ - function baseConforms(source) { - var props = keys(source); - return function(object) { - return baseConformsTo(object, source, props); - }; - } - - /** - * The base implementation of `_.conformsTo` which accepts `props` to check. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - */ - function baseConformsTo(object, source, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length], - predicate = source[key], - value = object[key]; - - if ((value === undefined && !(key in object)) || !predicate(value)) { - return false; - } - } - return true; - } - - /** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - */ - function baseDifference(array, values, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; - - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee == null ? value : iteratee(value); - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } - } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.forEachRight` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEachRight = createBaseEach(baseForOwnRight, true); - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !isSymbol(current)) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; - } - - /** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ - function baseFill(array, value, start, end) { - var length = array.length; - - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; - } - - /** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseForRight = createBaseFor(true); - - /** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.forOwnRight` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwnRight(object, iteratee) { - return object && baseForRight(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ - function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction(object[key]); - }); - } - - /** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ - function baseGet(object, path) { - path = castPath(path, object); - - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return (index && index == length) ? object : undefined; - } - - /** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); - } - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); - } - - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { - return value > other; - } - - /** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHas(object, key) { - return object != null && hasOwnProperty.call(object, key); - } - - /** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHasIn(object, key) { - return object != null && key in Object(object); - } - - /** - * The base implementation of `_.inRange` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to check. - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - */ - function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); - } - - /** - * The base implementation of methods like `_.intersection`, without support - * for iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of shared values. - */ - function baseIntersection(arrays, iteratee, comparator) { - var includes = comparator ? arrayIncludesWith : arrayIncludes, - length = arrays[0].length, - othLength = arrays.length, - othIndex = othLength, - caches = Array(othLength), - maxLength = Infinity, - result = []; - - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee) { - array = arrayMap(array, baseUnary(iteratee)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) - ? new SetCache(othIndex && array) - : undefined; - } - array = arrays[0]; - - var index = -1, - seen = caches[0]; - - outer: - while (++index < length && result.length < maxLength) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (!(seen - ? cacheHas(seen, computed) - : includes(result, computed, comparator) - )) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache - ? cacheHas(cache, computed) - : includes(arrays[othIndex], computed, comparator)) - ) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ - function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; - } - - /** - * The base implementation of `_.invoke` without support for individual - * method arguments. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ - function baseInvoke(object, path, args) { - path = castPath(path, object); - object = parent(object, path); - var func = object == null ? object : object[toKey(last(path))]; - return func == null ? undefined : apply(func, object, args); - } - - /** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; - } - - /** - * The base implementation of `_.isArrayBuffer` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - */ - function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; - } - - /** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - - /** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : getTag(object), - othTag = othIsArr ? arrayTag : getTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack); - return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); - } - - /** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */ - function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; - } - - /** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new Stack; - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) - : result - )) { - return false; - } - } - } - return true; - } - - /** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ - function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); - } - - /** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - - /** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */ - function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; - } - - /** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; - } - - /** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == 'object') { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); - } - return property(value); - } - - /** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { - return value < other; - } - - /** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; - } - - /** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return (objValue === undefined && objValue === srcValue) - ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; - } - - /** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMerge(object, source, srcIndex, customizer, stack) { - if (object === source) { - return; - } - baseFor(source, function(srcValue, key) { - if (isObject(srcValue)) { - stack || (stack = new Stack); - baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); - } - else { - var newValue = customizer - ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) - : undefined; - - if (newValue === undefined) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); - } - - /** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = safeGet(object, key), - srcValue = safeGet(source, key), - stacked = stack.get(srcValue); - - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer - ? customizer(objValue, srcValue, (key + ''), object, source, stack) - : undefined; - - var isCommon = newValue === undefined; - - if (isCommon) { - var isArr = isArray(srcValue), - isBuff = !isArr && isBuffer(srcValue), - isTyped = !isArr && !isBuff && isTypedArray(srcValue); - - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray(objValue)) { - newValue = objValue; - } - else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } - else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } - else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } - else { - newValue = []; - } - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } - else if (!isObject(objValue) || (srcIndex && isFunction(objValue))) { - newValue = initCloneObject(srcValue); - } - } - else { - isCommon = false; - } - } - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack); - stack['delete'](srcValue); - } - assignMergeValue(object, key, newValue); - } - - /** - * The base implementation of `_.nth` which doesn't coerce arguments. - * - * @private - * @param {Array} array The array to query. - * @param {number} n The index of the element to return. - * @returns {*} Returns the nth element of `array`. - */ - function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined; - } - - /** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ - function baseOrderBy(collection, iteratees, orders) { - var index = -1; - iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee())); - - var result = baseMap(collection, function(value, key, collection) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, paths) { - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); - }); - } - - /** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ - function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = baseGet(object, path); - - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); - } - } - return result; - } - - /** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; - } - - /** - * The base implementation of `_.pullAllBy` without support for iteratee - * shorthands. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - */ - function basePullAll(array, values, iteratee, comparator) { - var indexOf = comparator ? baseIndexOfWith : baseIndexOf, - index = -1, - length = values.length, - seen = array; - - if (array === values) { - values = copyArray(values); - } - if (iteratee) { - seen = arrayMap(array, baseUnary(iteratee)); - } - while (++index < length) { - var fromIndex = 0, - value = values[index], - computed = iteratee ? iteratee(value) : value; - - while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; - } - - /** - * The base implementation of `_.pullAt` without support for individual - * indexes or capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, - lastIndex = length - 1; - - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; - } - - /** - * The base implementation of `_.random` without support for returning - * floating-point numbers. - * - * @private - * @param {number} lower The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the random number. - */ - function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); - } - - /** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ - function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; - } - - /** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ - function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - - return result; - } - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - /** - * The base implementation of `_.sample`. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - */ - function baseSample(collection) { - return arraySample(values(collection)); - } - - /** - * The base implementation of `_.sampleSize` without param guards. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); - } - - /** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; - } - - /** - * The base implementation of `setData` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; - }; - - /** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); - }; - - /** - * The base implementation of `_.shuffle`. - * - * @private - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function baseShuffle(collection) { - return shuffleSelf(values(collection)); - } - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which - * performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndex(array, value, retHighest) { - var low = 0, - high = array == null ? low : array.length; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if (computed !== null && !isSymbol(computed) && - (retHighest ? (computed <= value) : (computed < value))) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); - } - - /** - * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` - * which invokes `iteratee` for `value` and each element of `array` to compute - * their sort ranking. The iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The iteratee invoked per element. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndexBy(array, value, iteratee, retHighest) { - value = iteratee(value); - - var low = 0, - high = array == null ? 0 : array.length, - valIsNaN = value !== value, - valIsNull = value === null, - valIsSymbol = isSymbol(value), - valIsUndefined = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - othIsDefined = computed !== undefined, - othIsNull = computed === null, - othIsReflexive = computed === computed, - othIsSymbol = isSymbol(computed); - - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - - /** - * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseSortedUniq(array, iteratee) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - if (!index || !eq(computed, seen)) { - var seen = computed; - result[resIndex++] = value === 0 ? 0 : value; - } - } - return result; - } - - /** - * The base implementation of `_.toNumber` which doesn't ensure correct - * conversions of binary, hexadecimal, or octal string values. - * - * @private - * @param {*} value The value to process. - * @returns {number} Returns the number. - */ - function baseToNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; - } - - /** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseUniq(array, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - length = array.length, - isCommon = true, - result = [], - seen = result; - - if (comparator) { - isCommon = false; - includes = arrayIncludesWith; - } - else if (length >= LARGE_ARRAY_SIZE) { - var set = iteratee ? null : createSet(array); - if (set) { - return setToArray(set); - } - isCommon = false; - includes = cacheHas; - seen = new SetCache; - } - else { - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (!includes(seen, computed, comparator)) { - if (seen !== result) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ - function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; - } - - /** - * The base implementation of `_.update`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to update. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseUpdate(object, path, updater, customizer) { - return baseSet(object, path, updater(baseGet(object, path)), customizer); - } - - /** - * The base implementation of methods like `_.dropWhile` and `_.takeWhile` - * without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && - predicate(array[index], index, array)) {} - - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - return arrayReduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); - } - - /** - * The base implementation of methods like `_.xor`, without support for - * iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of values. - */ - function baseXor(arrays, iteratee, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, - result = Array(length); - - while (++index < length) { - var array = arrays[index], - othIndex = -1; - - while (++othIndex < length) { - if (othIndex != index) { - result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); - } - } - } - return baseUniq(baseFlatten(result, 1), iteratee, comparator); - } - - /** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ - function baseZipObject(props, values, assignFunc) { - var index = -1, - length = props.length, - valsLength = values.length, - result = {}; - - while (++index < length) { - var value = index < valsLength ? values[index] : undefined; - assignFunc(result, props[index], value); - } - return result; - } - - /** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ - function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function castFunction(value) { - return typeof value == 'function' ? value : identity; - } - - /** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ - function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); - } - - /** - * A `baseRest` alias which can be replaced with `identity` by module - * replacement plugins. - * - * @private - * @type {Function} - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - var castRest = baseRest; - - /** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ - function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); - } - - /** - * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). - * - * @private - * @param {number|Object} id The timer id or timeout object of the timer to clear. - */ - var clearTimeout = ctxClearTimeout || function(id) { - return root.clearTimeout(id); - }; - - /** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */ - function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); - return result; - } - - /** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; - } - - /** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ - function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); - } - - /** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ - function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; - } - - /** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ - function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; - } - - /** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ - function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); - } - - /** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = isSymbol(value); - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = isSymbol(other); - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; - } - - /** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = compareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order == 'desc' ? -1 : 1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; - } - - /** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgs(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersLength = holders.length, - leftIndex = -1, - leftLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(leftLength + rangeLength), - isUncurried = !isCurried; - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - } - while (rangeLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; - } - - /** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgsRight(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersIndex = -1, - holdersLength = holders.length, - rightIndex = -1, - rightLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(rangeLength + rightLength), - isUncurried = !isCurried; - - while (++argsIndex < rangeLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ - function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - - /** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); - } - - /** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); - } - - /** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ - function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray(collection) ? arrayAggregator : baseAggregator, - accumulator = initializer ? initializer() : {}; - - return func(collection, setter, getIteratee(iteratee, 2), accumulator); - }; - } - - /** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that wraps `func` to invoke it with the optional `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, arguments); - } - return wrapper; - } - - /** - * Creates a function like `_.lowerFirst`. - * - * @private - * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. - */ - function createCaseFirst(methodName) { - return function(string) { - string = toString(string); - - var strSymbols = hasUnicode(string) - ? stringToArray(string) - : undefined; - - var chr = strSymbols - ? strSymbols[0] - : string.charAt(0); - - var trailing = strSymbols - ? castSlice(strSymbols, 1).join('') - : string.slice(1); - - return chr[methodName]() + trailing; - }; - } - - /** - * Creates a function like `_.camelCase`. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ - function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a function that wraps `func` to enable currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {number} arity The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length, - placeholder = getHolder(wrapper); - - while (index--) { - args[index] = arguments[index]; - } - var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) - ? [] - : replaceHolders(args, placeholder); - - length -= holders.length; - if (length < arity) { - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, undefined, - args, holders, undefined, undefined, arity - length); - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return apply(fn, this, args); - } - return wrapper; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = getIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; - } - - /** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ - function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, - index = length, - prereq = LodashWrapper.prototype.thru; - - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == 'wrapper') { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && - data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && - !data[4].length && data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value)) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }); - } - - /** - * Creates a function that wraps `func` to invoke it with optional `this` - * binding of `thisArg`, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided - * to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, - isBind = bitmask & WRAP_BIND_FLAG, - isBindKey = bitmask & WRAP_BIND_KEY_FLAG, - isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), - isFlip = bitmask & WRAP_FLIP_FLAG, - Ctor = isBindKey ? undefined : createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length; - - while (index--) { - args[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), - holdersCount = countHolders(args, placeholder); - } - if (partials) { - args = composeArgs(args, partials, holders, isCurried); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args, placeholder); - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, thisArg, - args, newHolders, argPos, ary, arity - length - ); - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - length = args.length; - if (argPos) { - args = reorder(args, argPos); - } else if (isFlip && length > 1) { - args.reverse(); - } - if (isAry && ary < length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtor(fn); - } - return fn.apply(thisBinding, args); - } - return wrapper; - } - - /** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ - function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; - } - - /** - * Creates a function that performs a mathematical operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @param {number} [defaultValue] The value used for `undefined` arguments. - * @returns {Function} Returns the new mathematical operation function. - */ - function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result; - if (value === undefined && other === undefined) { - return defaultValue; - } - if (value !== undefined) { - result = value; - } - if (other !== undefined) { - if (result === undefined) { - return other; - } - if (typeof value == 'string' || typeof other == 'string') { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result = operator(value, other); - } - return result; - }; - } - - /** - * Creates a function like `_.over`. - * - * @private - * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. - */ - function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - return baseRest(function(args) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee) { - return apply(iteratee, thisArg, args); - }); - }); - }); - } - - /** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ - function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); - - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) - ? castSlice(stringToArray(result), 0, length).join('') - : result.slice(0, length); - } - - /** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ - function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn, isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */ - function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { - end = step = undefined; - } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); - return baseRange(start, end, step, fromRight); - }; - } - - /** - * Creates a function that performs a relational operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @returns {Function} Returns the new relational operation function. - */ - function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == 'string' && typeof other == 'string')) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; - } - - /** - * Creates a function that wraps `func` to continue currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {Function} wrapFunc The function to create the `func` wrapper. - * @param {*} placeholder The placeholder value. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, - newHolders = isCurry ? holders : undefined, - newHoldersRight = isCurry ? undefined : holders, - newPartials = isCurry ? partials : undefined, - newPartialsRight = isCurry ? undefined : partials; - - bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, - newHoldersRight, argPos, ary, arity - ]; - - var result = wrapFunc.apply(undefined, newData); - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return setWrapToString(result, func, bitmask); - } - - /** - * Creates a function like `_.round`. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ - function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision) { - // Shift with exponential notation to avoid floating-point issues. - // See [MDN](https://mdn.io/round#Examples) for more details. - var pair = (toString(number) + 'e').split('e'), - value = func(pair[0] + 'e' + (+pair[1] + precision)); - - pair = (toString(value) + 'e').split('e'); - return +(pair[0] + 'e' + (+pair[1] - precision)); - } - return func(number); - }; - } - - /** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */ - var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { - return new Set(values); - }; - - /** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ - function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; - } - - /** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * 512 - `_.flip` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); - arity = arity === undefined ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func); - - var newData = [ - func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, - argPos, ary, arity - ]; - - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined - ? (isBindKey ? 0 : func.length) - : nativeMax(newData[9] - length, 0); - - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result = createPartial(func, bitmask, thisArg, partials); - } else { - result = createHybrid.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result, newData), func, bitmask); - } - - /** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; - } - - /** - * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source - * objects into destination objects that are passed thru. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to merge. - * @param {Object} object The parent object of `objValue`. - * @param {Object} source The parent object of `srcValue`. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - * @returns {*} Returns the value to assign. - */ - function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { - if (isObject(objValue) && isObject(srcValue)) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); - stack['delete'](srcValue); - } - return objValue; - } - - /** - * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain - * objects. - * - * @private - * @param {*} value The value to inspect. - * @param {string} key The key of the property to inspect. - * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. - */ - function customOmitClone(value) { - return isPlainObject(value) ? undefined : value; - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(array); - if (stacked && stack.get(other)) { - return stacked == other; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; - - stack.set(array, other); - stack.set(other, array); - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, arrValue, index, other, array, stack) - : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - stack['delete'](array); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if ((object.byteLength != other.byteLength) || - (object.byteOffset != other.byteOffset)) { - return false; - } - object = object.buffer; - other = other.buffer; - - case arrayBufferTag: - if ((object.byteLength != other.byteLength) || - !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - case mapTag: - var convert = mapToArray; - - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = getAllKeys(object), - objLength = objProps.length, - othProps = getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked && stack.get(other)) { - return stacked == other; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, objValue, key, other, object, stack) - : customizer(objValue, othValue, key, object, other, stack); - } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - stack['delete'](object); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - /** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); - } - - /** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - - /** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ - var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); - }; - - /** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ - function getFuncName(func) { - var result = (func.name + ''), - array = realNames[result], - length = hasOwnProperty.call(realNames, result) ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; - } - - /** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ - function getHolder(func) { - var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; - return object.placeholder; - } - - /** - * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, - * this function returns the custom method, otherwise it returns `baseIteratee`. - * If arguments are provided, the chosen function is invoked with them and - * its result is returned. - * - * @private - * @param {*} [value] The value to convert to an iteratee. - * @param {number} [arity] The arity of the created iteratee. - * @returns {Function} Returns the chosen function or its result. - */ - function getIteratee() { - var result = lodash.iteratee || iteratee; - result = result === iteratee ? baseIteratee : result; - return arguments.length ? result(arguments[0], arguments[1]) : result; - } - - /** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; - } - - /** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; - } - - /** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; - } - - /** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; - } - - /** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); - }; - - /** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; - }; - - /** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - var getTag = baseGetTag; - - // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || - (Map && getTag(new Map) != mapTag) || - (Promise && getTag(Promise.resolve()) != promiseTag) || - (Set && getTag(new Set) != setTag) || - (WeakMap && getTag(new WeakMap) != weakMapTag)) { - getTag = function(value) { - var result = baseGetTag(value), - Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: return dataViewTag; - case mapCtorString: return mapTag; - case promiseCtorString: return promiseTag; - case setCtorString: return setTag; - case weakMapCtorString: return weakMapTag; - } - } - return result; - }; - } - - /** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ - function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; - } - - /** - * Extracts wrapper details from the `source` body comment. - * - * @private - * @param {string} source The source to inspect. - * @returns {Array} Returns the wrapper details. - */ - function getWrapDetails(source) { - var match = source.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; - } - - /** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ - function hasPath(object, path, hasFunc) { - path = castPath(path, object); - - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); - } - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = new array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; - } - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return new Ctor; - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return new Ctor; - - case symbolTag: - return cloneSymbol(object); - } - } - - /** - * Inserts wrapper `details` in a comment at the top of the `source` body. - * - * @private - * @param {string} source The source to modify. - * @returns {Array} details The details to insert. - * @returns {string} Returns the modified source. - */ - function insertWrapDetails(source, details) { - var length = details.length; - if (!length) { - return source; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; - details = details.join(length > 2 ? ', ' : ' '); - return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); - } - - /** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - function isFlattenable(value) { - return isArray(value) || isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - - return !!length && - (type == 'number' || - (type != 'symbol' && reIsUint.test(value))) && - (value > -1 && value % 1 == 0 && value < length); - } - - /** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; - } - - /** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); - } - - /** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ - function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); - } - - /** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, - * else `false`. - */ - function isLaziable(func) { - var funcName = getFuncName(func), - other = lodash[funcName]; - - if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - - /** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ - function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); - } - - /** - * Checks if `func` is capable of being masked. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `func` is maskable, else `false`. - */ - var isMaskable = coreJsData ? isFunction : stubFalse; - - /** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ - function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; - } - - /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - function isStrictComparable(value) { - return value === value && !isObject(value); - } - - /** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && - (srcValue !== undefined || (key in Object(object))); - }; - } - - /** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; - } - - /** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers used to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and - * `_.rearg` modify function arguments, making the order in which they are - * executed important, preventing the merging of metadata. However, we make - * an exception for a safe combined case where curried functions have `_.ary` - * and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ - function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - - var isCombo = - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || - ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = value; - } - // Use source `ary` if it's smaller. - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; - } - - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return apply(func, this, otherArgs); - }; - } - - /** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ - function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); - } - - /** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ - function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = copyArray(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; - } - - /** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity - * function to avoid garbage collection pauses in V8. See - * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var setData = shortOut(baseSetData); - - /** - * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @returns {number|Object} Returns the timer id or timeout object. - */ - var setTimeout = ctxSetTimeout || function(func, wait) { - return root.setTimeout(func, wait); - }; - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = shortOut(baseSetToString); - - /** - * Sets the `toString` method of `wrapper` to mimic the source of `reference` - * with wrapper details in a comment at the top of the source body. - * - * @private - * @param {Function} wrapper The function to modify. - * @param {Function} reference The reference function. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Function} Returns `wrapper`. - */ - function setWrapToString(wrapper, reference, bitmask) { - var source = (reference + ''); - return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); - } - - /** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; - } - - /** - * A specialized version of `_.shuffle` which mutates and sets the size of `array`. - * - * @private - * @param {Array} array The array to shuffle. - * @param {number} [size=array.length] The size of `array`. - * @returns {Array} Returns `array`. - */ - function shuffleSelf(array, size) { - var index = -1, - length = array.length, - lastIndex = length - 1; - - size = size === undefined ? length : size; - while (++index < size) { - var rand = baseRandom(index, lastIndex), - value = array[rand]; - - array[rand] = array[index]; - array[index] = value; - } - array.length = size; - return array; - } - - /** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - var stringToPath = memoizeCapped(function(string) { - var result = []; - if (string.charCodeAt(0) === 46 /* . */) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; - }); - - /** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ - function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; - } - - /** - * Updates wrapper `details` based on `bitmask` flags. - * - * @private - * @returns {Array} details The details to modify. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Array} Returns `details`. - */ - function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = '_.' + pair[0]; - if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); - } - - /** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ - function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result.__actions__ = copyArray(wrapper.__actions__); - result.__index__ = wrapper.__index__; - result.__values__ = wrapper.__values__; - return result; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements split into groups the length of `size`. - * If `array` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; - } - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); - } - - /** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ - var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `iteratee` which - * is invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * **Note:** Unlike `_.pullAllBy`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2] - * - * // The `_.property` iteratee shorthand. - * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var differenceBy = baseRest(function(array, values) { - var iteratee = last(values); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `comparator` - * which is invoked to compare elements of `array` to `values`. The order and - * references of result values are determined by the first array. The comparator - * is invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.pullAllWith`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ - var differenceWith = baseRest(function(array, values) { - var comparator = last(values); - if (isArrayLikeObject(comparator)) { - comparator = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) - : []; - }); - - /** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.dropRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney'] - * - * // The `_.matches` iteratee shorthand. - * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropRightWhile(users, ['active', false]); - * // => objects for ['barney'] - * - * // The `_.property` iteratee shorthand. - * _.dropRightWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true, true) - : []; - } - - /** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.dropWhile(users, function(o) { return !o.active; }); - * // => objects for ['pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.dropWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropWhile(users, ['active', false]); - * // => objects for ['pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.dropWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true) - : []; - } - - /** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8, 10], '*', 1, 3); - * // => [4, '*', '*', 10] - */ - function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, getIteratee(predicate, 3), index); - } - - /** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); - * // => 2 - * - * // The `_.matches` iteratee shorthand. - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastIndex(users, ['active', false]); - * // => 2 - * - * // The `_.property` iteratee shorthand. - * _.findLastIndex(users, 'active'); - * // => 0 - */ - function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = fromIndex < 0 - ? nativeMax(length + index, 0) - : nativeMin(index, length - 1); - } - return baseFindIndex(array, getIteratee(predicate, 3), index, true); - } - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - /** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - - /** - * Recursively flatten `array` up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Array - * @param {Array} array The array to flatten. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * var array = [1, [2, [3, [4]], 5]]; - * - * _.flattenDepth(array, 1); - * // => [1, 2, [3, [4]], 5] - * - * _.flattenDepth(array, 2); - * // => [1, 2, 3, [4], 5] - */ - function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(array, depth); - } - - /** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ - function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - return result; - } - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ - function head(array) { - return (array && array.length) ? array[0] : undefined; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); - } - - /** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ - function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; - } - - /** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ - var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [2.1] - * - * // The `_.property` iteratee shorthand. - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ - var intersectionBy = baseRest(function(arrays) { - var iteratee = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - if (iteratee === last(mapped)) { - iteratee = undefined; - } else { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `comparator` - * which is invoked to compare elements of `arrays`. The order and references - * of result values are determined by the first array. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ - var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - comparator = typeof comparator == 'function' ? comparator : undefined; - if (comparator) { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, undefined, comparator) - : []; - }); - - /** - * Converts all elements in `array` into a string separated by `separator`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to convert. - * @param {string} [separator=','] The element separator. - * @returns {string} Returns the joined string. - * @example - * - * _.join(['a', 'b', 'c'], '~'); - * // => 'a~b~c' - */ - function join(array, separator) { - return array == null ? '' : nativeJoin.call(array, separator); - } - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - /** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // Search from the `fromIndex`. - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - */ - function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value - ? strictLastIndexOf(array, value, index) - : baseFindIndex(array, baseIsNaN, index, true); - } - - /** - * Gets the element at index `n` of `array`. If `n` is negative, the nth - * element from the end is returned. - * - * @static - * @memberOf _ - * @since 4.11.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=0] The index of the element to return. - * @returns {*} Returns the nth element of `array`. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * - * _.nth(array, 1); - * // => 'b' - * - * _.nth(array, -2); - * // => 'c'; - */ - function nth(array, n) { - return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; - } - - /** - * Removes all given values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` - * to remove elements from an array by predicate. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pull(array, 'a', 'c'); - * console.log(array); - * // => ['b', 'b'] - */ - var pull = baseRest(pullAll); - - /** - * This method is like `_.pull` except that it accepts an array of values to remove. - * - * **Note:** Unlike `_.difference`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pullAll(array, ['a', 'c']); - * console.log(array); - * // => ['b', 'b'] - */ - function pullAll(array, values) { - return (array && array.length && values && values.length) - ? basePullAll(array, values) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `iteratee` which is - * invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The iteratee is invoked with one argument: (value). - * - * **Note:** Unlike `_.differenceBy`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; - * - * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); - * console.log(array); - * // => [{ 'x': 2 }] - */ - function pullAllBy(array, values, iteratee) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, getIteratee(iteratee, 2)) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `comparator` which - * is invoked to compare elements of `array` to `values`. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.differenceWith`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; - * - * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); - * console.log(array); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] - */ - function pullAllWith(array, values, comparator) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, undefined, comparator) - : array; - } - - /** - * Removes elements from `array` corresponding to `indexes` and returns an - * array of removed elements. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * var pulled = _.pullAt(array, [1, 3]); - * - * console.log(array); - * // => ['a', 'c'] - * - * console.log(pulled); - * // => ['b', 'd'] - */ - var pullAt = flatRest(function(array, indexes) { - var length = array == null ? 0 : array.length, - result = baseAt(array, indexes); - - basePullAt(array, arrayMap(indexes, function(index) { - return isIndex(index, length) ? +index : index; - }).sort(compareAscending)); - - return result; - }); - - /** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is invoked - * with three arguments: (value, index, array). - * - * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` - * to pull elements from an array by value. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ - function remove(array, predicate) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = getIteratee(predicate, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; - } - - /** - * Reverses `array` so that the first element becomes the last, the second - * element becomes the second to last, and so on. - * - * **Note:** This method mutates `array` and is based on - * [`Array#reverse`](https://mdn.io/Array/reverse). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.reverse(array); - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function reverse(array) { - return array == null ? array : nativeReverse.call(array); - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of - * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are - * returned. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } - else { - start = start == null ? 0 : toInteger(start); - end = end === undefined ? length : toInteger(end); - } - return baseSlice(array, start, end); - } - - /** - * Uses a binary search to determine the lowest index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - */ - function sortedIndex(array, value) { - return baseSortedIndex(array, value); - } - - /** - * This method is like `_.sortedIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); - * // => 0 - */ - function sortedIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); - } - - /** - * This method is like `_.indexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedIndexOf([4, 5, 5, 5, 6], 5); - * // => 1 - */ - function sortedIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value); - if (index < length && eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 5, 5, 5, 6], 5); - * // => 4 - */ - function sortedLastIndex(array, value) { - return baseSortedIndex(array, value, true); - } - - /** - * This method is like `_.sortedLastIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 1 - * - * // The `_.property` iteratee shorthand. - * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); - * // => 1 - */ - function sortedLastIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); - } - - /** - * This method is like `_.lastIndexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); - * // => 3 - */ - function sortedLastIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value, true) - 1; - if (eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.uniq` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniq([1, 1, 2]); - * // => [1, 2] - */ - function sortedUniq(array) { - return (array && array.length) - ? baseSortedUniq(array) - : []; - } - - /** - * This method is like `_.uniqBy` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); - * // => [1.1, 2.3] - */ - function sortedUniqBy(array, iteratee) { - return (array && array.length) - ? baseSortedUniq(array, getIteratee(iteratee, 2)) - : []; - } - - /** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.tail([1, 2, 3]); - * // => [2, 3] - */ - function tail(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 1, length) : []; - } - - /** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ - function take(array, n, guard) { - if (!(array && array.length)) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ - function takeRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.takeRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeRightWhile(users, ['active', false]); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.takeRightWhile(users, 'active'); - * // => [] - */ - function takeRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), false, true) - : []; - } - - /** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.takeWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matches` iteratee shorthand. - * _.takeWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeWhile(users, ['active', false]); - * // => objects for ['barney', 'fred'] - * - * // The `_.property` iteratee shorthand. - * _.takeWhile(users, 'active'); - * // => [] - */ - function takeWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3)) - : []; - } - - /** - * Creates an array of unique values, in order, from all given arrays using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([2], [1, 2]); - * // => [2, 1] - */ - var union = baseRest(function(arrays) { - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); - }); - - /** - * This method is like `_.union` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which uniqueness is computed. Result values are chosen from the first - * array in which the value occurs. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.unionBy([2.1], [1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - var unionBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.union` except that it accepts `comparator` which - * is invoked to compare elements of `arrays`. Result values are chosen from - * the first array in which the value occurs. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.unionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var unionWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurrence of each element - * is kept. The order of result values is determined by the order they occur - * in the array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - */ - function uniq(array) { - return (array && array.length) ? baseUniq(array) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * uniqueness is computed. The order of result values is determined by the - * order they occur in the array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniqBy([2.1, 1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniqBy(array, iteratee) { - return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `comparator` which - * is invoked to compare elements of `array`. The order of result values is - * determined by the order they occur in the array.The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.uniqWith(objects, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] - */ - function uniqWith(array, comparator) { - comparator = typeof comparator == 'function' ? comparator : undefined; - return (array && array.length) ? baseUniq(array, undefined, comparator) : []; - } - - /** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @since 1.2.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - * - * _.unzip(zipped); - * // => [['a', 'b'], [1, 2], [true, false]] - */ - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var length = 0; - array = arrayFilter(array, function(group) { - if (isArrayLikeObject(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - return baseTimes(length, function(index) { - return arrayMap(array, baseProperty(index)); - }); - } - - /** - * This method is like `_.unzip` except that it accepts `iteratee` to specify - * how regrouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee=_.identity] The function to combine - * regrouped values. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ - function unzipWith(array, iteratee) { - if (!(array && array.length)) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - return arrayMap(result, function(group) { - return apply(iteratee, undefined, group); - }); - } - - /** - * Creates an array excluding all given values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.pull`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.xor - * @example - * - * _.without([2, 1, 2, 3], 1, 2); - * // => [3] - */ - var without = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, values) - : []; - }); - - /** - * Creates an array of unique values that is the - * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the given arrays. The order of result values is determined by the order - * they occur in the arrays. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.without - * @example - * - * _.xor([2, 1], [2, 3]); - * // => [1, 3] - */ - var xor = baseRest(function(arrays) { - return baseXor(arrayFilter(arrays, isArrayLikeObject)); - }); - - /** - * This method is like `_.xor` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which by which they're compared. The order of result values is determined - * by the order they occur in the arrays. The iteratee is invoked with one - * argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2, 3.4] - * - * // The `_.property` iteratee shorthand. - * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var xorBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.xor` except that it accepts `comparator` which is - * invoked to compare elements of `arrays`. The order of result values is - * determined by the order they occur in the arrays. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.xorWith(objects, others, _.isEqual); - * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var xorWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); - }); - - /** - * Creates an array of grouped elements, the first of which contains the - * first elements of the given arrays, the second of which contains the - * second elements of the given arrays, and so on. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - */ - var zip = baseRest(unzip); - - /** - * This method is like `_.fromPairs` except that it accepts two arrays, - * one of property identifiers and one of corresponding values. - * - * @static - * @memberOf _ - * @since 0.4.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject(['a', 'b'], [1, 2]); - * // => { 'a': 1, 'b': 2 } - */ - function zipObject(props, values) { - return baseZipObject(props || [], values || [], assignValue); - } - - /** - * This method is like `_.zipObject` except that it supports property paths. - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); - * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } - */ - function zipObjectDeep(props, values) { - return baseZipObject(props || [], values || [], baseSet); - } - - /** - * This method is like `_.zip` except that it accepts `iteratee` to specify - * how grouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee=_.identity] The function to combine - * grouped values. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { - * return a + b + c; - * }); - * // => [111, 222] - */ - var zipWith = baseRest(function(arrays) { - var length = arrays.length, - iteratee = length > 1 ? arrays[length - 1] : undefined; - - iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; - return unzipWith(arrays, iteratee); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor - * is invoked with one argument; (value). The purpose of this method is to - * "tap into" a method chain sequence in order to modify intermediate results. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * // Mutate input array. - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor) { - interceptor(value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * The purpose of this method is to "pass thru" values replacing intermediate - * results in a method chain sequence. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor) { - return interceptor(value); - } - - /** - * This method is the wrapper version of `_.at`. - * - * @name at - * @memberOf _ - * @since 1.0.0 - * @category Seq - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _(object).at(['a[0].b.c', 'a[1]']).value(); - * // => [3, 4] - */ - var wrapperAt = flatRest(function(paths) { - var length = paths.length, - start = length ? paths[0] : 0, - value = this.__wrapped__, - interceptor = function(object) { return baseAt(object, paths); }; - - if (length > 1 || this.__actions__.length || - !(value instanceof LazyWrapper) || !isIndex(start)) { - return this.thru(interceptor); - } - value = value.slice(start, +start + (length ? 1 : 0)); - value.__actions__.push({ - 'func': thru, - 'args': [interceptor], - 'thisArg': undefined - }); - return new LodashWrapper(value, this.__chain__).thru(function(array) { - if (length && !array.length) { - array.push(undefined); - } - return array; - }); - }); - - /** - * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. - * - * @name chain - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // A sequence without explicit chaining. - * _(users).head(); - * // => { 'user': 'barney', 'age': 36 } - * - * // A sequence with explicit chaining. - * _(users) - * .chain() - * .head() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chain sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - - /** - * Gets the next value on a wrapped object following the - * [iterator protocol](https://mdn.io/iteration_protocols#iterator). - * - * @name next - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the next iterator value. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped.next(); - * // => { 'done': false, 'value': 1 } - * - * wrapped.next(); - * // => { 'done': false, 'value': 2 } - * - * wrapped.next(); - * // => { 'done': true, 'value': undefined } - */ - function wrapperNext() { - if (this.__values__ === undefined) { - this.__values__ = toArray(this.value()); - } - var done = this.__index__ >= this.__values__.length, - value = done ? undefined : this.__values__[this.__index__++]; - - return { 'done': done, 'value': value }; - } - - /** - * Enables the wrapper to be iterable. - * - * @name Symbol.iterator - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the wrapper object. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped[Symbol.iterator]() === wrapped; - * // => true - * - * Array.from(wrapped); - * // => [1, 2] - */ - function wrapperToIterator() { - return this; - } - - /** - * Creates a clone of the chain sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @param {*} value The value to plant. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2]).map(square); - * var other = wrapped.plant([3, 4]); - * - * other.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ - function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - clone.__index__ = 0; - clone.__values__ = undefined; - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; - } - - /** - * This method is the wrapper version of `_.reverse`. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function wrapperReverse() { - var value = this.__wrapped__; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ - 'func': thru, - 'args': [reverse], - 'thisArg': undefined - }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(reverse); - } - - /** - * Executes the chain sequence to resolve the unwrapped value. - * - * @name value - * @memberOf _ - * @since 0.1.0 - * @alias toJSON, valueOf - * @category Seq - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the number of times the key was returned by `iteratee`. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': 1, '6': 2 } - * - * // The `_.property` iteratee shorthand. - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - var countBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - ++result[key]; - } else { - baseAssignValue(result, key, 1); - } - }); - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - */ - function filter(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ - var find = createFind(findIndex); - - /** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=collection.length-1] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ - var findLast = createFind(findLastIndex); - - /** - * Creates a flattened array of values by running each element in `collection` - * thru `iteratee` and flattening the mapped results. The iteratee is invoked - * with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [n, n]; - * } - * - * _.flatMap([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMap(collection, iteratee) { - return baseFlatten(map(collection, iteratee), 1); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMapDeep(collection, iteratee) { - return baseFlatten(map(collection, iteratee), INFINITY); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ - function flatMapDepth(collection, iteratee, depth) { - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee), depth); - } - - /** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @alias eachRight - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEach - * @example - * - * _.forEachRight([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `2` then `1`. - */ - function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } - }); - - /** - * Checks if `value` is in `collection`. If `collection` is a string, it's - * checked for a substring of `value`, otherwise - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * is used for equality comparisons. If `fromIndex` is negative, it's used as - * the offset from the end of `collection`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {boolean} Returns `true` if `value` is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); - } - - /** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `path` is a function, it's invoked - * for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke each method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invokeMap([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - var invokeMap = baseRest(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); - }); - return result; - }); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the last element responsible for generating the key. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var array = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.keyBy(array, function(o) { - * return String.fromCharCode(o.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.keyBy(array, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - */ - var keyBy = createAggregator(function(result, value, key) { - baseAssignValue(result, key, value); - }); - - /** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee) { - var func = isArray(collection) ? arrayMap : baseMap; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.sortBy` except that it allows specifying the sort - * orders of the iteratees to sort by. If `orders` is unspecified, all values - * are sorted in ascending order. Otherwise, specify an order of "desc" for - * descending or "asc" for ascending sort order of corresponding values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] - * The iteratees to sort by. - * @param {string[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // Sort by `user` in ascending order and by `age` in descending order. - * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - */ - function orderBy(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - orders = guard ? undefined : orders; - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseOrderBy(collection, iteratees, orders); - } - - /** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, the second of which - * contains elements `predicate` returns falsey for. The predicate is - * invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * _.partition(users, function(o) { return o.active; }); - * // => objects for [['fred'], ['barney', 'pebbles']] - * - * // The `_.matches` iteratee shorthand. - * _.partition(users, { 'age': 1, 'active': false }); - * // => objects for [['pebbles'], ['barney', 'fred']] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.partition(users, ['active', false]); - * // => objects for [['barney', 'pebbles'], ['fred']] - * - * // The `_.property` iteratee shorthand. - * _.partition(users, 'active'); - * // => objects for [['fred'], ['barney', 'pebbles']] - */ - var partition = createAggregator(function(result, value, key) { - result[key ? 0 : 1].push(value); - }, function() { return [[], []]; }); - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduce : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); - } - - /** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduce - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - function reduceRight(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduceRight : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); - } - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.filter - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * _.reject(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.reject(users, { 'age': 40, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.reject(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.reject(users, 'active'); - * // => objects for ['barney'] - */ - function reject(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, negate(getIteratee(predicate, 3))); - } - - /** - * Gets a random element from `collection`. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - */ - function sample(collection) { - var func = isArray(collection) ? arraySample : baseSample; - return func(collection); - } - - /** - * Gets `n` random elements at unique keys from `collection` up to the - * size of `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @param {number} [n=1] The number of elements to sample. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the random elements. - * @example - * - * _.sampleSize([1, 2, 3], 2); - * // => [3, 1] - * - * _.sampleSize([1, 2, 3], 4); - * // => [2, 3, 1] - */ - function sampleSize(collection, n, guard) { - if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - var func = isArray(collection) ? arraySampleSize : baseSampleSize; - return func(collection, n); - } - - /** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ - function shuffle(collection) { - var func = isArray(collection) ? arrayShuffle : baseShuffle; - return func(collection); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - if (collection == null) { - return 0; - } - if (isArrayLike(collection)) { - return isString(collection) ? stringSize(collection) : collection.length; - } - var tag = getTag(collection); - if (tag == mapTag || tag == setTag) { - return collection.size; - } - return baseKeys(collection).length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - var func = isArray(collection) ? arraySome : baseSome; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]] - */ - var sortBy = baseRest(function(collection, iteratees) { - if (collection == null) { - return []; - } - var length = iteratees.length; - if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { - iteratees = []; - } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees = [iteratees[0]]; - } - return baseOrderBy(collection, baseFlatten(iteratees, 1), []); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - var now = ctxNow || function() { - return root.Date.now(); - }; - - /*------------------------------------------------------------------------*/ - - /** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => Logs 'done saving!' after the two async saves have completed. - */ - function after(n, func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that invokes `func`, with up to `n` arguments, - * ignoring any additional arguments. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ - function ary(func, n, guard) { - n = guard ? undefined : n; - n = (func && n == null) ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); - } - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); - }); - - /** - * Creates a function that invokes the method at `object[key]` with `partials` - * prepended to the arguments it receives. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. See - * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Function - * @param {Object} object The object to invoke the method on. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // Bound with placeholders. - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ - var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); - }); - - /** - * Creates a function that accepts arguments of `func` and either invokes - * `func` returning its result, if at least `arity` number of arguments have - * been provided, or returns a function that accepts the remaining `func` - * arguments, and so on. The arity of `func` may be specified if `func.length` - * is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ - function curry(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curry.placeholder; - return result; - } - - /** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ - function curryRight(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryRight.placeholder; - return result; - } - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ - var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ - var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); - }); - - /** - * Creates a function that invokes `func` with arguments reversed. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ - function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); - } - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ - function memoize(func, resolver) { - if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache); - return memoized; - } - - // Expose `MapCache`. - memoize.Cache = MapCache; - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - var args = arguments; - switch (args.length) { - case 0: return !predicate.call(this); - case 1: return !predicate.call(this, args[0]); - case 2: return !predicate.call(this, args[0], args[1]); - case 3: return !predicate.call(this, args[0], args[1], args[2]); - } - return !predicate.apply(this, args); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first invocation. The `func` is - * invoked with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // => `createApplication` is invoked once - */ - function once(func) { - return before(2, func); - } - - /** - * Creates a function that invokes `func` with its arguments transformed. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms=[_.identity]] - * The argument transforms. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var func = _.overArgs(function(x, y) { - * return [x, y]; - * }, [square, doubled]); - * - * func(9, 3); - * // => [81, 6] - * - * func(10, 5); - * // => [100, 10] - */ - var overArgs = castRest(function(func, transforms) { - transforms = (transforms.length == 1 && isArray(transforms[0])) - ? arrayMap(transforms[0], baseUnary(getIteratee())) - : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); - - var funcsLength = transforms.length; - return baseRest(function(args) { - var index = -1, - length = nativeMin(args.length, funcsLength); - - while (++index < length) { - args[index] = transforms[index].call(this, args[index]); - } - return apply(func, this, args); - }); - }); - - /** - * Creates a function that invokes `func` with `partials` prepended to the - * arguments it receives. This method is like `_.bind` except it does **not** - * alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 0.2.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // Partially applied with placeholders. - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ - var partial = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partial)); - return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); - }); - - /** - * This method is like `_.partial` except that partially applied arguments - * are appended to the arguments it receives. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // Partially applied with placeholders. - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ - var partialRight = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partialRight)); - return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); - }); - - /** - * Creates a function that invokes `func` with arguments arranged according - * to the specified `indexes` where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, [2, 0, 1]); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - */ - var rearg = flatRest(function(func, indexes) { - return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); - }); - - /** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as - * an array. - * - * **Note:** This method is based on the - * [rest parameter](https://mdn.io/rest_parameters). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.rest(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ - function rest(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start === undefined ? start : toInteger(start); - return baseRest(func, start); - } - - /** - * Creates a function that invokes `func` with the `this` binding of the - * create function and an array of arguments much like - * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). - * - * **Note:** This method is based on the - * [spread operator](https://mdn.io/spread_operator). - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Function - * @param {Function} func The function to spread arguments over. - * @param {number} [start=0] The start position of the spread. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ - function spread(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start == null ? 0 : nativeMax(toInteger(start), 0); - return baseRest(function(args) { - var array = args[start], - otherArgs = castSlice(args, 0, start); - - if (array) { - arrayPush(otherArgs, array); - } - return apply(func, this, otherArgs); - }); - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` to indicate whether `func` - * should be invoked on the leading and/or trailing edge of the `wait` - * timeout. The `func` is invoked with the last arguments provided to the - * throttled function. Subsequent calls to the throttled function return the - * result of the last `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the throttled function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=true] - * Specify invoking on the leading edge of the timeout. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // Avoid excessively updating the position while scrolling. - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); - } - - /** - * Creates a function that accepts up to one argument, ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.unary(parseInt)); - * // => [6, 8, 10] - */ - function unary(func) { - return ary(func, 1); - } - - /** - * Creates a function that provides `value` to `wrapper` as its first - * argument. Any additional arguments provided to the function are appended - * to those provided to the `wrapper`. The wrapper is invoked with the `this` - * binding of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {*} value The value to wrap. - * @param {Function} [wrapper=identity] The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

' + func(text) + '

'; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

fred, barney, & pebbles

' - */ - function wrap(value, wrapper) { - return partial(castFunction(wrapper), value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Casts `value` as an array if it's not one. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Lang - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast array. - * @example - * - * _.castArray(1); - * // => [1] - * - * _.castArray({ 'a': 1 }); - * // => [{ 'a': 1 }] - * - * _.castArray('abc'); - * // => ['abc'] - * - * _.castArray(null); - * // => [null] - * - * _.castArray(undefined); - * // => [undefined] - * - * _.castArray(); - * // => [] - * - * var array = [1, 2, 3]; - * console.log(_.castArray(array) === array); - * // => true - */ - function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray(value) ? value : [value]; - } - - /** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ - function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.clone` except that it accepts `customizer` which - * is invoked to produce the cloned value. If `customizer` returns `undefined`, - * cloning is handled by the method instead. The `customizer` is invoked with - * up to four arguments; (value [, index|key, object, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the cloned value. - * @see _.cloneDeepWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * } - * - * var el = _.cloneWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 0 - */ - function cloneWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ - function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ - function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * Checks if `object` conforms to `source` by invoking the predicate - * properties of `source` with the corresponding property values of `object`. - * - * **Note:** This method is equivalent to `_.conforms` when `source` is - * partially applied. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); - * // => true - * - * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); - * // => false - */ - function conformsTo(object, source) { - return source == null || baseConformsTo(object, source, keys(source)); - } - - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { - return value === other || (value !== value && other !== other); - } - - /** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - * @see _.lt - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ - var gt = createRelationalOperation(baseGt); - - /** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to - * `other`, else `false`. - * @see _.lte - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ - var gte = createRelationalOperation(function(value, other) { - return value >= other; - }); - - /** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; - - /** - * Checks if `value` is classified as an `ArrayBuffer` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - * @example - * - * _.isArrayBuffer(new ArrayBuffer(2)); - * // => true - * - * _.isArrayBuffer(new Array(2)); - * // => false - */ - var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); - } - - /** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ - var isBuffer = nativeIsBuffer || stubFalse; - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - - /** - * Checks if `value` is likely a DOM element. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ - function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); - } - - /** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty.call(value, key)) { - return false; - } - } - return true; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /** - * This method is like `_.isEqual` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with up to - * six arguments: (objValue, othValue [, index|key, object, other, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ - function isEqualWith(value, other, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; - } - - /** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ - function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || - (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - - /** - * Checks if `value` is an integer. - * - * **Note:** This method is based on - * [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ - function isInteger(value) { - return typeof value == 'number' && value == toInteger(value); - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; - } - - /** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */ - var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - - /** - * Performs a partial deep comparison between `object` and `source` to - * determine if `object` contains equivalent property values. - * - * **Note:** This method is equivalent to `_.matches` when `source` is - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.isMatch(object, { 'b': 2 }); - * // => true - * - * _.isMatch(object, { 'b': 1 }); - * // => false - */ - function isMatch(object, source) { - return object === source || baseIsMatch(object, source, getMatchData(source)); - } - - /** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with five - * arguments: (objValue, srcValue, index|key, object, source). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ - function isMatchWith(object, source, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseIsMatch(object, source, getMatchData(source), customizer); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is a pristine native function. - * - * **Note:** This method can't reliably detect native functions in the presence - * of the core-js package because core-js circumvents this kind of detection. - * Despite multiple requests, the core-js maintainer has made it clear: any - * attempt to fix the detection will be obstructed. As a result, we're left - * with little choice but to throw an error. Unfortunately, this also affects - * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), - * which rely on core-js. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ - function isNative(value) { - if (isMaskable(value)) { - throw new Error(CORE_ERROR_TEXT); - } - return baseIsNative(value); - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is `null` or `undefined`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ - function isNil(value) { - return value == null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); - } - - /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ - function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - - /** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on - * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ - function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */ - var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); - } - - /** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Checks if `value` is classified as a `WeakMap` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. - * @example - * - * _.isWeakMap(new WeakMap); - * // => true - * - * _.isWeakMap(new Map); - * // => false - */ - function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; - } - - /** - * Checks if `value` is classified as a `WeakSet` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. - * @example - * - * _.isWeakSet(new WeakSet); - * // => true - * - * _.isWeakSet(new Set); - * // => false - */ - function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; - } - - /** - * Checks if `value` is less than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - * @see _.gt - * @example - * - * _.lt(1, 3); - * // => true - * - * _.lt(3, 3); - * // => false - * - * _.lt(3, 1); - * // => false - */ - var lt = createRelationalOperation(baseLt); - - /** - * Checks if `value` is less than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than or equal to - * `other`, else `false`. - * @see _.gte - * @example - * - * _.lte(1, 3); - * // => true - * - * _.lte(3, 3); - * // => true - * - * _.lte(3, 1); - * // => false - */ - var lte = createRelationalOperation(function(value, other) { - return value <= other; - }); - - /** - * Converts `value` to an array. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * _.toArray({ 'a': 1, 'b': 2 }); - * // => [1, 2] - * - * _.toArray('abc'); - * // => ['a', 'b', 'c'] - * - * _.toArray(1); - * // => [] - * - * _.toArray(null); - * // => [] - */ - function toArray(value) { - if (!value) { - return []; - } - if (isArrayLike(value)) { - return isString(value) ? stringToArray(value) : copyArray(value); - } - if (symIterator && value[symIterator]) { - return iteratorToArray(value[symIterator]()); - } - var tag = getTag(value), - func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); - - return func(value); - } - - /** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = (value < 0 ? -1 : 1); - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - - /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ - function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; - - return result === result ? (remainder ? result - remainder : result) : 0; - } - - /** - * Converts `value` to an integer suitable for use as the length of an - * array-like object. - * - * **Note:** This method is based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toLength(3.2); - * // => 3 - * - * _.toLength(Number.MIN_VALUE); - * // => 0 - * - * _.toLength(Infinity); - * // => 4294967295 - * - * _.toLength('3.2'); - * // => 3 - */ - function toLength(value) { - return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; - } - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); - } - - /** - * Converts `value` to a plain object flattening inherited enumerable string - * keyed properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ - function toPlainObject(value) { - return copyObject(value, keysIn(value)); - } - - /** - * Converts `value` to a safe integer. A safe integer can be compared and - * represented correctly. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toSafeInteger(3.2); - * // => 3 - * - * _.toSafeInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toSafeInteger(Infinity); - * // => 9007199254740991 - * - * _.toSafeInteger('3.2'); - * // => 3 - */ - function toSafeInteger(value) { - return value - ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) - : (value === 0 ? value : 0); - } - - /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - function toString(value) { - return value == null ? '' : baseToString(value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - assignValue(object, key, source[key]); - } - } - }); - - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ - var assignIn = createAssigner(function(object, source) { - copyObject(source, keysIn(source), object); - }); - - /** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); - }); - - /** - * This method is like `_.assign` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignInWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keys(source), object, customizer); - }); - - /** - * Creates an array of values corresponding to `paths` of `object`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Array} Returns the picked values. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _.at(object, ['a[0].b.c', 'a[1]']); - * // => [3, 4] - */ - var at = flatRest(baseAt); - - /** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : baseAssign(result, properties); - } - - /** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var defaults = baseRest(function(object, sources) { - object = Object(object); - - var index = -1; - var length = sources.length; - var guard = length > 2 ? sources[2] : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - length = 1; - } - - while (++index < length) { - var source = sources[index]; - var props = keysIn(source); - var propsIndex = -1; - var propsLength = props.length; - - while (++propsIndex < propsLength) { - var key = props[propsIndex]; - var value = object[key]; - - if (value === undefined || - (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { - object[key] = source[key]; - } - } - } - - return object; - }); - - /** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaults - * @example - * - * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); - * // => { 'a': { 'b': 2, 'c': 3 } } - */ - var defaultsDeep = baseRest(function(args) { - args.push(undefined, customDefaultsMerge); - return apply(mergeWith, undefined, args); - }); - - /** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(o) { return o.age < 40; }); - * // => 'barney' (iteration order is not guaranteed) - * - * // The `_.matches` iteratee shorthand. - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findKey(users, 'active'); - * // => 'barney' - */ - function findKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); - } - - /** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(o) { return o.age < 40; }); - * // => returns 'pebbles' assuming `_.findKey` returns 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ - function findLastKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); - } - - /** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */ - function forIn(object, iteratee) { - return object == null - ? object - : baseFor(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forIn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. - */ - function forInRight(object, iteratee) { - return object == null - ? object - : baseForRight(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * Iterates over own enumerable string keyed properties of an object and - * invokes `iteratee` for each property. The iteratee is invoked with three - * arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forOwn(object, iteratee) { - return object && baseForOwn(object, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. - */ - function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, getIteratee(iteratee, 3)); - } - - /** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functionsIn - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ - function functions(object) { - return object == null ? [] : baseFunctions(object, keys(object)); - } - - /** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functions - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ - function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); - } - - /** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; - } - - /** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - function has(object, path) { - return object != null && hasPath(object, path, baseHas); - } - - /** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); - } - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ - var invert = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - result[value] = key; - }, constant(identity)); - - /** - * This method is like `_.invert` except that the inverted object is generated - * from the results of running each element of `object` thru `iteratee`. The - * corresponding inverted value of each inverted key is an array of keys - * responsible for generating the inverted value. The iteratee is invoked - * with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Object - * @param {Object} object The object to invert. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invertBy(object); - * // => { '1': ['a', 'c'], '2': ['b'] } - * - * _.invertBy(object, function(value) { - * return 'group' + value; - * }); - * // => { 'group1': ['a', 'c'], 'group2': ['b'] } - */ - var invertBy = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - }, getIteratee); - - /** - * Invokes the method at `path` of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - * @example - * - * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; - * - * _.invoke(object, 'a[0].b.c.slice', 1, 3); - * // => [2, 3] - */ - var invoke = baseRest(baseInvoke); - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); - } - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); - } - - /** - * The opposite of `_.mapValues`; this method creates an object with the - * same values as `object` and keys generated by running each own enumerable - * string keyed property of `object` thru `iteratee`. The iteratee is invoked - * with three arguments: (value, key, object). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapValues - * @example - * - * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { - * return key + value; - * }); - * // => { 'a1': 1, 'b2': 2 } - */ - function mapKeys(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, iteratee(value, key, object), value); - }); - return result; - } - - /** - * Creates an object with the same keys as `object` and values generated - * by running each own enumerable string keyed property of `object` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, key, object). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapKeys - * @example - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * _.mapValues(users, function(o) { return o.age; }); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - * - * // The `_.property` iteratee shorthand. - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - function mapValues(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, key, iteratee(value, key, object)); - }); - return result; - } - - /** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable string keyed properties of source objects into the - * destination object. Source properties that resolve to `undefined` are - * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by - * assignment. Source objects are applied from left to right. Subsequent - * sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var object = { - * 'a': [{ 'b': 2 }, { 'd': 4 }] - * }; - * - * var other = { - * 'a': [{ 'c': 3 }, { 'e': 5 }] - * }; - * - * _.merge(object, other); - * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } - */ - var merge = createAssigner(function(object, source, srcIndex) { - baseMerge(object, source, srcIndex); - }); - - /** - * This method is like `_.merge` except that it accepts `customizer` which - * is invoked to produce the merged values of the destination and source - * properties. If `customizer` returns `undefined`, merging is handled by the - * method instead. The `customizer` is invoked with six arguments: - * (objValue, srcValue, key, object, source, stack). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * if (_.isArray(objValue)) { - * return objValue.concat(srcValue); - * } - * } - * - * var object = { 'a': [1], 'b': [2] }; - * var other = { 'a': [3], 'b': [4] }; - * - * _.mergeWith(object, other, customizer); - * // => { 'a': [1, 3], 'b': [2, 4] } - */ - var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { - baseMerge(object, source, srcIndex, customizer); - }); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable property paths of `object` that are not omitted. - * - * **Note:** This method is considerably slower than `_.pick`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to omit. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omit(object, ['a', 'c']); - * // => { 'b': '2' } - */ - var omit = flatRest(function(object, paths) { - var result = {}; - if (object == null) { - return result; - } - var isDeep = false; - paths = arrayMap(paths, function(path) { - path = castPath(path, object); - isDeep || (isDeep = path.length > 1); - return path; - }); - copyObject(object, getAllKeysIn(object), result); - if (isDeep) { - result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); - } - var length = paths.length; - while (length--) { - baseUnset(result, paths[length]); - } - return result; - }); - - /** - * The opposite of `_.pickBy`; this method creates an object composed of - * the own and inherited enumerable string keyed properties of `object` that - * `predicate` doesn't return truthy for. The predicate is invoked with two - * arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omitBy(object, _.isNumber); - * // => { 'b': '2' } - */ - function omitBy(object, predicate) { - return pickBy(object, negate(getIteratee(predicate))); - } - - /** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - - /** - * Creates an object composed of the `object` properties `predicate` returns - * truthy for. The predicate is invoked with two arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pickBy(object, _.isNumber); - * // => { 'a': 1, 'c': 3 } - */ - function pickBy(object, predicate) { - if (object == null) { - return {}; - } - var props = arrayMap(getAllKeysIn(object), function(prop) { - return [prop]; - }); - predicate = getIteratee(predicate); - return basePickBy(object, props, function(value, path) { - return predicate(value, path[0]); - }); - } - - /** - * This method is like `_.get` except that if the resolved value is a - * function it's invoked with the `this` binding of its parent object and - * its result is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a[0].b.c3', 'default'); - * // => 'default' - * - * _.result(object, 'a[0].b.c3', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - path = castPath(path, object); - - var index = -1, - length = path.length; - - // Ensure the loop is entered when path is empty. - if (!length) { - length = 1; - object = undefined; - } - while (++index < length) { - var value = object == null ? undefined : object[toKey(path[index])]; - if (value === undefined) { - index = length; - value = defaultValue; - } - object = isFunction(value) ? value.call(object) : value; - } - return object; - } - - /** - * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, - * it's created. Arrays are created for missing index properties while objects - * are created for all other missing properties. Use `_.setWith` to customize - * `path` creation. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, ['x', '0', 'y', 'z'], 5); - * console.log(object.x[0].y.z); - * // => 5 - */ - function set(object, path, value) { - return object == null ? object : baseSet(object, path, value); - } - - /** - * This method is like `_.set` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.setWith(object, '[0][1]', 'a', Object); - * // => { '0': { '1': 'a' } } - */ - function setWith(object, path, value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseSet(object, path, value, customizer); - } - - /** - * Creates an array of own enumerable string keyed-value pairs for `object` - * which can be consumed by `_.fromPairs`. If `object` is a map or set, its - * entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entries - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairs(new Foo); - * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) - */ - var toPairs = createToPairs(keys); - - /** - * Creates an array of own and inherited enumerable string keyed-value pairs - * for `object` which can be consumed by `_.fromPairs`. If `object` is a map - * or set, its entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entriesIn - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairsIn(new Foo); - * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) - */ - var toPairsIn = createToPairs(keysIn); - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own - * enumerable string keyed properties thru `iteratee`, with each invocation - * potentially mutating the `accumulator` object. If `accumulator` is not - * provided, a new object with the same `[[Prototype]]` will be used. The - * iteratee is invoked with four arguments: (accumulator, value, key, object). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }, []); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function transform(object, iteratee, accumulator) { - var isArr = isArray(object), - isArrLike = isArr || isBuffer(object) || isTypedArray(object); - - iteratee = getIteratee(iteratee, 4); - if (accumulator == null) { - var Ctor = object && object.constructor; - if (isArrLike) { - accumulator = isArr ? new Ctor : []; - } - else if (isObject(object)) { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - else { - accumulator = {}; - } - } - (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /** - * Removes the property at `path` of `object`. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 7 } }] }; - * _.unset(object, 'a[0].b.c'); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - * - * _.unset(object, ['a', '0', 'b', 'c']); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - */ - function unset(object, path) { - return object == null ? true : baseUnset(object, path); - } - - /** - * This method is like `_.set` except that accepts `updater` to produce the - * value to set. Use `_.updateWith` to customize `path` creation. The `updater` - * is invoked with one argument: (value). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.update(object, 'a[0].b.c', function(n) { return n * n; }); - * console.log(object.a[0].b.c); - * // => 9 - * - * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); - * console.log(object.x[0].y.z); - * // => 0 - */ - function update(object, path, updater) { - return object == null ? object : baseUpdate(object, path, castFunction(updater)); - } - - /** - * This method is like `_.update` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.updateWith(object, '[0][1]', _.constant('a'), Object); - * // => { '0': { '1': 'a' } } - */ - function updateWith(object, path, updater, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); - } - - /** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return object == null ? [] : baseValues(object, keys(object)); - } - - /** - * Creates an array of the own and inherited enumerable string keyed property - * values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.valuesIn(new Foo); - * // => [1, 2, 3] (iteration order is not guaranteed) - */ - function valuesIn(object) { - return object == null ? [] : baseValues(object, keysIn(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Number - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ - function clamp(number, lower, upper) { - if (upper === undefined) { - upper = lower; - lower = undefined; - } - if (upper !== undefined) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); - } - - /** - * Checks if `n` is between `start` and up to, but not including, `end`. If - * `end` is not specified, it's set to `start` with `start` then set to `0`. - * If `start` is greater than `end` the params are swapped to support - * negative ranges. - * - * @static - * @memberOf _ - * @since 3.3.0 - * @category Number - * @param {number} number The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - * @see _.range, _.rangeRight - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - * - * _.inRange(-3, -2, -6); - * // => true - */ - function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); - } - - /** - * Produces a random number between the inclusive `lower` and `upper` bounds. - * If only one argument is provided a number between `0` and the given number - * is returned. If `floating` is `true`, or either `lower` or `upper` are - * floats, a floating-point number is returned instead of an integer. - * - * **Note:** JavaScript follows the IEEE-754 standard for resolving - * floating-point values which can produce unexpected results. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Number - * @param {number} [lower=0] The lower bound. - * @param {number} [upper=1] The upper bound. - * @param {boolean} [floating] Specify returning a floating-point number. - * @returns {number} Returns the random number. - * @example - * - * _.random(0, 5); - * // => an integer between 0 and 5 - * - * _.random(5); - * // => also an integer between 0 and 5 - * - * _.random(5, true); - * // => a floating-point number between 0 and 5 - * - * _.random(1.2, 5.2); - * // => a floating-point number between 1.2 and 5.2 - */ - function random(lower, upper, floating) { - if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { - upper = floating = undefined; - } - if (floating === undefined) { - if (typeof upper == 'boolean') { - floating = upper; - upper = undefined; - } - else if (typeof lower == 'boolean') { - floating = lower; - lower = undefined; - } - } - if (lower === undefined && upper === undefined) { - lower = 0; - upper = 1; - } - else { - lower = toFinite(lower); - if (upper === undefined) { - upper = lower; - lower = 0; - } else { - upper = toFinite(upper); - } - } - if (lower > upper) { - var temp = lower; - lower = upper; - upper = temp; - } - if (floating || lower % 1 || upper % 1) { - var rand = nativeRandom(); - return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); - } - return baseRandom(lower, upper); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar--'); - * // => 'fooBar' - * - * _.camelCase('__FOO_BAR__'); - * // => 'fooBar' - */ - var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? capitalize(word) : word); - }); - - /** - * Converts the first character of `string` to upper case and the remaining - * to lower case. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('FRED'); - * // => 'Fred' - */ - function capitalize(string) { - return upperFirst(toString(string).toLowerCase()); - } - - /** - * Deburrs `string` by converting - * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) - * letters to basic Latin letters and removing - * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ - function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); - } - - /** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search up to. - * @returns {boolean} Returns `true` if `string` ends with `target`, - * else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ - function endsWith(string, target, position) { - string = toString(string); - target = baseToString(target); - - var length = string.length; - position = position === undefined - ? length - : baseClamp(toInteger(position), 0, length); - - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; - } - - /** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /** - * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", - * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https://lodash\.com/\)' - */ - function escapeRegExp(string) { - string = toString(string); - return (string && reHasRegExpChar.test(string)) - ? string.replace(reRegExpChar, '\\$&') - : string; - } - - /** - * Converts `string` to - * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__FOO_BAR__'); - * // => 'foo-bar' - */ - var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); - }); - - /** - * Converts `string`, as space separated words, to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the lower cased string. - * @example - * - * _.lowerCase('--Foo-Bar--'); - * // => 'foo bar' - * - * _.lowerCase('fooBar'); - * // => 'foo bar' - * - * _.lowerCase('__FOO_BAR__'); - * // => 'foo bar' - */ - var lowerCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + word.toLowerCase(); - }); - - /** - * Converts the first character of `string` to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.lowerFirst('Fred'); - * // => 'fred' - * - * _.lowerFirst('FRED'); - * // => 'fRED' - */ - var lowerFirst = createCaseFirst('toLowerCase'); - - /** - * Pads `string` on the left and right sides if it's shorter than `length`. - * Padding characters are truncated if they can't be evenly divided by `length`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.pad('abc', 8); - * // => ' abc ' - * - * _.pad('abc', 8, '_-'); - * // => '_-abc_-_' - * - * _.pad('abc', 3); - * // => 'abc' - */ - function pad(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - if (!length || strLength >= length) { - return string; - } - var mid = (length - strLength) / 2; - return ( - createPadding(nativeFloor(mid), chars) + - string + - createPadding(nativeCeil(mid), chars) - ); - } - - /** - * Pads `string` on the right side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padEnd('abc', 6); - * // => 'abc ' - * - * _.padEnd('abc', 6, '_-'); - * // => 'abc_-_' - * - * _.padEnd('abc', 3); - * // => 'abc' - */ - function padEnd(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (string + createPadding(length - strLength, chars)) - : string; - } - - /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padStart('abc', 6); - * // => ' abc' - * - * _.padStart('abc', 6, '_-'); - * // => '_-_abc' - * - * _.padStart('abc', 3); - * // => 'abc' - */ - function padStart(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (createPadding(length - strLength, chars) + string) - : string; - } - - /** - * Converts `string` to an integer of the specified radix. If `radix` is - * `undefined` or `0`, a `radix` of `10` is used unless `value` is a - * hexadecimal, in which case a `radix` of `16` is used. - * - * **Note:** This method aligns with the - * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category String - * @param {string} string The string to convert. - * @param {number} [radix=10] The radix to interpret `value` by. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {number} Returns the converted integer. - * @example - * - * _.parseInt('08'); - * // => 8 - * - * _.map(['6', '08', '10'], _.parseInt); - * // => [6, 8, 10] - */ - function parseInt(string, radix, guard) { - if (guard || radix == null) { - radix = 0; - } else if (radix) { - radix = +radix; - } - return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); - } - - /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=1] The number of times to repeat the string. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' - */ - function repeat(string, n, guard) { - if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - return baseRepeat(toString(string), n); - } - - /** - * Replaces matches for `pattern` in `string` with `replacement`. - * - * **Note:** This method is based on - * [`String#replace`](https://mdn.io/String/replace). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to modify. - * @param {RegExp|string} pattern The pattern to replace. - * @param {Function|string} replacement The match replacement. - * @returns {string} Returns the modified string. - * @example - * - * _.replace('Hi Fred', 'Fred', 'Barney'); - * // => 'Hi Barney' - */ - function replace() { - var args = arguments, - string = toString(args[0]); - - return args.length < 3 ? string : string.replace(args[1], args[2]); - } - - /** - * Converts `string` to - * [snake case](https://en.wikipedia.org/wiki/Snake_case). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the snake cased string. - * @example - * - * _.snakeCase('Foo Bar'); - * // => 'foo_bar' - * - * _.snakeCase('fooBar'); - * // => 'foo_bar' - * - * _.snakeCase('--FOO-BAR--'); - * // => 'foo_bar' - */ - var snakeCase = createCompounder(function(result, word, index) { - return result + (index ? '_' : '') + word.toLowerCase(); - }); - - /** - * Splits `string` by `separator`. - * - * **Note:** This method is based on - * [`String#split`](https://mdn.io/String/split). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to split. - * @param {RegExp|string} separator The separator pattern to split by. - * @param {number} [limit] The length to truncate results to. - * @returns {Array} Returns the string segments. - * @example - * - * _.split('a-b-c', '-', 2); - * // => ['a', 'b'] - */ - function split(string, separator, limit) { - if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { - separator = limit = undefined; - } - limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; - if (!limit) { - return []; - } - string = toString(string); - if (string && ( - typeof separator == 'string' || - (separator != null && !isRegExp(separator)) - )) { - separator = baseToString(separator); - if (!separator && hasUnicode(string)) { - return castSlice(stringToArray(string), 0, limit); - } - } - return string.split(separator, limit); - } - - /** - * Converts `string` to - * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). - * - * @static - * @memberOf _ - * @since 3.1.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the start cased string. - * @example - * - * _.startCase('--foo-bar--'); - * // => 'Foo Bar' - * - * _.startCase('fooBar'); - * // => 'Foo Bar' - * - * _.startCase('__FOO_BAR__'); - * // => 'FOO BAR' - */ - var startCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + upperFirst(word); - }); - - /** - * Checks if `string` starts with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=0] The position to search from. - * @returns {boolean} Returns `true` if `string` starts with `target`, - * else `false`. - * @example - * - * _.startsWith('abc', 'a'); - * // => true - * - * _.startsWith('abc', 'b'); - * // => false - * - * _.startsWith('abc', 'b', 1); - * // => true - */ - function startsWith(string, target, position) { - string = toString(string); - position = position == null - ? 0 - : baseClamp(toInteger(position), 0, string.length); - - target = baseToString(target); - return string.slice(position, position + target.length) == target; - } - - /** - * Creates a compiled template function that can interpolate data properties - * in "interpolate" delimiters, HTML-escape interpolated data properties in - * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data - * properties may be accessed as free variables in the template. If a setting - * object is given, it takes precedence over `_.templateSettings` values. - * - * **Note:** In the development build `_.template` utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) - * for easier debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The template string. - * @param {Object} [options={}] The options object. - * @param {RegExp} [options.escape=_.templateSettings.escape] - * The HTML "escape" delimiter. - * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] - * The "evaluate" delimiter. - * @param {Object} [options.imports=_.templateSettings.imports] - * An object to import into the template as free variables. - * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] - * The "interpolate" delimiter. - * @param {string} [options.sourceURL='lodash.templateSources[n]'] - * The sourceURL of the compiled template. - * @param {string} [options.variable='obj'] - * The data object variable name. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the compiled template function. - * @example - * - * // Use the "interpolate" delimiter to create a compiled template. - * var compiled = _.template('hello <%= user %>!'); - * compiled({ 'user': 'fred' }); - * // => 'hello fred!' - * - * // Use the HTML "escape" delimiter to escape data property values. - * var compiled = _.template('<%- value %>'); - * compiled({ 'value': '

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 z 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