DIRCj)j) j[mIL%ʹh ,.fleet/receipt.jsonj)j) j^) XU~4.github/ISSUE_TEMPLATE/add_app_to_default_catalog.MDj)j) j_h |*X0h?$׿e}$.github/ISSUE_TEMPLATE/bug_report.mdj)j) j`S˾}aU zc|'m0).github/ISSUE_TEMPLATE/feature_request.mdj)j) januN9;G&.github/ISSUE_TEMPLATE/localization.MDj)j) jbW_>f9L3l>5)%#.github/ISSUE_TEMPLATE/task_card.mdj)j) jcѹ:b$67y u .gitignorej)j) je#N I(Tb4R.maestro/README.mdj'kj'k jgrex?]66ǁ0=.maestro/flow-passkey/006_user_signup_using_passkey_test.yamlj'kj'k ji {kbn N,.maestro/flow-passkey/scripts/school_init.jsj'kj'k jjP"B(VQ(.maestro/flow-passkey/scripts/setDate.jsj'kj'k jkP21AUKq†).maestro/flow-passkey/scripts/teardown.jsj'kj'k jmhg Ah>pH'ZO9.maestro/flow-passkey/subflows/choose_passkey_prompt.yamlj'kj'k jnem{eSv@.maestro/flow-passkey/subflows/choose_passkey_prompt_cancel.yamlj'kj'k jowոg?0-oB.maestro/flow-passkey/subflows/create_passkey_to_sign_in_flow.yamlj'kj'k jp aiFK.maestro/flows/001_001a_invite_flow_admin_teacher_approval_on_off_test.yamlj /kj /k IH&,m,dM7QpmM.maestro/flows/001_001b_invite_flow_student_parent_approval_enabled_test.yamlj /kj /k II'ib>5vQc'l]nN.maestro/flows/001_001c_invite_flow_student_parent_approval_disabled_test.yamljK(䩤jK(䩤 ODq(Wr`.maestro/flows/001_002a_invite_existing_teacher_and_students_to_class_approval_enabled_test.yamljK(䩤jK(䩤 O9Lɂ1_ҹnvm(a.maestro/flows/001_002b_invite_existing_teacher_and_students_to_class_approval_disabled_test.yamljK(䩤jK(䩤 OL8܅VOFLο+o.maestro/flows/001_002c_invite_existing_students_and_parent_to_join as_family_member_approval_enabled_test.yamljK(䩤jK(䩤 OSNP(op.maestro/flows/001_002d_invite_existing_students_and_parent_to_join as_family_member_approval_disabled_test.yamljK(䩤jK(䩤 O&1M8 W,{&_q0.maestro/flows/001_003_add_user_direct_test.yamljK(䩤jK(䩤 ODSUeeF!4i̗8.maestro/flows/001_004_login_using_school_link_test.yamljK(䩤jK(䩤 O +r@cg–S2 }o=.maestro/flows/001_005_add_school_self_registration_test.yamljK(䩤jK(䩤 O3"{X݊ b64!A+.maestro/flows/002_browse_lessons_test.yamlj'kj'k j ^P%+Ki T.maestro/flows/flows-disabled/003_admin_user_assigns_assignment_to_a_class_test.yamlj'kj'k jV˴p%#?1YӾZ%.maestro/flows/scripts/school_init.jsj'kj'k j q۬4/5ݲpw/!.maestro/flows/scripts/setDate.jsj'kj'k jP21AUKq†".maestro/flows/scripts/teardown.jsj'kj'k jwlK+L]X..maestro/flows/subflows/add_person_to_app.yamlj'kj'k jrx9l=(*.maestro/flows/subflows/admin_add_app.yamlj6j6 j wYrh;i6.maestro/flows/subflows/admin_add_app_and_teacher.yamlj6j6 jGvpUATLb6..maestro/flows/subflows/admin_add_student.yamlj6j6 jV(>UДQ1.maestro/flows/subflows/assign_qr_badge_flow.yamlj6j6 j!tY{L"=UL?.maestro/flows/subflows/chrome-first-run-accept-ad-privacy.yamlj6j6 jOPsHJV /XÇ)A.maestro/flows/subflows/chrome-first-run-accept-and-continue.yamlj6j6 j9(- W.SK3.maestro/flows/subflows/chrome-first-run-check.yamlj6j6 j;R<{c~w6EFO.maestro/flows/subflows/chrome-first-run-tap-accept-or-use-without-account.yamlj6j6 j mgjau#H.maestro/flows/subflows/chrome-first-run-tap-notification-no-thanks.yamlj6j6 jH$ 2QD(iY*І=.maestro/flows/subflows/chrome-first-run-without-account.yamlj6j6 jNjۓ:" oGRr'.maestro/flows/subflows/erase_text.yamlj6j6 j aiF.maestro/flows/subflows/get_started_select_school_by_name.yamlj6j6 js d8q5a-IYs5.maestro/flows/subflows/launch_clear_and_set_dir.yamlj6j6 j "]2Twut8. *.maestro/flows/subflows/openlink_flow.yamlj6j6 j]˵ }3da8.maestro/flows/subflows/save_password_prompt_cancel.yamlj6j6 j7̺LZ's aD4.maestro/flows/subflows/school_admin_login_flow.yamlj6j6 jv|zrB!,/yd(.maestro/flows/subflows/school_init.yamlj6j6 j5 ظbC'3.maestro/flows/subflows/school_user_login_flow.yamlj6j6 jtJ7\dqbyf1d+.maestro/flows/subflows/tap_done_again.yamlj6j6 j:m OMMŽ0ʂ+.maestro/flows/subflows/user_add_class.yamlj6j6 jEe0h[:ٝ2:.maestro/flows/subflows/user_signup_using_invite_code.yamlj6j6 j0Ng^>Kj_ *D^#.maestro/video-downloader/README.mdj >|qQj6 j (`[t j :=+.maestro/video-downloader/ci-run-cypress.shj6j6 jip)Mz:+.maestro/video-downloader/cypress.config.jsj6j6 j)CLt 'F.ܛUUF.maestro/video-downloader/cypress/e2e/extract-maestro-video-urls.cy.jsj6j6 j%Cxx_;̍"˷7.maestro/video-downloader/cypress/fixtures/example.jsonj6j6 jH9Pk˫XԌH TB5.maestro/video-downloader/cypress/support/commands.jsj6j6 jS>kCStTKʪ0.maestro/video-downloader/cypress/support/e2e.jsj /kj /k (n"iRm&]u+.maestro/video-downloader/package-lock.jsonjEYjEY js^:;ʨ{>^r&.maestro/video-downloader/package.jsonjEYjEY j ₰qV 5P:G? AGENTS.mdjEYjEY j7{վiÏ$"aARCHITECTURE.mdjEYjEY j*κs=8Wb%/[CODE_OF_CONDUCT.mdjEYjEY j4qV- ?9=CODING_GUIDELINES.mdjEYjEY j9|\c6v~ :s{CONTRIBUTING.mdjEYjEY j2&}-?g֘DESIGN_GUIDELINES.mdjEYjEY jmbI\.Ȥr BwCD INSTALL.mdjEYjEY j ]R?rCRLICENSEjEYjEY jZ=ffi` 2ԅ README.mdjEYjEY jHae@YYbuild.gradle.ktsjEYjEY j`~{CL'cP4Xrespect-app-compose/README.mdjU2jU2 j SJTL$respect-app-compose/build.gradle.ktsjU2jU2 jQu7%Z2V"vT3#/respect-app-compose/doc/app-config-dropdown.pngjdtjdt j]9mcŨkpS8/respect-app-compose/doc/run-config-settings.pngjdtjdt jHV/$"s{WIlI&respect-app-compose/proguard-rules.projdtjdt j*l\|5I V9Gj67respect-app-compose/src/androidMain/AndroidManifest.xmljdtjdt j*B}Hs`wx]b"Orespect-app-compose/src/androidMain/kotlin/world/respect/AbstractAppActivity.ktjdtjdt j(R1R h2!>9vIGrespect-app-compose/src/androidMain/kotlin/world/respect/AppActivity.ktjdtjdt j ְV ˓JAIrespect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.ktjdtjdt j"\8 "jzG1P:Hrespect-app-compose/src/androidMain/kotlin/world/respect/MainActivity.ktjdtjdt j pfW36n7Frespect-app-compose/src/androidMain/kotlin/world/respect/RespectApp.ktjdtjdt j ȳYwem{œ]cKrespect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.ktjdtjdt j~vlhH ZSrespect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.ktjdtjdt jdQg4lCA&k2_respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.ktjs js jEZ2ǀn5H"awkrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/RespectImageSelectButton.android.ktjs js j? kWwv~eHmrespect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.ktjs js js :_Tmfrespect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.ktjs js jZ2L ;u,˞y`respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.ktjs js j{lm.RlN'УWjrespect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.ktjs js jYDrR K;~F7::s_respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.ktjs js jœC߬'|:urespect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.ktjs js j LmuZ.sva;h-ܒw3Krespect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xmljHjH k4n>eY+!zFٯ`Brespect-app-compose/src/androidMain/res/drawable/respect_logo.webpjHjH kx}3OYr2q=?respect-app-compose/src/androidMain/res/drawable/spix_logo.webpjHjH krMOĹUPBrespect-app-compose/src/androidMain/res/drawable/works_offline.pngjHjH kyĒ\#YޠI"4Drespect-app-compose/src/androidMain/res/layout/activity_web_view.xmljHjH kmO0jQ?ȶĂպ=respect-app-compose/src/androidMain/res/menu/menu_webview.xmljHjH k  Rf( h{Orespect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xmljHjH k aUUa=,֑FIrespect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.pngjHjH k respect-app-compose/src/commonMain/kotlin/theme/CommonColor.ktj;j; k' vy*/`:=98respect-app-compose/src/commonMain/kotlin/theme/Theme.ktj;j; k*̼9\eui/ʞD>respect-app-compose/src/commonMain/kotlin/world/respect/App.ktj;j; k-2gC=7@׿Frespect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.ktj;j; k.0֯O6s g![Irespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.ktj;j; k/l}`JsgS7Jrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.ktj;j; k0jyLj3 )fMrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.ktj;j; k1 BMSS~֤t&2bM/Prespect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.ktj;j; k2kAv bxr>$6QTrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.ktj}j} k3>G ߄^TaxY:z iLrespect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.ktj}j} k5`:7q=-QjVrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.ktj}j} k6LS]穭XQchЦZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.ktj}j} k7 ZX3-m-Urespect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.ktj}j} k84':o'Ln[`respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.ktj}j} k9 ܭ8-{2@0GA0arespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.ktj}j} k:AF0H2+]tMZ怯brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.ktj}j} k;2=iB4O7偟qrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectChildrenExposedDropDownMenuField.ktj}j} k<A詘஢kBsNG8Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.ktj}j} k=EfDQz7m.^NZ.brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.ktj}j} k?YdLL,?2{Cv}orespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.ktj}j} k@ aNYyԚCRaiF?brespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectImageSelectButton.ktj}j} kAs_,`W >Zrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.ktj}j} kB\&4K"(cj.:J_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.ktj}j} kC dʺ}h8+ŀcrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.ktj}j} kDO@?`} "(_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.ktj}j} kEooE^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.ktj}j} kJtSBɘFa%Wn]respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.ktj}j} kKכּ:@ 秐]zerespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.ktj}j} kLަ%EKNf Zm_respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.ktjj kM- 9}dA^qR_Kbrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.ktjj kNHH%׀4hJ٩s_^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.ktjj kOt-y렼bD[[)erespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.ktjj kP^X W7j!  s[respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.ktjj kQ6(I~qoNP&Jgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.ktjj kR%ZxA4F7O TZrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.ktjj kSEu=WP. L?^respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.ktjj kT ΂(_{[.*$%xgrespect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.ktjj kVEGPKk2/LGWrespect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.ktjj kWoj]X"vWE]respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.ktjj kZ飥=F:&W^respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.ktjj k[ݻ6LS/'Nrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.ktjj k])|^a.Lltܷfrespect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.ktjj k^co}?jrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.ktjކjކ k&[ yw3\N`"Ilrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.ktjކjކ k¾yt{VJXJvrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/PendingPersonEnrollmentItem.ktjކjކ k٢7`c ]߯prespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.ktjކjކ k hIRa5[Mtrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.ktjކjކ k o6avZ{n(e|respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.ktjކjކ kip0 _HJ)jrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.ktjކjކ k2%uv#q90 srespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.ktjކjކ k*>)&Ȕ M#`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.ktjކjކ k μ|Ҋ_滑uTXmrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.ktjކjކ k Ju lĈSHkxoyrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.ktjކjކ k l̘y8Mִ;Ucprespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/selectAccount/SelectAccountScreen.ktjކjކ k:ɍ-Sz&ցbrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.ktjކjކ k0r-cnxrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.ktjކjކ k W`!7N`^nzrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.ktjj kC:'OЧI 5:n_respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.ktjj k #=^47,#g>nrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.ktjj k >8N~`+G>zhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.ktjj kZU0GL0% drespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.ktjj k'ӣgb 2IN6".B`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.ktjj k0'Vj`*\Dsjrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.ktjj k(o46 :E^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.ktjj k"C5T6r{ KRN$l_Xjdrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.ktj 'j ' k[O͇(N.U}U6~Y`respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.ktj 'j ' k.{)>TqDyllrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.ktj 'j ' k(-r@,1{^respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.ktj 'j ' k%i@w "hqrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.ktj 'j ' k >/]rN_ֲ{]O+mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.ktj 'j ' k i4_*p_WE<|mrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.ktj 'j ' k ]_jis0v `respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.ktj 'j ' k"WUHԺhrespect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.ktj 'j ' k5u=Ւ.q@"NSwNrespect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.ktj Mcj Mc kۤo4^ۮIGlVrespect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.ktj Mcj Mc k^HDetI+\{YSrespect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.ktj Mcj Mc kT_0 ? Q4!_respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.ktj Mcj Mc k0A i/VvI3Qkrespect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.ktj Mcj Mc kA >E.ԥVP$-4.frespect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.ktj Mcj Mc kZ2L ;u,˞y`respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.ktj Mcj Mc kec&3jrespect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.ktj Mcj Mc kdl%'f+QWrespect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.ktj Mcj Mc kk״YU:K.SA@respect-app-compose/src/desktopMain/kotlin/world/respect/main.ktj Mcj Mc k;D-tstoB>respect-app-compose/src/desktopMain/resources/sample-feed.jsonj Mcj Mc lB*18LyqzK}respect-cli/.gitignorej Mcj Mc lRz$oG]%Frespect-cli/build.gradle.ktsj Mcj Mc lK я}z Hcr2>respect-cli/src/main/java/world/respect/clitools/RespectCLI.ktj Mcj Mc l B*18LyqzK}respect-credentials/.gitignorejj l ) o{r0{Ö$respect-credentials/build.gradle.ktsjj l H4Ayף gm4K &respect-credentials/proguard-rules.projj lHDQi2O ~QͯHirespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.ktjj l~"qP;Bu͍crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.ktjj l߉3ǬW1{crespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.ktjj lOQ!0ǤWq]'`respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.ktjj lm^`x۶޿ `respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.ktjj lXJ6Xȵbrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.ktjj l37<(glOgrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.ktjj l76e]f,Z~respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.ktjj lⶢ` ڞw2{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.ktjj l'rځ5)8 orespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.ktjj lj;OI Ft H|"Fwrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.ktjj l 9W)#zOv5r31OY-srespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.ktjj l!Of6AXsκcrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.ktjj l"ȱc'x"[hrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.ktjj l#RH06O8?s41{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.ktjj l$1"a?F Cvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.ktjj l%_ '~/<,}>trrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.ktjj l&oRA >S|Dzrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.ktjj l'MKbopPBnu>Hprespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.ktjj l(+@ 8?Hm@ Dvrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.ktjj l*FǚUV`;Gnkrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.ktjj l, Ҵ {\!W0p$z{respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.ktjj l-Rs&T|(9i^respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.ktjj l.VXA;DҔ#nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.ktjj l/g\r}ft$9nrespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.ktjj l0oޚ bi=?trespect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.ktjj l2]!qIl9K ]respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.ktjj l4r0o#Fj`|0respect-credentials/src/main/AndroidManifest.xmlj*j* l6_K(K j*~?1respect-datalayer-db/AGENTS.mdj*j* l7j(>i;F6?[brespect-datalayer-db/README.mdj*j* l85*|e35>ӱ.%respect-datalayer-db/build.gradle.ktsj*j* l;nAr) BnWwێQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.jsonj*j* l<'B59vKkf!Qrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.jsonj*j* l='ȳ $6L"lwV^VQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.jsonj*j* l>zbJS?^|HԄ 1EQrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.jsonj*j* l@PMxPD/KTrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.jsonj*j* lA8zdM&-8g)Urespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.jsonj*j* lBN:<& W!0WQI7Urespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.jsonj*j* lC0F]7\}O˷YUrespect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.jsonj*j* lDPǾ0ۧ&rfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/AssignmentDatasourceDb.ktjIVQjIVQ lbQ_iWMDgJ4arespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.ktjIVQjIVQ lc Jnmhv{erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.ktjIVQjIVQ lf 6ۺ-I1"Pbrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.ktjIVQjIVQ lg*T_}3K2q0^brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.ktjIVQjIVQ lh ڪR^H`@3]8irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.ktjIVQjIVQ li1_<&qSc2Hjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.ktjIVQjIVQ lj;+ fvOVirespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.ktjIVQjIVQ lk ʕ=)!Il c³(brespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.ktjIVQjIVQ ll |ivl`}BQtBerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.ktjIVQjIVQ lm_vשP\ҘBqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.ktjIVQjIVQ lntIqh:z`drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.ktjIVQjIVQ lp_u,_|7G.jrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AssignmentAdapter.ktjIVQjIVQ lq+}FHT\I7J҃irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.ktjIVQjIVQ lr ϷS0ZkmB,D\erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.ktjIVQjIVQ lsuGR8Ƽi;lxjrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.ktjIVQjIVQ lt ka+G:&H}fW[JmVwfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.ktjIVQjIVQ lu 1Ãr)%O(QHfrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.ktjIVQjIVQ lvߌFCZ)Q4xmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.ktjIVQjIVQ lwDM3b;~.tnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.ktjIVQjIVQ lx/E&/T$:qMmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.ktjIVQjIVQ ly^P:k;x4nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.ktjIVQjIVQ lz$oN=EB8%afrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.ktjIVQjIVQ l{"JeSp'~U*m5irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.ktjIVQjIVQ l|ihrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.ktjXjX l[ppP5pPҔVOgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.ktjXjX lco*qnډz,K(drespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.ktjXjX lZ0#{~ZCP ?qHdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.ktjXjX ls S4nn}RYlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.ktjXjX l xUqs%]%Tkrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.ktjXjX lW%Vi4c_Mqrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.ktjXjX l=fQDf hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.ktjXjX lk`^Z.m3Ulrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.ktjXjX l>%Xo4qUG_^:vdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.ktjXjX l{n~ci&]j Rgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.ktjXjX l 9?Z]`6or11lmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.ktjXjX ln-%`na+V{_flrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.ktjXjX l̰kN6GմL'@X~respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.ktjXjX l3.4{cj?:yrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.ktjXjX l3su4(xnbSg }respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.ktjXjX l(u"/#ps"irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentEntity.ktjXjX l tD{R=h|respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.ktjXjX lY7Lgu/'hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.ktjXjX lNdȒ9UrȰdrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.ktjXjX lYx@/X~dHUsrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.ktjXjX l$㨓[1SÕnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.ktjXjX lۍg&X+l;1h]irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.ktjgjg l9?JJV.T6hrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.ktjgjg lly`oU>uerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.ktjgjg lz T+.0 W+rrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.ktjgjg lI>?Nerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.ktjgjg lKDDo+POT:v/+nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.ktjgjg l9KHVWS1L Qlrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.ktjgjg l, fAvڱבmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.ktjgjg l(qksk*4H\lrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.ktjgjg lFT$ļեPcw3rrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.ktjgjg lcdGh>E pk`irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.ktjgjg lϟ3<<_[b?uZFmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.ktjgjg l$lu8)-BiQerespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.ktjgjg lȫZ:/At(Mhrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.ktjgjg l1~Q2RuԭXtrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.ktjgjg l0Y™ږOp+mrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.ktjgjg lz[[|0%]\t]respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.ktjgjg l3\L*_?ũw_irespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.ktjgjg lm_KC,~S9i[A@crespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.ktjgjg l3=+j0؁6Ҡprespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.ktjgjg l#('> 4 e{3grespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.ktjgjg lxwPIn3u:Fnrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.ktjgjg lSoAgQ*1RDʂmrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.ktjgjg lE#+'ѵ~g12{respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.ktjgjg l-KQ`?nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.ktjwjw l UǟzΆFgrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.ktjwjw lk#ègso^3EN3nrespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.ktjwjw lvȵkJxW9`erespect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.ktjwjw l>[>+] `Ukrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.ktj|j| m/VfS6܀Zorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.ktj|j| m#0jv 3m~0ާVTSlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.ktj|j| m^r_dfw?Fhgrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.ktj|j| me뽼i$%qY'blrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.ktj|j| mZRST.;#H[R2hrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.ktj|j| m(_fFr9Q* 8hrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.ktj|j| m  _9Fporespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.ktj|j| m! `s|Dn.s+Ɏ`%prespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.ktj|j| m"!`K>كK  xorespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.ktj|j| m#zp ru3iӰtPkrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.ktj|j| m$V^|ޑ$Ǎ0-ȣGwrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.ktj|j| m%$In 9{#VAlrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.ktj|j| m' |=&QL1borespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.ktj|j| m( .Gnt5m[<4|vrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.ktj|j| m* m_?%J,R&Kmrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.ktj|j| m-LB<(rb }9vrespect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.ktj|j| m/# 7nm|\G%(&respect-datalayer-repository/AGENTS.mdj|j| m00pjl-4>"&respect-datalayer-repository/README.mdj|j| m1 ^"u>ub=j<-respect-datalayer-repository/build.gradle.ktsjj m:ɻm3ϖ<ˢa4tYOtrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.ktjj m<ܨ궪>162respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.ktjj m=Y8G9vQgv{respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.ktjj m?W%ز.D1|QVvrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.ktjj m@̴R^0${qrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.ktjj mBZoOOo+=_Nrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.ktjj mC)̽$@ĕmfrespect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.ktjj mJ@iK4fmՒ,߰ awrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.ktjj mK⛲CK)wZSyrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.ktjj mLV( l}W .-p{,Fsrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.ktjj mN Pb _ 4wzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.ktjj mOόS=zLi{ bPrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.ktjj mQ W^{~zp5 1~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.ktjj mR jO,[&yrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.ktjj mSh n+V$@.~respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.ktjj mT }I}Qc}HubՇzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.ktjj mU-\W땐xw=yQ?zrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.ktjj mVV?5A9[i48 6Xrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.ktjj mW Nb~)h(ng1wy&e respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.ktjj mX s[?2Prespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.ktj%j% mY/>P!kSzrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.ktj%j% mZ !礫a; IX-O}respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.ktj%j% m[:DXV,>3Prespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.ktj%j% m]Ftȅ{ ÅE{respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.ktj%j% m_ (>fMfIr%respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.ktj%j% max=ȽR3Drespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.ktj%j% md'`禺7658#respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.ktj%j% me9Swbl5: vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.ktj%j% mf%[{a2_yܒ&vrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.ktj%j% mg` lyeq jrespect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.ktj%j% mhi۟w\|3!\!respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.ktj%j% mp(.=$a Z 'R3respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.ktj%j% mr0?<cU yFc/Ѭ|respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.ktj%j% msSd4$_~, 4d帖~respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.ktj%j% muvO<=%j,do>respect-datalayer-repository/src/jvmTest/resources/logback.xmlj%j% m{Ş5b_ݹƯEb;erespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.jsonjh/jh/ m|0^9a%Sڂirespect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.jsonjh/jh/ m~B*18LyqzK}respect-datalayer/.gitignorejh/jh/ m[#CwUV>ծ7H.respect-datalayer/AGENTS.mdjh/jh/ mGLUuf/B`8]respect-datalayer/README.mdjh/jh/ m:dJSJ(~7|y"respect-datalayer/build.gradle.ktsjh/jh/ myha̮O Ԉ[vEs5respect-datalayer/src/androidMain/AndroidManifest.xmljh/jh/ mB MܣW72Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.ktjh/jh/ mTݦZ<>Y6_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.ktjh/jh/ m#Y) ?X/w;dNhZSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerHeaders.ktjh/jh/ mja~v#.^Rrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLayerParams.ktjh/jh/ m[XJߤ5{nZSrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadMetaInfo.ktjh/jh/ m;KTS4;zQrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadParams.ktjh/jh/ ms-VW7"O'3Prespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/DataLoadState.ktjh/jh/ mS&&pb]ȴ`(Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.ktjh/jh/ m1R0^܏Tσ\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.ktjh/jh/ mbcuUF crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.ktjh/jh/ m~L'0M(=XbWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DataLoadStateExt.ktjh/jh/ mԚH p;nTrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.ktjh/jh/ m̲0 d_(Gn)Trespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.ktjh/jh/ m,rGo-dK:~8LUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.ktjh/jh/ mZH7NJsd>!w!Y|\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.ktjh/jh/ m`p]:Vw1Y8>^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.ktjҪkjҪk m୅>*srespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.ktjҪkjҪk m@qyЧaޤNwrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.ktjҪkjҪk mb < `8Ivkjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.ktjҪkjҪk mUcoocxQЋphrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.ktjҪkjҪk m6p{x)*vۜ)w`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.ktjҪkjҪk mnÌ>R)K(jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.ktjҪkjҪk meQЋ5X}١x˜carespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.ktjҪkjҪk mK!^-,fhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.ktjҪkjҪk mhS]2GFrZfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.ktjҪkjҪk m^(fK`B<ظCr;Wcrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.ktjҪkjҪk mwŘ͋V6Ehfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.ktjҪkjҪk mׄ:ZǔjnŌ*frespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.ktjҪkjҪk mˀ񫒣?`$4krespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.ktjҪkjҪk mp\p,QH`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.ktjҪkjҪk mn̒Mb2Cddrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.ktjҪkjҪk m_we^`*grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.ktjҪkjҪk m:w'UEYIohrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.ktjҪkjҪk mN K%u\h'#+Ca`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.ktjҪkjҪk mK-A=S}>8MOcPpgrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.ktjҪkjҪk mv8 ~8z[brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.ktjҪkjҪk mCV.Je$K|8z^grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.ktjҪkjҪk mSiBͨYrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.ktjҪkjҪk mL%̅Ǵvg]^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.ktjҪkjҪk mXy.L4 [mrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.ktjҪkjҪk m 0gW`:kW^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.ktjj mIZ ,eq˶crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.ktjj mO GdTH]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.ktjj m X2;7aKYQ[Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.ktjj mVTN ku7m_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.ktjj m$ 43Z8Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.ktjj m((iܡ䧞_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.ktjj m ތ(fnxn*,&arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.ktjj m` 阚㹛@ufrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.ktjj mĴp#MF _brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.ktjj m\*rjn(ZawHqerespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.ktjj muwglGaMϔ|grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.ktjj mި~tTtQFarespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.ktjj mhC2j}g'L(X*[9jrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.ktjj m])9hV/oO&8Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.ktjj m7u?1^0ZR_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.ktjj m< {GcqTաq1;]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.ktjj mKk}k@-^V4]fbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.ktjj my~=J`H3!/grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.ktjj m#Ɔ3l8lqeOhI]˿irespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.ktjj m' ;3XTgϕZTnrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.ktjj m- F\J~"Farespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.ktjj mF?~]D'#JBT\grespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.ktjj ṃ~öQBr:>xmrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.ktjj m"I&{L\-qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.ktjj mz+G_o0blrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.ktjj m 8r}kO~Ԋwprespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.ktjj m[ՀQX#\@_`Aslrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.ktjj m8q"|yM蔙(u[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.ktjj mƤq[N.@crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.ktjj m M j ~YyM  KWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.ktjj m&ܭ̉3$Т %\6brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.ktjj m-ڐ `RRql)Wrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.ktjj mc5낊FUØ(Mr_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.ktjj m[ΏQGCM鉲'WIfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.ktjj mrN5U<"#BZrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Assignment.ktjj m/+zf`!kr2emrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.ktjj m9þ 11Uy4~M),irespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentLearningUnitRef.ktjj m{ltӍЦE\:Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.ktjj mu%Ng|]7brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.ktjj m/5y^+U$_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.ktjj m[[$;o -aZhAUrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.ktj.j. m ́̾Z\qZrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.ktj.j. mZ!s5@/Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.ktj.j. m߉ ]>,ZgiSIbrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.ktj.j. mQ݆mLBxזb{Yrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Indicator.ktj.j. m$PT*^>]b&sݱ&ޖVrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.ktj.j. m3M'D#p{/#`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.ktj.j. m&KFZz4יPIZr_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.ktj.j. n,2`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.ktj.j. n/2ku`q]Y{aq\]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.ktj.j. ntR%[ Jhq3g#eӏ^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.ktj.j. nDD9Ы#s]respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.ktj.j. n.45o'I9$=Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.ktj.j. nr)2 rږ^1^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.ktj.j. n D_D;+8DN`respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.ktj.j. n9Z2L_$ g:Vdrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonWithEnrollment.ktj.j. n -.qoN*^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.ktj.j. n Jw"+zT%Vrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.ktj.j. n Լ ܕY}Z CvrgYrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.ktj.j. n THVݴ"n crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.ktj.j. n Pu| h{ erespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.ktj.j. ncn?P+nY)!>ܚ2Zrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.ktj.j. nθҲܗj2zqlrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.ktj.j. ny幼X!arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.ktj.j. nR_'UAy<ƑeΣfrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.ktj.j. nٯ rcю!;/{ighrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.ktj.j. nɾq^=s#p~mrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.ktj.j. nEiiCy ^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.ktj.j. nT<87'E"ɢ1arespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.ktjqjq n N)t{͌i5VsHYhrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.ktjqjq n".IiT%-#MlZ$mPxrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.ktjqjq n#)i7꽐>nrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.ktjqjq n$Dal+e[Iu 1o ;erespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.ktjqjq n% )A]Lx!n_crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.ktjqjq n'>B D;.+P(lrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.ktjqjq n(EU}imqrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.ktjqjq n)½NZo49Zr`I ?qrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.ktjqjq n*)4x1y'{qvrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.ktjqjq n,vЉ+\ߘgQ Z^VWrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.ktjqjq n- VEL n )"^respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.ktjqjq n.# >#?f:!NqXrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.ktjqjq n/DGpe$yۓ[respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.ktjqjq n0Qd^iNm~crespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.ktjqjq n1):[(p2m}O1\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.ktjqjq n2)g%@O;Y_respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.ktjqjq n4Z3OR'K5=ތWjrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.ktjqjq n?P~鹉 }Bklrespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.ktjqjq nA$gא-|T 4drespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.ktjqjq nBdWϴ źpq8]P2Y\respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.ktjqjq nDGSm }1`5E{brespect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.ktjqjq nFB*18LyqzK}respect-lib-cache/.gitignorejqjq nG X'i&RI@DUrespect-lib-cache/README.mdjqjq nH L"^ 8b/"respect-lib-cache/build.gradle.ktsjZjZ nK>gҎkJi-&)L8S&UJrespect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.jsonjZjZ nNJ=A w]!.?5respect-lib-cache/src/androidMain/AndroidManifest.xmljZjZ nS ٳdON6VVrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.ktjZjZ nU_j>VUOz.wp]3Urespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.ktjZjZ nW.6Mr_΋V*Y7Bsrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.ktjZjZ nY%1l䂃| Аkrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.ktjZjZ nZĢeCW]F_*srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.ktjZjZ n\U)تux=Mo!9brespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.ktjZjZ n]an_y?c"_zrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.ktjZjZ n^OSdnJ[& sP܅srespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.ktjZjZ n_(1EUHV`'5$rrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.ktjZjZ n`*Lxv`Puz~,krespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.ktjZjZ nb9>o|j 0ig Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.ktjZjZ ncj7;Mo)H$Yrespect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.ktjZjZ neIz^=v#1Yم`respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.ktjZjZ nk${md^/ ٱ&Urespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.ktjZjZ nl<ި GS*9k0Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.ktjZjZ nmoz)Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.ktjZjZ nnL ;J arespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.ktjZjZ no:,p9NSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.ktjZjZ npm۽C(*]vVarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.ktjj nq\ ϘrOhj|<ҚKYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.ktjj nr`vŲOO],Orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.ktjj nsf]M?t8(Mrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.ktjj nt1A$Ac#5Nrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.ktjj nux{~H+Lrw@Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.ktjj nv 9*+q $RؾUrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.ktjj nwF)YJv2!_wF>Rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.ktjj nyW¦Ǧ@("Z_PTrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.ktjj n{;e聆krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.ktjj n|TU|gB{1ۑd]g\\c]Apkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.ktjj n M[x_ܫ`Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.ktjj n>t?ٱ-ɮªarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.ktjj nf0-&.HP#9]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.ktjj n_Yz񚛦b#Wrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.ktjj n xN4DHiGntZGSrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.ktjj nYPozaVQ̜)_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.ktjj nMt J_]޳H(trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.ktjj n aCDw%A}!:4Xrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.ktjj nc) )Iӽ=o=UzLYrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.ktjj n "T~+?M]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.ktjj n i0X'k˲g[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.ktj.7j.7 njׄ ĕJ|im< `respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.ktj.7j.7 n(y$gz(zW78[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.ktj.7j.7 nhz: E ˜s ș_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.ktj.7j.7 nᇚ5*jV|Ywn\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.ktj.7j.7 n[pSU㶭5[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.ktj.7j.7 n3bqJ Qt"Zrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.ktj.7j.7 nX +V@GQGhAbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndLocks.ktj.7j.7 n8Nt-tg)espect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.ktj.7j.7 nuRc|Pc#Q5_respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.ktj.7j.7 n%d/c8**n]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.ktj.7j.7 nXG6J;MΐYZr ,Xbrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.ktj.7j.7 n=9vn$D, Z]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.ktj.7j.7 n4w~ 6&ƕarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.ktj.7j.7 nR+`Xx0zC^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.ktj.7j.7 n(ȳo_wch+TM]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.ktj.7j.7 n[r°ZؤC]n?erespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.ktj.7j.7 n~ZZ8:s+irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.ktj.7j.7 nD͖Ǥk\el&}b`irespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.ktj.7j.7 n7ծ@Tyrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.ktj.7j.7 nqOmޝ8﮴vGƢarespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.ktj.7j.7 nn3L/K< %7qrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.ktj.7j.7 nclA8vG&c93lrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.ktj.7j.7 n$^7~Ռ aMjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.ktj.7j.7 nbVH؇v2ʑjrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.ktj.7j.7 nTtLńi jmɲzrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.ktj.7j.7 nJd,Ź_}Yorespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.ktj.7j.7 n%W`\i.;߫Rlrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.ktj.7j.7 n~rdu -ñ{Ószrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.ktj.7j.7 n ɮ^8.pkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.ktj.7j.7 nQ@렽 oC8.Serespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.ktj.7j.7 nWCmV0Ao:crespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.ktj.7j.7 nQW","S+=rrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.ktj.7j.7 nŜT\{+Rxudkrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.ktj.7j.7 n󈻄ԙj.l<^_=krespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.ktj.7j.7 nm%фPOV< drespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.ktj.7j.7 n}:0P3$4Lirespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.ktj=zj=z nڙBQsTo#Vrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.ktj=zj=z nN훕0-$8?a`respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.ktj=zj=z n`0^, S*zZHXrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.ktj=zj=z ny UmW&FB^orespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.ktjLIjLI nWԜգd\^respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.ktjLIjLI nZnb8w`{;P"vpZrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.ktjLIjLI n:,*D-&RH]grespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.ktjLIjLI n ݱ58~ 6WM1&]respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.ktjLIjLI n&(iDX8Q0\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.ktjLIjLI n䃔i7_C Aѧ[respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.ktjLIjLI n[aY)ˈ^gOQVrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.ktjLIjLI n ,++LpÛH\respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.ktjLIjLI n$ɍb#D=Trespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.ktjLIjLI n Mg'20 DSOrespect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LruMap.ktjLIjLI n /B$0jɺ*fHD=͎Rrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.ktjLIjLI n7qG-RB |ԱZQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.ktjLIjLI n\xraBȪ6LSkrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.ktjLIjLI n:`q.5rrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.ktjLIjLI nfo{H%C!79<`Urespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.ktjLIjLI n5c6^q=LƦMQrespect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.ktjLIjLI opln$9!@R F vKrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.ktjLIjLI oMBXKG= ޟmRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.ktjLIjLI o 3 aޱuQVrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.ktjLIjLI o g{ ʹGœCIjrrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.ktjLIjLI o ̛ɦd 3ޤ;BWqrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.ktjLIjLI o /XDc>-7MƵ6urespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.ktj[j[ o >$vBbCaI)s2d]rrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.ktj[j[ oDh1%:<\Xmrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.ktj[j[ o[6[k>Э<crespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.ktj[j[ o,u)\h[[6Xrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.ktj[j[ oQ](!b'ETWUYdrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.ktj[j[ oAwΈ41Y+#Tc<$karespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.ktj[j[ o ,P6xߝMi#b2 Yrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.ktj[j[ o]]Tw%qugRrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.ktj[j[ o֒D" J)DZP9SU\Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.ktj[j[ o&[̢RNtOYrespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.ktj[j[ o (h.aL Pr&Srespect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.ktj[j[ o v znϫk՞"lfj~xArespect-lib-cache/src/jvmTest/resources/childrens-literature.epubjk@jk@ o#Y9WZ{[E==ÅGrespect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.oggjk@jk@ o$L7_\ulh=NGrespect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.pngjk@jk@ o%]M yyS:Q@p respect-lib-ihttp-core/README.mdj8j8 o/CDKmq{PEd'respect-lib-ihttp-core/build.gradle.ktsj8j8 o7k04̬j&_f<Vrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.ktj8j8 o?4k۱Ij <tTrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.ktj8j8 o@➌[5c6z Prespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.ktj8j8 oAL$Z6Jw)m~BI^Srespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.ktj8j8 oCo;v~yث:o_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.ktj8j8 oD` 2*ɽv/]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.ktj8j8 oEɺhw_l*!ax)]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.ktj8j8 oF#h"(QC#-Yrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.ktj8j8 oGTP+WxaT"%Z`>Z9\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.ktj8j8 oHAX+¯9M,]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.ktj8j8 oIœ3>7)Wh8Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.ktj8j8 oJ?-+J)W-Q R]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.ktj8j8 oK=b+psDiarespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.ktj8j8 oLA4ȏz^-7mǮcrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.ktj8j8 oM Cfz͂g$ˁ_respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.ktj8j8 oN9EL z.k M}[respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.ktj8j8 oP( 'o]j?xL7\hrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.ktj8j8 oR_&D(NƾT]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.ktj8j8 oSE2!j :p[$Zrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.ktj8j8 oT%^ғZ`A 3+iFkfrespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.ktj8j8 oUS=ĕ (8ozprespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.ktj8j8 oVM&s9frespect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.ktj8j8 oW$ ԱoZ8@C \respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.ktj8j8 oYYW^ \54cwFe*`respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.ktj8j8 oZ>-p $\<%j+z`v\respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.ktjtjt o[s0[an3d]respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.ktjtjt ob {`Lv<~ )EľqUrespect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.ktjtjt oi2.m‚S RԵWrespect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.ktjtjt okB*18LyqzK}&respect-lib-ihttp-iostreams/.gitignorejtjt olZ% -blzmm%respect-lib-ihttp-iostreams/README.mdjtjt oma5Y {I7^,respect-lib-ihttp-iostreams/build.gradle.ktsjtjt ou恿\\#SAMarespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.ktjtjt ovHAZ9f`:/{7'erespect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.ktjtjt oxB*18LyqzK}&respect-lib-ihttp-nanohttpd/.gitignorejtjt oy5JU6 rlmXƪLZ,respect-lib-ihttp-nanohttpd/build.gradle.ktsjtjt o 7䊓š@aG\lrespect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.ktjtjt ozkAJ! `ƔL*G]respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.ktjIjI o?W| 8ڋ b|Vrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.ktjIjI ok8o?K;$Vrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.ktjIjI o0iZz@Xż\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.ktjIjI o͕֮y@Ho'ΘA _respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.ktjIjI o%m#`_pNBs:Wrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.ktjIjI oorPHFfkberespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.ktjIjI o2xb򫟙N̈́ʦ֌ZXrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.ktjIjI o÷;ua3>:&KObrespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.ktjIjI o\#c$rw*krespect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.ktjIjI o %:9~ww/"zI0\respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.ktjIjI or4sH'0zG 88[respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.ktjj o_;>40OC*respect-lib-primarykeygen/build.gradle.ktsjj o 9X竭}jrespect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.ktjj o].+-+ԉ+K&zFҼ_arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.ktjj o2圙D,DZifrespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.ktjj o,x@͞Bdγ Jrl}arespect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.ktjj o> O f0Ҽ>C3brespect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.ktjj obނR\!2gx\k krespect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.ktjj o59c(-G$]kv!respect-lib-serializers/README.mdjj o FZ)@ ,\=K(respect-lib-serializers/build.gradle.ktsj(j( oI@ 6Y_irespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.ktj(j( oӮס K;}5ܘw6/grespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.ktj(j( o ]ٳp|Rn'?brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.ktj(j( o|Xfk"U υtrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.ktj(j( o"rx^RE6]A_VNlcrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.ktj(j( or[u{zղgrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.ktj(j( oi:v'M8Dϙ?Zrespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.ktj(j( o[C&ZNo1/brespect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.ktj(j( o#X`E23 o#respect-lib-shared-se/README.mdj(j( o`_;63*5^ &respect-lib-shared-se/build.gradle.ktsj(j( o",TSfd\l֔2respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.ktj(j( oͱF^WY(PԤrespect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.ktj(j( o͠ 0ĕs}#respect-lib-shared/build.gradle.ktsjcjc o*H+=XQܢ35respect-lib-shared/src/androidMain/assets/aaguid.jsonjcjc pn(Tj׆BhI^oKrespect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.ktjcjc p_^-Ea G.urespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.ktjcjc p1w%o #([6wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.ktjcjc p XeѨ>T:dzn9.is2o^rrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.ktjcjc p=I2%s 2!dPsrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.ktjcjc pS3ArfElU jirrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.ktjcjc ph `A u}\v&nrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.ktjcjc p bT0/or|:l;jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.ktjcjc p#v!%cw c7[!respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.ktjcjc pzQ>:frespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.ktjcjc pvECJu{# Uvrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.ktjcjc pAVED*-&elrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.ktjcjc pq_ N;7<".#gurespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.ktjcjc pH>s5p(߼)1l%mrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.ktjRjR p l 2 IIϲ'grespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.ktjRjR p"$蕒^6`V1mrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.ktjRjR p#xE v-,torespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.ktjRjR p%V$ԂWCS%ȀvqIsjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.ktjRjR p&_[6'p76p;rKhrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.ktjRjR p'z#u+PlS2jrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.ktjRjR p)OMU<=ЯcL1Qjrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.ktjRjR p*L4UI *p^Bkrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.ktjRjR p+ Ty?p}WM{ wrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.ktjRjR p-ԙٿY4p7U~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.ktjRjR p.׻_!^)FH'~respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.ktjRjR p0YɪlEPK' ;+L2erespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.ktjRjR p1^ra4AK(?ߺI9*cdrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.ktjRjR p2MPRBJ66·;drespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.ktjRjR p3{>NQ+|Xrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.ktjRjR p5֧ʡ-ޙ0H!'MURrespect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.ktjRjR p8GH!M3G}'`%i`Krespect-lib-shared/src/androidMain/resources/directories/default.propertiesjRjR p<(˼yjnUrespect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xmljRjR p=@EAyq.nHrespect-lib-shared/src/commonMain/composeResources/drawable/copycode.pngjj p>(yT{(Jwu> 4;),Erespect-lib-shared/src/commonMain/composeResources/drawable/empty.pngjj p?g_3WCbQBKrespect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.pngjj p@!$J-Nnaz]tXrespect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xmlj j  pBwbn(qQiMFY#gErespect-lib-shared/src/commonMain/composeResources/values/strings.xmlj j  pF3zȾCQȚz7$\}/Crespect-lib-shared/src/commonMain/kotlin/world/respect/Constants.ktj j  pGFjL)-5؂hBrespect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.ktj j  pHf뚰 c0N!t FBrespect-lib-shared/src/commonMain/kotlin/world/respect/Platform.ktj j  pKqq.מq\C[b#hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.ktj j  pNmq!Oab~v kycrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.ktj j  pOCB2huz˧|\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.ktj j  pP"SC4GYIG^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.ktj j  pQ0:jxw63r5JFerespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.ktj j  pR*q\dS ˛smrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.ktj j  pSBT;q~aC:]b^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.ktj j  pTC0|: grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.ktj j  pUJȥd &oE)6lcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.ktj j  pW]v9:&K)=SL?respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.ktj j  pX4 h.Vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.ktj j  pZ#Bq7 584+mClrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.ktj j  p[:2TbSK rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.ktj j  p]]՛i̎D2TNq)respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.ktj j  p^^G֓t2C1respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.ktj j  p`)T0_#{respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.ktj j  pa`*B;?f-1tjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.ktj j  pb?;dnxoHS|lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.ktj j  pc%@g"e'Ĉ^krespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.ktj j  pdԆ' ㋢|qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.ktj j  pev1V|fG@? ?bHjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/InviteRecipientType.ktj j  pf!~GD!5>}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.ktj Rj R p|?:'-9<gYrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.ktj Rj R ppDŵ)ޱZ1.yrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.ktj Rj R py \Ju&ګxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.ktj Rj R pїf]ﮘd vCc{Turespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.ktj Rj R pS^^3߁ۑvIorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.ktj Rj R p"wSb>:cIfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.ktj Rj R p|%:2{[&'LQkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.ktj Rj R pΙ^BghhLAfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.ktj "[j "[ p<d-* Q4jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.ktj "[j "[ p/ye\Ot/T,hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.ktj "[j "[ pieko2ןTnG[h&hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.ktj "[j "[ p׸]CUCicrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.ktj "[j "[ pOl^}~xjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.ktj "[j "[ p8QMr>xN?erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.ktj "[j "[ p @,;K8@[0KJfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.ktj "[j "[ pRKS||%=&hGfFbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.ktj "[j "[ p rb0´brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.ktj "[j "[ pu)F53K{frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.ktj "[j "[ p s{=8[fNvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.ktj "[j "[ p$g,ܸ Wzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.ktj "[j "[ pRx9(㖒%1@"a6vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.ktj "[j "[ pHնl3%VJ "g~respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.ktj "[j "[ p|<7*K7.fwrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.ktj "[j "[ p29; 4\=ar>>nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.ktj "[j "[ p6~2W`35Vdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.ktj "[j "[ pZl<9a qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.ktj 1j 1 p]譢^Mc40etgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.ktj 1j 1 pO1H⽀ńxn`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.ktj 1j 1 p8']Zxdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.ktj 1j 1 p-EE 6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.ktj 1j 1 p Ţ[L0D;jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.ktj 1j 1 pS4< 0Ylrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.ktj 1j 1 pH[e[Wgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.ktj 1j 1 p065p!lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.ktj 1j 1 p Y;=+,BNl*/trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.ktj 1j 1 pĴ2Zkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.ktj 1j 1 p>OELLD~zorespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.ktj 1j 1 pib~.#n=+na:mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.ktj 1j 1 p"=r}Nh6grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.ktj 1j 1 pz!sQ+Tg mqrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.ktj 1j 1 p rތ[IGV<hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.ktj 1j 1 p M#}L, Ue5,hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.ktj 1j 1 pmDv}%k&*ʊ,hrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.ktj 1j 1 p;D%P=+frespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.ktj 1j 1 pD͍6?g պQhrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.ktj 1j 1 p2ݙ:7Fcrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.ktj @j @ pSЁq]'|NYb8(Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.ktj @j @ pk]-/,TTrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.ktj @j @ pZ6&{쭜Rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.ktj @j @ p>2t̑Iu6ξRrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.ktj @j @ p= ʈ@nVaڥ[jUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.ktj @j @ p8.|zN6fa0P9 [respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.ktj @j @ p>\D(20 @) arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.ktj @j @ plvٕǟdA-ƆXtLrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.ktj @j @ p]IX\ Q,ŮWFeqWyUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.ktj @j @ pel8w?$s^brespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.ktj @j @ prt/GDCPhRVrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.ktj @j @ pCCoo1 [ѡԼUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.ktj @j @ peIx^g݃0hʃ ]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.ktj @j @ qXKrC(x?x'C4Q`respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.ktj @j @ q2v3h/<+arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.ktj @j @ q gKL{Pb Ѽ[vgrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.ktj @j @ q\g`Җm4 /_respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.ktj @j @ qnp@ }bQrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.ktj @j @ q#{-CMd 4˝@%SXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.ktj @j @ q<U>8BRtWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.ktj P"Aj P"A q =WgRAU v;6Trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.ktj P"Aj P"A q 6)j2aQAEUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.ktj P"Aj P"A q @p 0nb1&ž*Srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.ktj P"Aj P"A q lq CY%`S-8qY\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.ktj P"Aj P"A q c׳c)i)~[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.ktj P"Aj P"A qYKm{/"lI[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.ktj P"Aj P"A qM^ν3W8GvA<Urespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.ktj P"Aj P"A qdepFOrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.ktj P"Aj P"A q⎜'X0@^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.ktj P"Aj P"A q[S̀@f.5rWfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.ktj P"Aj P"A q~r5ua a{5"drespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.ktj P"Aj P"A q:fGRò?WVA(crespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.ktj P"Aj P"A qgI?\zT{]:;*NWrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.ktj P"Aj P"A qL腌Dxijjs6_respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.ktj P"Aj P"A q7C[_^vչESrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.ktj P"Aj P"A q$s 5yUrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.ktj P"Aj P"A q hYb&(Kp\respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.ktj P"Aj P"A q f7b>]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.ktj P"Aj P"A q nbZl49[:MC^respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.ktj P"Aj P"A q!z jK n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.ktj P"Aj P"A q"+q mmcf;i5JXrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.ktj P"Aj P"A q#Zgޘ^VͨZכkPT7[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.ktj P"Aj P"A q$Yg7)/qQ6MSrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.ktj P"Aj P"A q%L!M5W#$}@P]n[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.ktj P"Aj P"A q&lN1u.-=n* Nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.ktj P"Aj P"A q(##l$YϙpMi[respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.ktj P"Aj P"A q*j+h<92 srespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.ktj P"Aj P"A q-O`:3-ڑ'֗]nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.ktj P"Aj P"A q.22.=.D|grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.ktj P"Aj P"A q/_[u: ْYqXdrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.ktj P"Aj P"A q0INjЛj CAkrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.ktj P"Aj P"A q1u9x{N+u-1Ddrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.ktj P"Aj P"A q2TlJ@qbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.ktj P"Aj P"A q3L>.Γ7]ac)e#erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/DisplayString.ktj P"Aj P"A q4 Lt1)O.١+Ulrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.ktj _d}j _d} q5~9!f4FU0Xbrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.ktj _d}j _d} q6=ˇ~]SD Tfrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.ktj _d}j _d} q7Ʌ\?+6]respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.ktj _d}j _d} q8~"\ǸWG?SMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.ktj _d}j _d} q9) tL 0G~`nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.ktj _d}j _d} q</E4 `^ jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.ktj _d}j _d} q> ^hCCk/Y)ؙ0lrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.ktj _d}j _d} q@_3@c+2wmrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.ktj _d}j _d} qB @z'n ¸յMd^erespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.ktj _d}j _d} qEzؓRD$oФ8|΅vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.ktj _d}j _d} qG+w"4~J/V+&rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.ktj _d}j _d} qI wD-U㜠ES@rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.ktj nj n qL>>zrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.ktj }j } qfR`OiČ 'nvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.ktj }j } qi)Q6,`w#˕xrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.ktj }j } qk0﫥x8Ul.,_Vvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.ktj }j } qm +![tP@cEq~respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.ktj }j } qo4пv?Oz(7`Mzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.ktj }j } qq2< P*I9=trespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.ktj }j } qsٹwU)?}respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.ktj }j } qu)RL:VxL*OMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.ktj }j } qw`hj)"hswrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.ktj }j } qy&iZT>>=respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.ktj }j } q{)/~7OQ^0mrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.ktj }j } q}cK#yRT t;!Fzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/selectaccount/SelectAccountViewModel.ktj }j } q.˟>_q"` |Hsrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.ktj }j } q "\"jWC=qrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.ktj +1j +1 qWT|}.respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.ktj +1j +1 q ӫ &`N]b?oMrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.ktj +1j +1 qCAgyR*Y35Eirespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.ktj +1j +1 qiW*ĺd4ͻﶼPxrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.ktj +1j +1 qjl^)65&Yrrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.ktj +1j +1 qgu&V*(i|nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.ktj +1j +1 qE06^˪nD{jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.ktj +1j +1 q+O~b0@Ε.z;Litrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.ktj +1j +1 q(E^.bLjvygjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.ktj +1j +1 q8/i vtvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.ktj +1j +1 q퉙 XFy:WΘ~rrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.ktj +1j +1 q /q>&X)arHjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.ktj +1j +1 q+FӢ:grespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.ktj +1j +1 q'ao' C#ЋkX@<.5respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.ktj mmj mm qM GQ7&g"arespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.ktj mmj mm qx.%򎫊nrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.ktj mmj mm q8yL!b` cMjrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.ktj mmj mm qAK*)m}<_ajvrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.ktj mmj mm q Q\H˙iAkWwzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.ktj mmj mm qhۗʆH\njurespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.ktj mmj mm q 3-{[vrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.ktj mmj mm q3@;䆵ézT42jrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.ktj mmj mm qbˈz/NM=& srrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.ktj mmj mm qã &h#RÍ`vzrespect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.ktj mmj mm q o| OY*O|fˎhrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidationMessageExt.ktj j qTW.oϪhk'qKfrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/AsYouTypeFormatterJvm.ktj j q_Է lK9Bq.O`jrespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCaseJvm.ktj j qu;e`&erespect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorJvm.ktj j q_ N9;_respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberJvm.ktj j q&/ Ş5b_ݹƯEb;prespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/index.jsonj j r@D(vz*sf¦grespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_no_resources_in_manifest/app.htmlj j rA K}}hL4K+Norespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_no_resources_in_manifest/appmanifest.jsonj j rC/WAw4_9qrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_no_resources_in_manifest/grade1/grade1.jsonj!=j!= rEY9WZ{[E==Åyrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_no_resources_in_manifest/grade1/lesson001/audio.oggj!=j!= rFL7_\ulh=Nyrespect-lib-shared/src/jvmTest/resources/world/respect/validator/case_no_resources_in_manifest/grade1/lesson001/cover.pngj!=j!= rG]M <]&;}UKrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ListExt.ktj!5j!5 rz{l$D4.o.9< Prespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/RandomString.ktj!5j!5 r{9>G}jT{!Mrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/StringExt.ktj!5j!5 r|  3%=JmCLPrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/ThrowableExt.ktj!5j!5 r}ȫW0: Jrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/UrlExt.ktj!5j!5 ri$"_d~J?͞Wrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/ConcurrentSafeList.ktj!5j!5 rcp2]ϺJ+ (\respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/PutDebugCrashCustomData.ktj!5j!5 rпo׵%ebظjrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.ktj!5j!5 r1Y69bZM"9arespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.ktj!5j!5 r]x2ػnzG@Vrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/LocalDateExt.ktj!5j!5 r16Go65lowl Hzexdrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/LocalDateInCurrentTimeZone.ktj!5j!5 rv;/w=mbRMu_^ aOWrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/TimeConstants.ktj!5j!5 rO.(D<άm֒l7xVrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/TimeInMillis.ktj!5j!5 r"@Tuː?|w[Yrespect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/time/UtcStartOfToday.ktj!5j!5 r`@.n$FN D:Irespect-lib-util/src/jvmMain/kotlin/world/respect/libutil/FindFreePort.ktj!5j!5 r.rCI4M߀M̪]Xrespect-lib-util/src/jvmMain/kotlin/world/respect/libutil/util/ConcurrentSafeList.jvm.ktj!5j!5 ra P I []respect-lib-util/src/jvmMain/kotlin/world/respect/libutil/util/PutDebugCrashCustomData.jvm.ktj!5j!5 ry/*4, y4úWrespect-lib-util/src/jvmMain/kotlin/world/respect/libutil/util/time/TimeInMillis.jvm.ktj!DEj!DE r OF(CcQWz UOrespect-lib-util/src/jvmTest/kotlin/world/respect/libutil/ext/UrlResolveTest.ktj!DEj!DE rc&!;NOL#respect-lib-xxhash/build.gradle.ktsj!DEj!DE rs;F7֓5|owNrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/XXHasher64.ktj!DEj!DE rl2R*']!&ЃUrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/XXHasher64Factory.ktj!DEj!DE r?N1IR)t_Ne &kRrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/XXStringHasher.ktj!DEj!DE r}AN0{Ǹd|~_respect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/jvmimpl/XXHasher64CommonJvm.ktj!DEj!DE rt1Ҕg\]50Ïfrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/jvmimpl/XXHasher64FactoryCommonJvm.ktj!DEj!DE rS%ڨIِ R1Fgrespect-lib-xxhash/src/commonMain/kotlin/world/respect/libxxhash/jvmimpl/XXStringHasherCommonJvmImpl.ktj!DEj!DE r/KbLD A Dbrespect-server/.gitignorej!DEj!DE rZXOM708+0UN]xrespect-server/README.mdj!DEj!DE r ` :p5K#6.E HN5respect-server/build.gradle.ktsj!DEj!DE r,> W`ȏL16respect-server/src/dist/systemd/respect-server.servicej!DEj!DE rs sŻ^0ԟ"-aCrespect-server/src/main/kotlin/world/respect/server/AppConfigExt.ktj!DEj!DE r,k_7l[(9![Brespect-server/src/main/kotlin/world/respect/server/Application.ktj!DEj!DE r9䐪D89S,Grespect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.ktj!DEj!DE r|ɡM`|jKCrespect-server/src/main/kotlin/world/respect/server/SchoolConfig.ktj!DEj!DE r?lO{$kt=SߎPrespect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.ktj!DEj!DE rx&jt]:Drespect-server/src/main/kotlin/world/respect/server/ServerAppMain.ktj!DEj!DE r@ܷ3G? @\HGrespect-server/src/main/kotlin/world/respect/server/ServerKoinModule.ktj!DEj!DE r⛲CK)wZS_respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.ktj!S9j!S9 rk{#,%tg8~h`respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.ktj!S9j!S9 ryZ^#^:%A]}C&nrespect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.ktj!S9j!S9 r/r3Yj~Ye R0respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.ktj!S9j!S9 r оYaR8Yrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.ktj!S9j!S9 rvkh%cPo怉Rjrespect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.ktj!S9j!S9 r~)i**_1;!zabrespect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.ktj!S9j!S9 rzef:q]d.ltrespect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.ktj!S9j!S9 r YpM ueQF1Mrespect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.ktj!S9j!S9 r:onPubjC{|oGrespect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.ktj!S9j!S9 r-{>l2v)F |Yrespect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.ktj!S9j!S9 r?q_respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.ktj!S9j!S9 r,|[l$FNK\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AssignmentRoute.ktj!S9j!S9 r_5:Z}9讹{Wrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.ktj!S9j!S9 r#x; A>5$E\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.ktj!S9j!S9 r[wrGH\:!>%2^respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.ktj!S9j!S9 rhywg8L j;9\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.ktj!S9j!S9 r ߰F2)zL)pLXrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.ktj!S9j!S9 r)ak ?R9ܤi_respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.ktj!S9j!S9 rصu1^`respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.ktj!S9j!S9 r"D |Ϫ4MXYwXrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.ktj!S9j!S9 r@T#p+3SKuZrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.ktj!S9j!S9 r>c pAJp";4jrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteExistingUserRoute.ktj!S9j!S9 r8!`N⒨u^respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.ktj!S9j!S9 rd [ҙV"\RFr, [respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.ktj!buj!bu rx;۵lqDne\respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.ktj!buj!bu r~}< 1L$+eugrespect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.ktj!buj!bu r 14̫J)L^drespect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.ktj!buj!bu rVĠz)1{brespect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.ktj!buj!bu rrCan%0k&^respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.ktj!buj!bu r{R{ S%ʥ=NrOsrespect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.ktj!buj!bu r& J" gޢ(sXrespect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.ktj!buj!bu r;O}szOuRrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.ktj!buj!bu rS)  W|Urespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.ktj!buj!bu ro@Ij0pjVrespect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.ktj!buj!bu rxْߛÄFSrespect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.ktj!buj!bu ri)ge8pwy\Mrespect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.ktj!buj!bu rD;&b=-B˃m2respect-server/src/main/resources/application.confj!buj!bu r? ޕҺ׼kG^;respect-server/src/main/resources/http/respect-ds/base.jsonj!buj!bu sD(vz*sf¦Erespect-server/src/main/resources/http/respect-ds/case_valid/app.htmlj!buj!bu sC3gm#X>qxMrespect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.jsonj!buj!bu s*xFGOgbl+TTOrespect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.jsonj!r j!r sY9WZ{[E==ÅWrespect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/audio.oggj!r j!r sL7_\ulh=NWrespect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.pngj!r j!r s]M respect-server/src/main/resources/http/respect-ds/chimple.jsonj!Nj!N scz P)9GD 40Y?-respect-server/src/main/resources/logback.xmlj!Nj!N s\D va޸6respect-server/src/main/resources/openapi/openapi.yamlj!Nj!N sO@KzhJ'Ig8)respect-server/well-known/assetlinks.jsonj!Nj!N s4r8r~>I 'Qn5csettings.gradle.ktsj!Nj!N sW>KǙ,j#E+POJ0write-jenkins-build-info.shTREEi1423 26 D{>L*&ܮ:.fleet1 0 G;ܼ,yʙHe)Tgradle4 1 >H(bkS{_]Zwrapper2 0 oꙭۆzWy5Zo.github5 1 j5Қ(~"V*zZUISSUE_TEMPLATE5 0 ,70؆&߸"(.maestro58 3 B yFy$ae\TLYflows37 3 qnc-s5ߞiX9 B8scripts3 0 z, V̾subflows22 0 ]^-% +Rϑgflows-disabled1 0 NW 5' _I>Jflow-passkey11 2 s361Uo\Ywscripts3 0 At J\m!subflows7 0 GlwqVb܃Mu3PWzvideo-downloader9 1 ,@ڌ`nvX~aFϓcypress4 3 NFK7Xa(M2main1 1 :KamOQ,6java1 1 k;+uT0k@world1 1 IACVSw`N=fۺrespect1 1 9YY%zm8clitools1 0 "Ʋl~ G"V2`respect-lib-test3 1 jWj'ًעsrc1 1 ;uxt{A/}:t⊖jvmMain1 1 g6^n\fG4kotlin1 1 a]m]5gUΣfyworld1 1 (]z|JM]Rrespect1 1 :  %`-Cl lib1 1 nܝ[P2s>ydH-test1 1 ًo.V63clientservertest1 0 ?- G-eSqrespect-lib-util24 1 fHT251oTsrc23 4 {/bB|ũYAѣ$vjvmMain4 1 ]!}\dkotlin4 1 pݨ|U:CuRLBgworld4 1 k D#@q(Xrespect4 1 a>N@pz_libutil4 1 KlU@{iI t>„Nutil3 1 ]cض5+0LŶfDCŴm,kotlin1 1 \ZT9UMworld1 1 oy 0L}tpʏrespect1 1 # ݯ=Nl"Yblibutil1 1 ֿ;*qyq&=+iPWext1 0 wR.Ao5;bcommonMain15 1 no.O^o0V-kotlin15 1 L!|w(world15 1 Yk ;S;world3 1 Beiwd I2respect3 1 ;re[xȲ;U ^s#,libutil3 1 )p 6k-)util3 1 ^|GĽ-+Τtime1 0 mY B;FUrespect-datalayer166 1 zEUS[`Wq`dsrc162 2 aeݟ)GF6]eNcommonMain161 1 MO_1c"K &kotlin161 1 jyLr]1h*world161 1 f ? ?`respect161 1 mϹ6{] ON.*datalayer161 9 #{0tG\L!h'ext6 0 P$ANBaKuV[school87 6 qlRa7^$b Zext7 0 /v(\p1mopds7 1 鳡{DOJ7HDھext3 0 uFnTLسmodel36 2 @%N0?report6 0 ÷ K1tqHXd Yscomposites1 0 OjxXD6Qdomain5 0 0=(铨~j|5adapters2 0 + 5|d-ym놼\writequeue4 0 `KiÑzshared22 3 P3[fA:Ƿc =>paging12 0 2kVaB& uRparams2 0 U@}fJs˫pullsync1 0 '$˵LI~respect6 1 xcdiF1oZumodel5 1 E 7s 3{oG;invite2 0 i'mQd!oneroster18 2 {IzZT+Simodel17 0 3{iGꢐW! composites1 0 Xj쯛n^1Z"#exceptions2 0 je?c|7`&aJgRc dgcom107 1 `od&\Yustadmobile107 1 [g-*!#Ӫ"+8libcache107 16 /q%/v F`=logging2 0 l.Y]H0cfCpartial2 0 '§ {VD~response6 0 TAF"#i bKintegrity1 0 ٫#*ӧdownloader9 0 H~MY :٠Kdistributed11 2 WqE> /I'!(@http1 0 ٓj}IartGFTmodel6 0 cۯf`~cachecontrol9 0 |)@. @EQconnectivitymonitor1 0 ȵ!& 4[>q|androidMain14 1 w g^_ɂkotlin13 1 ÆgưG%6rTcom13 1 hΎ⦋{ޮm69ustadmobile13 1 eZ{R 'i> c΅libcache13 6 ͍iؾp˸Wyةmd52 0 oA6h,sdkTAbase641 0 Ԗp?9El] webview1 0 [˴%uw4#3\downloader5 0 .xlMzZx"+pdistributed2 0 0Ya9Iv%C+݈connectivitymonitor1 0 v$&Jw.@schemas1 1 kjqu jԼFcom.ustadmobile.libcache.db.UstadCacheDb1 0 n,h&Λrespect-lib-shared374 1 k*+2!rA+лsrc373 5 Q B~l4W?htwjvmMain35 2 D?'%[2K<*ckotlin32 1 ݺ[ {2D28world32 1 _7VRVL1NTrespect32 1 W&]jp-=shared31 3 &B&X>F{ u\Vdi1 0 G E +[^ futil4 0 蠗c^=ӊdomain26 6 ԰&TRopds6 1 yNA1p9(B{svalidator6 0 ܔOKI Bqaccount10 5 Rkq ҕsU(Q1child1 0 bb 1vFn3/s;invite3 0 WK-wM_a Hvpasskey4 0 ƕ"=]Kiӳvalidateauth1 0 `D$#?BWaauthwithpassword1 0 ,o UʍxpFgKvalidator3 0 `MR,~hh"getfavicons1 0 ~1+*bgi!rphonenumber5 0 SN\JvB+󟺲respectappmanifest1 1 ?s;Yz& rvalidator1 0 pn{\We,\ݔresources3 1 B|u2@+Lworld2 1 ZHe)*i a⛁respect2 1 —jHEtdomain2 1 %FUyyr\validator2 0 8Ox[1RjvmTest48 2 Z UB(b:8[i$kotlin12 1 Vlv RϷE?={X: world12 1 &#ґF&赋0zrespect12 3 Vz(Q^ޥ $+domain6 5 },Q*Xq'ϊוschool1 1 S34Jadd1 0 =7DFGh',z`account1 1 ;kBC.x#Ǝxpasskey1 0 vuH tm[Yvalidator2 0 ʌa&h^Enavigation1 1  ͧ7TX-ؕdeeplink1 0 "!%Ϲqbvalidateemail1 0 ~lFAҩfPshared3 2 &AοDXodutil2 1 Cn qq5di2 0 +<}uf2n RKwZdomain1 1 +}util29 3 ^xHĕ|h 0[+.di3 0 Ө]T ~ext12 0 Z"$/&쑆ǥyexception1 0 g &fFCbdomain111 26 h.?g7?oopds1 1 s9Jh:Nvalidator1 0 3/h"鋵j< report12 4 ؇mRr{j|ext1 0 Stֆ>,u6imodel1 0 !*]"^query4 0 :醼èfפyZ8Zaformatter6 0 fu~h\t1 Asschool5 1 R?}\(ʎ5 zWadd1 0 ^PC.樺3LOaccount47 11 nQ[y(q%tOnIchild2 0  muN@,LLinvite12 0 l@D"֬jsignup1 0 k߶e|lu5B passkey9 0 tS >J^8_username6 3 LaϠAWDc>Z7filterusername1 0 ӷ`wbqk϶validateusername1 0 LZvT92w,wwGmodel2 0 /T@c}%0vpihbiometric1 0 *]L{4:3FNclipboard1 0 ^>d>Ըj :@Alaunchapp1 0 ^:UΥ>apn|-sharelink3 0 cSGW{[/validator6 0 j,VVUQpcreatelink1 0 ;ݖ!&/PIΦbnavigation7 5 o}Gۡ|j؅deeplink3 0 SHYCF4+3,s> deferreddeeplink1 0 )If54U {bݺ"`onaccountcreated1 0 +ޭ,.nemμkLinviteforexistingusernavigation1 0 瀉vc2krmonboarding1 0 a,ESy4eəWV@createclass1 0 ?먯r6Y#Ngetfavicons1 0 px؉h|I'getwarnings1 0 ξj7݂(WljOpermissions1 0 ihpr)J)phonenumber6 0 9U JqDfuqDgetdeviceinfo2 0 eC!#窛 +ۨϸvalidateemail1 0 Yu_9$Ufappversioninfo1 0 ^~!_z+6ousagereporting2 0 ]B0+mR?urltonavcommand1 0 pT2ucrespectappmanifest1 1 XukUրkA%@model1 0 04}0qU|V Zdirectory1 0 Ńh_!ig resources1 0 D 2pviewmodel78 16 L"v/^=Vapp13 1 ;AzKR, W=sappstate13 0 gUCtEapps4 4 X{fB9ۡZ\list1 0  iуB̝sLdetail1 0 .'PBnR#ׂ|N"{#alauncher1 0 8‚@|aS- enterlink1 0 6ĞLn%^clazz3 3 Ft%-4edit1 0 yoƏf&|*Aw%}list1 0 5NASlU0+mnPdetail1 0 $ Dlv^#+e& Hperson11 10 kr.mKbV edit1 0 oc4alist1 0 O )UG i8Udetail1 0 K{7emqrcode1 0 ţNѡ+uD=kcopycode1 0 ]z\(u[4Qpasskeylist1 0 vx,}gR*~inviteperson1 0 gkTaA*Y#@m,manageaccount1 0 :q_h҅ vhZL{;changepassword1 0 Ҝu6eTF͕ɈQ@setusernameandpassword2 0 Lb5+xN9SĵUreport9 5 ;Kn2h>o5ОLedit1 0 _/Zʉ!Tբ6 i+list2 0 Ox-ѼªJ detail1 0 j}L`Xcurriculum6 1 㩶%^IvPmapping6 3 : ^fyOiedit1 0 95 Ƕ+v \list1 0 PO3o!ʄ|?ůmodel3 0 uC|ˁ8"ҁ g enrollment2 2 Ch2WvH)a<~edit1 0 VP|qc_#list1 0 w0Zϣ manageuser15 14 1G>d}login1 0 EdDmzsignup2 0 -n$h #h profile1 0 ~ $5ڳ;!I(getstarted1 0 F[]lC% 7$accountlist1 0 ;SWOaJѾ`$)otheroption1 0 ||;;߇&bacceptinvite1 0 ¯ljhΎv>selectaccount1 0 Ok͖w Hhowpasskeywork1 0 J@=Y<֒hXXenterinvitecode1 0 s߀[ux!otheroptionsignup1 0 ")Lr#vpeTDtermsandcondition1 0 Co$4=AN6waitingforapproval1 0 mV҄KY!enterpasswordsignup1 0 {o:u73FWNvonboarding1 0 k}{ 73iscanqrcode1 0 Lq;cڋݮwlearningunit3 2 6NQ{$,list1 0 1Ib@2list1 0 > Xٷacknowledgement1 0 ּ^zg3X^cOɭschooldirectory3 2 dN Jxvedit1 0 ߰9si\Z-H=B^Llist2 0 c=Ohc^.navigation9 0 oLCqD(#jpresources2 1 *J]38F.Ѯdirectories1 0 ~67\x~uVt9composeResources6 2 !/=kIT{h8jQvalues1 0 Xɴ(T:}$sdrawable5 0 2_-zO^@ek8commonTest7 1 a6D(B" resources7 0 ECsIߙstorage3 0 5=>ˍN\C'ܭ.biometric4 0 AT@Yj;xclipboard1 0  }Hc(launchapp1 0 [6v>U>%navigation2 2 hy.1$GN.deeplink1 0 v>7$wGR"z~ 4I7Dworld6 1 \.PpoHrespect6 1 ϓٙ+7Ced"Ȭlibxxhash6 1 ŃD Ҿ*v~tQĒ?;app110 6 fu IQXƕapp7 0 ݕp] ~۴FMvQuutil7 3 85pN"N'Text2 0 gKdS-Ik^9phonenum4 0 SA}Iscanqrcode1 0 E1 l t+Jview61 15 ҃Al `_h@apps4 4 XsMs7.ᅲDlist1 0 y~{=3̘4^Qo Rldetail1 0 !zE ֋**launcher1 0 d3K^Q+1/^enterlink1 0 v蓻'8[>Hhome1 0 N;{K_ Dtclazz4 3  ϯsK>-Ҿedit1 0 ى1#5dvAb. list1 0 ?%[`detail2 0 h-۵ꇹv]person12 10 _rQn}_edit1 0 FLb=Wccopycode1 0 F>Tk/'=UwpasskeyList1 0 U,@dl啿VJinviteperson1 0 ax,ccpM ;manageaccount1 0 SX96R_~=uڋchangepassword1 0 Q䉟84n'$setusernameandpassword2 0 `[ >report9 6 QC@"˜edit1 0 _iRp_)list2 0 uՂߪ}ːӨ8"graph1 0 `MA,D[ddetail1 0 Qk(B| ͖indicator3 3 g7TtRp."edit1 0 M*xxi?e%detail1 0 >AT+*vca]filteredit1 0 j5<~/a8[:settings1 0 ]0We jҔQassignment3 3 ;G{"'Lbedit1 0 9=~_(?ÖF7XYklist1 0 Ƶ,U=Z detail1 0 i(ޛ)d=ٱh93curriculum2 1 \s/!P mapping2 2 6טD .YvCvot'edit1 0 3/t9OG}g[tlist1 0 cNɤG]$9xgqenrollment2 2 [U8pan7edit1 0 <='/>`olist1 0 7^08{:2V>manageuser16 14 /?800Rmlogin1 0 ' 1!旅qb^-a`œentities7 0 $,ϓ(+J=$ domain3 0 3R X_adapters14 0 }K2$Ji.]entities22 0 #m --_7f':writequeue1 0 ƃ" WYG`xshared13 4 MiFò"Yext3 0 Xey;#ytdaos1 0 ى[ȿ֊*>͐L.Uadapters3 0 -r]AFR< entities3 0 GԍUB[rUo"Hsschooldirectory13 4 A :T9e ext1 0 %ok' %daos4 0 |y~JP[adapters2 0 wE{j @0tC@\xentities4 0 Oh (3RPRB/anetworkvalidation3 2 \%`c!K72daos1 0 ,hK ]V[w2[&entities1 0 +U4/|schemas16 2 ãoBZSa8Mworld.respect.datalayer.db.RespectAppDatabase4 0 5VZ5:캟҇world.respect.datalayer.db.RespectSchoolDatabase12 0 &U] ]ƕrespect2 1 _;FF}ʼnGx_sharedse2 1 p, {}/pM1Udomain2 1 Ҟ^#,KaB"j׍account2 1 >U|0 gauthenticatepassword2 0 /`kKnc"33respect-datalayer-http24 1 ]{+ hw?Ȕsrc21 1 1pD@|%Q|ksMcommonMain21 1 )pl5#0ukotlin21 1 ўn袷fZNO:world21 1 ՟g:Id?Brespect21 1 ]Di41;WFǚKNXdatalayer21 1 + 7>cH . http21 5 A۬dHs6fF@=ext3 0 {TRo S]lHjʴschool13 1 hb鹚I6 {opds2 0 2ͧSm}@C9|SNshared1 1 ^Z.S?4h90paging1 0 h(O=)ʂE!Pheaders1 1 )Rk^.<\F:"directives1 0 {,Z!qK schooldirectory1 0 )鏆!m}respect-lib-ihttp-core32 1 dBc$;Asrc29 4 uZO- xjsMain1 1 ^I2FO[kotlin1 1 r=ϭAPx̽com1 1 LBWk%,>#0:ustadmobile1 1 X;}g;By(ihttp1 1 #dYVy@,sJiext1 0 3OR)nge?$GL jvmMain1 1 mQuA(䯭# 3;vc;headers13 1 %̯'ڑGCG䂳directives1 0 ysn! 1TM Eꆯrequest6 0 [Pkotlin1 1 MEg:潰fKKqcom1 1 =P`Vu6ustadmobile1 1 HY wv~ihttp1 1 '-[=ݫ@jext1 0 c^lvI ށrespect-lib-opds-model20 1 0d?v_hCa$src18 1 'Ҵ:slqLcommonMain18 1 x.Դ]EDGLZFLskotlin18 1 HRM&Id~Oworld18 1 YIkv,Bb respect18 1 OQD+#;P5lib18 1 }W3}GLB4(opds18 1 ڌ JMVs+model18 0 ,a5r"Rʂrespect-lib-serializers10 1 w9h]cMEsrc8 1 nHfWYJ >! (commonMain8 1 -3W{sC-_Qkotlin8 1 C<^h-ZAworld8 1 ~g#`87Z雴respect8 1 ͉Z@B䟳7˴_~lib8 1 躴ԕ&^R~DQ~serializers8 0 v%8N¢%O!|respect-lib-ihttp-okhttp11 1 5ƀմpqi7bsrc7 1 ox5x v7QmcommonMain7 1 ٴakuhiw72?kotlin6 1 q1{]I8}com6 1 %;n4x*ɍustadmobile6 1 =V@}lbJG7\i ihttp6 1 ב[H%3mDokhttp6 3 iǟqe6_Q)headers2 0 L)9:o Z request2 0 D)YLresponse2 0 I20]":=jfarespect-lib-primarykeygen7 1 ؗʡ񔍈.dg isrc6 4 kܭ2L_ՄjvmMain1 1 ] w,U%,5*Ikotlin1 1 ׼->[jGhzkkworld1 1 2v x8u2urespect1 1 H>DAȉK#M9/,_jvmTest1 1 ; xKC[?[kotlin1 1 n8J _oKpworld1 1 cvMprespect1 1 ͠V\-w_Tn-])lib1 1 Kmnڭ?L_]primarykeygen1 0 nYc/9u commonMain3 1 LN_ʺ"K^H{lkotlin3 1 ԛnAE9|4xmworld3 1 uGq)UAHrespect3 1 ׇpH5j'-<~Tlib3 1 #bNZ" primarykeygen3 1 V{r5vMlext1 0 í&~M$^3WandroidMain1 1 ߶nt7GFD•gkotlin1 1 Sߏ2world1 1 q*W ?MFԄrespect1 1 E7nc_'u3zd>alib1 1 ~7g!1v< H:primarykeygen1 0 NV?sv}respect-lib-ihttp-iostreams5 1 ߣAY8bGsrc2 1 >VnS,Xg tvcommonMain2 1 ]IPA`%=`kotlin2 1 h{MhEDO;)eg䏵com2 1 Q,Pʾ]9ustadmobile2 1 Z 3#+afžfUihttp2 1 ܦ7ҸC z2N#uiostreams2 0 OHr^&m6respect-lib-ihttp-nanohttpd4 1 X)1 l_ڷ%8src2 1 L3v 둄qcommonMain2 1 R ce? kotlin2 1 B0Ee! }com2 1 L0 yc΄FOustadmobile2 1 VٽI*t95ihttp2 1 QF7a}å2E nanohttpd2 0 !n($ȋӪH 45]S>respect-datalayer-repository40 1 b@ZVwa꾀%>src37 3 84'TtƖ)H%s#vjvmTest6 2 vN=n2tA#"kڧ dkotlin3 1 @ݝ·#ʤworld3 1 ؚrVU?f8қrespect3 1  ёs]p;ʷdatalayer3 1 jfEnf zQrepository3 2 ۬_smd~"5a\Wopds1 0 R=u,JE@',ҽschool2 0 o~Љ[;Wresources3 1 OѺ=QAzpworld2 1 NE0{*}respect2 1 }[6 datalayer2 1 _xpa/M g;repository2 1 mriքJ'ڮn-9opds2 0 @R0qBJ~kcommonMain24 1 {{ɳO5_p\kotlin24 1 `f5].YJMAworld24 1 ıoaV:rh=w|Vrespect24 1 V96#V)datalayer24 1 vL[tUD&a;Z΁repository24 4 +Fje)Ɂ)Sopds2 0 UtlzR@ّcHgkqkotlin7 1 5qk~L03F T%&[respect7 1 w\ML_$datalayer7 1 Kr -w2z?̚mJb`repository7 1 *1z~T7Sschool7 3 a}*.<% worker2 0 [ZԺtC6A )MRpullsync2 0 ͜NdMHMYRL6writequeue2 0 BFGڝbZeeT[okN^k