/*===========================================================================*/
/*   (Llib/dsssl.scm)                                                        */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Llib/dsssl.scm -indent -o objs/obj_u/Llib/dsssl.c) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL___DSSSL_TYPE_DEFINITIONS
#define BGL___DSSSL_TYPE_DEFINITIONS
#endif													// BGL___DSSSL_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	extern bool_t BGl_pairzd2orzd2nullzf3zf3zz__r4_pairs_and_lists_6_3z00(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__dssslz00 = BUNSPEC;
	static obj_t BGl_z62dssslzd2getzd2keyzd2argzb0zz__dssslz00(obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_symbol2104z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2106z00zz__dssslz00 = BUNSPEC;
	static obj_t
		BGl_z62dssslzd2formalszd2ze3schemezd2typedzd2formalsz81zz__dssslz00(obj_t,
		obj_t, obj_t, obj_t);
	static obj_t BGl_z62restzd2statezb0zz__dssslz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__dssslz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_symbol2113z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2115z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2117z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2119z00zz__dssslz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_dssslzd2checkzd2keyzd2argsz12zc0zz__dssslz00(obj_t, obj_t);
	static obj_t BGl_z62dssslzd2namedzd2constantzf3z91zz__dssslz00(obj_t, obj_t);
	static obj_t BGl_z62optionalzd2statezb0zz__dssslz00(obj_t, obj_t, obj_t);
	static obj_t BGl_symbol2121z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2124z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2126z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2128z00zz__dssslz00 = BUNSPEC;
	extern obj_t BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_dssslzd2formalszd2ze3schemezd2formalsz31zz__dssslz00(obj_t, obj_t);
	static obj_t BGl_symbol2131z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2133z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2135z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_list2102z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2137z00zz__dssslz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t
		BGl_makezd2dssslzd2functionzd2preludezd2zz__dssslz00(obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_dssslzd2getzd2keyzd2argzd2zz__dssslz00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_cnstzd2initzd2zz__dssslz00(void);
	static obj_t BGl_symbol2141z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_genericzd2initzd2zz__dssslz00(void);
	extern obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
	static obj_t BGl_symbol2143z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2145z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2147z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_symbol2149z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_importedzd2moduleszd2initz00zz__dssslz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__dssslz00(void);
	static obj_t BGl_objectzd2initzd2zz__dssslz00(void);
	static obj_t BGl_symbol2151z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_z62dssslzd2getzd2keyzd2restzd2argz62zz__dssslz00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_z62dssslzd2checkzd2keyzd2argsz12za2zz__dssslz00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t bgl_reverse_bang(obj_t);
	static obj_t
		BGl_z62dssslzd2formalszd2ze3schemezd2formalsz53zz__dssslz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62nozd2restzd2keyzd2statezb0zz__dssslz00(obj_t, obj_t,
		obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_dssslzd2formalszd2ze3schemezd2typedzd2formalsze3zz__dssslz00(obj_t,
		obj_t, bool_t);
	extern obj_t c_substring(obj_t, long, long);
	extern obj_t BGl_gensymz00zz__r4_symbols_6_4z00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__dssslz00(void);
	static obj_t BGl_list2165z00zz__dssslz00 = BUNSPEC;
	static obj_t BGl_optionalzd2argsze70z35zz__dssslz00(obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_loopze70ze7zz__dssslz00(bool_t, obj_t, obj_t, obj_t, bool_t);
	static obj_t BGl_loopze71ze7zz__dssslz00(obj_t, obj_t);
	static obj_t BGl_idzd2sanszd2typez00zz__dssslz00(obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_dssslzd2getzd2keyzd2restzd2argz00zz__dssslz00(obj_t, obj_t);
	static obj_t BGl_z62makezd2dssslzd2functionzd2preludezb0zz__dssslz00(obj_t,
		obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_z62keyzd2statezb0zz__dssslz00(obj_t, obj_t, obj_t, obj_t,
		obj_t, obj_t, obj_t, bool_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL bool_t
		BGl_dssslzd2namedzd2constantzf3zf3zz__dssslz00(obj_t);
	static obj_t *__cnst;


	   
		 
		BGL_DEFINE_STRING(BGl_string2120z00zz__dssslz00,
		BgL_bgl_string2120za700za7za7_2173za7, "null?", 5);
	      BGL_DEFINE_STRING(BGl_string2122z00zz__dssslz00,
		BgL_bgl_string2122za700za7za7_2174za7, "v", 1);
	      BGL_DEFINE_STRING(BGl_string2123z00zz__dssslz00,
		BgL_bgl_string2123za700za7za7_2175za7, "~a ", 3);
	      BGL_DEFINE_STRING(BGl_string2125z00zz__dssslz00,
		BgL_bgl_string2125za700za7za7_2176za7, "format", 6);
	      BGL_DEFINE_STRING(BGl_string2127z00zz__dssslz00,
		BgL_bgl_string2127za700za7za7_2177za7, "lambda", 6);
	      BGL_DEFINE_STRING(BGl_string2129z00zz__dssslz00,
		BgL_bgl_string2129za700za7za7_2178za7, "map", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_dssslzd2getzd2keyzd2argzd2envz00zz__dssslz00,
		BgL_bgl_za762dssslza7d2getza7d2179za7,
		BGl_z62dssslzd2getzd2keyzd2argzb0zz__dssslz00, 0L, BUNSPEC, 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_dssslzd2formalszd2ze3schemezd2typedzd2formalszd2envz31zz__dssslz00,
		BgL_bgl_za762dssslza7d2forma2180z00,
		BGl_z62dssslzd2formalszd2ze3schemezd2typedzd2formalsz81zz__dssslz00, 0L,
		BUNSPEC, 3);
	      BGL_DEFINE_STRING(BGl_string2130z00zz__dssslz00,
		BgL_bgl_string2130za700za7za7_2181za7, "Illegal extra key arguments: ", 29);
	      BGL_DEFINE_STRING(BGl_string2132z00zz__dssslz00,
		BgL_bgl_string2132za700za7za7_2182za7, "string-append", 13);
	      BGL_DEFINE_STRING(BGl_string2134z00zz__dssslz00,
		BgL_bgl_string2134za700za7za7_2183za7, "apply", 5);
	      BGL_DEFINE_STRING(BGl_string2136z00zz__dssslz00,
		BgL_bgl_string2136za700za7za7_2184za7, "error", 5);
	      BGL_DEFINE_STRING(BGl_string2138z00zz__dssslz00,
		BgL_bgl_string2138za700za7za7_2185za7, "if", 2);
	      BGL_DEFINE_STRING(BGl_string2139z00zz__dssslz00,
		BgL_bgl_string2139za700za7za7_2186za7, "Illegal DSSSL formal list (#!rest)",
		34);
	      BGL_DEFINE_STRING(BGl_string2140z00zz__dssslz00,
		BgL_bgl_string2140za700za7za7_2187za7, "Illegal DSSSL formal list (#!key)",
		33);
	      BGL_DEFINE_STRING(BGl_string2142z00zz__dssslz00,
		BgL_bgl_string2142za700za7za7_2188za7, "tmp", 3);
	      BGL_DEFINE_STRING(BGl_string2144z00zz__dssslz00,
		BgL_bgl_string2144za700za7za7_2189za7, "car", 3);
	      BGL_DEFINE_STRING(BGl_string2146z00zz__dssslz00,
		BgL_bgl_string2146za700za7za7_2190za7, "memq", 4);
	      BGL_DEFINE_STRING(BGl_string2148z00zz__dssslz00,
		BgL_bgl_string2148za700za7za7_2191za7, "cdr", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_dssslzd2namedzd2constantzf3zd2envz21zz__dssslz00,
		BgL_bgl_za762dssslza7d2named2192z00,
		BGl_z62dssslzd2namedzd2constantzf3z91zz__dssslz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string2150z00zz__dssslz00,
		BgL_bgl_string2150za700za7za7_2193za7, "set!", 4);
	      BGL_DEFINE_STRING(BGl_string2152z00zz__dssslz00,
		BgL_bgl_string2152za700za7za7_2194za7, "begin", 5);
	      BGL_DEFINE_STRING(BGl_string2153z00zz__dssslz00,
		BgL_bgl_string2153za700za7za7_2195za7,
		"Illegal DSSSL formal list (#!optional)", 38);
	      BGL_DEFINE_STRING(BGl_string2154z00zz__dssslz00,
		BgL_bgl_string2154za700za7za7_2196za7, "Illegal #!keys parameters", 25);
	      BGL_DEFINE_STRING(BGl_string2155z00zz__dssslz00,
		BgL_bgl_string2155za700za7za7_2197za7, "dsssl formal parsing", 20);
	      BGL_DEFINE_STRING(BGl_string2156z00zz__dssslz00,
		BgL_bgl_string2156za700za7za7_2198za7, "Unexpected #!keys parameters", 28);
	      BGL_DEFINE_STRING(BGl_string2157z00zz__dssslz00,
		BgL_bgl_string2157za700za7za7_2199za7, "Keyword argument misses value", 29);
	      BGL_DEFINE_STRING(BGl_string2158z00zz__dssslz00,
		BgL_bgl_string2158za700za7za7_2200za7, "Illegal keyword actual value", 28);
	      BGL_DEFINE_STRING(BGl_string2159z00zz__dssslz00,
		BgL_bgl_string2159za700za7za7_2201za7, "Illegal DSSSL arguments", 23);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_dssslzd2getzd2keyzd2restzd2argzd2envzd2zz__dssslz00,
		BgL_bgl_za762dssslza7d2getza7d2202za7,
		BGl_z62dssslzd2getzd2keyzd2restzd2argz62zz__dssslz00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string2160z00zz__dssslz00,
		BgL_bgl_string2160za700za7za7_2203za7, "&dsssl-get-key-arg", 18);
	      BGL_DEFINE_STRING(BGl_string2161z00zz__dssslz00,
		BgL_bgl_string2161za700za7za7_2204za7, "keyword", 7);
	      BGL_DEFINE_STRING(BGl_string2162z00zz__dssslz00,
		BgL_bgl_string2162za700za7za7_2205za7, "&dsssl-get-key-rest-arg", 23);
	      BGL_DEFINE_STRING(BGl_string2163z00zz__dssslz00,
		BgL_bgl_string2163za700za7za7_2206za7, "pair-nil", 8);
	      BGL_DEFINE_STRING(BGl_string2164z00zz__dssslz00,
		BgL_bgl_string2164za700za7za7_2207za7, "&dsssl-formals->scheme-formals",
		30);
	      BGL_DEFINE_STRING(BGl_string2166z00zz__dssslz00,
		BgL_bgl_string2166za700za7za7_2208za7, "Illegal formal parameter", 24);
	      BGL_DEFINE_STRING(BGl_string2167z00zz__dssslz00,
		BgL_bgl_string2167za700za7za7_2209za7, "symbol or named constant expected",
		33);
	      BGL_DEFINE_STRING(BGl_string2168z00zz__dssslz00,
		BgL_bgl_string2168za700za7za7_2210za7, "symbol expected", 15);
	      BGL_DEFINE_STRING(BGl_string2169z00zz__dssslz00,
		BgL_bgl_string2169za700za7za7_2211za7,
		"Can't use both DSSSL named constant", 35);
	      BGL_DEFINE_STRING(BGl_string2170z00zz__dssslz00,
		BgL_bgl_string2170za700za7za7_2212za7, "and `.' notation", 16);
	      BGL_DEFINE_STRING(BGl_string2171z00zz__dssslz00,
		BgL_bgl_string2171za700za7za7_2213za7,
		"&dsssl-formals->scheme-typed-formals", 36);
	      BGL_DEFINE_STRING(BGl_string2172z00zz__dssslz00,
		BgL_bgl_string2172za700za7za7_2214za7, "__dsssl", 7);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_dssslzd2checkzd2keyzd2argsz12zd2envz12zz__dssslz00,
		BgL_bgl_za762dssslza7d2check2215z00,
		BGl_z62dssslzd2checkzd2keyzd2argsz12za2zz__dssslz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_makezd2dssslzd2functionzd2preludezd2envz00zz__dssslz00,
		BgL_bgl_za762makeza7d2dssslza72216za7,
		BGl_z62makezd2dssslzd2functionzd2preludezb0zz__dssslz00, 0L, BUNSPEC, 4);
	      BGL_DEFINE_STRING(BGl_string2103z00zz__dssslz00,
		BgL_bgl_string2103za700za7za7_2217za7, "Illegal formal list.1", 21);
	      BGL_DEFINE_STRING(BGl_string2105z00zz__dssslz00,
		BgL_bgl_string2105za700za7za7_2218za7, "dsssl", 5);
	      BGL_DEFINE_STRING(BGl_string2107z00zz__dssslz00,
		BgL_bgl_string2107za700za7za7_2219za7, "let", 3);
	      BGL_DEFINE_STRING(BGl_string2108z00zz__dssslz00,
		BgL_bgl_string2108za700za7za7_2220za7, "Illegal formal list.3", 21);
	      BGL_DEFINE_STRING(BGl_string2109z00zz__dssslz00,
		BgL_bgl_string2109za700za7za7_2221za7, "Illegal formal list.2", 21);
	      BGL_DEFINE_STRING(BGl_string2110z00zz__dssslz00,
		BgL_bgl_string2110za700za7za7_2222za7, "/tmp/bigloo/runtime/Llib/dsssl.scm",
		34);
	      BGL_DEFINE_STRING(BGl_string2111z00zz__dssslz00,
		BgL_bgl_string2111za700za7za7_2223za7, "&make-dsssl-function-prelude", 28);
	      BGL_DEFINE_STRING(BGl_string2112z00zz__dssslz00,
		BgL_bgl_string2112za700za7za7_2224za7, "procedure", 9);
	      BGL_DEFINE_STRING(BGl_string2114z00zz__dssslz00,
		BgL_bgl_string2114za700za7za7_2225za7, "quote", 5);
	      BGL_DEFINE_STRING(BGl_string2116z00zz__dssslz00,
		BgL_bgl_string2116za700za7za7_2226za7, "dsssl-get-key-rest-arg", 22);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_dssslzd2formalszd2ze3schemezd2formalszd2envze3zz__dssslz00,
		BgL_bgl_za762dssslza7d2forma2227z00,
		BGl_z62dssslzd2formalszd2ze3schemezd2formalsz53zz__dssslz00, 0L, BUNSPEC,
		2);
	      BGL_DEFINE_STRING(BGl_string2118z00zz__dssslz00,
		BgL_bgl_string2118za700za7za7_2228za7, "dsssl-get-key-arg", 17);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_STRING(BGl_string2118z00zz__dssslz00,
			BgL_bgl_string2118za700za7za7_2228za7);
		BGL_BIND_PROCEDURE
			(BGl_dssslzd2formalszd2ze3schemezd2formalszd2envze3zz__dssslz00,
			BgL_bgl_za762dssslza7d2forma2227z00);
		BGL_BIND_STRING(BGl_string2116z00zz__dssslz00,
			BgL_bgl_string2116za700za7za7_2226za7);
		BGL_BIND_STRING(BGl_string2114z00zz__dssslz00,
			BgL_bgl_string2114za700za7za7_2225za7);
		BGL_BIND_STRING(BGl_string2112z00zz__dssslz00,
			BgL_bgl_string2112za700za7za7_2224za7);
		BGL_BIND_STRING(BGl_string2111z00zz__dssslz00,
			BgL_bgl_string2111za700za7za7_2223za7);
		BGL_BIND_STRING(BGl_string2110z00zz__dssslz00,
			BgL_bgl_string2110za700za7za7_2222za7);
		BGL_BIND_STRING(BGl_string2109z00zz__dssslz00,
			BgL_bgl_string2109za700za7za7_2221za7);
		BGL_BIND_STRING(BGl_string2108z00zz__dssslz00,
			BgL_bgl_string2108za700za7za7_2220za7);
		BGL_BIND_STRING(BGl_string2107z00zz__dssslz00,
			BgL_bgl_string2107za700za7za7_2219za7);
		BGL_BIND_STRING(BGl_string2105z00zz__dssslz00,
			BgL_bgl_string2105za700za7za7_2218za7);
		BGL_BIND_STRING(BGl_string2103z00zz__dssslz00,
			BgL_bgl_string2103za700za7za7_2217za7);
		BGL_BIND_PROCEDURE
			(BGl_makezd2dssslzd2functionzd2preludezd2envz00zz__dssslz00,
			BgL_bgl_za762makeza7d2dssslza72216za7);
		BGL_BIND_PROCEDURE(BGl_dssslzd2checkzd2keyzd2argsz12zd2envz12zz__dssslz00,
			BgL_bgl_za762dssslza7d2check2215z00);
		BGL_BIND_STRING(BGl_string2172z00zz__dssslz00,
			BgL_bgl_string2172za700za7za7_2214za7);
		BGL_BIND_STRING(BGl_string2171z00zz__dssslz00,
			BgL_bgl_string2171za700za7za7_2213za7);
		BGL_BIND_STRING(BGl_string2170z00zz__dssslz00,
			BgL_bgl_string2170za700za7za7_2212za7);
		BGL_BIND_STRING(BGl_string2169z00zz__dssslz00,
			BgL_bgl_string2169za700za7za7_2211za7);
		BGL_BIND_STRING(BGl_string2168z00zz__dssslz00,
			BgL_bgl_string2168za700za7za7_2210za7);
		BGL_BIND_STRING(BGl_string2167z00zz__dssslz00,
			BgL_bgl_string2167za700za7za7_2209za7);
		BGL_BIND_STRING(BGl_string2166z00zz__dssslz00,
			BgL_bgl_string2166za700za7za7_2208za7);
		BGL_BIND_STRING(BGl_string2164z00zz__dssslz00,
			BgL_bgl_string2164za700za7za7_2207za7);
		BGL_BIND_STRING(BGl_string2163z00zz__dssslz00,
			BgL_bgl_string2163za700za7za7_2206za7);
		BGL_BIND_STRING(BGl_string2162z00zz__dssslz00,
			BgL_bgl_string2162za700za7za7_2205za7);
		BGL_BIND_STRING(BGl_string2161z00zz__dssslz00,
			BgL_bgl_string2161za700za7za7_2204za7);
		BGL_BIND_STRING(BGl_string2160z00zz__dssslz00,
			BgL_bgl_string2160za700za7za7_2203za7);
		BGL_BIND_PROCEDURE(BGl_dssslzd2getzd2keyzd2restzd2argzd2envzd2zz__dssslz00,
			BgL_bgl_za762dssslza7d2getza7d2202za7);
		BGL_BIND_STRING(BGl_string2159z00zz__dssslz00,
			BgL_bgl_string2159za700za7za7_2201za7);
		BGL_BIND_STRING(BGl_string2158z00zz__dssslz00,
			BgL_bgl_string2158za700za7za7_2200za7);
		BGL_BIND_STRING(BGl_string2157z00zz__dssslz00,
			BgL_bgl_string2157za700za7za7_2199za7);
		BGL_BIND_STRING(BGl_string2156z00zz__dssslz00,
			BgL_bgl_string2156za700za7za7_2198za7);
		BGL_BIND_STRING(BGl_string2155z00zz__dssslz00,
			BgL_bgl_string2155za700za7za7_2197za7);
		BGL_BIND_STRING(BGl_string2154z00zz__dssslz00,
			BgL_bgl_string2154za700za7za7_2196za7);
		BGL_BIND_STRING(BGl_string2153z00zz__dssslz00,
			BgL_bgl_string2153za700za7za7_2195za7);
		BGL_BIND_STRING(BGl_string2152z00zz__dssslz00,
			BgL_bgl_string2152za700za7za7_2194za7);
		BGL_BIND_STRING(BGl_string2150z00zz__dssslz00,
			BgL_bgl_string2150za700za7za7_2193za7);
		BGL_BIND_PROCEDURE(BGl_dssslzd2namedzd2constantzf3zd2envz21zz__dssslz00,
			BgL_bgl_za762dssslza7d2named2192z00);
		BGL_BIND_STRING(BGl_string2148z00zz__dssslz00,
			BgL_bgl_string2148za700za7za7_2191za7);
		BGL_BIND_STRING(BGl_string2146z00zz__dssslz00,
			BgL_bgl_string2146za700za7za7_2190za7);
		BGL_BIND_STRING(BGl_string2144z00zz__dssslz00,
			BgL_bgl_string2144za700za7za7_2189za7);
		BGL_BIND_STRING(BGl_string2142z00zz__dssslz00,
			BgL_bgl_string2142za700za7za7_2188za7);
		BGL_BIND_STRING(BGl_string2140z00zz__dssslz00,
			BgL_bgl_string2140za700za7za7_2187za7);
		BGL_BIND_STRING(BGl_string2139z00zz__dssslz00,
			BgL_bgl_string2139za700za7za7_2186za7);
		BGL_BIND_STRING(BGl_string2138z00zz__dssslz00,
			BgL_bgl_string2138za700za7za7_2185za7);
		BGL_BIND_STRING(BGl_string2136z00zz__dssslz00,
			BgL_bgl_string2136za700za7za7_2184za7);
		BGL_BIND_STRING(BGl_string2134z00zz__dssslz00,
			BgL_bgl_string2134za700za7za7_2183za7);
		BGL_BIND_STRING(BGl_string2132z00zz__dssslz00,
			BgL_bgl_string2132za700za7za7_2182za7);
		BGL_BIND_STRING(BGl_string2130z00zz__dssslz00,
			BgL_bgl_string2130za700za7za7_2181za7);
		BGL_BIND_PROCEDURE
			(BGl_dssslzd2formalszd2ze3schemezd2typedzd2formalszd2envz31zz__dssslz00,
			BgL_bgl_za762dssslza7d2forma2180z00);
		BGL_BIND_PROCEDURE(BGl_dssslzd2getzd2keyzd2argzd2envz00zz__dssslz00,
			BgL_bgl_za762dssslza7d2getza7d2179za7);
		BGL_BIND_STRING(BGl_string2129z00zz__dssslz00,
			BgL_bgl_string2129za700za7za7_2178za7);
		BGL_BIND_STRING(BGl_string2127z00zz__dssslz00,
			BgL_bgl_string2127za700za7za7_2177za7);
		BGL_BIND_STRING(BGl_string2125z00zz__dssslz00,
			BgL_bgl_string2125za700za7za7_2176za7);
		BGL_BIND_STRING(BGl_string2123z00zz__dssslz00,
			BgL_bgl_string2123za700za7za7_2175za7);
		BGL_BIND_STRING(BGl_string2122z00zz__dssslz00,
			BgL_bgl_string2122za700za7za7_2174za7);
		BGL_BIND_STRING(BGl_string2120z00zz__dssslz00,
			BgL_bgl_string2120za700za7za7_2173za7);
	}

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;

		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2104z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2106z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2113z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2115z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2117z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2119z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2121z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2124z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2126z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2128z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2131z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2133z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2135z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_list2102z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2137z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2141z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2143z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2145z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2147z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2149z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_symbol2151z00zz__dssslz00));
		ADD_ROOT((void *) (&BGl_list2165z00zz__dssslz00));
#undef ADD_ROOT
		if (roots_max > 0)
			GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__dssslz00(long
		BgL_checksumz00_2662, char *BgL_fromz00_2663)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__dssslz00))
				{
					BGl_requirezd2initializa7ationz75zz__dssslz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__dssslz00();
					BGl_cnstzd2initzd2zz__dssslz00();
					BGl_importedzd2moduleszd2initz00zz__dssslz00();
					return BGl_methodzd2initzd2zz__dssslz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__dssslz00(void)
	{
		{	/* Llib/dsssl.scm 14 */
			BGl_list2102z00zz__dssslz00 =
				MAKE_YOUNG_PAIR((BREST),
				MAKE_YOUNG_PAIR((BOPTIONAL), MAKE_YOUNG_PAIR((BKEY), BNIL)));
			BGl_symbol2104z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2105z00zz__dssslz00);
			BGl_symbol2106z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2107z00zz__dssslz00);
			BGl_symbol2113z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2114z00zz__dssslz00);
			BGl_symbol2115z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2116z00zz__dssslz00);
			BGl_symbol2117z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2118z00zz__dssslz00);
			BGl_symbol2119z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2120z00zz__dssslz00);
			BGl_symbol2121z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2122z00zz__dssslz00);
			BGl_symbol2124z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2125z00zz__dssslz00);
			BGl_symbol2126z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2127z00zz__dssslz00);
			BGl_symbol2128z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2129z00zz__dssslz00);
			BGl_symbol2131z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2132z00zz__dssslz00);
			BGl_symbol2133z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2134z00zz__dssslz00);
			BGl_symbol2135z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2136z00zz__dssslz00);
			BGl_symbol2137z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2138z00zz__dssslz00);
			BGl_symbol2141z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2142z00zz__dssslz00);
			BGl_symbol2143z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2144z00zz__dssslz00);
			BGl_symbol2145z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2146z00zz__dssslz00);
			BGl_symbol2147z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2148z00zz__dssslz00);
			BGl_symbol2149z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2150z00zz__dssslz00);
			BGl_symbol2151z00zz__dssslz00 =
				bstring_to_symbol(BGl_string2152z00zz__dssslz00);
			return (BGl_list2165z00zz__dssslz00 =
				MAKE_YOUNG_PAIR((BOPTIONAL),
					MAKE_YOUNG_PAIR((BREST), MAKE_YOUNG_PAIR((BKEY), BNIL))), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__dssslz00(void)
	{
		{	/* Llib/dsssl.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* dsssl-named-constant? */
	BGL_EXPORTED_DEF bool_t BGl_dssslzd2namedzd2constantzf3zf3zz__dssslz00(obj_t
		BgL_objz00_3)
	{
		{	/* Llib/dsssl.scm 59 */
			if (CNSTP(BgL_objz00_3))
				{	/* Llib/dsssl.scm 60 */
					return
						CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_objz00_3,
							BGl_list2102z00zz__dssslz00));
				}
			else
				{	/* Llib/dsssl.scm 60 */
					return ((bool_t) 0);
				}
		}

	}



/* &dsssl-named-constant? */
	obj_t BGl_z62dssslzd2namedzd2constantzf3z91zz__dssslz00(obj_t BgL_envz00_2509,
		obj_t BgL_objz00_2510)
	{
		{	/* Llib/dsssl.scm 59 */
			return
				BBOOL(BGl_dssslzd2namedzd2constantzf3zf3zz__dssslz00(BgL_objz00_2510));
		}

	}



/* make-dsssl-function-prelude */
	BGL_EXPORTED_DEF obj_t
		BGl_makezd2dssslzd2functionzd2preludezd2zz__dssslz00(obj_t BgL_wherez00_4,
		obj_t BgL_formalsz00_5, obj_t BgL_bodyz00_6, obj_t BgL_errz00_7)
	{
		{	/* Llib/dsssl.scm 71 */
			{	/* Llib/dsssl.scm 75 */
				obj_t BgL_nozd2restzd2keyzd2statezd2_2512;
				obj_t BgL_restzd2statezd2_2513;
				obj_t BgL_optionalzd2statezd2_2514;

				{
					int BgL_tmpz00_2705;

					BgL_tmpz00_2705 = (int) (4L);
					BgL_nozd2restzd2keyzd2statezd2_2512 =
						MAKE_L_PROCEDURE(BGl_z62nozd2restzd2keyzd2statezb0zz__dssslz00,
						BgL_tmpz00_2705);
				}
				{
					int BgL_tmpz00_2708;

					BgL_tmpz00_2708 = (int) (4L);
					BgL_restzd2statezd2_2513 =
						MAKE_L_PROCEDURE(BGl_z62restzd2statezb0zz__dssslz00,
						BgL_tmpz00_2708);
				}
				{
					int BgL_tmpz00_2711;

					BgL_tmpz00_2711 = (int) (6L);
					BgL_optionalzd2statezd2_2514 =
						MAKE_L_PROCEDURE(BGl_z62optionalzd2statezb0zz__dssslz00,
						BgL_tmpz00_2711);
				}
				PROCEDURE_L_SET(BgL_nozd2restzd2keyzd2statezd2_2512,
					(int) (0L), BgL_bodyz00_6);
				PROCEDURE_L_SET(BgL_nozd2restzd2keyzd2statezd2_2512,
					(int) (1L), BgL_errz00_7);
				PROCEDURE_L_SET(BgL_nozd2restzd2keyzd2statezd2_2512,
					(int) (2L), BgL_wherez00_4);
				PROCEDURE_L_SET(BgL_nozd2restzd2keyzd2statezd2_2512,
					(int) (3L), BgL_formalsz00_5);
				PROCEDURE_L_SET(BgL_restzd2statezd2_2513, (int) (0L), BgL_errz00_7);
				PROCEDURE_L_SET(BgL_restzd2statezd2_2513, (int) (1L), BgL_wherez00_4);
				PROCEDURE_L_SET(BgL_restzd2statezd2_2513, (int) (2L), BgL_formalsz00_5);
				PROCEDURE_L_SET(BgL_restzd2statezd2_2513, (int) (3L), BgL_bodyz00_6);
				PROCEDURE_L_SET(BgL_optionalzd2statezd2_2514, (int) (0L), BgL_errz00_7);
				PROCEDURE_L_SET(BgL_optionalzd2statezd2_2514,
					(int) (1L), BgL_wherez00_4);
				PROCEDURE_L_SET(BgL_optionalzd2statezd2_2514,
					(int) (2L), BgL_formalsz00_5);
				PROCEDURE_L_SET(BgL_optionalzd2statezd2_2514,
					(int) (3L), BgL_nozd2restzd2keyzd2statezd2_2512);
				PROCEDURE_L_SET(BgL_optionalzd2statezd2_2514,
					(int) (4L), BgL_restzd2statezd2_2513);
				PROCEDURE_L_SET(BgL_optionalzd2statezd2_2514,
					(int) (5L), BgL_bodyz00_6);
				{
					obj_t BgL_argsz00_1140;
					obj_t BgL_nextzd2statezd2_1141;
					obj_t BgL_argsz00_1111;

					BgL_argsz00_1111 = BgL_formalsz00_5;
				BgL_zc3z04anonymousza31164ze3z87_1112:
					if (PAIRP(BgL_argsz00_1111))
						{	/* Llib/dsssl.scm 77 */
							bool_t BgL_test2232z00_2744;

							{	/* Llib/dsssl.scm 77 */
								bool_t BgL_test2233z00_2745;

								{	/* Llib/dsssl.scm 77 */
									obj_t BgL_tmpz00_2746;

									BgL_tmpz00_2746 = CAR(BgL_argsz00_1111);
									BgL_test2233z00_2745 = SYMBOLP(BgL_tmpz00_2746);
								}
								if (BgL_test2233z00_2745)
									{	/* Llib/dsssl.scm 77 */
										BgL_test2232z00_2744 = ((bool_t) 0);
									}
								else
									{	/* Llib/dsssl.scm 77 */
										bool_t BgL_test2234z00_2749;

										{	/* Llib/dsssl.scm 77 */
											obj_t BgL_tmpz00_2750;

											BgL_tmpz00_2750 = CAR(BgL_argsz00_1111);
											BgL_test2234z00_2749 = PAIRP(BgL_tmpz00_2750);
										}
										if (BgL_test2234z00_2749)
											{	/* Llib/dsssl.scm 77 */
												BgL_test2232z00_2744 = ((bool_t) 0);
											}
										else
											{	/* Llib/dsssl.scm 77 */
												BgL_test2232z00_2744 = ((bool_t) 1);
											}
									}
							}
							if (BgL_test2232z00_2744)
								{	/* Llib/dsssl.scm 77 */
									if ((CAR(BgL_argsz00_1111) == (BOPTIONAL)))
										{	/* Llib/dsssl.scm 81 */
											BgL_argsz00_1140 = CDR(BgL_argsz00_1111);
											BgL_nextzd2statezd2_1141 = BgL_optionalzd2statezd2_2514;
										BgL_zc3z04anonymousza31218ze3z87_1142:
											{
												obj_t BgL_asz00_1144;

												BgL_asz00_1144 = BgL_argsz00_1140;
												if (PAIRP(BgL_asz00_1144))
													{

														{	/* Llib/dsssl.scm 99 */
															obj_t BgL_ezd2104zd2_1150;

															BgL_ezd2104zd2_1150 = CAR(BgL_asz00_1144);
															if (SYMBOLP(BgL_ezd2104zd2_1150))
																{	/* Llib/dsssl.scm 99 */
																	{	/* Llib/dsssl.scm 101 */
																		obj_t BgL_dssslzd2argzd2_1161;

																		BgL_dssslzd2argzd2_1161 =
																			BGl_gensymz00zz__r4_symbols_6_4z00
																			(BGl_symbol2104z00zz__dssslz00);
																		{	/* Llib/dsssl.scm 102 */
																			obj_t BgL_arg1235z00_1162;

																			{	/* Llib/dsssl.scm 102 */
																				obj_t BgL_arg1236z00_1163;
																				obj_t BgL_arg1239z00_1164;

																				{	/* Llib/dsssl.scm 102 */
																					obj_t BgL_arg1241z00_1165;

																					{	/* Llib/dsssl.scm 102 */
																						obj_t BgL_arg1242z00_1166;

																						{	/* Llib/dsssl.scm 102 */
																							obj_t BgL_arg1248z00_1167;

																							BgL_arg1248z00_1167 =
																								CAR(((obj_t) BgL_asz00_1144));
																							BgL_arg1242z00_1166 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1248z00_1167, BNIL);
																						}
																						BgL_arg1241z00_1165 =
																							MAKE_YOUNG_PAIR
																							(BgL_dssslzd2argzd2_1161,
																							BgL_arg1242z00_1166);
																					}
																					BgL_arg1236z00_1163 =
																						MAKE_YOUNG_PAIR(BgL_arg1241z00_1165,
																						BNIL);
																				}
																				{	/* Llib/dsssl.scm 103 */
																					obj_t BgL_arg1249z00_1168;

																					BgL_arg1249z00_1168 =
																						((obj_t(*)(obj_t, obj_t,
																								obj_t))
																						PROCEDURE_L_ENTRY
																						(BgL_nextzd2statezd2_1141))
																						(BgL_nextzd2statezd2_1141,
																						BgL_argsz00_1140,
																						BgL_dssslzd2argzd2_1161);
																					BgL_arg1239z00_1164 =
																						MAKE_YOUNG_PAIR(BgL_arg1249z00_1168,
																						BNIL);
																				}
																				BgL_arg1235z00_1162 =
																					MAKE_YOUNG_PAIR(BgL_arg1236z00_1163,
																					BgL_arg1239z00_1164);
																			}
																			return
																				MAKE_YOUNG_PAIR
																				(BGl_symbol2106z00zz__dssslz00,
																				BgL_arg1235z00_1162);
																		}
																	}
																}
															else
																{	/* Llib/dsssl.scm 99 */
																	if (PAIRP(BgL_ezd2104zd2_1150))
																		{	/* Llib/dsssl.scm 99 */
																			obj_t BgL_cdrzd2106zd2_1153;

																			BgL_cdrzd2106zd2_1153 =
																				CDR(BgL_ezd2104zd2_1150);
																			{	/* Llib/dsssl.scm 99 */
																				bool_t BgL_test2239z00_2778;

																				{	/* Llib/dsssl.scm 99 */
																					obj_t BgL_tmpz00_2779;

																					BgL_tmpz00_2779 =
																						CAR(BgL_ezd2104zd2_1150);
																					BgL_test2239z00_2778 =
																						SYMBOLP(BgL_tmpz00_2779);
																				}
																				if (BgL_test2239z00_2778)
																					{	/* Llib/dsssl.scm 99 */
																						if (PAIRP(BgL_cdrzd2106zd2_1153))
																							{	/* Llib/dsssl.scm 99 */
																								if (NULLP(CDR
																										(BgL_cdrzd2106zd2_1153)))
																									{	/* Llib/dsssl.scm 99 */
																										{	/* Llib/dsssl.scm 105 */
																											obj_t
																												BgL_dssslzd2argzd2_1169;
																											BgL_dssslzd2argzd2_1169 =
																												BGl_gensymz00zz__r4_symbols_6_4z00
																												(BGl_symbol2104z00zz__dssslz00);
																											{	/* Llib/dsssl.scm 106 */
																												obj_t
																													BgL_arg1252z00_1170;
																												{	/* Llib/dsssl.scm 106 */
																													obj_t
																														BgL_arg1253z00_1171;
																													obj_t
																														BgL_arg1254z00_1172;
																													{	/* Llib/dsssl.scm 106 */
																														obj_t
																															BgL_arg1258z00_1173;
																														{	/* Llib/dsssl.scm 106 */
																															obj_t
																																BgL_arg1259z00_1174;
																															{	/* Llib/dsssl.scm 106 */
																																obj_t
																																	BgL_arg1261z00_1175;
																																{	/* Llib/dsssl.scm 106 */
																																	obj_t
																																		BgL_pairz00_2144;
																																	BgL_pairz00_2144
																																		=
																																		CAR(((obj_t)
																																			BgL_asz00_1144));
																																	BgL_arg1261z00_1175
																																		=
																																		CAR
																																		(BgL_pairz00_2144);
																																}
																																BgL_arg1259z00_1174
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_arg1261z00_1175,
																																	BNIL);
																															}
																															BgL_arg1258z00_1173
																																=
																																MAKE_YOUNG_PAIR
																																(BgL_dssslzd2argzd2_1169,
																																BgL_arg1259z00_1174);
																														}
																														BgL_arg1253z00_1171
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1258z00_1173,
																															BNIL);
																													}
																													{	/* Llib/dsssl.scm 107 */
																														obj_t
																															BgL_arg1263z00_1177;
																														BgL_arg1263z00_1177
																															=
																															((obj_t(*)(obj_t,
																																	obj_t,
																																	obj_t))
																															PROCEDURE_L_ENTRY
																															(BgL_nextzd2statezd2_1141))
																															(BgL_nextzd2statezd2_1141,
																															BgL_argsz00_1140,
																															BgL_dssslzd2argzd2_1169);
																														BgL_arg1254z00_1172
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1263z00_1177,
																															BNIL);
																													}
																													BgL_arg1252z00_1170 =
																														MAKE_YOUNG_PAIR
																														(BgL_arg1253z00_1171,
																														BgL_arg1254z00_1172);
																												}
																												return
																													MAKE_YOUNG_PAIR
																													(BGl_symbol2106z00zz__dssslz00,
																													BgL_arg1252z00_1170);
																											}
																										}
																									}
																								else
																									{	/* Llib/dsssl.scm 99 */
																									BgL_tagzd2103zd2_1149:
																										{	/* Llib/dsssl.scm 109 */
																											obj_t BgL_arg1265z00_1178;

																											{	/* Llib/dsssl.scm 109 */
																												obj_t
																													BgL_arg1266z00_1179;
																												BgL_arg1266z00_1179 =
																													CAR(((obj_t)
																														BgL_asz00_1144));
																												BgL_arg1265z00_1178 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1266z00_1179,
																													BgL_formalsz00_5);
																											}
																											return
																												BGL_PROCEDURE_CALL3
																												(BgL_errz00_7,
																												BgL_wherez00_4,
																												BGl_string2108z00zz__dssslz00,
																												BgL_arg1265z00_1178);
																										}
																									}
																							}
																						else
																							{	/* Llib/dsssl.scm 99 */
																								goto BgL_tagzd2103zd2_1149;
																							}
																					}
																				else
																					{	/* Llib/dsssl.scm 99 */
																						goto BgL_tagzd2103zd2_1149;
																					}
																			}
																		}
																	else
																		{	/* Llib/dsssl.scm 99 */
																			goto BgL_tagzd2103zd2_1149;
																		}
																}
														}
													}
												else
													{	/* Llib/dsssl.scm 97 */
														obj_t BgL_arg1267z00_1180;

														BgL_arg1267z00_1180 =
															MAKE_YOUNG_PAIR(BgL_asz00_1144, BgL_formalsz00_5);
														return
															BGL_PROCEDURE_CALL3(BgL_errz00_7, BgL_wherez00_4,
															BGl_string2109z00zz__dssslz00,
															BgL_arg1267z00_1180);
													}
											}
										}
									else
										{	/* Llib/dsssl.scm 81 */
											if ((CAR(BgL_argsz00_1111) == (BREST)))
												{
													obj_t BgL_nextzd2statezd2_2824;
													obj_t BgL_argsz00_2822;

													BgL_argsz00_2822 = CDR(BgL_argsz00_1111);
													BgL_nextzd2statezd2_2824 = BgL_restzd2statezd2_2513;
													BgL_nextzd2statezd2_1141 = BgL_nextzd2statezd2_2824;
													BgL_argsz00_1140 = BgL_argsz00_2822;
													goto BgL_zc3z04anonymousza31218ze3z87_1142;
												}
											else
												{	/* Llib/dsssl.scm 83 */
													if ((CAR(BgL_argsz00_1111) == (BKEY)))
														{
															obj_t BgL_nextzd2statezd2_2830;
															obj_t BgL_argsz00_2828;

															BgL_argsz00_2828 = CDR(BgL_argsz00_1111);
															BgL_nextzd2statezd2_2830 =
																BgL_nozd2restzd2keyzd2statezd2_2512;
															BgL_nextzd2statezd2_1141 =
																BgL_nextzd2statezd2_2830;
															BgL_argsz00_1140 = BgL_argsz00_2828;
															goto BgL_zc3z04anonymousza31218ze3z87_1142;
														}
													else
														{	/* Llib/dsssl.scm 88 */
															obj_t BgL_arg1206z00_1130;

															BgL_arg1206z00_1130 =
																MAKE_YOUNG_PAIR(CAR(BgL_argsz00_1111),
																BgL_formalsz00_5);
															return BGL_PROCEDURE_CALL3(BgL_errz00_7,
																BgL_wherez00_4, BGl_string2103z00zz__dssslz00,
																BgL_arg1206z00_1130);
														}
												}
										}
								}
							else
								{
									obj_t BgL_argsz00_2839;

									BgL_argsz00_2839 = CDR(BgL_argsz00_1111);
									BgL_argsz00_1111 = BgL_argsz00_2839;
									goto BgL_zc3z04anonymousza31164ze3z87_1112;
								}
						}
					else
						{	/* Llib/dsssl.scm 75 */
							return BgL_bodyz00_6;
						}
				}
			}
		}

	}



/* &make-dsssl-function-prelude */
	obj_t BGl_z62makezd2dssslzd2functionzd2preludezb0zz__dssslz00(obj_t
		BgL_envz00_2515, obj_t BgL_wherez00_2516, obj_t BgL_formalsz00_2517,
		obj_t BgL_bodyz00_2518, obj_t BgL_errz00_2519)
	{
		{	/* Llib/dsssl.scm 71 */
			{	/* Llib/dsssl.scm 75 */
				obj_t BgL_auxz00_2841;

				if (PROCEDUREP(BgL_errz00_2519))
					{	/* Llib/dsssl.scm 75 */
						BgL_auxz00_2841 = BgL_errz00_2519;
					}
				else
					{
						obj_t BgL_auxz00_2844;

						BgL_auxz00_2844 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string2110z00zz__dssslz00,
							BINT(3130L), BGl_string2111z00zz__dssslz00,
							BGl_string2112z00zz__dssslz00, BgL_errz00_2519);
						FAILURE(BgL_auxz00_2844, BFALSE, BFALSE);
					}
				return
					BGl_makezd2dssslzd2functionzd2preludezd2zz__dssslz00
					(BgL_wherez00_2516, BgL_formalsz00_2517, BgL_bodyz00_2518,
					BgL_auxz00_2841);
			}
		}

	}



/* &key-state */
	obj_t BGl_z62keyzd2statezb0zz__dssslz00(obj_t BgL_bodyz00_2523,
		obj_t BgL_formalsz00_2522, obj_t BgL_wherez00_2521, obj_t BgL_errz00_2520,
		obj_t BgL_argsz00_1427, obj_t BgL_dssslzd2argzd2_1428,
		obj_t BgL_collectedzd2keyszd2_1429, bool_t BgL_allowzd2restpzd2_1430)
	{
		{	/* Llib/dsssl.scm 264 */
			{
				obj_t BgL_argz00_1517;
				obj_t BgL_initializa7erza7_1518;
				obj_t BgL_collectedzd2keyszd2_1519;
				obj_t BgL_argz00_1535;
				obj_t BgL_bodyz00_1536;

				if (NULLP(BgL_argsz00_1427))
					{	/* Llib/dsssl.scm 271 */
						if (BgL_allowzd2restpzd2_1430)
							{	/* Llib/dsssl.scm 274 */
								obj_t BgL_arg1489z00_1435;

								{	/* Llib/dsssl.scm 274 */
									obj_t BgL_arg1490z00_1436;
									obj_t BgL_arg1491z00_1437;

									{	/* Llib/dsssl.scm 274 */
										obj_t BgL_arg1492z00_1438;

										{	/* Llib/dsssl.scm 274 */
											obj_t BgL_arg1494z00_1439;

											{	/* Llib/dsssl.scm 274 */
												obj_t BgL_arg1495z00_1440;

												{	/* Llib/dsssl.scm 274 */
													obj_t BgL_arg1497z00_1441;

													{	/* Llib/dsssl.scm 274 */
														obj_t BgL_arg1498z00_1442;

														{	/* Llib/dsssl.scm 274 */
															obj_t BgL_arg1499z00_1443;

															BgL_arg1499z00_1443 =
																MAKE_YOUNG_PAIR(BgL_collectedzd2keyszd2_1429,
																BNIL);
															BgL_arg1498z00_1442 =
																MAKE_YOUNG_PAIR(BGl_symbol2113z00zz__dssslz00,
																BgL_arg1499z00_1443);
														}
														BgL_arg1497z00_1441 =
															MAKE_YOUNG_PAIR(BgL_arg1498z00_1442, BNIL);
													}
													BgL_arg1495z00_1440 =
														MAKE_YOUNG_PAIR(BgL_dssslzd2argzd2_1428,
														BgL_arg1497z00_1441);
												}
												BgL_arg1494z00_1439 =
													MAKE_YOUNG_PAIR(BGl_symbol2115z00zz__dssslz00,
													BgL_arg1495z00_1440);
											}
											BgL_arg1492z00_1438 =
												MAKE_YOUNG_PAIR(BgL_arg1494z00_1439, BNIL);
										}
										BgL_arg1490z00_1436 =
											MAKE_YOUNG_PAIR(BGl_symbol2119z00zz__dssslz00,
											BgL_arg1492z00_1438);
									}
									{	/* Llib/dsssl.scm 278 */
										obj_t BgL_arg1500z00_1444;

										{	/* Llib/dsssl.scm 278 */
											obj_t BgL_arg1501z00_1445;

											{	/* Llib/dsssl.scm 278 */
												obj_t BgL_arg1502z00_1446;

												{	/* Llib/dsssl.scm 278 */
													obj_t BgL_arg1505z00_1447;

													{	/* Llib/dsssl.scm 278 */
														obj_t BgL_arg1506z00_1448;
														obj_t BgL_arg1507z00_1449;

														{	/* Llib/dsssl.scm 278 */
															obj_t BgL_arg1508z00_1450;

															{	/* Llib/dsssl.scm 278 */
																obj_t BgL_arg1509z00_1451;

																{	/* Llib/dsssl.scm 278 */
																	obj_t BgL_arg1510z00_1452;

																	{	/* Llib/dsssl.scm 278 */
																		obj_t BgL_arg1511z00_1453;

																		{	/* Llib/dsssl.scm 278 */
																			obj_t BgL_arg1512z00_1454;

																			{	/* Llib/dsssl.scm 278 */
																				obj_t BgL_arg1513z00_1455;
																				obj_t BgL_arg1514z00_1456;

																				{	/* Llib/dsssl.scm 278 */
																					obj_t BgL_arg1515z00_1457;

																					{	/* Llib/dsssl.scm 278 */
																						obj_t BgL_arg1516z00_1458;
																						obj_t BgL_arg1517z00_1459;

																						BgL_arg1516z00_1458 =
																							MAKE_YOUNG_PAIR
																							(BGl_symbol2121z00zz__dssslz00,
																							BNIL);
																						{	/* Llib/dsssl.scm 279 */
																							obj_t BgL_arg1520z00_1460;

																							{	/* Llib/dsssl.scm 279 */
																								obj_t BgL_arg1521z00_1461;

																								{	/* Llib/dsssl.scm 279 */
																									obj_t BgL_arg1522z00_1462;

																									BgL_arg1522z00_1462 =
																										MAKE_YOUNG_PAIR
																										(BGl_symbol2121z00zz__dssslz00,
																										BNIL);
																									BgL_arg1521z00_1461 =
																										MAKE_YOUNG_PAIR
																										(BGl_string2123z00zz__dssslz00,
																										BgL_arg1522z00_1462);
																								}
																								BgL_arg1520z00_1460 =
																									MAKE_YOUNG_PAIR
																									(BGl_symbol2124z00zz__dssslz00,
																									BgL_arg1521z00_1461);
																							}
																							BgL_arg1517z00_1459 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1520z00_1460, BNIL);
																						}
																						BgL_arg1515z00_1457 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1516z00_1458,
																							BgL_arg1517z00_1459);
																					}
																					BgL_arg1513z00_1455 =
																						MAKE_YOUNG_PAIR
																						(BGl_symbol2126z00zz__dssslz00,
																						BgL_arg1515z00_1457);
																				}
																				{	/* Llib/dsssl.scm 280 */
																					obj_t BgL_arg1523z00_1463;

																					{	/* Llib/dsssl.scm 280 */
																						obj_t BgL_arg1524z00_1464;

																						{	/* Llib/dsssl.scm 280 */
																							obj_t BgL_arg1525z00_1465;

																							{	/* Llib/dsssl.scm 280 */
																								obj_t BgL_arg1526z00_1466;

																								{	/* Llib/dsssl.scm 280 */
																									obj_t BgL_arg1527z00_1467;

																									BgL_arg1527z00_1467 =
																										MAKE_YOUNG_PAIR
																										(BgL_collectedzd2keyszd2_1429,
																										BNIL);
																									BgL_arg1526z00_1466 =
																										MAKE_YOUNG_PAIR
																										(BGl_symbol2113z00zz__dssslz00,
																										BgL_arg1527z00_1467);
																								}
																								BgL_arg1525z00_1465 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1526z00_1466, BNIL);
																							}
																							BgL_arg1524z00_1464 =
																								MAKE_YOUNG_PAIR
																								(BgL_dssslzd2argzd2_1428,
																								BgL_arg1525z00_1465);
																						}
																						BgL_arg1523z00_1463 =
																							MAKE_YOUNG_PAIR
																							(BGl_symbol2115z00zz__dssslz00,
																							BgL_arg1524z00_1464);
																					}
																					BgL_arg1514z00_1456 =
																						MAKE_YOUNG_PAIR(BgL_arg1523z00_1463,
																						BNIL);
																				}
																				BgL_arg1512z00_1454 =
																					MAKE_YOUNG_PAIR(BgL_arg1513z00_1455,
																					BgL_arg1514z00_1456);
																			}
																			BgL_arg1511z00_1453 =
																				MAKE_YOUNG_PAIR
																				(BGl_symbol2128z00zz__dssslz00,
																				BgL_arg1512z00_1454);
																		}
																		BgL_arg1510z00_1452 =
																			MAKE_YOUNG_PAIR(BgL_arg1511z00_1453,
																			BNIL);
																	}
																	BgL_arg1509z00_1451 =
																		MAKE_YOUNG_PAIR
																		(BGl_string2130z00zz__dssslz00,
																		BgL_arg1510z00_1452);
																}
																BgL_arg1508z00_1450 =
																	MAKE_YOUNG_PAIR(BGl_symbol2131z00zz__dssslz00,
																	BgL_arg1509z00_1451);
															}
															BgL_arg1506z00_1448 =
																MAKE_YOUNG_PAIR(BGl_symbol2133z00zz__dssslz00,
																BgL_arg1508z00_1450);
														}
														BgL_arg1507z00_1449 =
															MAKE_YOUNG_PAIR(BgL_dssslzd2argzd2_1428, BNIL);
														BgL_arg1505z00_1447 =
															MAKE_YOUNG_PAIR(BgL_arg1506z00_1448,
															BgL_arg1507z00_1449);
													}
													BgL_arg1502z00_1446 =
														MAKE_YOUNG_PAIR(BGl_string2118z00zz__dssslz00,
														BgL_arg1505z00_1447);
												}
												BgL_arg1501z00_1445 =
													MAKE_YOUNG_PAIR(BGl_symbol2135z00zz__dssslz00,
													BgL_arg1502z00_1446);
											}
											BgL_arg1500z00_1444 =
												MAKE_YOUNG_PAIR(BgL_arg1501z00_1445, BNIL);
										}
										BgL_arg1491z00_1437 =
											MAKE_YOUNG_PAIR(BgL_bodyz00_2523, BgL_arg1500z00_1444);
									}
									BgL_arg1489z00_1435 =
										MAKE_YOUNG_PAIR(BgL_arg1490z00_1436, BgL_arg1491z00_1437);
								}
								return
									MAKE_YOUNG_PAIR(BGl_symbol2137z00zz__dssslz00,
									BgL_arg1489z00_1435);
							}
						else
							{	/* Llib/dsssl.scm 272 */
								return BgL_bodyz00_2523;
							}
					}
				else
					{	/* Llib/dsssl.scm 271 */
						if ((CAR(((obj_t) BgL_argsz00_1427)) == (BREST)))
							{	/* Llib/dsssl.scm 285 */
								bool_t BgL_test2248z00_2890;

								if (BgL_allowzd2restpzd2_1430)
									{	/* Llib/dsssl.scm 285 */
										if (NULLP(CDR(((obj_t) BgL_argsz00_1427))))
											{	/* Llib/dsssl.scm 286 */
												BgL_test2248z00_2890 = ((bool_t) 1);
											}
										else
											{	/* Llib/dsssl.scm 287 */
												bool_t BgL_test2251z00_2896;

												{	/* Llib/dsssl.scm 287 */
													obj_t BgL_tmpz00_2897;

													{	/* Llib/dsssl.scm 287 */
														obj_t BgL_pairz00_2228;

														BgL_pairz00_2228 = CDR(((obj_t) BgL_argsz00_1427));
														BgL_tmpz00_2897 = CAR(BgL_pairz00_2228);
													}
													BgL_test2251z00_2896 = SYMBOLP(BgL_tmpz00_2897);
												}
												if (BgL_test2251z00_2896)
													{	/* Llib/dsssl.scm 288 */
														obj_t BgL_tmpz00_2902;

														{	/* Llib/dsssl.scm 288 */
															obj_t BgL_pairz00_2232;

															BgL_pairz00_2232 =
																CDR(((obj_t) BgL_argsz00_1427));
															BgL_tmpz00_2902 = CDR(BgL_pairz00_2232);
														}
														BgL_test2248z00_2890 = PAIRP(BgL_tmpz00_2902);
													}
												else
													{	/* Llib/dsssl.scm 287 */
														BgL_test2248z00_2890 = ((bool_t) 1);
													}
											}
									}
								else
									{	/* Llib/dsssl.scm 285 */
										BgL_test2248z00_2890 = ((bool_t) 1);
									}
								if (BgL_test2248z00_2890)
									{	/* Llib/dsssl.scm 285 */
										return
											BGL_PROCEDURE_CALL3(BgL_errz00_2520, BgL_wherez00_2521,
											BGl_string2139z00zz__dssslz00, BgL_formalsz00_2522);
									}
								else
									{	/* Llib/dsssl.scm 290 */
										obj_t BgL_arg1542z00_1478;

										{	/* Llib/dsssl.scm 290 */
											obj_t BgL_pairz00_2236;

											BgL_pairz00_2236 = CDR(((obj_t) BgL_argsz00_1427));
											BgL_arg1542z00_1478 = CAR(BgL_pairz00_2236);
										}
										BgL_argz00_1535 = BgL_arg1542z00_1478;
										BgL_bodyz00_1536 = BgL_bodyz00_2523;
										{	/* Llib/dsssl.scm 267 */
											obj_t BgL_arg1598z00_1538;

											{	/* Llib/dsssl.scm 267 */
												obj_t BgL_arg1599z00_1539;
												obj_t BgL_arg1600z00_1540;

												{	/* Llib/dsssl.scm 267 */
													obj_t BgL_arg1602z00_1541;

													{	/* Llib/dsssl.scm 267 */
														obj_t BgL_arg1603z00_1542;

														{	/* Llib/dsssl.scm 267 */
															obj_t BgL_arg1604z00_1543;

															{	/* Llib/dsssl.scm 267 */
																obj_t BgL_arg1605z00_1544;

																{	/* Llib/dsssl.scm 267 */
																	obj_t BgL_arg1608z00_1545;

																	{	/* Llib/dsssl.scm 267 */
																		obj_t BgL_arg1609z00_1546;

																		{	/* Llib/dsssl.scm 267 */
																			obj_t BgL_arg1610z00_1547;

																			BgL_arg1610z00_1547 =
																				MAKE_YOUNG_PAIR
																				(BgL_collectedzd2keyszd2_1429, BNIL);
																			BgL_arg1609z00_1546 =
																				MAKE_YOUNG_PAIR
																				(BGl_symbol2113z00zz__dssslz00,
																				BgL_arg1610z00_1547);
																		}
																		BgL_arg1608z00_1545 =
																			MAKE_YOUNG_PAIR(BgL_arg1609z00_1546,
																			BNIL);
																	}
																	BgL_arg1605z00_1544 =
																		MAKE_YOUNG_PAIR(BgL_dssslzd2argzd2_1428,
																		BgL_arg1608z00_1545);
																}
																BgL_arg1604z00_1543 =
																	MAKE_YOUNG_PAIR(BGl_symbol2115z00zz__dssslz00,
																	BgL_arg1605z00_1544);
															}
															BgL_arg1603z00_1542 =
																MAKE_YOUNG_PAIR(BgL_arg1604z00_1543, BNIL);
														}
														BgL_arg1602z00_1541 =
															MAKE_YOUNG_PAIR(BgL_argz00_1535,
															BgL_arg1603z00_1542);
													}
													BgL_arg1599z00_1539 =
														MAKE_YOUNG_PAIR(BgL_arg1602z00_1541, BNIL);
												}
												BgL_arg1600z00_1540 =
													MAKE_YOUNG_PAIR(BgL_bodyz00_1536, BNIL);
												BgL_arg1598z00_1538 =
													MAKE_YOUNG_PAIR(BgL_arg1599z00_1539,
													BgL_arg1600z00_1540);
											}
											return
												MAKE_YOUNG_PAIR(BGl_symbol2106z00zz__dssslz00,
												BgL_arg1598z00_1538);
										}
									}
							}
						else
							{	/* Llib/dsssl.scm 284 */
								if (PAIRP(BgL_argsz00_1427))
									{	/* Llib/dsssl.scm 293 */
										bool_t BgL_test2253z00_2929;

										{	/* Llib/dsssl.scm 293 */
											bool_t BgL_test2254z00_2930;

											{	/* Llib/dsssl.scm 293 */
												obj_t BgL_tmpz00_2931;

												BgL_tmpz00_2931 = CAR(BgL_argsz00_1427);
												BgL_test2254z00_2930 = SYMBOLP(BgL_tmpz00_2931);
											}
											if (BgL_test2254z00_2930)
												{	/* Llib/dsssl.scm 293 */
													BgL_test2253z00_2929 = ((bool_t) 0);
												}
											else
												{	/* Llib/dsssl.scm 293 */
													bool_t BgL_test2255z00_2934;

													{	/* Llib/dsssl.scm 293 */
														obj_t BgL_tmpz00_2935;

														BgL_tmpz00_2935 = CAR(BgL_argsz00_1427);
														BgL_test2255z00_2934 = PAIRP(BgL_tmpz00_2935);
													}
													if (BgL_test2255z00_2934)
														{	/* Llib/dsssl.scm 293 */
															BgL_test2253z00_2929 = ((bool_t) 0);
														}
													else
														{	/* Llib/dsssl.scm 293 */
															BgL_test2253z00_2929 = ((bool_t) 1);
														}
												}
										}
										if (BgL_test2253z00_2929)
											{	/* Llib/dsssl.scm 293 */
												return
													BGL_PROCEDURE_CALL3(BgL_errz00_2520,
													BgL_wherez00_2521, BGl_string2140z00zz__dssslz00,
													BgL_formalsz00_2522);
											}
										else
											{	/* Llib/dsssl.scm 297 */
												obj_t BgL_ezd2162zd2_1498;

												BgL_ezd2162zd2_1498 = CAR(BgL_argsz00_1427);
												if (PAIRP(BgL_ezd2162zd2_1498))
													{	/* Llib/dsssl.scm 297 */
														obj_t BgL_carzd2167zd2_1500;
														obj_t BgL_cdrzd2168zd2_1501;

														BgL_carzd2167zd2_1500 = CAR(BgL_ezd2162zd2_1498);
														BgL_cdrzd2168zd2_1501 = CDR(BgL_ezd2162zd2_1498);
														if (SYMBOLP(BgL_carzd2167zd2_1500))
															{	/* Llib/dsssl.scm 297 */
																if (PAIRP(BgL_cdrzd2168zd2_1501))
																	{	/* Llib/dsssl.scm 297 */
																		if (NULLP(CDR(BgL_cdrzd2168zd2_1501)))
																			{	/* Llib/dsssl.scm 297 */
																				BgL_argz00_1517 = BgL_carzd2167zd2_1500;
																				BgL_initializa7erza7_1518 =
																					CAR(BgL_cdrzd2168zd2_1501);
																				BgL_collectedzd2keyszd2_1519 =
																					BgL_collectedzd2keyszd2_1429;
																			BgL_zc3z04anonymousza31575ze3z87_1520:
																				{	/* Llib/dsssl.scm 260 */
																					obj_t BgL_arg1577z00_1521;

																					{	/* Llib/dsssl.scm 260 */
																						obj_t BgL_arg1578z00_1522;
																						obj_t BgL_arg1579z00_1523;

																						{	/* Llib/dsssl.scm 260 */
																							obj_t BgL_arg1580z00_1524;

																							{	/* Llib/dsssl.scm 260 */
																								obj_t BgL_arg1581z00_1525;

																								{	/* Llib/dsssl.scm 260 */
																									obj_t BgL_arg1582z00_1526;

																									{	/* Llib/dsssl.scm 260 */
																										obj_t BgL_arg1584z00_1527;

																										{	/* Llib/dsssl.scm 260 */
																											obj_t BgL_arg1586z00_1528;

																											{	/* Llib/dsssl.scm 260 */
																												obj_t
																													BgL_arg1587z00_1529;
																												obj_t
																													BgL_arg1588z00_1530;
																												BgL_arg1587z00_1529 =
																													BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																													(BgL_argz00_1517);
																												BgL_arg1588z00_1530 =
																													MAKE_YOUNG_PAIR
																													(BgL_initializa7erza7_1518,
																													BNIL);
																												BgL_arg1586z00_1528 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1587z00_1529,
																													BgL_arg1588z00_1530);
																											}
																											BgL_arg1584z00_1527 =
																												MAKE_YOUNG_PAIR
																												(BgL_dssslzd2argzd2_1428,
																												BgL_arg1586z00_1528);
																										}
																										BgL_arg1582z00_1526 =
																											MAKE_YOUNG_PAIR
																											(BGl_symbol2117z00zz__dssslz00,
																											BgL_arg1584z00_1527);
																									}
																									BgL_arg1581z00_1525 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg1582z00_1526, BNIL);
																								}
																								BgL_arg1580z00_1524 =
																									MAKE_YOUNG_PAIR
																									(BgL_argz00_1517,
																									BgL_arg1581z00_1525);
																							}
																							BgL_arg1578z00_1522 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1580z00_1524, BNIL);
																						}
																						{	/* Llib/dsssl.scm 261 */
																							obj_t BgL_arg1592z00_1531;

																							{	/* Llib/dsssl.scm 261 */
																								obj_t BgL_arg1593z00_1532;
																								obj_t BgL_arg1595z00_1533;

																								BgL_arg1593z00_1532 =
																									CDR(
																									((obj_t) BgL_argsz00_1427));
																								BgL_arg1595z00_1533 =
																									MAKE_YOUNG_PAIR
																									(BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																									(BgL_argz00_1517),
																									BgL_collectedzd2keyszd2_1519);
																								BgL_arg1592z00_1531 =
																									BGl_z62keyzd2statezb0zz__dssslz00
																									(BgL_bodyz00_2523,
																									BgL_formalsz00_2522,
																									BgL_wherez00_2521,
																									BgL_errz00_2520,
																									BgL_arg1593z00_1532,
																									BgL_dssslzd2argzd2_1428,
																									BgL_arg1595z00_1533,
																									BgL_allowzd2restpzd2_1430);
																							}
																							BgL_arg1579z00_1523 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg1592z00_1531, BNIL);
																						}
																						BgL_arg1577z00_1521 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1578z00_1522,
																							BgL_arg1579z00_1523);
																					}
																					return
																						MAKE_YOUNG_PAIR
																						(BGl_symbol2106z00zz__dssslz00,
																						BgL_arg1577z00_1521);
																				}
																			}
																		else
																			{	/* Llib/dsssl.scm 297 */
																				return
																					BGL_PROCEDURE_CALL3(BgL_errz00_2520,
																					BgL_wherez00_2521,
																					BGl_string2140z00zz__dssslz00,
																					BgL_formalsz00_2522);
																			}
																	}
																else
																	{	/* Llib/dsssl.scm 297 */
																		return
																			BGL_PROCEDURE_CALL3(BgL_errz00_2520,
																			BgL_wherez00_2521,
																			BGl_string2140z00zz__dssslz00,
																			BgL_formalsz00_2522);
																	}
															}
														else
															{	/* Llib/dsssl.scm 297 */
																return
																	BGL_PROCEDURE_CALL3(BgL_errz00_2520,
																	BgL_wherez00_2521,
																	BGl_string2140z00zz__dssslz00,
																	BgL_formalsz00_2522);
															}
													}
												else
													{	/* Llib/dsssl.scm 297 */
														if (SYMBOLP(BgL_ezd2162zd2_1498))
															{
																obj_t BgL_collectedzd2keyszd2_2995;
																obj_t BgL_initializa7erza7_2994;
																obj_t BgL_argz00_2993;

																BgL_argz00_2993 = BgL_ezd2162zd2_1498;
																BgL_initializa7erza7_2994 = BFALSE;
																BgL_collectedzd2keyszd2_2995 =
																	BgL_collectedzd2keyszd2_1429;
																BgL_collectedzd2keyszd2_1519 =
																	BgL_collectedzd2keyszd2_2995;
																BgL_initializa7erza7_1518 =
																	BgL_initializa7erza7_2994;
																BgL_argz00_1517 = BgL_argz00_2993;
																goto BgL_zc3z04anonymousza31575ze3z87_1520;
															}
														else
															{	/* Llib/dsssl.scm 297 */
																return
																	BGL_PROCEDURE_CALL3(BgL_errz00_2520,
																	BgL_wherez00_2521,
																	BGl_string2140z00zz__dssslz00,
																	BgL_formalsz00_2522);
															}
													}
											}
									}
								else
									{	/* Llib/dsssl.scm 291 */
										return
											BGL_PROCEDURE_CALL3(BgL_errz00_2520, BgL_wherez00_2521,
											BGl_string2140z00zz__dssslz00, BgL_formalsz00_2522);
									}
							}
					}
			}
		}

	}



/* &optional-state */
	obj_t BGl_z62optionalzd2statezb0zz__dssslz00(obj_t BgL_envz00_2524,
		obj_t BgL_argsz00_2531, obj_t BgL_dssslzd2argzd2_2532)
	{
		{	/* Llib/dsssl.scm 135 */
			{	/* Llib/dsssl.scm 116 */
				obj_t BgL_errz00_2525;
				obj_t BgL_wherez00_2526;
				obj_t BgL_formalsz00_2527;
				obj_t BgL_nozd2restzd2keyzd2statezd2_2528;
				obj_t BgL_restzd2statezd2_2529;
				obj_t BgL_bodyz00_2530;

				BgL_errz00_2525 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_2524, (int) (0L)));
				BgL_wherez00_2526 = PROCEDURE_L_REF(BgL_envz00_2524, (int) (1L));
				BgL_formalsz00_2527 = PROCEDURE_L_REF(BgL_envz00_2524, (int) (2L));
				BgL_nozd2restzd2keyzd2statezd2_2528 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_2524, (int) (3L)));
				BgL_restzd2statezd2_2529 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_2524, (int) (4L)));
				BgL_bodyz00_2530 = PROCEDURE_L_REF(BgL_envz00_2524, (int) (5L));
				{
					obj_t BgL_argsz00_2608;

					{	/* Llib/dsssl.scm 183 */
						obj_t BgL_auxz00_3023;

						BgL_argsz00_2608 = BgL_argsz00_2531;
						{
							obj_t BgL_argsz00_2610;

							BgL_argsz00_2610 = BgL_argsz00_2608;
						BgL_loopz00_2609:
							if (PAIRP(BgL_argsz00_2610))
								{	/* Llib/dsssl.scm 116 */
									if ((CAR(BgL_argsz00_2610) == (BKEY)))
										{	/* Llib/dsssl.scm 119 */
											obj_t BgL_g1040z00_2611;

											BgL_g1040z00_2611 = CDR(BgL_argsz00_2610);
											{
												obj_t BgL_argsz00_2613;
												obj_t BgL_resz00_2614;

												BgL_argsz00_2613 = BgL_g1040z00_2611;
												BgL_resz00_2614 = BNIL;
											BgL_loopz00_2612:
												{	/* Llib/dsssl.scm 122 */
													bool_t BgL_test2263z00_3030;

													if (PAIRP(BgL_argsz00_2613))
														{	/* Llib/dsssl.scm 123 */
															bool_t BgL_test2265z00_3033;

															{	/* Llib/dsssl.scm 123 */
																bool_t BgL_test2266z00_3034;

																{	/* Llib/dsssl.scm 123 */
																	obj_t BgL_tmpz00_3035;

																	BgL_tmpz00_3035 = CAR(BgL_argsz00_2613);
																	BgL_test2266z00_3034 = PAIRP(BgL_tmpz00_3035);
																}
																if (BgL_test2266z00_3034)
																	{	/* Llib/dsssl.scm 123 */
																		BgL_test2265z00_3033 = ((bool_t) 1);
																	}
																else
																	{	/* Llib/dsssl.scm 124 */
																		obj_t BgL_tmpz00_3038;

																		BgL_tmpz00_3038 = CAR(BgL_argsz00_2613);
																		BgL_test2265z00_3033 =
																			SYMBOLP(BgL_tmpz00_3038);
																	}
															}
															if (BgL_test2265z00_3033)
																{	/* Llib/dsssl.scm 123 */
																	if ((CAR(BgL_argsz00_2613) == (BOPTIONAL)))
																		{	/* Llib/dsssl.scm 125 */
																			BgL_test2263z00_3030 = ((bool_t) 1);
																		}
																	else
																		{	/* Llib/dsssl.scm 125 */
																			BgL_test2263z00_3030 =
																				(CAR(BgL_argsz00_2613) == (BREST));
																		}
																}
															else
																{	/* Llib/dsssl.scm 123 */
																	BgL_test2263z00_3030 = ((bool_t) 1);
																}
														}
													else
														{	/* Llib/dsssl.scm 122 */
															BgL_test2263z00_3030 = ((bool_t) 1);
														}
													if (BgL_test2263z00_3030)
														{	/* Llib/dsssl.scm 122 */
															BgL_auxz00_3023 = BgL_resz00_2614;
														}
													else
														{	/* Llib/dsssl.scm 128 */
															bool_t BgL_test2268z00_3046;

															{	/* Llib/dsssl.scm 128 */
																obj_t BgL_tmpz00_3047;

																BgL_tmpz00_3047 =
																	CAR(((obj_t) BgL_argsz00_2613));
																BgL_test2268z00_3046 = SYMBOLP(BgL_tmpz00_3047);
															}
															if (BgL_test2268z00_3046)
																{	/* Llib/dsssl.scm 129 */
																	obj_t BgL_arg1409z00_2615;
																	obj_t BgL_arg1410z00_2616;

																	BgL_arg1409z00_2615 =
																		CDR(((obj_t) BgL_argsz00_2613));
																	{	/* Llib/dsssl.scm 130 */
																		obj_t BgL_arg1411z00_2617;

																		{	/* Llib/dsssl.scm 130 */
																			obj_t BgL_arg1412z00_2618;

																			BgL_arg1412z00_2618 =
																				CAR(((obj_t) BgL_argsz00_2613));
																			BgL_arg1411z00_2617 =
																				BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																				(BgL_arg1412z00_2618);
																		}
																		BgL_arg1410z00_2616 =
																			MAKE_YOUNG_PAIR(BgL_arg1411z00_2617,
																			BgL_resz00_2614);
																	}
																	{
																		obj_t BgL_resz00_3058;
																		obj_t BgL_argsz00_3057;

																		BgL_argsz00_3057 = BgL_arg1409z00_2615;
																		BgL_resz00_3058 = BgL_arg1410z00_2616;
																		BgL_resz00_2614 = BgL_resz00_3058;
																		BgL_argsz00_2613 = BgL_argsz00_3057;
																		goto BgL_loopz00_2612;
																	}
																}
															else
																{	/* Llib/dsssl.scm 132 */
																	obj_t BgL_arg1413z00_2619;
																	obj_t BgL_arg1414z00_2620;

																	BgL_arg1413z00_2619 =
																		CDR(((obj_t) BgL_argsz00_2613));
																	{	/* Llib/dsssl.scm 133 */
																		obj_t BgL_arg1415z00_2621;

																		{	/* Llib/dsssl.scm 133 */
																			obj_t BgL_arg1416z00_2622;

																			{	/* Llib/dsssl.scm 133 */
																				obj_t BgL_pairz00_2623;

																				BgL_pairz00_2623 =
																					CAR(((obj_t) BgL_argsz00_2613));
																				BgL_arg1416z00_2622 =
																					CAR(BgL_pairz00_2623);
																			}
																			BgL_arg1415z00_2621 =
																				BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																				(BgL_arg1416z00_2622);
																		}
																		BgL_arg1414z00_2620 =
																			MAKE_YOUNG_PAIR(BgL_arg1415z00_2621,
																			BgL_resz00_2614);
																	}
																	{
																		obj_t BgL_resz00_3067;
																		obj_t BgL_argsz00_3066;

																		BgL_argsz00_3066 = BgL_arg1413z00_2619;
																		BgL_resz00_3067 = BgL_arg1414z00_2620;
																		BgL_resz00_2614 = BgL_resz00_3067;
																		BgL_argsz00_2613 = BgL_argsz00_3066;
																		goto BgL_loopz00_2612;
																	}
																}
														}
												}
											}
										}
									else
										{
											obj_t BgL_argsz00_3068;

											BgL_argsz00_3068 = CDR(BgL_argsz00_2610);
											BgL_argsz00_2610 = BgL_argsz00_3068;
											goto BgL_loopz00_2609;
										}
								}
							else
								{	/* Llib/dsssl.scm 116 */
									BgL_auxz00_3023 = BNIL;
								}
						}
						return
							BGl_optionalzd2argsze70z35zz__dssslz00(BgL_bodyz00_2530,
							BgL_restzd2statezd2_2529, BgL_nozd2restzd2keyzd2statezd2_2528,
							BgL_formalsz00_2527, BgL_wherez00_2526, BgL_errz00_2525,
							BgL_auxz00_3023, BgL_dssslzd2argzd2_2532, BgL_argsz00_2531);
					}
				}
			}
		}

	}



/* optional-args~0 */
	obj_t BGl_optionalzd2argsze70z35zz__dssslz00(obj_t BgL_bodyz00_2575,
		obj_t BgL_restzd2statezd2_2574, obj_t BgL_nozd2restzd2keyzd2statezd2_2573,
		obj_t BgL_formalsz00_2572, obj_t BgL_wherez00_2571, obj_t BgL_errz00_2570,
		obj_t BgL_keywordzd2argumentszd2_2569, obj_t BgL_dssslzd2argzd2_2568,
		obj_t BgL_argsz00_1233)
	{
		{	/* Llib/dsssl.scm 181 */
			{
				obj_t BgL_argz00_1189;
				obj_t BgL_initializa7erza7_1190;
				obj_t BgL_restz00_1191;

				if (NULLP(BgL_argsz00_1233))
					{	/* Llib/dsssl.scm 159 */
						return BgL_bodyz00_2575;
					}
				else
					{	/* Llib/dsssl.scm 159 */
						if (PAIRP(BgL_argsz00_1233))
							{	/* Llib/dsssl.scm 163 */
								bool_t BgL_test2271z00_3075;

								{	/* Llib/dsssl.scm 163 */
									bool_t BgL_test2272z00_3076;

									{	/* Llib/dsssl.scm 163 */
										obj_t BgL_tmpz00_3077;

										BgL_tmpz00_3077 = CAR(BgL_argsz00_1233);
										BgL_test2272z00_3076 = SYMBOLP(BgL_tmpz00_3077);
									}
									if (BgL_test2272z00_3076)
										{	/* Llib/dsssl.scm 163 */
											BgL_test2271z00_3075 = ((bool_t) 0);
										}
									else
										{	/* Llib/dsssl.scm 163 */
											bool_t BgL_test2273z00_3080;

											{	/* Llib/dsssl.scm 163 */
												obj_t BgL_tmpz00_3081;

												BgL_tmpz00_3081 = CAR(BgL_argsz00_1233);
												BgL_test2273z00_3080 = PAIRP(BgL_tmpz00_3081);
											}
											if (BgL_test2273z00_3080)
												{	/* Llib/dsssl.scm 163 */
													BgL_test2271z00_3075 = ((bool_t) 0);
												}
											else
												{	/* Llib/dsssl.scm 163 */
													BgL_test2271z00_3075 = ((bool_t) 1);
												}
										}
								}
								if (BgL_test2271z00_3075)
									{	/* Llib/dsssl.scm 163 */
										if ((CAR(BgL_argsz00_1233) == (BREST)))
											{	/* Llib/dsssl.scm 167 */
												return
													BGl_z62restzd2statezb0zz__dssslz00
													(BgL_restzd2statezd2_2574, CDR(BgL_argsz00_1233),
													BgL_dssslzd2argzd2_2568);
											}
										else
											{	/* Llib/dsssl.scm 167 */
												if ((CAR(BgL_argsz00_1233) == (BKEY)))
													{	/* Llib/dsssl.scm 169 */
														return
															BGl_z62nozd2restzd2keyzd2statezb0zz__dssslz00
															(BgL_nozd2restzd2keyzd2statezd2_2573,
															CDR(BgL_argsz00_1233), BgL_dssslzd2argzd2_2568);
													}
												else
													{	/* Llib/dsssl.scm 169 */
														return
															BGL_PROCEDURE_CALL3(BgL_errz00_2570,
															BgL_wherez00_2571, BGl_string2153z00zz__dssslz00,
															BgL_formalsz00_2572);
													}
											}
									}
								else
									{	/* Llib/dsssl.scm 175 */
										obj_t BgL_ezd2112zd2_1258;

										BgL_ezd2112zd2_1258 = CAR(BgL_argsz00_1233);
										if (PAIRP(BgL_ezd2112zd2_1258))
											{	/* Llib/dsssl.scm 175 */
												obj_t BgL_carzd2117zd2_1260;
												obj_t BgL_cdrzd2118zd2_1261;

												BgL_carzd2117zd2_1260 = CAR(BgL_ezd2112zd2_1258);
												BgL_cdrzd2118zd2_1261 = CDR(BgL_ezd2112zd2_1258);
												if (SYMBOLP(BgL_carzd2117zd2_1260))
													{	/* Llib/dsssl.scm 175 */
														if (PAIRP(BgL_cdrzd2118zd2_1261))
															{	/* Llib/dsssl.scm 175 */
																if (NULLP(CDR(BgL_cdrzd2118zd2_1261)))
																	{	/* Llib/dsssl.scm 175 */
																		BgL_argz00_1189 = BgL_carzd2117zd2_1260;
																		BgL_initializa7erza7_1190 =
																			CAR(BgL_cdrzd2118zd2_1261);
																		BgL_restz00_1191 = CDR(BgL_argsz00_1233);
																	BgL_zc3z04anonymousza31269ze3z87_1192:
																		{	/* Llib/dsssl.scm 140 */
																			obj_t BgL_tmpz00_1193;

																			BgL_tmpz00_1193 =
																				BGl_gensymz00zz__r4_symbols_6_4z00
																				(BGl_symbol2141z00zz__dssslz00);
																			{	/* Llib/dsssl.scm 141 */
																				obj_t BgL_arg1271z00_1194;

																				{	/* Llib/dsssl.scm 141 */
																					obj_t BgL_arg1274z00_1195;
																					obj_t BgL_arg1276z00_1196;

																					{	/* Llib/dsssl.scm 141 */
																						obj_t BgL_arg1278z00_1197;

																						{	/* Llib/dsssl.scm 141 */
																							obj_t BgL_arg1279z00_1198;

																							{	/* Llib/dsssl.scm 141 */
																								obj_t BgL_arg1280z00_1199;

																								{	/* Llib/dsssl.scm 141 */
																									obj_t BgL_arg1281z00_1200;

																									{	/* Llib/dsssl.scm 141 */
																										obj_t BgL_arg1282z00_1201;
																										obj_t BgL_arg1283z00_1202;

																										{	/* Llib/dsssl.scm 141 */
																											obj_t BgL_arg1285z00_1203;

																											{	/* Llib/dsssl.scm 141 */
																												obj_t
																													BgL_arg1287z00_1204;
																												obj_t
																													BgL_arg1291z00_1205;
																												{	/* Llib/dsssl.scm 141 */
																													obj_t
																														BgL_arg1292z00_1206;
																													BgL_arg1292z00_1206 =
																														MAKE_YOUNG_PAIR
																														(BgL_dssslzd2argzd2_2568,
																														BNIL);
																													BgL_arg1287z00_1204 =
																														MAKE_YOUNG_PAIR
																														(BGl_symbol2119z00zz__dssslz00,
																														BgL_arg1292z00_1206);
																												}
																												{	/* Llib/dsssl.scm 143 */
																													obj_t
																														BgL_arg1293z00_1207;
																													{	/* Llib/dsssl.scm 143 */
																														obj_t
																															BgL_arg1295z00_1208;
																														{	/* Llib/dsssl.scm 143 */
																															obj_t
																																BgL_arg1296z00_1209;
																															{	/* Llib/dsssl.scm 143 */
																																obj_t
																																	BgL_arg1298z00_1210;
																																obj_t
																																	BgL_arg1301z00_1211;
																																{	/* Llib/dsssl.scm 143 */
																																	obj_t
																																		BgL_arg1322z00_1212;
																																	BgL_arg1322z00_1212
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_dssslzd2argzd2_2568,
																																		BNIL);
																																	BgL_arg1298z00_1210
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BGl_symbol2143z00zz__dssslz00,
																																		BgL_arg1322z00_1212);
																																}
																																{	/* Llib/dsssl.scm 143 */
																																	obj_t
																																		BgL_arg1329z00_1213;
																																	{	/* Llib/dsssl.scm 143 */
																																		obj_t
																																			BgL_arg1330z00_1214;
																																		BgL_arg1330z00_1214
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BgL_keywordzd2argumentszd2_2569,
																																			BNIL);
																																		BgL_arg1329z00_1213
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BGl_symbol2113z00zz__dssslz00,
																																			BgL_arg1330z00_1214);
																																	}
																																	BgL_arg1301z00_1211
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_arg1329z00_1213,
																																		BNIL);
																																}
																																BgL_arg1296z00_1209
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_arg1298z00_1210,
																																	BgL_arg1301z00_1211);
																															}
																															BgL_arg1295z00_1208
																																=
																																MAKE_YOUNG_PAIR
																																(BGl_symbol2145z00zz__dssslz00,
																																BgL_arg1296z00_1209);
																														}
																														BgL_arg1293z00_1207
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1295z00_1208,
																															BNIL);
																													}
																													BgL_arg1291z00_1205 =
																														MAKE_YOUNG_PAIR
																														(BTRUE,
																														BgL_arg1293z00_1207);
																												}
																												BgL_arg1285z00_1203 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1287z00_1204,
																													BgL_arg1291z00_1205);
																											}
																											BgL_arg1282z00_1201 =
																												MAKE_YOUNG_PAIR
																												(BGl_symbol2137z00zz__dssslz00,
																												BgL_arg1285z00_1203);
																										}
																										{	/* Llib/dsssl.scm 145 */
																											obj_t BgL_arg1331z00_1215;

																											{	/* Llib/dsssl.scm 145 */
																												obj_t
																													BgL_arg1332z00_1216;
																												{	/* Llib/dsssl.scm 145 */
																													obj_t
																														BgL_arg1333z00_1217;
																													{	/* Llib/dsssl.scm 145 */
																														obj_t
																															BgL_arg1334z00_1218;
																														obj_t
																															BgL_arg1335z00_1219;
																														{	/* Llib/dsssl.scm 145 */
																															obj_t
																																BgL_arg1336z00_1220;
																															{	/* Llib/dsssl.scm 145 */
																																obj_t
																																	BgL_arg1337z00_1221;
																																{	/* Llib/dsssl.scm 145 */
																																	obj_t
																																		BgL_arg1338z00_1222;
																																	{	/* Llib/dsssl.scm 145 */
																																		obj_t
																																			BgL_arg1339z00_1223;
																																		BgL_arg1339z00_1223
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BgL_dssslzd2argzd2_2568,
																																			BNIL);
																																		BgL_arg1338z00_1222
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BGl_symbol2143z00zz__dssslz00,
																																			BgL_arg1339z00_1223);
																																	}
																																	BgL_arg1337z00_1221
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_arg1338z00_1222,
																																		BNIL);
																																}
																																BgL_arg1336z00_1220
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BgL_tmpz00_1193,
																																	BgL_arg1337z00_1221);
																															}
																															BgL_arg1334z00_1218
																																=
																																MAKE_YOUNG_PAIR
																																(BgL_arg1336z00_1220,
																																BNIL);
																														}
																														{	/* Llib/dsssl.scm 153 */
																															obj_t
																																BgL_arg1341z00_1224;
																															{	/* Llib/dsssl.scm 153 */
																																obj_t
																																	BgL_arg1342z00_1225;
																																{	/* Llib/dsssl.scm 153 */
																																	obj_t
																																		BgL_arg1343z00_1226;
																																	obj_t
																																		BgL_arg1345z00_1227;
																																	{	/* Llib/dsssl.scm 153 */
																																		obj_t
																																			BgL_arg1346z00_1228;
																																		{	/* Llib/dsssl.scm 153 */
																																			obj_t
																																				BgL_arg1347z00_1229;
																																			{	/* Llib/dsssl.scm 153 */
																																				obj_t
																																					BgL_arg1349z00_1230;
																																				{	/* Llib/dsssl.scm 153 */
																																					obj_t
																																						BgL_arg1351z00_1231;
																																					BgL_arg1351z00_1231
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BgL_dssslzd2argzd2_2568,
																																						BNIL);
																																					BgL_arg1349z00_1230
																																						=
																																						MAKE_YOUNG_PAIR
																																						(BGl_symbol2147z00zz__dssslz00,
																																						BgL_arg1351z00_1231);
																																				}
																																				BgL_arg1347z00_1229
																																					=
																																					MAKE_YOUNG_PAIR
																																					(BgL_arg1349z00_1230,
																																					BNIL);
																																			}
																																			BgL_arg1346z00_1228
																																				=
																																				MAKE_YOUNG_PAIR
																																				(BgL_dssslzd2argzd2_2568,
																																				BgL_arg1347z00_1229);
																																		}
																																		BgL_arg1343z00_1226
																																			=
																																			MAKE_YOUNG_PAIR
																																			(BGl_symbol2149z00zz__dssslz00,
																																			BgL_arg1346z00_1228);
																																	}
																																	BgL_arg1345z00_1227
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_tmpz00_1193,
																																		BNIL);
																																	BgL_arg1342z00_1225
																																		=
																																		MAKE_YOUNG_PAIR
																																		(BgL_arg1343z00_1226,
																																		BgL_arg1345z00_1227);
																																}
																																BgL_arg1341z00_1224
																																	=
																																	MAKE_YOUNG_PAIR
																																	(BGl_symbol2151z00zz__dssslz00,
																																	BgL_arg1342z00_1225);
																															}
																															BgL_arg1335z00_1219
																																=
																																MAKE_YOUNG_PAIR
																																(BgL_arg1341z00_1224,
																																BNIL);
																														}
																														BgL_arg1333z00_1217
																															=
																															MAKE_YOUNG_PAIR
																															(BgL_arg1334z00_1218,
																															BgL_arg1335z00_1219);
																													}
																													BgL_arg1332z00_1216 =
																														MAKE_YOUNG_PAIR
																														(BGl_symbol2106z00zz__dssslz00,
																														BgL_arg1333z00_1217);
																												}
																												BgL_arg1331z00_1215 =
																													MAKE_YOUNG_PAIR
																													(BgL_arg1332z00_1216,
																													BNIL);
																											}
																											BgL_arg1283z00_1202 =
																												MAKE_YOUNG_PAIR
																												(BgL_initializa7erza7_1190,
																												BgL_arg1331z00_1215);
																										}
																										BgL_arg1281z00_1200 =
																											MAKE_YOUNG_PAIR
																											(BgL_arg1282z00_1201,
																											BgL_arg1283z00_1202);
																									}
																									BgL_arg1280z00_1199 =
																										MAKE_YOUNG_PAIR
																										(BGl_symbol2137z00zz__dssslz00,
																										BgL_arg1281z00_1200);
																								}
																								BgL_arg1279z00_1198 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg1280z00_1199, BNIL);
																							}
																							BgL_arg1278z00_1197 =
																								MAKE_YOUNG_PAIR(BgL_argz00_1189,
																								BgL_arg1279z00_1198);
																						}
																						BgL_arg1274z00_1195 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1278z00_1197, BNIL);
																					}
																					BgL_arg1276z00_1196 =
																						MAKE_YOUNG_PAIR
																						(BGl_optionalzd2argsze70z35zz__dssslz00
																						(BgL_bodyz00_2575,
																							BgL_restzd2statezd2_2574,
																							BgL_nozd2restzd2keyzd2statezd2_2573,
																							BgL_formalsz00_2572,
																							BgL_wherez00_2571,
																							BgL_errz00_2570,
																							BgL_keywordzd2argumentszd2_2569,
																							BgL_dssslzd2argzd2_2568,
																							BgL_restz00_1191), BNIL);
																					BgL_arg1271z00_1194 =
																						MAKE_YOUNG_PAIR(BgL_arg1274z00_1195,
																						BgL_arg1276z00_1196);
																				}
																				return
																					MAKE_YOUNG_PAIR
																					(BGl_symbol2106z00zz__dssslz00,
																					BgL_arg1271z00_1194);
																			}
																		}
																	}
																else
																	{	/* Llib/dsssl.scm 175 */
																		return
																			BGL_PROCEDURE_CALL3(BgL_errz00_2570,
																			BgL_wherez00_2571,
																			BGl_string2153z00zz__dssslz00,
																			BgL_formalsz00_2572);
																	}
															}
														else
															{	/* Llib/dsssl.scm 175 */
																return
																	BGL_PROCEDURE_CALL3(BgL_errz00_2570,
																	BgL_wherez00_2571,
																	BGl_string2153z00zz__dssslz00,
																	BgL_formalsz00_2572);
															}
													}
												else
													{	/* Llib/dsssl.scm 175 */
														return
															BGL_PROCEDURE_CALL3(BgL_errz00_2570,
															BgL_wherez00_2571, BGl_string2153z00zz__dssslz00,
															BgL_formalsz00_2572);
													}
											}
										else
											{	/* Llib/dsssl.scm 175 */
												if (SYMBOLP(BgL_ezd2112zd2_1258))
													{
														obj_t BgL_restz00_3177;
														obj_t BgL_initializa7erza7_3176;
														obj_t BgL_argz00_3175;

														BgL_argz00_3175 = BgL_ezd2112zd2_1258;
														BgL_initializa7erza7_3176 = BFALSE;
														BgL_restz00_3177 = CDR(BgL_argsz00_1233);
														BgL_restz00_1191 = BgL_restz00_3177;
														BgL_initializa7erza7_1190 =
															BgL_initializa7erza7_3176;
														BgL_argz00_1189 = BgL_argz00_3175;
														goto BgL_zc3z04anonymousza31269ze3z87_1192;
													}
												else
													{	/* Llib/dsssl.scm 175 */
														return
															BGL_PROCEDURE_CALL3(BgL_errz00_2570,
															BgL_wherez00_2571, BGl_string2153z00zz__dssslz00,
															BgL_formalsz00_2572);
													}
											}
									}
							}
						else
							{	/* Llib/dsssl.scm 161 */
								return
									BGL_PROCEDURE_CALL3(BgL_errz00_2570, BgL_wherez00_2571,
									BGl_string2153z00zz__dssslz00, BgL_formalsz00_2572);
							}
					}
			}
		}

	}



/* &rest-state */
	obj_t BGl_z62restzd2statezb0zz__dssslz00(obj_t BgL_envz00_2533,
		obj_t BgL_argsz00_2538, obj_t BgL_dssslzd2argzd2_2539)
	{
		{	/* Llib/dsssl.scm 193 */
			{	/* Llib/dsssl.scm 187 */
				obj_t BgL_errz00_2534;
				obj_t BgL_wherez00_2535;
				obj_t BgL_formalsz00_2536;
				obj_t BgL_bodyz00_2537;

				BgL_errz00_2534 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_2533, (int) (0L)));
				BgL_wherez00_2535 = PROCEDURE_L_REF(BgL_envz00_2533, (int) (1L));
				BgL_formalsz00_2536 = PROCEDURE_L_REF(BgL_envz00_2533, (int) (2L));
				BgL_bodyz00_2537 = PROCEDURE_L_REF(BgL_envz00_2533, (int) (3L));
				{
					obj_t BgL_argsz00_2640;
					obj_t BgL_dssslzd2argzd2_2641;
					obj_t BgL_argsz00_2627;
					obj_t BgL_dssslzd2argzd2_2628;

					if (PAIRP(BgL_argsz00_2538))
						{	/* Llib/dsssl.scm 189 */
							bool_t BgL_test2282z00_3202;

							{	/* Llib/dsssl.scm 189 */
								obj_t BgL_tmpz00_3203;

								BgL_tmpz00_3203 = CAR(BgL_argsz00_2538);
								BgL_test2282z00_3202 = SYMBOLP(BgL_tmpz00_3203);
							}
							if (BgL_test2282z00_3202)
								{	/* Llib/dsssl.scm 192 */
									obj_t BgL_arg1429z00_2642;

									{	/* Llib/dsssl.scm 192 */
										obj_t BgL_arg1430z00_2643;
										obj_t BgL_arg1431z00_2644;

										{	/* Llib/dsssl.scm 192 */
											obj_t BgL_arg1432z00_2645;

											{	/* Llib/dsssl.scm 192 */
												obj_t BgL_arg1433z00_2646;
												obj_t BgL_arg1434z00_2647;

												BgL_arg1433z00_2646 = CAR(BgL_argsz00_2538);
												BgL_arg1434z00_2647 =
													MAKE_YOUNG_PAIR(BgL_dssslzd2argzd2_2539, BNIL);
												BgL_arg1432z00_2645 =
													MAKE_YOUNG_PAIR(BgL_arg1433z00_2646,
													BgL_arg1434z00_2647);
											}
											BgL_arg1430z00_2643 =
												MAKE_YOUNG_PAIR(BgL_arg1432z00_2645, BNIL);
										}
										{	/* Llib/dsssl.scm 192 */
											obj_t BgL_tmpz00_3210;

											BgL_argsz00_2640 = CDR(BgL_argsz00_2538);
											BgL_dssslzd2argzd2_2641 = BgL_dssslzd2argzd2_2539;
											if (NULLP(BgL_argsz00_2640))
												{	/* Llib/dsssl.scm 197 */
													BgL_tmpz00_3210 = BgL_bodyz00_2537;
												}
											else
												{	/* Llib/dsssl.scm 197 */
													if (PAIRP(BgL_argsz00_2640))
														{	/* Llib/dsssl.scm 199 */
															if ((CAR(BgL_argsz00_2640) == (BKEY)))
																{	/* Llib/dsssl.scm 201 */
																	BgL_argsz00_2627 = CDR(BgL_argsz00_2640);
																	BgL_dssslzd2argzd2_2628 =
																		BgL_dssslzd2argzd2_2641;
																	{
																		obj_t BgL_argsz00_2630;

																		if (NULLP(BgL_argsz00_2627))
																			{	/* Llib/dsssl.scm 220 */
																				BgL_tmpz00_3210 =
																					BGL_PROCEDURE_CALL3(BgL_errz00_2534,
																					BgL_wherez00_2535,
																					BGl_string2140z00zz__dssslz00,
																					BgL_formalsz00_2536);
																			}
																		else
																			{	/* Llib/dsssl.scm 223 */
																				obj_t BgL_keysz00_2639;

																				BgL_argsz00_2630 = BgL_argsz00_2627;
																				if (NULLP(BgL_argsz00_2630))
																					{	/* Llib/dsssl.scm 209 */
																						BgL_keysz00_2639 = BNIL;
																					}
																				else
																					{	/* Llib/dsssl.scm 209 */
																						obj_t BgL_head1078z00_2631;

																						BgL_head1078z00_2631 =
																							MAKE_YOUNG_PAIR(BNIL, BNIL);
																						{
																							obj_t BgL_l1076z00_2633;
																							obj_t BgL_tail1079z00_2634;

																							BgL_l1076z00_2633 =
																								BgL_argsz00_2630;
																							BgL_tail1079z00_2634 =
																								BgL_head1078z00_2631;
																						BgL_zc3z04anonymousza31451ze3z87_2632:
																							if (NULLP
																								(BgL_l1076z00_2633))
																								{	/* Llib/dsssl.scm 209 */
																									BgL_keysz00_2639 =
																										CDR(BgL_head1078z00_2631);
																								}
																							else
																								{	/* Llib/dsssl.scm 209 */
																									obj_t BgL_newtail1080z00_2635;

																									{	/* Llib/dsssl.scm 209 */
																										obj_t BgL_arg1455z00_2636;

																										{	/* Llib/dsssl.scm 209 */
																											obj_t BgL_xz00_2637;

																											BgL_xz00_2637 =
																												CAR(
																												((obj_t)
																													BgL_l1076z00_2633));
																											{	/* Llib/dsssl.scm 211 */
																												bool_t
																													BgL_test2289z00_3234;
																												if (PAIRP
																													(BgL_xz00_2637))
																													{	/* Llib/dsssl.scm 211 */
																														obj_t
																															BgL_tmpz00_3237;
																														BgL_tmpz00_3237 =
																															CAR
																															(BgL_xz00_2637);
																														BgL_test2289z00_3234
																															=
																															SYMBOLP
																															(BgL_tmpz00_3237);
																													}
																												else
																													{	/* Llib/dsssl.scm 211 */
																														BgL_test2289z00_3234
																															= ((bool_t) 0);
																													}
																												if (BgL_test2289z00_3234)
																													{	/* Llib/dsssl.scm 211 */
																														BgL_arg1455z00_2636
																															=
																															BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																															(CAR
																															(BgL_xz00_2637));
																													}
																												else
																													{	/* Llib/dsssl.scm 211 */
																														if (SYMBOLP
																															(BgL_xz00_2637))
																															{	/* Llib/dsssl.scm 213 */
																																BgL_arg1455z00_2636
																																	=
																																	BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																																	(BgL_xz00_2637);
																															}
																														else
																															{	/* Llib/dsssl.scm 213 */
																																BgL_arg1455z00_2636
																																	=
																																	BGL_PROCEDURE_CALL3
																																	(BgL_errz00_2534,
																																	BgL_wherez00_2535,
																																	BGl_string2154z00zz__dssslz00,
																																	BgL_formalsz00_2536);
																															}
																													}
																											}
																										}
																										BgL_newtail1080z00_2635 =
																											MAKE_YOUNG_PAIR
																											(BgL_arg1455z00_2636,
																											BNIL);
																									}
																									SET_CDR(BgL_tail1079z00_2634,
																										BgL_newtail1080z00_2635);
																									{	/* Llib/dsssl.scm 209 */
																										obj_t BgL_arg1453z00_2638;

																										BgL_arg1453z00_2638 =
																											CDR(
																											((obj_t)
																												BgL_l1076z00_2633));
																										{
																											obj_t
																												BgL_tail1079z00_3256;
																											obj_t BgL_l1076z00_3255;

																											BgL_l1076z00_3255 =
																												BgL_arg1453z00_2638;
																											BgL_tail1079z00_3256 =
																												BgL_newtail1080z00_2635;
																											BgL_tail1079z00_2634 =
																												BgL_tail1079z00_3256;
																											BgL_l1076z00_2633 =
																												BgL_l1076z00_3255;
																											goto
																												BgL_zc3z04anonymousza31451ze3z87_2632;
																										}
																									}
																								}
																						}
																					}
																				if (NULLP(BgL_keysz00_2639))
																					{	/* Llib/dsssl.scm 224 */
																						BgL_tmpz00_3210 =
																							BGL_PROCEDURE_CALL3
																							(BgL_errz00_2534,
																							BgL_wherez00_2535,
																							BGl_string2140z00zz__dssslz00,
																							BgL_formalsz00_2536);
																					}
																				else
																					{	/* Llib/dsssl.scm 224 */
																						BgL_tmpz00_3210 =
																							BGl_z62keyzd2statezb0zz__dssslz00
																							(BgL_bodyz00_2537,
																							BgL_formalsz00_2536,
																							BgL_wherez00_2535,
																							BgL_errz00_2534, BgL_argsz00_2627,
																							BgL_dssslzd2argzd2_2628, BNIL,
																							((bool_t) 0));
																					}
																			}
																	}
																}
															else
																{	/* Llib/dsssl.scm 201 */
																	BgL_tmpz00_3210 =
																		BGL_PROCEDURE_CALL3(BgL_errz00_2534,
																		BgL_wherez00_2535,
																		BGl_string2139z00zz__dssslz00,
																		BgL_formalsz00_2536);
																}
														}
													else
														{	/* Llib/dsssl.scm 199 */
															BgL_tmpz00_3210 =
																BGL_PROCEDURE_CALL3(BgL_errz00_2534,
																BgL_wherez00_2535,
																BGl_string2139z00zz__dssslz00,
																BgL_formalsz00_2536);
														}
												}
											BgL_arg1431z00_2644 =
												MAKE_YOUNG_PAIR(BgL_tmpz00_3210, BNIL);
										}
										BgL_arg1429z00_2642 =
											MAKE_YOUNG_PAIR(BgL_arg1430z00_2643, BgL_arg1431z00_2644);
									}
									return
										MAKE_YOUNG_PAIR(BGl_symbol2106z00zz__dssslz00,
										BgL_arg1429z00_2642);
								}
							else
								{	/* Llib/dsssl.scm 189 */
									return
										BGL_PROCEDURE_CALL3(BgL_errz00_2534, BgL_wherez00_2535,
										BGl_string2139z00zz__dssslz00, BgL_formalsz00_2536);
								}
						}
					else
						{	/* Llib/dsssl.scm 187 */
							return
								BGL_PROCEDURE_CALL3(BgL_errz00_2534, BgL_wherez00_2535,
								BGl_string2139z00zz__dssslz00, BgL_formalsz00_2536);
						}
				}
			}
		}

	}



/* &no-rest-key-state */
	obj_t BGl_z62nozd2restzd2keyzd2statezb0zz__dssslz00(obj_t BgL_envz00_2540,
		obj_t BgL_argsz00_2545, obj_t BgL_dssslzd2argzd2_2546)
	{
		{	/* Llib/dsssl.scm 245 */
			{	/* Llib/dsssl.scm 231 */
				obj_t BgL_bodyz00_2541;
				obj_t BgL_errz00_2542;
				obj_t BgL_wherez00_2543;
				obj_t BgL_formalsz00_2544;

				BgL_bodyz00_2541 = PROCEDURE_L_REF(BgL_envz00_2540, (int) (0L));
				BgL_errz00_2542 =
					((obj_t) PROCEDURE_L_REF(BgL_envz00_2540, (int) (1L)));
				BgL_wherez00_2543 = PROCEDURE_L_REF(BgL_envz00_2540, (int) (2L));
				BgL_formalsz00_2544 = PROCEDURE_L_REF(BgL_envz00_2540, (int) (3L));
				{
					obj_t BgL_argsz00_2650;

					if (NULLP(BgL_argsz00_2545))
						{	/* Llib/dsssl.scm 248 */
							return
								BGL_PROCEDURE_CALL3(BgL_errz00_2542, BgL_wherez00_2543,
								BGl_string2140z00zz__dssslz00, BgL_formalsz00_2544);
						}
					else
						{	/* Llib/dsssl.scm 251 */
							obj_t BgL_keysz00_2661;

							BgL_argsz00_2650 = BgL_argsz00_2545;
							{
								obj_t BgL_argsz00_2652;
								obj_t BgL_auxz00_2653;

								BgL_argsz00_2652 = BgL_argsz00_2650;
								BgL_auxz00_2653 = BNIL;
							BgL_loopz00_2651:
								if (NULLP(BgL_argsz00_2652))
									{	/* Llib/dsssl.scm 234 */
										BgL_keysz00_2661 = bgl_reverse_bang(BgL_auxz00_2653);
									}
								else
									{	/* Llib/dsssl.scm 234 */
										if ((CAR(((obj_t) BgL_argsz00_2652)) == (BREST)))
											{	/* Llib/dsssl.scm 236 */
												BgL_keysz00_2661 = bgl_reverse_bang(BgL_auxz00_2653);
											}
										else
											{	/* Llib/dsssl.scm 239 */
												obj_t BgL_ezd2145zd2_2654;

												BgL_ezd2145zd2_2654 = CAR(((obj_t) BgL_argsz00_2652));
												if (SYMBOLP(BgL_ezd2145zd2_2654))
													{	/* Llib/dsssl.scm 241 */
														obj_t BgL_arg1479z00_2655;
														obj_t BgL_arg1480z00_2656;

														BgL_arg1479z00_2655 =
															CDR(((obj_t) BgL_argsz00_2652));
														BgL_arg1480z00_2656 =
															MAKE_YOUNG_PAIR
															(BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
															(BgL_ezd2145zd2_2654), BgL_auxz00_2653);
														{
															obj_t BgL_auxz00_3329;
															obj_t BgL_argsz00_3328;

															BgL_argsz00_3328 = BgL_arg1479z00_2655;
															BgL_auxz00_3329 = BgL_arg1480z00_2656;
															BgL_auxz00_2653 = BgL_auxz00_3329;
															BgL_argsz00_2652 = BgL_argsz00_3328;
															goto BgL_loopz00_2651;
														}
													}
												else
													{	/* Llib/dsssl.scm 239 */
														if (PAIRP(BgL_ezd2145zd2_2654))
															{	/* Llib/dsssl.scm 239 */
																obj_t BgL_carzd2152zd2_2657;
																obj_t BgL_cdrzd2153zd2_2658;

																BgL_carzd2152zd2_2657 =
																	CAR(BgL_ezd2145zd2_2654);
																BgL_cdrzd2153zd2_2658 =
																	CDR(BgL_ezd2145zd2_2654);
																if (SYMBOLP(BgL_carzd2152zd2_2657))
																	{	/* Llib/dsssl.scm 239 */
																		if (PAIRP(BgL_cdrzd2153zd2_2658))
																			{	/* Llib/dsssl.scm 239 */
																				if (NULLP(CDR(BgL_cdrzd2153zd2_2658)))
																					{	/* Llib/dsssl.scm 243 */
																						obj_t BgL_arg1482z00_2659;
																						obj_t BgL_arg1483z00_2660;

																						BgL_arg1482z00_2659 =
																							CDR(((obj_t) BgL_argsz00_2652));
																						BgL_arg1483z00_2660 =
																							MAKE_YOUNG_PAIR
																							(BGl_symbolzd2ze3keywordz31zz__r4_symbols_6_4z00
																							(BgL_carzd2152zd2_2657),
																							BgL_auxz00_2653);
																						{
																							obj_t BgL_auxz00_3346;
																							obj_t BgL_argsz00_3345;

																							BgL_argsz00_3345 =
																								BgL_arg1482z00_2659;
																							BgL_auxz00_3346 =
																								BgL_arg1483z00_2660;
																							BgL_auxz00_2653 = BgL_auxz00_3346;
																							BgL_argsz00_2652 =
																								BgL_argsz00_3345;
																							goto BgL_loopz00_2651;
																						}
																					}
																				else
																					{	/* Llib/dsssl.scm 239 */
																						BgL_keysz00_2661 =
																							BGL_PROCEDURE_CALL3
																							(BgL_errz00_2542,
																							BgL_wherez00_2543,
																							BGl_string2140z00zz__dssslz00,
																							BgL_formalsz00_2544);
																					}
																			}
																		else
																			{	/* Llib/dsssl.scm 239 */
																				BgL_keysz00_2661 =
																					BGL_PROCEDURE_CALL3(BgL_errz00_2542,
																					BgL_wherez00_2543,
																					BGl_string2140z00zz__dssslz00,
																					BgL_formalsz00_2544);
																			}
																	}
																else
																	{	/* Llib/dsssl.scm 239 */
																		BgL_keysz00_2661 =
																			BGL_PROCEDURE_CALL3(BgL_errz00_2542,
																			BgL_wherez00_2543,
																			BGl_string2140z00zz__dssslz00,
																			BgL_formalsz00_2544);
																	}
															}
														else
															{	/* Llib/dsssl.scm 239 */
																BgL_keysz00_2661 =
																	BGL_PROCEDURE_CALL3(BgL_errz00_2542,
																	BgL_wherez00_2543,
																	BGl_string2140z00zz__dssslz00,
																	BgL_formalsz00_2544);
															}
													}
											}
									}
							}
							if (NULLP(BgL_keysz00_2661))
								{	/* Llib/dsssl.scm 252 */
									return
										BGL_PROCEDURE_CALL3(BgL_errz00_2542, BgL_wherez00_2543,
										BGl_string2140z00zz__dssslz00, BgL_formalsz00_2544);
								}
							else
								{	/* Llib/dsssl.scm 252 */
									return
										BGl_z62keyzd2statezb0zz__dssslz00(BgL_bodyz00_2541,
										BgL_formalsz00_2544, BgL_wherez00_2543, BgL_errz00_2542,
										BgL_argsz00_2545, BgL_dssslzd2argzd2_2546, BNIL,
										((bool_t) 1));
								}
						}
				}
			}
		}

	}



/* dsssl-check-key-args! */
	BGL_EXPORTED_DEF obj_t BGl_dssslzd2checkzd2keyzd2argsz12zc0zz__dssslz00(obj_t
		BgL_dssslzd2argszd2_8, obj_t BgL_keyzd2listzd2_9)
	{
		{	/* Llib/dsssl.scm 316 */
			if (NULLP(BgL_keyzd2listzd2_9))
				{
					obj_t BgL_argsz00_1560;

					BgL_argsz00_1560 = BgL_dssslzd2argszd2_8;
				BgL_zc3z04anonymousza31612ze3z87_1561:
					if (NULLP(BgL_argsz00_1560))
						{	/* Llib/dsssl.scm 320 */
							return BgL_dssslzd2argszd2_8;
						}
					else
						{	/* Llib/dsssl.scm 322 */
							bool_t BgL_test2304z00_3384;

							if (PAIRP(BgL_argsz00_1560))
								{	/* Llib/dsssl.scm 322 */
									if (NULLP(CDR(BgL_argsz00_1560)))
										{	/* Llib/dsssl.scm 323 */
											BgL_test2304z00_3384 = ((bool_t) 1);
										}
									else
										{	/* Llib/dsssl.scm 324 */
											bool_t BgL_test2307z00_3390;

											{	/* Llib/dsssl.scm 324 */
												obj_t BgL_tmpz00_3391;

												BgL_tmpz00_3391 = CAR(BgL_argsz00_1560);
												BgL_test2307z00_3390 = KEYWORDP(BgL_tmpz00_3391);
											}
											if (BgL_test2307z00_3390)
												{	/* Llib/dsssl.scm 324 */
													BgL_test2304z00_3384 = ((bool_t) 0);
												}
											else
												{	/* Llib/dsssl.scm 324 */
													BgL_test2304z00_3384 = ((bool_t) 1);
												}
										}
								}
							else
								{	/* Llib/dsssl.scm 322 */
									BgL_test2304z00_3384 = ((bool_t) 1);
								}
							if (BgL_test2304z00_3384)
								{	/* Llib/dsssl.scm 322 */
									return
										BGl_errorz00zz__errorz00(BGl_string2155z00zz__dssslz00,
										BGl_string2156z00zz__dssslz00, BgL_argsz00_1560);
								}
							else
								{	/* Llib/dsssl.scm 329 */
									obj_t BgL_arg1622z00_1571;

									{	/* Llib/dsssl.scm 329 */
										obj_t BgL_pairz00_2249;

										BgL_pairz00_2249 = CDR(((obj_t) BgL_argsz00_1560));
										BgL_arg1622z00_1571 = CDR(BgL_pairz00_2249);
									}
									{
										obj_t BgL_argsz00_3398;

										BgL_argsz00_3398 = BgL_arg1622z00_1571;
										BgL_argsz00_1560 = BgL_argsz00_3398;
										goto BgL_zc3z04anonymousza31612ze3z87_1561;
									}
								}
						}
				}
			else
				{
					obj_t BgL_argsz00_1580;
					bool_t BgL_armedz00_1581;
					obj_t BgL_optsz00_1582;

					BgL_argsz00_1580 = BgL_dssslzd2argszd2_8;
					BgL_armedz00_1581 = ((bool_t) 0);
					BgL_optsz00_1582 = BNIL;
				BgL_zc3z04anonymousza31625ze3z87_1583:
					if (NULLP(BgL_argsz00_1580))
						{	/* Llib/dsssl.scm 334 */
							return bgl_reverse_bang(BgL_optsz00_1582);
						}
					else
						{	/* Llib/dsssl.scm 336 */
							bool_t BgL_test2309z00_3402;

							if (PAIRP(BgL_argsz00_1580))
								{	/* Llib/dsssl.scm 336 */
									if (NULLP(CDR(BgL_argsz00_1580)))
										{	/* Llib/dsssl.scm 337 */
											BgL_test2309z00_3402 = ((bool_t) 1);
										}
									else
										{	/* Llib/dsssl.scm 338 */
											bool_t BgL_test2312z00_3408;

											{	/* Llib/dsssl.scm 338 */
												obj_t BgL_tmpz00_3409;

												BgL_tmpz00_3409 = CAR(BgL_argsz00_1580);
												BgL_test2312z00_3408 = KEYWORDP(BgL_tmpz00_3409);
											}
											if (BgL_test2312z00_3408)
												{	/* Llib/dsssl.scm 338 */
													if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(CAR
																(BgL_argsz00_1580), BgL_keyzd2listzd2_9)))
														{	/* Llib/dsssl.scm 339 */
															BgL_test2309z00_3402 = ((bool_t) 0);
														}
													else
														{	/* Llib/dsssl.scm 339 */
															BgL_test2309z00_3402 = ((bool_t) 1);
														}
												}
											else
												{	/* Llib/dsssl.scm 338 */
													BgL_test2309z00_3402 = ((bool_t) 1);
												}
										}
								}
							else
								{	/* Llib/dsssl.scm 336 */
									BgL_test2309z00_3402 = ((bool_t) 1);
								}
							if (BgL_test2309z00_3402)
								{	/* Llib/dsssl.scm 336 */
									if (BgL_armedz00_1581)
										{	/* Llib/dsssl.scm 342 */
											obj_t BgL_arg1639z00_1596;
											obj_t BgL_arg1641z00_1597;

											BgL_arg1639z00_1596 = CDR(((obj_t) BgL_argsz00_1580));
											{	/* Llib/dsssl.scm 344 */
												obj_t BgL_arg1642z00_1598;

												BgL_arg1642z00_1598 = CAR(((obj_t) BgL_argsz00_1580));
												BgL_arg1641z00_1597 =
													MAKE_YOUNG_PAIR(BgL_arg1642z00_1598,
													BgL_optsz00_1582);
											}
											{
												obj_t BgL_optsz00_3424;
												bool_t BgL_armedz00_3423;
												obj_t BgL_argsz00_3422;

												BgL_argsz00_3422 = BgL_arg1639z00_1596;
												BgL_armedz00_3423 = ((bool_t) 0);
												BgL_optsz00_3424 = BgL_arg1641z00_1597;
												BgL_optsz00_1582 = BgL_optsz00_3424;
												BgL_armedz00_1581 = BgL_armedz00_3423;
												BgL_argsz00_1580 = BgL_argsz00_3422;
												goto BgL_zc3z04anonymousza31625ze3z87_1583;
											}
										}
									else
										{	/* Llib/dsssl.scm 341 */
											obj_t BgL_arg1643z00_1599;

											BgL_arg1643z00_1599 = CDR(((obj_t) BgL_argsz00_1580));
											{
												obj_t BgL_argsz00_3427;

												BgL_argsz00_3427 = BgL_arg1643z00_1599;
												BgL_argsz00_1580 = BgL_argsz00_3427;
												goto BgL_zc3z04anonymousza31625ze3z87_1583;
											}
										}
								}
							else
								{	/* Llib/dsssl.scm 346 */
									obj_t BgL_arg1644z00_1600;

									{	/* Llib/dsssl.scm 346 */
										obj_t BgL_pairz00_2259;

										BgL_pairz00_2259 = CDR(((obj_t) BgL_argsz00_1580));
										BgL_arg1644z00_1600 = CDR(BgL_pairz00_2259);
									}
									{
										bool_t BgL_armedz00_3432;
										obj_t BgL_argsz00_3431;

										BgL_argsz00_3431 = BgL_arg1644z00_1600;
										BgL_armedz00_3432 = ((bool_t) 1);
										BgL_armedz00_1581 = BgL_armedz00_3432;
										BgL_argsz00_1580 = BgL_argsz00_3431;
										goto BgL_zc3z04anonymousza31625ze3z87_1583;
									}
								}
						}
				}
		}

	}



/* &dsssl-check-key-args! */
	obj_t BGl_z62dssslzd2checkzd2keyzd2argsz12za2zz__dssslz00(obj_t
		BgL_envz00_2547, obj_t BgL_dssslzd2argszd2_2548,
		obj_t BgL_keyzd2listzd2_2549)
	{
		{	/* Llib/dsssl.scm 316 */
			return
				BGl_dssslzd2checkzd2keyzd2argsz12zc0zz__dssslz00
				(BgL_dssslzd2argszd2_2548, BgL_keyzd2listzd2_2549);
		}

	}



/* dsssl-get-key-arg */
	BGL_EXPORTED_DEF obj_t BGl_dssslzd2getzd2keyzd2argzd2zz__dssslz00(obj_t
		BgL_dssslzd2argszd2_10, obj_t BgL_keywordz00_11,
		obj_t BgL_initializa7erza7_12)
	{
		{	/* Llib/dsssl.scm 354 */
			{
				obj_t BgL_argsz00_1610;

				BgL_argsz00_1610 = BgL_dssslzd2argszd2_10;
			BgL_zc3z04anonymousza31648ze3z87_1611:
				if (PAIRP(BgL_argsz00_1610))
					{	/* Llib/dsssl.scm 362 */
						bool_t BgL_test2316z00_3436;

						{	/* Llib/dsssl.scm 362 */
							obj_t BgL_tmpz00_3437;

							BgL_tmpz00_3437 = CAR(BgL_argsz00_1610);
							BgL_test2316z00_3436 = KEYWORDP(BgL_tmpz00_3437);
						}
						if (BgL_test2316z00_3436)
							{	/* Llib/dsssl.scm 362 */
								if ((CAR(BgL_argsz00_1610) == BgL_keywordz00_11))
									{	/* Llib/dsssl.scm 365 */
										bool_t BgL_test2318z00_3443;

										{	/* Llib/dsssl.scm 365 */
											obj_t BgL_tmpz00_3444;

											BgL_tmpz00_3444 = CDR(BgL_argsz00_1610);
											BgL_test2318z00_3443 = PAIRP(BgL_tmpz00_3444);
										}
										if (BgL_test2318z00_3443)
											{	/* Llib/dsssl.scm 365 */
												return CAR(CDR(BgL_argsz00_1610));
											}
										else
											{	/* Llib/dsssl.scm 365 */
												return
													BGl_errorz00zz__errorz00
													(BGl_string2118z00zz__dssslz00,
													BGl_string2157z00zz__dssslz00, CAR(BgL_argsz00_1610));
											}
									}
								else
									{	/* Llib/dsssl.scm 370 */
										bool_t BgL_test2319z00_3451;

										{	/* Llib/dsssl.scm 370 */
											obj_t BgL_tmpz00_3452;

											BgL_tmpz00_3452 = CAR(BgL_argsz00_1610);
											BgL_test2319z00_3451 = KEYWORDP(BgL_tmpz00_3452);
										}
										if (BgL_test2319z00_3451)
											{	/* Llib/dsssl.scm 375 */
												bool_t BgL_test2320z00_3455;

												{	/* Llib/dsssl.scm 375 */
													obj_t BgL_tmpz00_3456;

													BgL_tmpz00_3456 = CDR(BgL_argsz00_1610);
													BgL_test2320z00_3455 = PAIRP(BgL_tmpz00_3456);
												}
												if (BgL_test2320z00_3455)
													{
														obj_t BgL_argsz00_3459;

														BgL_argsz00_3459 = CDR(CDR(BgL_argsz00_1610));
														BgL_argsz00_1610 = BgL_argsz00_3459;
														goto BgL_zc3z04anonymousza31648ze3z87_1611;
													}
												else
													{	/* Llib/dsssl.scm 375 */
														return
															BGl_errorz00zz__errorz00
															(BGl_string2118z00zz__dssslz00,
															BGl_string2157z00zz__dssslz00,
															CAR(BgL_argsz00_1610));
													}
											}
										else
											{	/* Llib/dsssl.scm 370 */
												return
													BGl_errorz00zz__errorz00
													(BGl_string2118z00zz__dssslz00,
													BGl_string2158z00zz__dssslz00, CAR(BgL_argsz00_1610));
											}
									}
							}
						else
							{
								obj_t BgL_argsz00_3466;

								BgL_argsz00_3466 = CDR(BgL_argsz00_1610);
								BgL_argsz00_1610 = BgL_argsz00_3466;
								goto BgL_zc3z04anonymousza31648ze3z87_1611;
							}
					}
				else
					{	/* Llib/dsssl.scm 357 */
						if (NULLP(BgL_argsz00_1610))
							{	/* Llib/dsssl.scm 358 */
								return BgL_initializa7erza7_12;
							}
						else
							{	/* Llib/dsssl.scm 358 */
								return
									BGl_errorz00zz__errorz00(BGl_string2118z00zz__dssslz00,
									BGl_string2159z00zz__dssslz00, BgL_dssslzd2argszd2_10);
							}
					}
			}
		}

	}



/* &dsssl-get-key-arg */
	obj_t BGl_z62dssslzd2getzd2keyzd2argzb0zz__dssslz00(obj_t BgL_envz00_2550,
		obj_t BgL_dssslzd2argszd2_2551, obj_t BgL_keywordz00_2552,
		obj_t BgL_initializa7erza7_2553)
	{
		{	/* Llib/dsssl.scm 354 */
			{	/* Llib/dsssl.scm 357 */
				obj_t BgL_auxz00_3471;

				if (KEYWORDP(BgL_keywordz00_2552))
					{	/* Llib/dsssl.scm 357 */
						BgL_auxz00_3471 = BgL_keywordz00_2552;
					}
				else
					{
						obj_t BgL_auxz00_3474;

						BgL_auxz00_3474 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string2110z00zz__dssslz00,
							BINT(12351L), BGl_string2160z00zz__dssslz00,
							BGl_string2161z00zz__dssslz00, BgL_keywordz00_2552);
						FAILURE(BgL_auxz00_3474, BFALSE, BFALSE);
					}
				return
					BGl_dssslzd2getzd2keyzd2argzd2zz__dssslz00(BgL_dssslzd2argszd2_2551,
					BgL_auxz00_3471, BgL_initializa7erza7_2553);
			}
		}

	}



/* dsssl-get-key-rest-arg */
	BGL_EXPORTED_DEF obj_t BGl_dssslzd2getzd2keyzd2restzd2argz00zz__dssslz00(obj_t
		BgL_dssslzd2argszd2_13, obj_t BgL_keysz00_14)
	{
		{	/* Llib/dsssl.scm 384 */
			return
				BGl_loopze71ze7zz__dssslz00(BgL_keysz00_14, BgL_dssslzd2argszd2_13);
		}

	}



/* loop~1 */
	obj_t BGl_loopze71ze7zz__dssslz00(obj_t BgL_keysz00_2567,
		obj_t BgL_argsz00_1636)
	{
		{	/* Llib/dsssl.scm 385 */
		BGl_loopze71ze7zz__dssslz00:
			if (NULLP(BgL_argsz00_1636))
				{	/* Llib/dsssl.scm 387 */
					return BNIL;
				}
			else
				{	/* Llib/dsssl.scm 389 */
					bool_t BgL_test2324z00_3482;

					{	/* Llib/dsssl.scm 389 */
						bool_t BgL_test2325z00_3483;

						{	/* Llib/dsssl.scm 389 */
							obj_t BgL_tmpz00_3484;

							BgL_tmpz00_3484 = CAR(((obj_t) BgL_argsz00_1636));
							BgL_test2325z00_3483 = KEYWORDP(BgL_tmpz00_3484);
						}
						if (BgL_test2325z00_3483)
							{	/* Llib/dsssl.scm 389 */
								if (NULLP(CDR(((obj_t) BgL_argsz00_1636))))
									{	/* Llib/dsssl.scm 390 */
										BgL_test2324z00_3482 = ((bool_t) 1);
									}
								else
									{	/* Llib/dsssl.scm 390 */
										if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(CAR(
														((obj_t) BgL_argsz00_1636)), BgL_keysz00_2567)))
											{	/* Llib/dsssl.scm 391 */
												BgL_test2324z00_3482 = ((bool_t) 0);
											}
										else
											{	/* Llib/dsssl.scm 391 */
												BgL_test2324z00_3482 = ((bool_t) 1);
											}
									}
							}
						else
							{	/* Llib/dsssl.scm 389 */
								BgL_test2324z00_3482 = ((bool_t) 1);
							}
					}
					if (BgL_test2324z00_3482)
						{	/* Llib/dsssl.scm 392 */
							obj_t BgL_arg1697z00_1649;
							obj_t BgL_arg1698z00_1650;

							BgL_arg1697z00_1649 = CAR(((obj_t) BgL_argsz00_1636));
							{	/* Llib/dsssl.scm 392 */
								obj_t BgL_arg1702z00_1651;

								BgL_arg1702z00_1651 = CDR(((obj_t) BgL_argsz00_1636));
								BgL_arg1698z00_1650 =
									BGl_loopze71ze7zz__dssslz00(BgL_keysz00_2567,
									BgL_arg1702z00_1651);
							}
							return MAKE_YOUNG_PAIR(BgL_arg1697z00_1649, BgL_arg1698z00_1650);
						}
					else
						{	/* Llib/dsssl.scm 394 */
							obj_t BgL_arg1703z00_1652;

							{	/* Llib/dsssl.scm 394 */
								obj_t BgL_pairz00_2285;

								BgL_pairz00_2285 = CDR(((obj_t) BgL_argsz00_1636));
								BgL_arg1703z00_1652 = CDR(BgL_pairz00_2285);
							}
							{
								obj_t BgL_argsz00_3506;

								BgL_argsz00_3506 = BgL_arg1703z00_1652;
								BgL_argsz00_1636 = BgL_argsz00_3506;
								goto BGl_loopze71ze7zz__dssslz00;
							}
						}
				}
		}

	}



/* &dsssl-get-key-rest-arg */
	obj_t BGl_z62dssslzd2getzd2keyzd2restzd2argz62zz__dssslz00(obj_t
		BgL_envz00_2554, obj_t BgL_dssslzd2argszd2_2555, obj_t BgL_keysz00_2556)
	{
		{	/* Llib/dsssl.scm 384 */
			{	/* Llib/dsssl.scm 387 */
				obj_t BgL_auxz00_3507;

				if (BGl_pairzd2orzd2nullzf3zf3zz__r4_pairs_and_lists_6_3z00
					(BgL_keysz00_2556))
					{	/* Llib/dsssl.scm 387 */
						BgL_auxz00_3507 = BgL_keysz00_2556;
					}
				else
					{
						obj_t BgL_auxz00_3510;

						BgL_auxz00_3510 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string2110z00zz__dssslz00,
							BINT(13315L), BGl_string2162z00zz__dssslz00,
							BGl_string2163z00zz__dssslz00, BgL_keysz00_2556);
						FAILURE(BgL_auxz00_3510, BFALSE, BFALSE);
					}
				return
					BGl_dssslzd2getzd2keyzd2restzd2argz00zz__dssslz00
					(BgL_dssslzd2argszd2_2555, BgL_auxz00_3507);
			}
		}

	}



/* id-sans-type */
	obj_t BGl_idzd2sanszd2typez00zz__dssslz00(obj_t BgL_idz00_15)
	{
		{	/* Llib/dsssl.scm 402 */
			{	/* Llib/dsssl.scm 403 */
				obj_t BgL_stringz00_1660;

				{	/* Llib/dsssl.scm 403 */
					obj_t BgL_arg1762z00_2287;

					BgL_arg1762z00_2287 = SYMBOL_TO_STRING(BgL_idz00_15);
					BgL_stringz00_1660 =
						BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_arg1762z00_2287);
				}
				{	/* Llib/dsssl.scm 403 */
					long BgL_lenz00_1661;

					BgL_lenz00_1661 = STRING_LENGTH(BgL_stringz00_1660);
					{	/* Llib/dsssl.scm 404 */

						{
							long BgL_walkerz00_1663;

							BgL_walkerz00_1663 = 0L;
						BgL_zc3z04anonymousza31708ze3z87_1664:
							if ((BgL_walkerz00_1663 == BgL_lenz00_1661))
								{	/* Llib/dsssl.scm 407 */
									return BgL_idz00_15;
								}
							else
								{	/* Llib/dsssl.scm 409 */
									bool_t BgL_test2330z00_3520;

									if (
										(STRING_REF(BgL_stringz00_1660,
												BgL_walkerz00_1663) == ((unsigned char) ':')))
										{	/* Llib/dsssl.scm 409 */
											if ((BgL_walkerz00_1663 < (BgL_lenz00_1661 - 1L)))
												{	/* Llib/dsssl.scm 410 */
													BgL_test2330z00_3520 =
														(STRING_REF(BgL_stringz00_1660,
															(BgL_walkerz00_1663 + 1L)) ==
														((unsigned char) ':'));
												}
											else
												{	/* Llib/dsssl.scm 410 */
													BgL_test2330z00_3520 = ((bool_t) 0);
												}
										}
									else
										{	/* Llib/dsssl.scm 409 */
											BgL_test2330z00_3520 = ((bool_t) 0);
										}
									if (BgL_test2330z00_3520)
										{	/* Llib/dsssl.scm 409 */
											return
												bstring_to_symbol(c_substring(BgL_stringz00_1660, 0L,
													BgL_walkerz00_1663));
										}
									else
										{
											long BgL_walkerz00_3532;

											BgL_walkerz00_3532 = (BgL_walkerz00_1663 + 1L);
											BgL_walkerz00_1663 = BgL_walkerz00_3532;
											goto BgL_zc3z04anonymousza31708ze3z87_1664;
										}
								}
						}
					}
				}
			}
		}

	}



/* dsssl-formals->scheme-formals */
	BGL_EXPORTED_DEF obj_t
		BGl_dssslzd2formalszd2ze3schemezd2formalsz31zz__dssslz00(obj_t
		BgL_formalsz00_16, obj_t BgL_errz00_17)
	{
		{	/* Llib/dsssl.scm 419 */
			return
				BGl_dssslzd2formalszd2ze3schemezd2typedzd2formalsze3zz__dssslz00
				(BgL_formalsz00_16, BgL_errz00_17, ((bool_t) 0));
		}

	}



/* &dsssl-formals->scheme-formals */
	obj_t BGl_z62dssslzd2formalszd2ze3schemezd2formalsz53zz__dssslz00(obj_t
		BgL_envz00_2557, obj_t BgL_formalsz00_2558, obj_t BgL_errz00_2559)
	{
		{	/* Llib/dsssl.scm 419 */
			{	/* Llib/dsssl.scm 420 */
				obj_t BgL_auxz00_3535;

				if (PROCEDUREP(BgL_errz00_2559))
					{	/* Llib/dsssl.scm 420 */
						BgL_auxz00_3535 = BgL_errz00_2559;
					}
				else
					{
						obj_t BgL_auxz00_3538;

						BgL_auxz00_3538 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string2110z00zz__dssslz00,
							BINT(14652L), BGl_string2164z00zz__dssslz00,
							BGl_string2112z00zz__dssslz00, BgL_errz00_2559);
						FAILURE(BgL_auxz00_3538, BFALSE, BFALSE);
					}
				return
					BGl_dssslzd2formalszd2ze3schemezd2formalsz31zz__dssslz00
					(BgL_formalsz00_2558, BgL_auxz00_3535);
			}
		}

	}



/* dsssl-formals->scheme-typed-formals */
	BGL_EXPORTED_DEF obj_t
		BGl_dssslzd2formalszd2ze3schemezd2typedzd2formalsze3zz__dssslz00(obj_t
		BgL_formalsz00_18, obj_t BgL_errz00_19, bool_t BgL_typedz00_20)
	{
		{	/* Llib/dsssl.scm 436 */
			return
				BGl_loopze70ze7zz__dssslz00(BgL_typedz00_20, BgL_formalsz00_18,
				BgL_errz00_19, BgL_formalsz00_18, ((bool_t) 0));
		}

	}



/* loop~0 */
	obj_t BGl_loopze70ze7zz__dssslz00(bool_t BgL_typedz00_2566,
		obj_t BgL_formalsz00_2565, obj_t BgL_errz00_2564, obj_t BgL_argsz00_1688,
		bool_t BgL_dssslz00_1689)
	{
		{	/* Llib/dsssl.scm 449 */
		BGl_loopze70ze7zz__dssslz00:
			{
				obj_t BgL_objz00_1714;

				if (NULLP(BgL_argsz00_1688))
					{	/* Llib/dsssl.scm 452 */
						return BNIL;
					}
				else
					{	/* Llib/dsssl.scm 452 */
						if (PAIRP(BgL_argsz00_1688))
							{	/* Llib/dsssl.scm 464 */
								bool_t BgL_test2336z00_3548;

								{	/* Llib/dsssl.scm 464 */
									obj_t BgL_tmpz00_3549;

									BgL_tmpz00_3549 = CAR(BgL_argsz00_1688);
									BgL_test2336z00_3548 = SYMBOLP(BgL_tmpz00_3549);
								}
								if (BgL_test2336z00_3548)
									{	/* Llib/dsssl.scm 464 */
										if (BgL_dssslz00_1689)
											{	/* Llib/dsssl.scm 476 */
												return
													BGl_idzd2sanszd2typez00zz__dssslz00(CAR
													(BgL_argsz00_1688));
											}
										else
											{	/* Llib/dsssl.scm 479 */
												obj_t BgL_arg1732z00_1696;
												obj_t BgL_arg1733z00_1697;

												if (BgL_typedz00_2566)
													{	/* Llib/dsssl.scm 479 */
														BgL_arg1732z00_1696 = CAR(BgL_argsz00_1688);
													}
												else
													{	/* Llib/dsssl.scm 479 */
														BgL_arg1732z00_1696 =
															BGl_idzd2sanszd2typez00zz__dssslz00(CAR
															(BgL_argsz00_1688));
													}
												BgL_arg1733z00_1697 =
													BGl_loopze70ze7zz__dssslz00(BgL_typedz00_2566,
													BgL_formalsz00_2565, BgL_errz00_2564,
													CDR(BgL_argsz00_1688), ((bool_t) 0));
												return MAKE_YOUNG_PAIR(BgL_arg1732z00_1696,
													BgL_arg1733z00_1697);
											}
									}
								else
									{	/* Llib/dsssl.scm 464 */
										if (CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(CAR
													(BgL_argsz00_1688), BGl_list2165z00zz__dssslz00)))
											{
												bool_t BgL_dssslz00_3568;
												obj_t BgL_argsz00_3566;

												BgL_argsz00_3566 = CDR(BgL_argsz00_1688);
												BgL_dssslz00_3568 = ((bool_t) 1);
												BgL_dssslz00_1689 = BgL_dssslz00_3568;
												BgL_argsz00_1688 = BgL_argsz00_3566;
												goto BGl_loopze70ze7zz__dssslz00;
											}
										else
											{	/* Llib/dsssl.scm 466 */
												if (BgL_dssslz00_1689)
													{	/* Llib/dsssl.scm 470 */
														bool_t BgL_test2341z00_3570;

														BgL_objz00_1714 = CAR(BgL_argsz00_1688);
														if (PAIRP(BgL_objz00_1714))
															{	/* Llib/dsssl.scm 443 */
																bool_t BgL_test2343z00_3573;

																{	/* Llib/dsssl.scm 443 */
																	obj_t BgL_tmpz00_3574;

																	BgL_tmpz00_3574 = CDR(BgL_objz00_1714);
																	BgL_test2343z00_3573 = PAIRP(BgL_tmpz00_3574);
																}
																if (BgL_test2343z00_3573)
																	{	/* Llib/dsssl.scm 443 */
																		BgL_test2341z00_3570 =
																			NULLP(CDR(CDR(BgL_objz00_1714)));
																	}
																else
																	{	/* Llib/dsssl.scm 443 */
																		BgL_test2341z00_3570 = ((bool_t) 0);
																	}
															}
														else
															{	/* Llib/dsssl.scm 442 */
																BgL_test2341z00_3570 = ((bool_t) 0);
															}
														if (BgL_test2341z00_3570)
															{	/* Llib/dsssl.scm 470 */
																return
																	BGl_idzd2sanszd2typez00zz__dssslz00(CAR(CAR
																		(BgL_argsz00_1688)));
															}
														else
															{	/* Llib/dsssl.scm 470 */
																return
																	BGL_PROCEDURE_CALL3(BgL_errz00_2564,
																	BGl_string2166z00zz__dssslz00,
																	BGl_string2167z00zz__dssslz00,
																	BgL_formalsz00_2565);
															}
													}
												else
													{	/* Llib/dsssl.scm 468 */
														return
															BGL_PROCEDURE_CALL3(BgL_errz00_2564,
															BGl_string2166z00zz__dssslz00,
															BGl_string2168z00zz__dssslz00,
															BgL_formalsz00_2565);
													}
											}
									}
							}
						else
							{	/* Llib/dsssl.scm 454 */
								if (BgL_dssslz00_1689)
									{	/* Llib/dsssl.scm 456 */
										return
											BGL_PROCEDURE_CALL3(BgL_errz00_2564,
											BGl_string2169z00zz__dssslz00,
											BGl_string2170z00zz__dssslz00, BgL_formalsz00_2565);
									}
								else
									{	/* Llib/dsssl.scm 456 */
										if (SYMBOLP(BgL_argsz00_1688))
											{	/* Llib/dsssl.scm 460 */
												return
													BGl_idzd2sanszd2typez00zz__dssslz00(BgL_argsz00_1688);
											}
										else
											{	/* Llib/dsssl.scm 460 */
												return
													BGL_PROCEDURE_CALL3(BgL_errz00_2564,
													BGl_string2166z00zz__dssslz00,
													BGl_string2168z00zz__dssslz00, BgL_formalsz00_2565);
											}
									}
							}
					}
			}
		}

	}



/* &dsssl-formals->scheme-typed-formals */
	obj_t
		BGl_z62dssslzd2formalszd2ze3schemezd2typedzd2formalsz81zz__dssslz00(obj_t
		BgL_envz00_2560, obj_t BgL_formalsz00_2561, obj_t BgL_errz00_2562,
		obj_t BgL_typedz00_2563)
	{
		{	/* Llib/dsssl.scm 436 */
			{	/* Llib/dsssl.scm 439 */
				obj_t BgL_auxz00_3612;

				if (PROCEDUREP(BgL_errz00_2562))
					{	/* Llib/dsssl.scm 439 */
						BgL_auxz00_3612 = BgL_errz00_2562;
					}
				else
					{
						obj_t BgL_auxz00_3615;

						BgL_auxz00_3615 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string2110z00zz__dssslz00,
							BINT(15856L), BGl_string2171z00zz__dssslz00,
							BGl_string2112z00zz__dssslz00, BgL_errz00_2562);
						FAILURE(BgL_auxz00_3615, BFALSE, BFALSE);
					}
				return
					BGl_dssslzd2formalszd2ze3schemezd2typedzd2formalsze3zz__dssslz00
					(BgL_formalsz00_2561, BgL_auxz00_3612, CBOOL(BgL_typedz00_2563));
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__dssslz00(void)
	{
		{	/* Llib/dsssl.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__dssslz00(void)
	{
		{	/* Llib/dsssl.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__dssslz00(void)
	{
		{	/* Llib/dsssl.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__dssslz00(void)
	{
		{	/* Llib/dsssl.scm 14 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string2172z00zz__dssslz00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string2172z00zz__dssslz00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L,
				BSTRING_TO_STRING(BGl_string2172z00zz__dssslz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string2172z00zz__dssslz00));
			return
				BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string2172z00zz__dssslz00));
		}

	}

#ifdef __cplusplus
}
#endif
