require '_h2ph_pre.ph';

unless(defined(&_STRING_H)) {
    die("Never use <bits/string2.h> directly; include <string.h> instead.");
}
if(!defined (defined(&__NO_STRING_INLINES) ? &__NO_STRING_INLINES : 0)  && !defined (defined(&__BOUNDED_POINTERS__) ? &__BOUNDED_POINTERS__ : 0)) {
    unless(defined(&__STRING_INLINE)) {
	if(defined(&__cplusplus)) {
	    eval 'sub __STRING_INLINE () { &inline;}' unless defined(&__STRING_INLINE);
	} else {
	    eval 'sub __STRING_INLINE () { &extern  &__inline;}' unless defined(&__STRING_INLINE);
	}
    }
    if((defined(&_STRING_ARCH_unaligned) ? &_STRING_ARCH_unaligned : 0)) {
	require 'endian.ph';
	require 'bits/types.ph';
	if((defined(&__BYTE_ORDER) ? &__BYTE_ORDER : 0) == (defined(&__LITTLE_ENDIAN) ? &__LITTLE_ENDIAN : 0)) {
	    eval 'sub __STRING2_SMALL_GET16 {
	        local($src, $idx) = @_;
    		eval q(([$idx + 1] << 8| ( ($src))[$idx]));
	    }' unless defined(&__STRING2_SMALL_GET16);
	    eval 'sub __STRING2_SMALL_GET32 {
	        local($src, $idx) = @_;
    		eval q(((([$idx + 3] << 8| [$idx + 2]) << 8| [$idx + 1]) << 8| ( ($src))[$idx]));
	    }' unless defined(&__STRING2_SMALL_GET32);
	} else {
	    eval 'sub __STRING2_SMALL_GET16 {
	        local($src, $idx) = @_;
    		eval q(([$idx] << 8| ( ($src))[$idx + 1]));
	    }' unless defined(&__STRING2_SMALL_GET16);
	    eval 'sub __STRING2_SMALL_GET32 {
	        local($src, $idx) = @_;
    		eval q(((([$idx] << 8| [$idx + 1]) << 8| [$idx + 2]) << 8| ( ($src))[$idx + 3]));
	    }' unless defined(&__STRING2_SMALL_GET32);
	}
    } else {
	eval 'sub __STRING2_COPY_TYPE {
	    local($N) = @_;
    	    eval q( &typedef \'struct struct\' { \'unsigned char __arr\'[$N]; }  &__STRING2_COPY_ARR$N  &__attribute__ (( &packed)));
	}' unless defined(&__STRING2_COPY_TYPE);
	undef(&__STRING2_COPY_TYPE) if defined(&__STRING2_COPY_TYPE);
    }
    eval 'sub __string2_1bptr_p {
        local($__x) = @_;
	    eval q((( + 1) - ($__x) == 1));
    }' unless defined(&__string2_1bptr_p);
    unless(defined(&_HAVE_STRING_ARCH_memset)) {
	if((defined(&_STRING_ARCH_unaligned) ? &_STRING_ARCH_unaligned : 0)) {
	    eval 'sub memset {
	        local($s, $c, $n) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p ($n)  && ($n) <= 16? (($n) == 1?  &__memset_1 ($s, $c) :  &__memset_gc ($s, $c, $n)) : ( &__builtin_constant_p ($c)  && ($c) == ord(\'\\\\0\') ? ({  &void * &__s = ($s);  &__bzero ( &__s, $n);  &__s; }) :  &memset ($s, $c, $n)))));
	    }' unless defined(&memset);
	    eval 'sub __memset_1 {
	        local($s, $c) = @_;
    		eval q(({  &void * &__s = ; * = $c;  &__s; }));
	    }' unless defined(&__memset_1);
	    eval 'sub __memset_gc {
	        local($s, $c, $n) = @_;
    		eval q(({  &void * &__s = ; \'union union\' { \'unsigned int __ui\'; \'unsigned short int __usi\'; \'unsigned char __uc\'; } * &__u =  &__s;  &__uint8_t  &__c = ;  &switch {  &case 15:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 11:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 7:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 3:  ($__u->{__usi}) =  &__c * 0x101;  &__u =  &__extension__ (  &__u + 2);  ($__u->{__uc}) =  &__c;  &break;  &case 14:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 10:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 6:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 2:  ($__u->{__usi}) =  &__c * 0x101;  &break;  &case 13:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 9:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 5:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 1:  ($__u->{__uc}) =  &__c;  &break;  &case 16:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 12:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 8:  ($__u->{__ui}) =  &__c * 0x1010101;  &__u =  &__extension__ (  &__u + 4);  &case 4:  ($__u->{__ui}) =  &__c * 0x1010101;  &case 0:  &break; }  &__s; }));
	    }' unless defined(&__memset_gc);
	} else {
	    if(!  &__GNUC_PREREQ (3, 0)) {
		eval 'sub memset {
		    local($s, $c, $n) = @_;
    		    eval q(( &__extension__ ( &__builtin_constant_p ($c)  && ($c) == ord(\'\\\\0\') ? ({  &void * &__s = ($s);  &__bzero ( &__s, $n);  &__s; }) :  &memset ($s, $c, $n))));
		}' unless defined(&memset);
	    }
	}
	if( &__GNUC_PREREQ (2, 91)) {
	    eval 'sub __bzero {
	        local($s, $n) = @_;
    		eval q( &__builtin_memset ($s, ord(\'\\\\0\'), $n));
	    }' unless defined(&__bzero);
	}
    }
    if(defined(&__USE_GNU)) {
	if(!defined (defined(&_HAVE_STRING_ARCH_mempcpy) ? &_HAVE_STRING_ARCH_mempcpy : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	    unless(defined(&_HAVE_STRING_ARCH_mempcpy)) {
		if( &__GNUC_PREREQ (3, 0)) {
		    eval 'sub __mempcpy {
		        local($dest, $src, $n) = @_;
    			eval q(( &__extension__ ( &__builtin_constant_p ($src)  &&  &__builtin_constant_p ($n)  &&  &__string2_1bptr_p ($src)  && $n <= 8?  &__builtin_memcpy ($dest, $src, $n) + ($n) :  &__mempcpy ($dest, $src, $n))));
		    }' unless defined(&__mempcpy);
		} else {
		    eval 'sub __mempcpy {
		        local($dest, $src, $n) = @_;
    			eval q(( &__extension__ ( &__builtin_constant_p ($src)  &&  &__builtin_constant_p ($n)  &&  &__string2_1bptr_p ($src)  && $n <= 8?  &__mempcpy_small ($dest,  &__mempcpy_args ($src), $n) :  &__mempcpy ($dest, $src, $n))));
		    }' unless defined(&__mempcpy);
		}
		eval 'sub mempcpy {
		    local($dest, $src, $n) = @_;
    		    eval q( &__mempcpy ($dest, $src, $n));
		}' unless defined(&mempcpy);
	    }
	    if(! &__GNUC_PREREQ (3, 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
		if((defined(&_STRING_ARCH_unaligned) ? &_STRING_ARCH_unaligned : 0)) {
		    unless(defined(&_FORCE_INLINES)) {
			eval 'sub __mempcpy_args {
			    local($src) = @_;
    			    eval q([0], [2], [4], ( ($src))[6],  &__extension__  &__STRING2_SMALL_GET16 ($src, 0),  &__extension__  &__STRING2_SMALL_GET16 ($src, 4),  &__extension__  &__STRING2_SMALL_GET32 ($src, 0),  &__extension__  &__STRING2_SMALL_GET32 ($src, 4));
			}' unless defined(&__mempcpy_args);
		    }
		} else {
		    unless(defined(&_FORCE_INLINES)) {
			eval 'sub __mempcpy_args {
			    local($src) = @_;
    			    eval q([0],  &__extension__ ( { { [0], [1] } }),  &__extension__ ( { { [0], [1], [2] } }),  &__extension__ ( { { [0], [1], [2], [3] } }),  &__extension__ ( { { [0], [1], [2], [3], [4] } }),  &__extension__ ( { { [0], [1], [2], [3], [4], [5] } }),  &__extension__ ( { { [0], [1], [2], [3], [4], [5], [6] } }),  &__extension__ ( { { [0], [1], [2], [3], [4], [5], [6], ( ($src))[7] } }));
			}' unless defined(&__mempcpy_args);
		    }
		}
	    }
	}
    }
    unless(defined(&_HAVE_STRING_ARCH_strchr)) {
	eval 'sub strchr {
	    local($s, $c) = @_;
    	    eval q(( &__extension__ ( &__builtin_constant_p  && == ord(\'\\\\0\') ?  &__rawmemchr ($s, $c) :  &strchr ($s, $c))));
	}' unless defined(&strchr);
    }
    if((!defined (defined(&_HAVE_STRING_ARCH_strcpy) ? &_HAVE_STRING_ARCH_strcpy : 0)  && ! &__GNUC_PREREQ (3, 0)) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	if(!defined (defined(&_HAVE_STRING_ARCH_strcpy) ? &_HAVE_STRING_ARCH_strcpy : 0)  && ! &__GNUC_PREREQ (3, 0)) {
	    eval 'sub strcpy {
	        local($dest, $src) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p ? ( &__string2_1bptr_p  &&  &strlen + 1<= 8?  &__strcpy_small ($dest,  &__strcpy_args ,  &strlen + 1) :  &memcpy ($dest, $src,  &strlen ($src) + 1)) :  &strcpy ($dest, $src))));
	    }' unless defined(&strcpy);
	}
	if((defined(&_STRING_ARCH_unaligned) ? &_STRING_ARCH_unaligned : 0)) {
	    unless(defined(&_FORCE_INLINES)) {
		eval 'sub __strcpy_args {
		    local($src) = @_;
    		    eval q( &__extension__  &__STRING2_SMALL_GET16 ($src, 0),  &__extension__  &__STRING2_SMALL_GET16 ($src, 4),  &__extension__  &__STRING2_SMALL_GET32 ($src, 0),  &__extension__  &__STRING2_SMALL_GET32 ($src, 4));
		}' unless defined(&__strcpy_args);
	    }
	} else {
	    unless(defined(&_FORCE_INLINES)) {
		eval 'sub __strcpy_args {
		    local($src) = @_;
    		    eval q( &__extension__ ( { { [0], ord(\'\\\\0\' } }),				   __extension__ (					    { { [0], [1],	      	  \'\\\\0\' } }),								   __extension__ (					    { { [0], [1],	      	  [2], \'\\\\0\' } }),				   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  \'\\\\0\' } }),								   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  [4], \'\\\\0\' } }),				   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  [4], [5],	      	  \'\\\\0\' } }),								   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  [4], [5],	      	  ( (src))[6], \'\\\\0\') } }));
		}' unless defined(&__strcpy_args);
	    }
	}
    }
    if(defined(&__USE_GNU)) {
	if(!defined (defined(&_HAVE_STRING_ARCH_stpcpy) ? &_HAVE_STRING_ARCH_stpcpy : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	    unless(defined(&_HAVE_STRING_ARCH_stpcpy)) {
		if( &__GNUC_PREREQ (3, 0)) {
		    eval 'sub __stpcpy {
		        local($dest, $src) = @_;
    			eval q(( &__extension__ ( &__builtin_constant_p ? ( &__string2_1bptr_p  &&  &strlen + 1<= 8?  &__builtin_strcpy ($dest, $src) +  &strlen : ( ($dest, $src,  &strlen ($src) + 1) - 1)) :  &__stpcpy ($dest, $src))));
		    }' unless defined(&__stpcpy);
		} else {
		    eval 'sub __stpcpy {
		        local($dest, $src) = @_;
    			eval q(( &__extension__ ( &__builtin_constant_p ? ( &__string2_1bptr_p  &&  &strlen + 1<= 8?  &__stpcpy_small ($dest,  &__stpcpy_args ,  &strlen + 1) : ( ($dest, $src,  &strlen ($src) + 1) - 1)) :  &__stpcpy ($dest, $src))));
		    }' unless defined(&__stpcpy);
		}
		eval 'sub stpcpy {
		    local($dest, $src) = @_;
    		    eval q( &__stpcpy ($dest, $src));
		}' unless defined(&stpcpy);
	    }
	    if(! &__GNUC_PREREQ (3, 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
		if((defined(&_STRING_ARCH_unaligned) ? &_STRING_ARCH_unaligned : 0)) {
		    unless(defined(&_FORCE_INLINES)) {
			eval 'sub __stpcpy_args {
			    local($src) = @_;
    			    eval q( &__extension__  &__STRING2_SMALL_GET16 ($src, 0),  &__extension__  &__STRING2_SMALL_GET16 ($src, 4),  &__extension__  &__STRING2_SMALL_GET32 ($src, 0),  &__extension__  &__STRING2_SMALL_GET32 ($src, 4));
			}' unless defined(&__stpcpy_args);
		    }
		} else {
		    unless(defined(&_FORCE_INLINES)) {
			eval 'sub __stpcpy_args {
			    local($src) = @_;
    			    eval q( &__extension__ ( { { [0], ord(\'\\\\0\' } }),				   __extension__ (					    { { [0], [1],	      	  \'\\\\0\' } }),								   __extension__ (					    { { [0], [1],	      	  [2], \'\\\\0\' } }),				   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  \'\\\\0\' } }),								   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  [4], \'\\\\0\' } }),				   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  [4], [5],	      	  \'\\\\0\' } }),								   __extension__ (					    { { [0], [1],	      	  [2], [3],	      	  [4], [5],	      	  ( (src))[6], \'\\\\0\') } }));
			}' unless defined(&__stpcpy_args);
		    }
		}
	    }
	}
    }
    unless(defined(&_HAVE_STRING_ARCH_strncpy)) {
	if(defined (defined(&_USE_STRING_ARCH_memset) ? &_USE_STRING_ARCH_memset : 0)  && defined (defined(&_USE_STRING_ARCH_mempcpy) ? &_USE_STRING_ARCH_mempcpy : 0)) {
	    eval 'sub strncpy {
	        local($dest, $src, $n) = @_;
    		eval q(( &__extension__ ({ \'char\' * &__dest = ;  &__builtin_constant_p  &&  &__builtin_constant_p ? ( &strlen + 1>= ?  &memcpy ( &__dest, $src, $n) : ( &memset ( &__mempcpy ( &__dest, $src,  &strlen ($src)), ord(\'\\\\0\'), $n -  &strlen ($src)),  &__dest)) :  &strncpy ( &__dest, $src, $n); })));
	    }' unless defined(&strncpy);
	} else {
	    eval 'sub strncpy {
	        local($dest, $src, $n) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p  &&  &__builtin_constant_p ? ( &strlen + 1>= ?  &memcpy ($dest, $src, $n) :  &strncpy ($dest, $src, $n)) :  &strncpy ($dest, $src, $n))));
	    }' unless defined(&strncpy);
	}
    }
    unless(defined(&_HAVE_STRING_ARCH_strncat)) {
	if(defined(&_USE_STRING_ARCH_strchr)) {
	    eval 'sub strncat {
	        local($dest, $src, $n) = @_;
    		eval q(( &__extension__ ({ \'char\' * &__dest = ;  &__builtin_constant_p  &&  &__builtin_constant_p ? ( &strlen < ?  &strcat ( &__dest, $src) : (*(  &__mempcpy ( &strchr ( &__dest, ord(\'\\\\0\'),	      						src, n)) = \'\\\\0\'),  &__dest)) :  &strncat ($dest, $src, $n); })));
	    }' unless defined(&strncat);
	} else {
	    eval 'sub strncat {
	        local($dest, $src, $n) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p  &&  &__builtin_constant_p ? ( &strlen < ( ($n)) ?  &strcat ($dest, $src) :  &strncat ($dest, $src, $n)) :  &strncat ($dest, $src, $n))));
	    }' unless defined(&strncat);
	}
    }
    unless(defined(&_HAVE_STRING_ARCH_strcmp)) {
	eval 'sub strcmp {
	    local($s1, $s2) = @_;
    	    eval q( &__extension__ ({  &size_t  &__s1_len,  &__s2_len; ( &__builtin_constant_p  &&  &__builtin_constant_p  && ( &__s1_len =  &strlen ,  &__s2_len =  &strlen , (! &__string2_1bptr_p ||  &__s1_len >= 4)  && (! &__string2_1bptr_p ||  &__s2_len >= 4)) ?  &memcmp ( , ($s2), ( &__s1_len <  &__s2_len ?  &__s1_len :  &__s2_len) + 1) : ( &__builtin_constant_p ($s1)  &&  &__string2_1bptr_p ($s1)  && ( &__s1_len =  &strlen ($s1),  &__s1_len < 4) ? ( &__builtin_constant_p ($s2)  &&  &__string2_1bptr_p ($s2) ?  &__strcmp_cc ($s1, $s2,  &__s1_len) :  &__strcmp_cg ($s1, $s2,  &__s1_len)) : ( &__builtin_constant_p ($s2)  &&  &__string2_1bptr_p ($s2)  && ( &__s2_len =  &strlen ($s2),  &__s2_len < 4) ? ( &__builtin_constant_p ($s1)  &&  &__string2_1bptr_p ($s1) ?  &__strcmp_cc ($s1, $s2,  &__s2_len) :  &__strcmp_gc ($s1, $s2,  &__s2_len)) :  &strcmp ($s1, $s2)))); }));
	}' unless defined(&strcmp);
	eval 'sub __strcmp_cc {
	    local($s1, $s2, $l) = @_;
    	    eval q(( &__extension__ ({  &register \'int\'  &__result = ([0] - [0]);  &if ($l > 0 &&  &__result == 0) {  &__result = ([1] - [1]);  &if ($l > 1 &&  &__result == 0) {  &__result = ([2] - [2]);  &if ($l > 2 &&  &__result == 0)  &__result = ([3] - ( ($s2))[3]); } }  &__result; })));
	}' unless defined(&__strcmp_cc);
	eval 'sub __strcmp_cg {
	    local($s1, $s2, $l1) = @_;
    	    eval q(( &__extension__ ({  &__const \'unsigned char\' * &__s2 = ;  &register \'int\'  &__result = ([0] -  $__s2[0]);  &if ($l1 > 0 &&  &__result == 0) {  &__result = ([1] -  $__s2[1]);  &if ($l1 > 1 &&  &__result == 0) {  &__result = ([2] -  $__s2[2]);  &if ($l1 > 2 &&  &__result == 0)  &__result = (( ($s1))[3] -  $__s2[3]); } }  &__result; })));
	}' unless defined(&__strcmp_cg);
	eval 'sub __strcmp_gc {
	    local($s1, $s2, $l2) = @_;
    	    eval q(( &__extension__ ({  &__const \'unsigned char\' * &__s1 = ;  &register \'int\'  &__result =  $__s1[0] - [0];  &if ($l2 > 0 &&  &__result == 0) {  &__result = ( $__s1[1] - [1]);  &if ($l2 > 1 &&  &__result == 0) {  &__result = ( $__s1[2] - [2]);  &if ($l2 > 2 &&  &__result == 0)  &__result = ( $__s1[3] - ( ($s2))[3]); } }  &__result; })));
	}' unless defined(&__strcmp_gc);
    }
    unless(defined(&_HAVE_STRING_ARCH_strncmp)) {
	eval 'sub strncmp {
	    local($s1, $s2, $n) = @_;
    	    eval q(( &__extension__ ( &__builtin_constant_p  && (( &__builtin_constant_p  &&  &strlen < ) || ( &__builtin_constant_p  &&  &strlen < ( ($n)))) ?  &strcmp ($s1, $s2) :  &strncmp ($s1, $s2, $n))));
	}' unless defined(&strncmp);
    }
    if(!defined (defined(&_HAVE_STRING_ARCH_strcspn) ? &_HAVE_STRING_ARCH_strcspn : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	unless(defined(&_HAVE_STRING_ARCH_strcspn)) {
	    eval 'sub strcspn {
	        local($s, $reject) = @_;
    		eval q( &__extension__ ({ \'char\'  &__r0,  &__r1,  &__r2; ( &__builtin_constant_p  &&  &__string2_1bptr_p ? (( &__r0 = [0],  &__r0 == ord(\'\\\\0\')		      	 ? strlen 							      	 : ((__r1 = [1], __r1 == \'\\\\0\')	      	    ? __strcspn_c1 (s, __r0)					      	    : ((__r2 = [2], __r2 == \'\\\\0\')	      	       ? __strcspn_c2 (s, __r0, __r1)				      	       : (( (reject))[3] == \'\\\\0\') ?  &__strcspn_c3 ($s,  &__r0,  &__r1,  &__r2) :  &strcspn ($s, $reject))))) :  &strcspn ($s, $reject)); }));
	    }' unless defined(&strcspn);
	}
    }
    if(!defined (defined(&_HAVE_STRING_ARCH_strspn) ? &_HAVE_STRING_ARCH_strspn : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	unless(defined(&_HAVE_STRING_ARCH_strspn)) {
	    eval 'sub strspn {
	        local($s, $accept) = @_;
    		eval q( &__extension__ ({ \'char\'  &__a0,  &__a1,  &__a2; ( &__builtin_constant_p  &&  &__string2_1bptr_p ? (( &__a0 = [0],  &__a0 == ord(\'\\\\0\')		      	 ? ( , 0)						      	 : ((__a1 = [1], __a1 == \'\\\\0\')	      	    ? __strspn_c1 (s, __a0)					      	    : ((__a2 = [2], __a2 == \'\\\\0\')	      	       ? __strspn_c2 (s, __a0, __a1)				      	       : (( (accept))[3] == \'\\\\0\') ?  &__strspn_c3 ($s,  &__a0,  &__a1,  &__a2) :  &strspn ($s, $accept))))) :  &strspn ($s, $accept)); }));
	    }' unless defined(&strspn);
	}
    }
    if(!defined (defined(&_HAVE_STRING_ARCH_strpbrk) ? &_HAVE_STRING_ARCH_strpbrk : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	unless(defined(&_HAVE_STRING_ARCH_strpbrk)) {
	    eval 'sub strpbrk {
	        local($s, $accept) = @_;
    		eval q( &__extension__ ({ \'char\'  &__a0,  &__a1,  &__a2; ( &__builtin_constant_p  &&  &__string2_1bptr_p ? (( &__a0 = [0],  &__a0 == ord(\'\\\\0\')		      	 ? ( , NULL)						      	 : ((__a1 = [1], __a1 == \'\\\\0\')	      	    ? strchr (s, __a0)						      	    : ((__a2 = [2], __a2 == \'\\\\0\')	      	       ? __strpbrk_c2 (s, __a0, __a1)				      	       : (( (accept))[3] == \'\\\\0\') ?  &__strpbrk_c3 ($s,  &__a0,  &__a1,  &__a2) :  &strpbrk ($s, $accept))))) :  &strpbrk ($s, $accept)); }));
	    }' unless defined(&strpbrk);
	}
    }
    if(!defined (defined(&_HAVE_STRING_ARCH_strstr) ? &_HAVE_STRING_ARCH_strstr : 0)  && ! &__GNUC_PREREQ (2, 97)) {
	eval 'sub strstr {
	    local($haystack, $needle) = @_;
    	    eval q(( &__extension__ ( &__builtin_constant_p  &&  &__string2_1bptr_p ? ([0] == ord(\'\\\\0\'		      		     ?   			      		     : ([1] == \'\\\\0\') ?  &strchr ($haystack, ( ($needle))[0]) :  &strstr ($haystack, $needle))) :  &strstr ($haystack, $needle))));
	}' unless defined(&strstr);
    }
    if(!defined (defined(&_HAVE_STRING_ARCH_strtok_r) ? &_HAVE_STRING_ARCH_strtok_r : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	unless(defined(&_HAVE_STRING_ARCH_strtok_r)) {
	    eval 'sub __strtok_r {
	        local($s, $sep, $nextp) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p  &&  &__string2_1bptr_p ? ([0] != ord(\'\\\\0\'		      		     && [1] == \'\\\\0\') ?  &__strtok_r_1c ($s, ( ($sep))[0], $nextp) :  &__strtok_r ($s, $sep, $nextp)) :  &__strtok_r ($s, $sep, $nextp))));
	    }' unless defined(&__strtok_r);
	}
	if(defined (defined(&__USE_POSIX) ? &__USE_POSIX : 0) || defined (defined(&__USE_MISC) ? &__USE_MISC : 0)) {
	    eval 'sub strtok_r {
	        local($s, $sep, $nextp) = @_;
    		eval q( &__strtok_r ($s, $sep, $nextp));
	    }' unless defined(&strtok_r);
	}
    }
    if(!defined (defined(&_HAVE_STRING_ARCH_strsep) ? &_HAVE_STRING_ARCH_strsep : 0) || defined (defined(&_FORCE_INLINES) ? &_FORCE_INLINES : 0)) {
	unless(defined(&_HAVE_STRING_ARCH_strsep)) {
	    eval 'sub __strsep {
	        local($s, $reject) = @_;
    		eval q( &__extension__ ({ \'char\'  &__r0,  &__r1,  &__r2; ( &__builtin_constant_p  &&  &__string2_1bptr_p  && ( &__r0 = [0], [0] != ord(\'\\\\0\')				    ? ((__r1 = [1],			      	 [1] == \'\\\\0\')			      	 ? __strsep_1c (s, __r0)					      	 : ((__r2 = [2], __r2 == \'\\\\0\')	      	    ? __strsep_2c (s, __r0, __r1)				      	    : (( (reject))[3] == \'\\\\0\') ?  &__strsep_3c ($s,  &__r0,  &__r1,  &__r2) :  &__strsep_g ($s, $reject)))) :  &__strsep_g ($s, $reject)); }));
	    }' unless defined(&__strsep);
	}
	if(defined(&__USE_BSD)) {
	    eval 'sub strsep {
	        local($s, $reject) = @_;
    		eval q( &__strsep ($s, $reject));
	    }' unless defined(&strsep);
	}
    }
    if(defined(&__USE_MISC)) {
	if(!defined (defined(&_HAVE_STRING_ARCH_strdup) ? &_HAVE_STRING_ARCH_strdup : 0) || !defined (defined(&_HAVE_STRING_ARCH_strndup) ? &_HAVE_STRING_ARCH_strndup : 0)) {
	    eval 'sub __need_malloc_and_calloc () {1;}' unless defined(&__need_malloc_and_calloc);
	    require 'stdlib.ph';
	}
	unless(defined(&_HAVE_STRING_ARCH_strdup)) {
	    eval 'sub __strdup {
	        local($s) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p  &&  &__string2_1bptr_p ? ([0] == ord(\'\\\\0\') ?  &calloc (1, 1) : ({  &size_t  &__len =  &strlen + 1; \'char\' * &__retval =  &malloc ;  &if ( &__retval !=  &NULL)  &__retval =  &memcpy ( &__retval, $s,  &__len);  &__retval; })) :  &__strdup ($s))));
	    }' unless defined(&__strdup);
	    if(defined (defined(&__USE_SVID) ? &__USE_SVID : 0) || defined (defined(&__USE_BSD) ? &__USE_BSD : 0) || defined (defined(&__USE_XOPEN_EXTENDED) ? &__USE_XOPEN_EXTENDED : 0)) {
		eval 'sub strdup {
		    local($s) = @_;
    		    eval q( &__strdup ($s));
		}' unless defined(&strdup);
	    }
	}
	unless(defined(&_HAVE_STRING_ARCH_strndup)) {
	    eval 'sub __strndup {
	        local($s, $n) = @_;
    		eval q(( &__extension__ ( &__builtin_constant_p  &&  &__string2_1bptr_p ? ([0] == ord(\'\\\\0\'			      		     ?  calloc (1, 1)				      		     : ({ size_t __len = strlen  + 1;		      			  size_t __n = ;				      			  char *__retval;				      			  if (__n < __len)				      			    __len = __n + 1;				      			  __retval =  malloc ;		      			  if (__retval != NULL)				      			    {						      			      __retval[__len - 1] = \'\\\\0\');  &__retval =  &memcpy ( &__retval, $s,  &__len - 1); }  &__retval; })) :  &__strndup ($s, $n))));
	    }' unless defined(&__strndup);
	    if(defined(&__USE_GNU)) {
		eval 'sub strndup {
		    local($s, $n) = @_;
    		    eval q( &__strndup ($s, $n));
		}' unless defined(&strndup);
	    }
	}
    }
    unless(defined(&_FORCE_INLINES)) {
	undef(&__STRING_INLINE) if defined(&__STRING_INLINE);
    }
}
1;
