!p      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 2=?@AHSVXRw shell-conduit*Used to allow outputting stdout or stderr. shell-conduit,Convert a process or a conduit to a segment. shell-conduitProcess running exception. shell-conduitProcess handles: stdin, stdout, stderr shell-conduit2A pipeable segment. Either a conduit or a process. shell-conduitTry something in a segment. shell-conduitRun a shell command. shell-conduitRun a process command.  shell-conduitRun a segment.  shell-conduit1Fuse two segments (either processes or conduits).  shell-conduitWork on the stream as  values from UTF-8.  shell-conduitLift a conduit into a segment.  shell-conduitLift a conduit into a segment. shell-conduit6Lift a conduit into a segment, which can yield stderr. shell-conduitLift a process into a segment. shell-conduitConvert a conduit to a process. shell-conduit%Sink everything into the two handles. shell-conduitCreate a pipe. shell-conduitFuse two processes. shell-conduitFuse two conduits. shell-conduitFuse a conduit with a process. shell-conduitFuse a process with a conduit. shell-conduitFuse one segment with another.    0NoneU shell-conduit Extract the  values from a segment. shell-conduit Extract the  values from a segment. shell-conduit!Ignore any output from a segment.None,12=>?@AHMVXZ shell-conduit,An exception resulting from a shell command. shell-conduitFor  .  shell-conduitProcess exited with failure.! shell-conduitShell transformer.% shell-conduitIntentionally only handles <. Use normal exception handling to handle usual exceptions. !"#!"# None=?HV^:. shell-conduitCommand line argument.0 shell-conduitProcess return type.2 shell-conduitA variadic process maker.  shell-conduitMake the final conduit.> shell-conduitAccept strings as arguments../012012./Nonea? shell-conduit2Generate top-level names for all binaries in PATH.  shell-conduit6Get a version of the given name available to be bound.  shell-conduit#Get a list of all binaries in PATH.??Nonebv@ shell-conduitHelpful CD command.@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"!      ~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBANone  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO  !"#./012@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~P       !"#$%&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq"rstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQPRRSTTUVVWX*shell-conduit-5.0.0-DmlJ3bjtii74Yp9uinNvU6Data.Conduit.Shell.ProcessData.Conduit.Shell.SegmentsData.Conduit.Shell.TypesData.Conduit.Shell.VariadicData.Conduit.Shell.THData.Conduit.Shell.PATHData.Conduit.ShellToChunktoChunkProcessException ProcessEmptySegmenttrySshellprocrun$|textbytesconduit conduitEither$fMonadIOSegment$fApplicativeSegment$fFunctorSegment$fMonadSegment$fShowProcessException$fExceptionProcessException$fAlternativeSegment$fToSegmentmCreateProcess$fToSegmentmSegment$fToChunkEither$fToChunkByteString$fToSegmentmConduitTstringstextsignoreShellException ShellEmptyShellExitFailureShellT runShellT$fExceptionShellException$fAlternativeConduitT$fApplicativeShellT $fMonadShellT$fFunctorShellT$fMonadThrowShellT$fMonadIOShellT$fMonadTransShellT$fShowShellException$fMonadResourceShellTCmdArg toTextArg ProcessTypesprvariadicProcess$fProcessTypeSegment $fCmdArg[] $fCmdArg[]0 $fCmdArg[]1 $fCmdArg[]2 $fCmdArg[]3 $fCmdArg[]4$fCmdArgByteString$fCmdArgByteString0 $fCmdArgText $fCmdArgText0$fProcessType->generateBinariescdhappyalexcabalghci haddockGhc863runghcghci863ghc863 ghcPkg863haddockghcPkgghc runghc863 unminimizeadduser grubInstallfdformattcptraceroutedbnetplan logrotate updateMimenfnlOsf mklostfound validlocale updateLocalenologinchrootpwckicupkg iptablesApply tcptraceroutegenspreptarcatcpgr pamGetenvuserdelgrpck grubBiosSetup iscsiInamevigrdpkgPreconfigurecppwtcpdump ntpdateDebianvipwusermod grubRebootpamTimestampCheck chgpasswdgrubSetDefault grpunconvsshde4cryptnewusersaddShellgroupadd addgnupghomegennorm2rtcwake traceroutegroupdelrmtvcstimeupdateCaCertificatesrmtTarchmemntpdateupdateGrubGfxpayloadpwconvuseradddelgroupservice iscsistartiscsid pamAuthUpdateiscsiDiscoverytzconfiggenlip6tablesApplydeluser groupmemsvisudoaccessdb grubMkconfigzicntptimecronntpWaitapplygnupgdefaults localeGen updateRcd setvesablank escapesrcgrubMkdevicemapgencmnfilefrag e2freefrag updatePasswdupdateIconCachesgenccodegrpconve4defrag iconvconfigupgradeFromGrubLegacyldattachgroupmodpwunconv mkinitramfs updateGrubuuiddarpd grubProbe readprofilechpasswdaddgroup updateGrub2dpkgReconfigure grubMacbless invokeRcd ntpKeygeniotopntpdarprsyslogdupdateInitramfs removeShellipcs sgSenddiagviewx8664LinuxGnuGccNmpidstatsocat sshImportIdGh sgWriteSamepython2sgucfsudoeditsensibleEditor fio2gnuplotunlzmagetconflzma grubGlueEfiubuntuAdvantage getkeycodes ethstatus sgTimestampelfedittacx8664LinuxGnuStriprgrepgtkUpdateIconCachenmx8664LinuxGnuGccRanlib7python3ischrootsgStpggrubSyslinux2cfg gresourcechcongrubMkstandalonelzmainfo traceroutedbrenicescsiSatl grubMkimagex8664LinuxGnuAstsetuniqnawk linuxVersionbootctlfcCachegrog sgReadLongdebconfSetSelectionssshAgentbsdFromxsubppaddAptRepository fakerootTcptimeoutsgReadBlockLimits aptSortpkgsmakesgReadmawkgpasswdwatchid' pygettext systemdPathvimcatman dirmngrClientcrontabsgMapgrubMkpasswdPbkdf2 debconfShowchardet3lsmemlsipcdugroupsxzmore sgEmcTrespasspwdxpacketBlockStorageDetachfcMatchneqn grubMkfontshowconsolefontlftdbaptMarkntpqpicox8664LinuxGnuGcovstathdranlib systemdCgtopmpstateqnobjcopymtracedpkgBuildpackage scsiStart mtrPacketsgSesMicrocodedpkgParsechangelogminiterm perlthanksucfqplddyeslessechowallrevxzcatx8664pmapargoldupdateMimeDatabasenice icuConfiggroff traceroute6db setkeycodesc89Gccpod2mancpp truncate'x8664LinuxGnuGccsgStartperlbugchattr scsiMandatpkgdatawhoamisudo gccRanlib7ntpsweepnsenterlspgpot gccRanlibsgmDdpython3JsonpointertsortiopingglibCompileResourcesbsdWritegrubRenderLabelpdb3gcovnmapcpp7odpython36infocmppod2textx8664LinuxGnuCfiltsgRbufgpgvlslocks screendumpsgRawh2phnlpkillgettext xdgUserDirpython27 captoinfoctstatsystemdStdioBridgesystemdDetectVirtsgFormatlocalechrt sgReadcappydoc27x8664LinuxGnuElfeditgrops fakedSysvsgRdacgetopt loadunimaptaskset pngFixItxttest sudoreplay deallocvtmanpathcurlaptCachex8664LinuxGnuGcovDump7dpkgStatoverridedirmngrlook resizepartcalendariconvmesgntptracepython3m libpngConfigprintenvncaltloadnproccpansetledssgCompareAndWrite grubMklayout dpkgSplit grubMountaddpartslogingioxzlessgenfioutmpdumpx8664LinuxGnuGtblgdbustouchdpkgScansourcesdpkgGencontrol sha224sumunattendedUpgradeosProberfcCatdstatpatchwhatisgencatrescanScsiBusshx8664LinuxGnuGccArdbusUpdateActivationEnvironment sgReadBuffer systemdCglsccprintfxzfgrep aptConfig sshKeygenlexgroglocatefindutilsfind' sshKeyscanpython3Jsonpatchgprofi386 gsettingsgccNm7getentx8664LinuxGnuGcovToolsgVpd gcovDump7fcScanscreenc99gcc7lessfilefcQueryresetgenrbpydoc36install catchsegvlcftmuxenc2xs pod2usagedpkgMergechangelogslocate sgResetWpsdiff fakerootSysv python36mgpicb2sum lsbReleasecsplitsotruss timedatectlrtstat sshCopyIdptardiffkbdinfovimtinygtesternping pcreConfig_2to327linuxCheckRemovalx8664LinuxGnuArrenameul setlogcons fcPatternsshArgv0kbxutillinux64gdkPixbufThumbnailer sha256sum unicodeStopsshAddx8664LinuxGnuCpp7xzgrep eatmydatarpcgenx8664LinuxGnuDwpdhBashCompletionsgDdlzgrep sgSatPhyEventsha1sumshufmkfifoptargrepg7dirnameperlfcListsgLunsfioGeneratePlotsdebconfAptProgress psfxtablecorelist cloudInitPer debconfEscapegtbleject sarsysstat libnetcfg fioGenzipfwmakeFirstExistingTargetvmstatcommfromflockpasswdlogger splitfontpython sgOpcodesx8664LinuxGnuNm pyversionslibpng16Config grubMknetdirgeqn chardetect3troff jsonpatchdpkgMaintscriptHelpermapscrnstripsplitlzfgrepfoldshunit2objdump py3versionssginfoloadkeys sgReadAttr moshServergitReceivePack localeChecksgSyncunexpandgcov7migratePubringFromClassicGpgx8664LinuxGnuStrings psfstriptablepinentryCurses jsonschemafreesgpDd sensiblePagerperlivpunshareckbcompgrottysgGetLbaStatussettermbc onAcPowerarchuapagerwhichmandb sgReferralsionicemcookie grubEditenvgccArsgInqlnstat dpkgVendorglibGettextizehexdump sgDecodeSense sshImportIdsgSatReadGplogenvperl5261shredsgWrMode gcovTool7gencnvalicuinfoc99GcceditsftpzdumprouteldebconfCommunicatechfn cifsiostat localectlx8664LinuxGnuGcc7 sgWriteLongtapestatipcmkx8664LinuxGnuObjcopyunattendedUpgradesdpkgCheckbuilddeps traceroute6 gpgWksServerencguesssetsidldgoldpngfixulvimtutorsgSafte jsonpointerlzegrep runMailcaptoe sgGetConfigpicpod2html traceprotopython3JsonschemapinkyroutefgitUploadArchivelsnswritex8664LinuxGnuGccNm7vimdiffxzcmpx8664LinuxGnuG7topldbfdxxdgpgAgentmkModmaprunconvi sgCopyResultsunxzsgZone ec2metadatasgReset grubFstestscsiStoprsyncdiff sgRequestsderbaptAddRepository sha512sumlzless scsiReadyfactorlinuxBootProberwhereispathchkfilangpgconfuuidgenwprocpsx8664LinuxGnuAddr2linetail'updatedbfindutilscksumlinux32grubMenulst2cfgexpdbsnicec2hsdpkgGensymbols instmodshpinentry cloudInitsystemdResolvemd5sum gdbusCodegenprint'lzdiffwgetx8664LinuxGnuReadelfx8664LinuxGnuCppupdatedb dpkgSource traceprotodbenvsubst hostnamectlsystemdAnalyzesntpx8664LinuxGnuPkgConfig sgWriteBuffer dircolorsntpdcscpiostat addr2line aptFtparchivelesskey sgSatIdentifynstatpl2pm grubNtldrImg sgRepZones pygettext3 selectEditorsgRtpgsgRmsnrviewgpgsmjqiscsiadmlzmore grubKbdcompjsondiffsgLogsptar kernelInstalllesspipesgSespy3clean uuidparsemtrgrcpdwpx8664LinuxGnuSize dpkgTriggersadfrlogin sgPreventlastbgendictgitShellgenbrkx8664LinuxGnuGcovTool7 lsinitramfs py3compile clearConsoleexpiry pygettext36filestdbufglibGenmarshallastlogvolnamepreconvgccAr7cpan526X8664LinuxGnu dpkgShlibdepsdbusCleanupSocketsslabtopx8664LinuxGnuLdbfduptimeeditorx8664LinuxGnuObjdumpsizetzselectsort'newgrpopensslmosh fioDedupe gitUploadPacklsoflesslsattrlft sgSanitizenameical unmkinitramfsdpkgDebcolcrtfakeroot gapplicationteecfiltdpkgArchitecture scsiReadcapdpkgGenchangesaproposscriptdpkgNameaptCdrom podcheckerfakedTcp dhPython2manptxlast' calcTickadjtrawkx8664PcLinuxGnuPkgConfig sshImportIdLp sgPersistc pycompilepgConfiggpg gpgparsemaildebSystemdInvokervimvimbasicrealpath printerbannerdpkgScanpackagestabsnetworkdDispatchersavelogglibCompileSchemasskill gtesterReportaptExtracttemplatesmgperldocchagedumpkeys sgReassignperl526X8664LinuxGnu systemdMountgencfu pygettext27provelscpuaptGet fcValidatetracerouteNanog scriptreplaypython3Jsondiffprocansetarchcutpgrepgrowpart psfgettable grubMkrescuex8664LinuxGnuGold symcryptrunfiolsloginsgpgConnectAgent helpztagspyjwt3linuxUpdateSymlinkscmphostidprlimitdbusRunSessionsgUnmapdpkgDistaddfiledpkgBuildflagsaptsystemdSocketActivatejsonPpsgModesgcovDump dpkgDivertbase64fmtpacketBlockStorageAttach infotocap grubMkrelpath dbusUuidgenwhocolngettext iptablesXmlxz systemdRun sha384sumbusctlnumfmtcautiousLauncheripcrmcolrm setmetamodepycleanfailloghead'ttygpgsplitseq'join' dpkgQuery podselectsshcolumngccNmc89 sgWriteVerifydpkgGenbuildinfopydocsgMap26codepage gettextshunlinkx8664LinuxGnuGccRanlibgrubFilesgXcopyx8664LinuxGnuGprofshasumxargssar glibMkenumsbashbug watchgnupglinksoelimwcsgTursuconvlogname sgTestRwbufupdateAlternativessum'seehtopsprofsplaindebconfxzegrepscsiTemperaturecRehashgcovToolxdgUserDirsUpdatenohuptputgpgZipiperfcomposeclearfreealutConfigrdma localedefpdb27x8664LinuxGnuGccAr7x8664LinuxGnuLdgoldxzdiffsgSatSetFeaturesxauthsgScanpiconvdebSystemdHelpersensibleBrowserbasename dbusMonitorx8664LinuxGnuGcovDump moshClient systemdDeltalorder updateLeappartxh2xsshowkeyexpr fioBtrace2fiox8664LinuxGnuRanlibticncatexpand fallocatedelpartreadelfdpkglducfrscsiLoggingLevelbase32makeconvdiff3sgVerifygcc systemdCatlddpdb36freetypeConfiglzcat pkgConfig resizeconsdbusSend debconfCopydbvcsRunpydoc3 systemdUmountgioQuerymodulesx8664LinuxGnuLd dbusDaemonlzcmpusersmd5sumtextutilsaptKeypaste zipdetailsnroffgitchshpr gobjectQueryrshsgIdentas psfaddtablegrubScriptCheckx8664LinuxGnuGcov7 shadowconfig mpathpersisthwclockrtmonmkfsext4 multipathdldconfig biosdevnamemke2fsmkhomedirHelpermdmone2image resize2fsdmsetupgetcapcrdashutdowndebugfs unixUpdate ip6tablesSavegettyifquery installkernel ifenslaverunlevele2labelmkfsbfspowerofffscksetcapdhclientScripte2fsck mkfsminixsetvtrgbinit'dmstatsfindfsmiiTool pamTally2fixpartsblockdevdevlinkdepmodrtacct unixChkpwdfstrim ldconfigrealrunusercfdiskrawmdadmkbdrate pivotRootiptunnelhaltgdiskstartStopDaemoninsmod badblocksifuplosetup fsckcramfsipmaddrsfdiskrarpswapoffblkid switchRootfsfreezesuloginkpartxrebootifdownlogsaveiwtipcrouteiptablesRestoremodinfopamTallyiptablesdhclient regdbdumplsmodswapon blkdiscard plipconfigrmmodmkfsext3getpcapswipefscgdiskfsckext3mkswap ctrlaltdelkillall5 iptablesSaveisosizebridge fstabDecodenameiftc acpiAvailableip6tablesRestoredumpe2fs multipathe2undozramctl swaplabeltelinitpamExtrausersChkpwdpamExtrausersUpdateipchcpusysctlslattach blkdeactivateudevadm apmAvailable ip6tables mkfscramfssgdisk fsckminix ifenslave26fsckext2fsckext4capshtune2fsmodprobemkfsfdiskmkfsext2agetty xtablesMultiifconfigsu mountpointzmoresynczcatddbzlessping4bzdiffbzmorenetstatmorevdirkillopenvtlncpdirgzipchmodfgrepfindmntsystemdbzcatopenbzgrepsttybzfgrep ypdomainnamehostnamepwdzcmpsystemdTmpfilesbzcmpsystemdTtyAskPasswordAgentrunPartsloginctl systemctlnanomtGnu networkctlwdctlrnanomountloginzless nctraditional ncopenbsdechosetupcon domainnamepinglsnckbdModetarmktempcategreprmdir dnsdomainnamemtdashgzexezgrepdate unicodeStartbzexesszegrepznewsystemdMachineIdSetupsetfontbunzip2truelsblkzforcezdiffbzip2kmodping6readlinkrm systemdEscapewhiptailgrepsystemdSysusers systemdNotifysleepdmesgsystemdInhibit journalctltempfileshchvtzfgrepbzegreprbashgunzip systemdHwdb nisdomainnamecpiochgrpfalseuname fgconsolechownpsmkdir shdistrib uncompressumountsystemdAskPassword bzip2recoverdfmknodpidofbashsedmvnetcat ToSegmentHandles text-1.2.3.1Data.Text.InternalText liftProcessconduitToProcess sinkHandles createHandles fuseProcess fuseConduitfuseConduitProcessfuseProcessConduit fuseSegmentbaseGHC.BaseStringmemptymakeProcessLauncher getUniqueNamegetAllBinaries Data.VoidVoid$conduit-1.3.2-ByhlA7RsvOCCAVlxG8dMJBData.Conduit.Internal.Conduit runConduitResrunConduitPure fuseUpstream fuseBothMaybefuseBothsequenceConduits=$$+-=$$++=$$+ sequenceSinkssequenceSources$=+$$+-$$++$$+ mapInputMmapInputmapOutputMaybe mapOutput transPipe awaitForeverbracketP runConduitleftoveryieldMyieldawait=$==$$=$$.|fuseconnect sourceToListpassthroughSink mergeSource fuseLeftoversfuseReturnLeftoverstryChandleCcatchC toConsumer toProducerunsealConduitT sealConduitTConduitTSealedConduitTConduitMSourceProducerSinkConsumerConduitFlushChunk ZipSource getZipSourceZipSink getZipSink ZipConduit getZipConduit