@ -1,7 +1,7 @@
// ==UserScript==
// @name PNGExtraEmbed
// @namespace https://coom.tech/
// @version 0.267
// @version 0.268
// @description uhh
// @author You
// @match https://boards.4channel.org/*
@ -87,7 +87,7 @@ const _DOMParser = DOMParser;
var define_BUILD_VERSION_default ;
var init_define_BUILD_VERSION = __ esm ( {
"<define:BUILD_VERSION>" ( ) {
define_BUILD_VERSION_default = [ 0 , 267 ] ;
define_BUILD_VERSION_default = [ 0 , 268 ] ;
}
} ) ;
@ -15491,7 +15491,7 @@ const _DOMParser = DOMParser;
maxe : 5 ,
conc : 8 ,
ho : false ,
blacklist : [ "guro" , "scat" , "ryona" , "gore" ] ,
blacklist : [ ] ,
rsources : [ ] ,
... localLoad ( "settingsv2" , { } )
} ) ;
@ -18215,17 +18215,17 @@ const _DOMParser = DOMParser;
return [ ret , ( ) => b ] ;
} ;
var inject_data = async ( container , injb ) => {
let magic3 = false ;
let magic4 = false ;
const [ writestream , extract7 ] = BufferWriteStream2 ( ) ;
const encoder = new PNGEncoder ( writestream ) ;
const decoder = new PNGDecoder ( container . stream ( ) . getReader ( ) ) ;
for await ( const [ name , chunk , crc , offset ] of decoder . chunks ( ) ) {
if ( magic3 && name != "IDAT" )
if ( magic4 && name != "IDAT" )
break ;
if ( ! magic3 && name == "IDAT" ) {
if ( ! magic4 && name == "IDAT" ) {
const passed = import_buffer3 . Buffer . from ( injb ) ;
await encoder . insertchunk ( [ "tEXt" , async ( ) => buildChunk ( "tEXt" , import_buffer3 . Buffer . concat ( [ CUM7 , passed ] ) ) , ( ) => Promise . resolve ( 0 ) , 0 ] ) ;
magic3 = true ;
magic4 = true ;
}
await encoder . insertchunk ( [ name , chunk , crc , offset ] ) ;
}
@ -18432,6 +18432,7 @@ const _DOMParser = DOMParser;
var netscape = import_buffer5 . Buffer . from ( "!\xFF\vNETSCAPE2.0" , "ascii" ) ;
var magic = import_buffer5 . Buffer . from ( "!\xFF\vDOOMTECH1.1" , "ascii" ) ;
var magic2 = import_buffer5 . Buffer . from ( "!\xFF\vVOOMTECH1.1" , "ascii" ) ;
var magic3 = import_buffer5 . Buffer . from ( "!\xFF\vANIMEXTS1.0" , "ascii" ) ;
var read_section = ( gif , pos ) => {
const begin = pos ;
pos += 3 + gif [ pos + 2 ] ;
@ -18479,7 +18480,8 @@ const _DOMParser = DOMParser;
} while ( sec . appname == "DOOMTECH" && gif [ end ] == "!" . charCodeAt ( 0 ) ) ;
return decodeCoom3Payload ( ret ) ;
}
if ( sec . appname == "VOOMTECH" ) {
const cond = ( ) => sec . appname == "VOOMTECH" || sec . appname == "ANIMEXTS" ;
if ( cond ( ) ) {
const ret = import_buffer5 . Buffer . alloc ( sec . data . readInt32LE ( 0 ) ) ;
let ptr = 0 ;
do {
@ -18487,7 +18489,7 @@ const _DOMParser = DOMParser;
sec . data . copy ( ret , ptr ) ;
ptr += sec . data . byteLength ;
end = sec . end ;
} while ( sec . appname == "VOOMTECH" && gif [ end ] == "!" . charCodeAt ( 0 ) ) ;
} while ( cond ( ) && gif [ end ] == "!" . charCodeAt ( 0 ) ) ;
xor3 ( ret , password3 ) ;
return decodeCoom3Payload ( ret ) ;
}
@ -18497,7 +18499,7 @@ const _DOMParser = DOMParser;
} ;
var extract3 = extractBuff ;
var write_data = async ( writer , inj ) => {
await writer . write ( magic2 ) ;
await writer . write ( magic3 ) ;
const byte = import_buffer5 . Buffer . from ( [ 0 ] ) ;
let size = inj . byteLength ;
let ws ;
@ -18552,7 +18554,7 @@ const _DOMParser = DOMParser;
end += 3 * ( 1 << ( field & 7 ) + 1 ) ;
}
while ( end < gif . byteLength && gif . readUInt8 ( end ) == "!" . charCodeAt ( 0 ) ) {
if ( [ magic , magic2 ] . every ( ( m ) => m . compare ( gif , end , end + m . byteLength ) != 0 ) ) {
if ( [ magic , magic2 , magic3 ] . every ( ( m ) => m . compare ( gif , end , end + m . byteLength ) != 0 ) ) {
end += 3 + gif . readUInt8 ( end + 2 ) ;
while ( true ) {
const v = gif . readUInt8 ( end ++ ) ;