ens = Blockly.utils.tokenizeInterpolation('Hello%%World');
  assertArrayEquals('Escaped %.', ['Hello%World'], tokens);

  tokens = Blockly.utils.tokenizeInterpolation('Hello %1 World');
  assertArrayEquals('Interpolation.', ['Hello ', 1, ' World'], tokens);

  tokens = Blockly.utils.tokenizeInterpolation('%123Hello%456World%789');
  assertArrayEquals('Interpolations.', [123, 'Hello', 456, 'World', 789], tokens);

  tokens = Blockly.utils.tokenizeInterpolation('%%%x%%0%00%01%');
  assertArrayEquals('Torture interpolations.', ['%%x%0', 0, 1, '%'], tokens);

  Blockly.Msg = Blockly.Msg || {};

  Blockly.Msg.STRING_REF = 'test string';
  tokens = Blockly.utils.tokenizeInterpolation('%{bky_string_ref}');
  assertArrayEquals('String table reference, lowercase', ['test string'], tokens);
  tokens = Blockly.utils.tokenizeInterpolation('%{BKY_STRING_REF}');
  assertArrayEquals('String table reference, uppercase', ['test string'], tokens);

  Blockly.Msg.WITH_PARAM = 'before %1 after';
  tokens = Blockly.utils.tokenizeInterpolation('%{bky_with_param}');
  assertArrayEquals('String table reference, with parameter', ['before ', 1, ' after'], tokens);

  Blockly.Msg.RECURSE = 'before %{bky_string_ref} after';
  tokens = Blockly.utils.tokenizeInterpolation('%{bky_recurse}');
  assertArrayEquals('String table reference, with subreference', ['before test string after'], tokens);

  // Error cases...
  tokens = Blockly.utils.tokenizeInterpolation('%{bky_undefined}');
  assertArrayEquals('Undefined string table reference', ['%{bky_undefined}'], tokens);

  Blockly.Msg['1'] = 'Will not match';
  tokens = Blockly.utils.tokenizeInterpolation('before %{1} after');
  assertArrayEquals('Invalid initial digit in string table reference', ['before %{1} after'], tokens);

  Blockly.Msg['TWO WORDS'] = 'Will not match';
  tokens = Blockly.utils.tokenizeInterpolation('before %{two words} after');
  assertArrayEquals('Invalid character in string table reference: space', ['before %{two words} after'], tokens);

  Blockly.Msg['TWO-WORDS'] = 'Will not match';
  tokens = Blockly.utils.tokenizeInterpolation('before %{two-words} after');
  assertArrayEquals('Invalid character in string table reference: dash', ['before %{two-words} after'], tokens);

  Blockly.Msg['TWO.WORDS'] = 'Will not match';
  tokens = Blockly.utils.tokenizeInterpolation('before %{two.words} after');
  assertArrayEquals('Invalid character in string table reference: period', ['before %{two.words} after'], tokens);

  Blockly.Msg['AB&C'] = 'Will not match';
  tokens = Blockly.utils.tokenizeInterpolation('before %{ab&c} after');
  assertArrayEquals('Invalid character in string table reference: &', ['before %{ab&c} after'], tokens);

  Blockly.Msg['UNCLOSED'] = 'Will not match';
  tokens = Blockly.utils.tokenizeInterpolation('before %{unclosed');
  assertArrayEquals('String table reference, with parameter', ['before %{unclosed'], tokens);
}

function test_replaceMessageReferences() {
  Blockly.Msg = Blockly.Msg || {};
  Blockly.Msg.STRING_REF = 'test string';
  Blockly.Msg.SUBREF = 'subref';
  Blockly.Msg.STRING_REF_WITH_ARG = 'test %1 string';
  Blockly.Msg.STRING_REF_WITH_SUBREF = 'test %{bky_subref} string';


ER_AIM.WBP_BattleWheelButton_Background_TRAILER_AIM_C.Desppear_Background_Button_WheelBattle
// (BlueprintCallable, BlueprintEvent)

void UWBP_BattleWheelButton_Background_TRAILER_AIM_C::Desppear_Background_Button_WheelBattle()
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("WBP_BattleWheelButton_Background_TRAILER_AIM_C", "Desppear_Background_Button_WheelBattle");

	UObject::ProcessEvent(Func, nullptr);
}

// Function WBP_BattleWheelButton_Background_TRAILER_AIM.WBP_BattleWheelButton_Background_TRAILER_AIM_C.ExecuteUbergraph_WBP_BattleWheelButton_Background_TRAILER_AIM
// (Final, UbergraphFunction, HasDefaults)
// Parameters:
// int32                                   EntryPoint                                             (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UWBP_BattleWheelButton_Background_TRAILER_AIM_C::ExecuteUbergraph_WBP_BattleWheelButton_Background_TRAILER_AIM(int32 EntryPoint)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("WBP_BattleWheelButton_Background_TRAILER_AIM_C", "ExecuteUbergraph_WBP_BattleWheelButton_Background_TRAILER_AIM");

	Params::WBP_BattleWheelButton_Background_TRAILER_AIM_C_ExecuteUbergraph_WBP_BattleWheelButton_Background_TRAILER_AIM Parms{};

	Parms.EntryPoint = EntryPoint;

	UObject::ProcessEvent(Func, &Parms);
}

// Function WBP_BattleWheelButton_Background_TRAILER_AIM.WBP_BattleWheelButton_Background_TRAILER_AIM_C.LoadParameter
// (BlueprintCallable, BlueprintEvent)
// Parameters:
// class UImage*                           Image                                                  (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, InstancedReference, NoDestructor, HasGetValueTypeHash)
// class UTexture2D*                       Texture                                                (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, NoDestructor, HasGetValueTypeHash)

void UWBP_BattleWheelButton_Background_TRAILER_AIM_C::LoadParameter(class UImage* Image, class UTexture2D* Texture)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("WBP_BattleWheelButton_Background_TRAILER_AIM_C", "LoadParameter");

	Params::WBP_BattleWheelButton_Background_TRAILER_AIM_C_LoadParameter Parms{};

	Parms.Image = Image;
	Parms.Texture = Texture;

	UObject::ProcessEvent(Func, &Parms);
}

// Function WBP_BattleWheelButton_Background_TRAILER_AIM.WBP_BattleWheelButton_Background_TRAILER_AIM_C.PreConstruct
// (BlueprintCosmetic, Event, Public, BlueprintEvent)
// Parameters:
// bool                                    IsDesignTime                                           (BlueprintVisible, BlueprintReadOnly, Parm, ZeroConstructor, IsPlainOldData, NoDestructor, HasGetValueTypeHash)

void UWBP_BattleWheelButton_Background_TRAILER_AIM_C::PreConstruct(bool IsDesignTime)
{
	static class UFunction* Func = nullptr;

	if (Func == nullptr)
		Func = Class->GetFunction("WBP_BattleWheelButton_Background_TRAILER_


  private fun loadModelFile(assetManager: AssetManager, modelPath: String): MappedByteBuffer {
    val fileDescriptor = assetManager.openFd(modelPath)
    val inputStream = FileInputStream(fileDescriptor.fileDescriptor)
    val fileChannel = inputStream.channel
    val startOffset = fileDescriptor.startOffset
    val declaredLength = fileDescriptor.declaredLength
    return fileChannel.map(FileChannel.MapMode.READ_ONLY, startOffset, declaredLength)
  }
}
package io.gripxtech.odoojsonrpcclient.core.authenticator

import android.os.Bundle
import android.util.Base64
import io.gripxtech.odoojsonrpcclient.*
import io.gripxtech.odoojsonrpcclient.core.utils.BaseActivity
import kotlinx.android.synthetic.main.activity_profile.*

class ProfileActivity : BaseActivity() {

    private lateinit var app: App
    lateinit var glideRequests: GlideRequests

    override fun onPostCreate(savedInstanceState: Bundle?) {
        super.onPostCreate(savedInstanceState)
        app = application as App
        glideRequests = GlideApp.with(this)
        setContentView(R.layout.activity_profile)
        setSupportActionBar(toolbar)
        supportActionBar?.setDisplayHomeAsUpEnabled(true)

        toolbar.setNavigationOnClickListener {
            onBackPressed()
        }

        val user = getActiveOdooUser()
        if (user != null) {
            val imageSmall = user.imageSmall.trimFalse()
            val name = user.name.trimFalse()

            glideRequests.asBitmap().load(
                if (imageSmall.isNotEmpty())
                    Base64.decode(imageSmall, Base64.DEFAULT)
                else
                    app.getLetterTile(if (name.isNotEmpty()) name else "X")
            ).circleCrop().into(ivProfile)

            ctl.title = name
            tvName.text = name
            tvLogin.text = user.login
            tvServerURL.text = user.host
            tvDatabase.text = user.database
            tvVersion.text = user.serverVersion
            tvTimezone.text = user.timezone
        }
    }
}
package io.gripxtech.odoojsonrpcclient.core.utils

import android.content.Context
import com.google.gson.reflect.TypeToken
import io.gripxtech.odoojsonrpcclient.getActiveOdooUser
import io.gripxtech.odoojsonrpcclient.getCookies
import io.gripxtech.odoojsonrpcclient.gson
import io.gripxtech.odoojsonrpcclient.setCookies
import okhttp3.Cookie
import timber.log.Timber

class CookiePrefs(context: Context) : Prefs(CookiePrefs.TAG, context) {

    companion object {
        const val TAG = "CookiePrefs"
    }

    private val type = object : TypeToken<ArrayList<ClonedCookie>>() {}.type

    fun getCookies(): ArrayList<Cookie> {
        val activeUser = context.getActiveOdooUser()
        if (activeUser != null) {
            // val cookiesStr = getString(activeUser.androidName)
            val cookiesStr = context.getCookies(activeUser)
            if (cookiesStr.isNotEmpty()) {
                val clonedCookies: ArrayList<ClonedCookie> = gson.fromJson(cookiesStr, type)
                val cookies = arrayListOf<Cookie>()
                for (clonedCookie in clonedCookies) {
                    cookies += clonedCookie.toCookie()
                }
                Timber.i("getCookies() returned $cookies")
                return cookies
            }
        }
        return arrayListOf()
    }

    fun setCookies(cookies: ArrayList<Cookie>) {
        Timber.i("setCookies() called with $cookies")


unctionTypedef>()
    val commands = e.query("commands/command")
        .toList()       // so that we can use side effect in .map
        .map {
            extractCommand(it) { name, params, ret ->
                val idx = counter.getOrPut(name) { 0 }
                counter.put(name, idx + 1)
                val value = FunctionTypedef(name + "_$idx", params, ret)
                funcTypedefs.put(value.name, value)
                value
            }
        }.asSequence()
        .associate()

    // extract features/extensions

    val features = e.query("feature")
        .map(::extractFeatures)
        .associate()

    val extensions = e.query("extensions/extension")
        .map(::extractExtensions)
        .associate()

    return Registry(
        aliases = typedefs,
        constants = constants,
        commands = commands,
        functionTypedefs = funcTypedefs,
        opaqueHandleTypedefs = opaqueHandleTypedefs,
        opaqueTypedefs = opaqueTypedefs,
        structures = structures,
        unions = unions,
        ext = OpenCLRegistryExt(features, extensions)
    )
}

private fun String.sanitizeFlagBits() = replace("FlagBits", "Flags")

// copy from vulkan
private fun extractType(e: Element): Type {
    val identifier = IdentifierType(e.textContent.trim().sanitizeFlagBits().intern())

    // Array types, e.g.:
    // `<type>float</type> <name>matrix</name>[3][4]`
    // `<type>uint8_t</type> <name>deviceUUID</name>[<enum>VK_UUID_SIZE</enum>]`
    if (e.parentNode is Element) {
        val contents =
            e.parentNode.childNodes
                .toList()
                .filter { it.nodeType == Node.TEXT_NODE || (it is Element && it.tagName == "enum") }
                .joinToString("") { it.textContent }
                .trim()

        if (contents.startsWith('[') && contents.endsWith(']')) {
            val lengths = contents
                .removePrefix("[")
                .removeSuffix("]")
                .split("][")
                .map { it.trim().intern() }
                .reversed()

            var array = ArrayType(identifier, lengths[0])
            lengths.subList(1, lengths.size).forEach { array = ArrayType(array, it) }
            return array
        }
    }

    // Pointer types, e.g.:
    // `<type>void</type>*`
    // `const <type>char</type>* const*`
    val next = e.nextSibling?.textContent?.trim()
    if (next != null && next.startsWith("*")) {
        val previous = e.previousSibling ?: e.parentNode
        val const = previous?.textContent?.contains("const") ?: false
        val pointer = PointerType(identifier, const)
        return when {
            next.startsWith("* const*") -> PointerType(pointer, true)
            next.startsWith("**") -> PointerType(pointer, const)
            else -> pointer
        }
    }

    return identifier
}

/**
 * @param e in form `<some_tag>TYPE <name>NAME</name></some_tag>`
 */
private fun extractTypeJudgement(e: Element): Pair<String, Type> {
    val name = getName(e)
    val type = extractType(e.getFirstElement("type")!!)
    return name to type
}

/**
 * Extract the name child of given element
 */
private fun getName(e: Element): String {
    return e.getFirstElement("name")!!.textContent.trim()
}

fun isTypedefDefine(e: Element): Boolean {
    return e.textContent.trimStart().startsWith("typedef")
}

/**
 * @param e in


c46c766b53c361682d53797374656d2e457865637574696f6e456e67696e652e476574457865637574696e6753637269707448617368007cc46c766b53c36c766b00c3527cc46c766b53c36c766b51c300c3517cc46c766b53c36c766b51c351c3537cc46c766b52c3006c766b53c3c41400000000000000000000000000000000000000066c766b54527ac4006c766b54c30b766572696679546f6b656e6c766b53c361537951795572755172755279527954727552727568164f6e746f6c6f67792e4e61746976652e496e766f6b656c766b55527ac46c766b55c300517f519c6c766b57527ac46203006c766b57c3616c7566";
            //code = Helper.toHexString(bys);
//            System.out.println("Code:" + Helper.toHexString(bys));
            System.out.println("ContractAddress:" + Address.AddressFromVmCode(code).toHexString());
//            System.exit(0);
            System.out.println(acct0.getAddressU160().toBase58());
            ontSdk.vm().setCodeAddress(Address.AddressFromVmCode(code).toHexString());
            Account account = new Account(Helper.hexToBytes("75de8489fcb2dcaf2ef3cd607feffde18789de7da129b5e97c81e001793cb7cf"),SignatureScheme.SHA256WITHECDSA);
            Transaction tx = ontSdk.vm().makeDeployCodeTransaction(code, true, "name",
                    "v1.0", "author", "email", "desp", account.getAddressU160().toBase58(),ontSdk.DEFAULT_DEPLOY_GAS_LIMIT,0);
            ontSdk.signTx(tx, new Account[][]{{account}});
            String txHex = Helper.toHexString(tx.toArray());
            if(true){
                System.out.println(tx.hash().toString());
                Object result = ontSdk.getConnect().syncSendRawTransaction(txHex);
                System.out.println(result);
                System.exit(0);
            }
            System.out.println(txHex);
           Object result = ontSdk.getConnect().sendRawTransaction(txHex);
            System.out.println(result);

            System.out.println("txhash:" + tx.hash().toString());
            String txhash = tx.hash().toHexString();

            //System.out.println(ontSdk.getConnect().getMemPoolTxCount());
            //System.out.println(ontSdk.getConnect().getMemPoolTxState(txhash));
            Thread.sleep(6000);

            DeployCode t = (DeployCode) ontSdk.getConnect().getTransaction(txhash);
            System.out.


"runtime"
	"strings"

	"github.com/rajveermalviya/gamen/display"
	"github.com/rajveermalviya/go-webgpu/wgpu"

	_ "embed"
)

func init() {
	runtime.LockOSThread()
}

//go:embed shader.wgsl
var shader string

type app struct {
	window          display.Window
	adapter         *wgpu.Adapter
	device          *wgpu.Device
	surface         *wgpu.Surface
	shader          *wgpu.ShaderModule
	pipeline        *wgpu.RenderPipeline
	swapChainFormat wgpu.TextureFormat
	swapChain       *wgpu.SwapChain
	config          *wgpu.SwapChainDescriptor

	hasInit        bool
	hasSurfaceInit bool
}

func (a *app) init() {
	var err error

	a.adapter, err = wgpu.RequestAdapter(nil)
	if err != nil {
		panic(err)
	}

	a.device, err = a.adapter.RequestDevice(nil)
	if err != nil {
		panic(err)
	}

	a.shader, err = a.device.CreateShaderModule(&wgpu.ShaderModuleDescriptor{
		Label:          "shader.wgsl",
		WGSLDescriptor: &wgpu.ShaderModuleWGSLDescriptor{Code: shader},
	})
	if err != nil {
		panic(err)
	}

	a.hasInit = true
}

func (a *app) deinit() {
	a.hasInit = false

	if a.shader != nil {
		a.shader.Drop()
		a.shader = nil
	}
	if a.device != nil {
		a.device.Drop()
		a.device = nil
	}
	if a.adapter != nil {
		a.adapter.Drop()
		a.adapter = nil
	}
}

func (a *app) surfaceInit() {
	var err error

	a.surface = wgpu.CreateSurface(getSurfaceDescriptor(a.window))
	if a.surface == nil {
		panic("got nil surface")
	}

	a.swapChainFormat = a.surface.GetPreferredFormat(a.adapter)

	a.pipeline, err = a.device.CreateRenderPipeline(&wgpu.RenderPipelineDescriptor{
		Label: "Render Pipeline",
		Vertex: wgpu.VertexState{
			Module:     a.shader,
			EntryPoint: "vs_main",
		},
		Primitive: wgpu.PrimitiveState{
			Topology:         wgpu.PrimitiveTopology_TriangleList,
			StripIndexFormat: wgpu.IndexFormat_Undefined,
			FrontFace:        wgpu.FrontFace_CCW,
			CullMode:         wgpu.CullMode_None,
		},
		Multisample: wgpu.MultisampleState{
			Count:                  1,
			Mask:                   ^uint32(0),
			AlphaToCoverageEnabled: false,
		},
		Fragment: &wgpu.FragmentState{
			Module:     a.shader,
			EntryPoint: "fs_main",
			Targets: []wgpu.ColorTargetState{
				{
					Format:    a.swapChainFormat,
					Blend:     &wgpu.BlendState_Replace,
					WriteMask: wgpu.ColorWriteMask_All,
				},
			},
		},
	})
	if err != nil {
		panic(err)
	}

	size := a.window.InnerSize()
	a.config = &wgpu.SwapChainDescriptor{
		Usage:       wgpu.TextureUsage_RenderAttachment,
		Format:      a.swapChainFormat,
		PresentMode: wgpu.PresentMode_Fifo,
		Width:       size.Width,
		Height:      size.Height,
	}

	a.swapChain, err = a.device.CreateSwapChain(a.surface, a.config)
	if err != nil {
		panic(err)
	}

	a.hasSurfaceInit = true
}

func


art,
                    topEnd = cornerSizeTE ?: defaultCornerSize ?: fallbackShape.topEnd,
                    bottomEnd = cornerSizeBE ?: defaultCornerSize ?: fallbackShape.bottomEnd,
                    bottomStart = cornerSizeBS ?: defaultCornerSize ?: fallbackShape.bottomStart
                )
            }
            else -> throw IllegalArgumentException("Unknown cornerFamily set in ShapeAppearance")
        }
    }
}

/**
 * Returns the given index as a [CornerSize], or `null` if the value can't be coerced to a
 * [CornerSize].
 *
 * @param index Index of attribute to retrieve.
 */
@Deprecated(
    """
     compose-theme-adapter-core is deprecated.
     The API has moved to accompanist/themeadapter/core.
     For more information, please visit https://google.github.io/accompanist/themeadapter-core
    """
)
fun TypedArray.parseCornerSize(index: Int): CornerSize? {
    val tv = tempTypedValue.getOrSet { TypedValue() }
    if (getValue(index, tv)) {
        return when (tv.type) {
            TypedValue.TYPE_DIMENSION -> {
                when (tv.complexUnitCompat) {
                    // For DIP and PX values, we convert the value to the equivalent
                    TypedValue.COMPLEX_UNIT_DIP -> CornerSize(TypedValue.complexToFloat(tv.data).dp)
                    TypedValue.COMPLEX_UNIT_PX -> CornerSize(TypedValue.complexToFloat(tv.data))
                    // For another other dim types, we let the TypedArray flatten to a px value
                    else -> CornerSize(getDimensionPixelSize(index, 0))
                }
            }
            TypedValue.TYPE_FRACTION -> CornerSize(tv.getFraction(1f, 1f))
            else -> null
        }
    }
    return null
}

/**
 * A workaround since [TypedValue.getComplexUnit] is API 22+
 */
private inline val TypedValue.complexUnitCompat
    get() = when {
        Build.VERSION.SDK_INT > 22 -> complexUnit
        else -> TypedValue.COMPLEX_UNIT_MASK and (data shr TypedValue.COMPLEX_UNIT_SHIFT)
    }

private val tempTypedValue = ThreadLocal<TypedValue>()
/*
 * Copyright 2019 Google LLC
 *
 * 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
 *
 *     https://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.materialstudies.reply.ui.nav

import android.view.View
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.bottomsheet.BottomSheetBehavior
import com.google.android.material.floatingactionbutton.FloatingActionButton

/**
 * An action to be performed when a bottom sheet's state is changed.
 */
interface OnStateChangedAction {
    fun onStateChanged(sheet: View, newState: Int)
}

/**
 * A state change action that tells the calling client when a open-sheet specific menu should be
 * used.
 */
class ChangeSettingsMenuStateAction(
    private val onShouldShowSettingsMenu: (showSettings: Boolean) -> Unit
) : OnStateChangedAction {

    private var hasCalledShowSettingsMenu: Boolean = false

    override fun onStateChanged(sheet: View, newState: Int) {
        if (newState == BottomSheetBehavior.STATE_HIDDEN) {
            hasCalledShowSettingsMenu = false
            onShouldShowSettingsMenu(false)
        } else {
            if (!hasCalledShowSettingsMenu) {
                hasCalledShowSettingsMenu =


a_c+12:a_c+15]     ; repeat:1x1, step:0x0, num_a_c:4
    v_mad_i32_i24 v[v_out_iwo], s[s_dtile_dx_neg], v[v_move_slice_k_idsx], v[v_out_dslice_iw]
    v_mad_u32_u24 v[v_tmp], s[s_wo], v[v_out_iho], v[v_out_iwo]
    v_lshl_add_u32 v[v_out_os], v[v_tmp], 1, v[v_out_os_base]
    ds_read_b64 v[v_b+2:v_b+2+1], v[v_sld_b_os] offset:2560 ; load i_k:2 into local buffer 0, repeat 1
    s_waitcnt lgkmcnt(5)
    v_mfma_f32_4x4x4f16 a[a_c+0:a_c+3], v[v_a+4:v_a+5], v[v_b+4:v_b+5], a[a_c+0:a_c+3]     ; repeat:0x0, step:0x0, num_a_c:4
    v_cmp_gt_u32 vcc, s[s_ho], v[v_out_iho]
    v_cndmask_b32 v[v_out_flag], 0, 1, vcc
    v_cmp_gt_u32 vcc, s[s_wo], v[v_out_iwo]
    ds_read_b64 v[v_a+2:v_a+2+1], v[v_sld_a_os] offset:640 ; load i_k:2 into local buffer 0, repeat 1
    s_waitcnt lgkmcnt(5)
    v_mfma_f32_4x4x4f16 a[a_c+4:a_c+7], v[v_a+4:v_a+5], v[v_b+6:v_b+7], a[a_c+4:a_c+7]     ; repeat:0x1, step:0x0, num_a_c:4
    v_cndmask_b32 v[v_out_flag], 0, v[v_out_flag], vcc
    v_mad_u32_u24 v[v_wei_iy], s[s_dtile_y], v[v_move_slice_k_idsy], v[v_dtile_iy]
    v_mad_u32_u24 v[v_wei_ix], s[s_dtile_x], v[v_move_slice_k_idsx], v[v_dtile_ix]
    ds_read_b64 v[v_a+4:v_a+4+1], v[v_sld_a_os] offset:768 ; load i_k:3 into local buffer 1, repeat 0
    s_waitcnt lgkmcnt(5)
    v_mfma_f32_4x4x4f16 a[a_c+8:a_c+11], v[v_a+6:v_a+7], v[v_b+4:v_b+5], a[a_c+8:a_c+11]     ; repeat:1x0, step:0x0, num_a_c:4
    v_mad_u32_u24 v[v_tmp], v[v_wei_iy], s[s_x], v[v_wei_ix]
    v_lshl_add_u32 v[v_wei_os], v[v_tmp], 1, v[v_wei_os_base]
    ds_read_b64 v[v_b+4:v_b+4+1], v[v_sld_b_os] offset:3072 ; load i_k:3 into local buffer 1, repeat 0
    v_mfma_f32_4x4x4f16 a[a_c+12:a_c+15], v[v_a+6:v_


// Copyright(C) 2023 InfiniFlow, Inc. All rights reserved.
//
// 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
//
//     https://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.

#pragma once

#include "type/type_info.h"

#ifndef PARESER_USE_STD_MODULE
#define PARESER_USE_STD_MODULE 1
import std.compat;
#endif

namespace infinity {

class BitmapInfo : public TypeInfo {
public:
    static std::shared_ptr<BitmapInfo> Make(int64_t limit);

    static std::shared_ptr<BitmapInfo> Make();

    explicit BitmapInfo(size_t limit) : TypeInfo(TypeInfoType::kBitmap), length_limit_(limit) {}

    ~BitmapInfo() override = default;

    bool operator==(const TypeInfo &other) const override;

    [[nodiscard]] size_t Size() const override { return length_limit_; }

    [[nodiscard]] size_t length_limit() const { return length_limit_; }

    [[nodiscard]] nlohmann::json Serialize() const override;

    [[nodiscard]] inline std::string ToString() const override { return "bitmap(" + std::to_string(length_limit_) + ")"; }

private:
    size_t length_limit_{0};
};

} // namespace infinity


,"keyboardShortcut":"کورتبڕی تەختەکلیل","optionDefault":"هەمیشەیی"},"versionCheck":{"notificationMessage":"This CKEditor %current version is not secure. Consider upgrading to the latest one, %latest.","consoleMessage":"This CKEditor %current version is not secure. Consider upgrading to the latest one, %latest: %link","aboutDialogInsecureMessage":"This CKEditor %current version is not secure.
Consider upgrading to the latest one, %latest:
%link","aboutDialogUpgradeMessage":"Consider upgrading to the latest editor version, %latest:
%link"},"about":{"copy":"مافی لەبەرگەرتنەوەی © $1. گشتی پارێزراوه. ورگێڕانی بۆ کوردی لەلایەن هۆژە کۆیی.","dlgTitle":"دەربارەی CKEditor 4","moreInfo":"بۆ زانیاری زیاتر دەربارەی مۆڵەتی بەکارهێنان، تکایه سەردانی ماڵپەڕەکەمان بکه:"},"basicstyles":{"bold":"قەڵەو","italic":"لار","strike":"لێدان","subscript":"ژێرنووس","superscript":"سەرنووس","underline":"ژێرهێڵ"},"bidi":{"ltr":"ئاراستەی نووسە لە چەپ بۆ ڕاست","rtl":"ئاراستەی نووسە لە ڕاست بۆ چەپ"},"blockquote":{"toolbar":"بەربەستکردنی ووتەی وەرگیراو"},"notification":{"closed":"ئاگادارکەرەوەکە داخرا."},"toolbar":{"toolbarCollapse":"شاردنەوی هێڵی تووڵامراز","toolbarExpand":"نیشاندانی هێڵی تووڵامراز","toolbarGroups":{"document":"پەڕه","clipboard":"بڕین/پووچکردنەوە","editing":"چاکسازی","forms":"داڕشتە","basicstyles":"شێوازی بنچینەیی","paragraph":"بڕگە","links":"بەستەر","insert":"خستنە ناو","styles":"شێواز","colors":"ڕەنگەکان","tools":"ئامرازەکان"},"toolbars":"تووڵامرازی دەسکاریکەر"},"clipboard":{"copy":"لەبەرگرتنەوە","copyError":"پارێزی وێبگەڕەکەت ڕێگەنادات بەسەرنووسەکە لە لکاندنی دەقی خۆکارارنە. تکایە لەبری ئەمە ئەم فەرمانە بەکاربهێنە بەداگرتنی کلیلی (Ctrl/Cmd+C).","cut":"بڕین","cutError":"پارێزی وێبگەڕەکەت ڕێگەنادات بە سەرنووسەکە ل


n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)",lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nvec3 dxy = max( abs( dFdx( geometryNormal ) ), abs( dFdy( geometryNormal ) ) );\nfloat geometryRoughness = max( max( dxy.x, dxy.y ), dxy.z );\nmaterial.specularRoughness = max( roughnessFactor, 0.0525 );material.specularRoughness += geometryRoughness;\nmaterial.specularRoughness = min( material.specularRoughness, 1.0 );\n#ifdef REFLECTIVITY\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#endif\n#ifdef CLEARCOAT\n\tmaterial.clearcoat = clearcoat;\n\tmaterial.clearcoatRoughness = clearcoatRoughness;\n\t#ifdef USE_CLEARCOATMAP\n\t\tmaterial.clearcoat *= texture2D( clearcoatMap, vUv ).x;\n\t#endif\n\t#ifdef USE_CLEARCOAT_ROUGHNESSMAP\n\t\tmaterial.clearcoatRoughness *= texture2D( clearcoatRoughnessMap, vUv ).y;\n\t#endif\n\tmaterial.clearcoat = saturate( material.clearcoat );\tmaterial.clearcoatRoughness = max( material.clearcoatRoughness, 0.0525 );\n\tmaterial.clearcoatRoughness += geometryRoughness;\n\tmaterial.clearcoatRoughness = min( material.clearcoatRoughness, 1.0 );\n#endif\n#ifdef USE_SHEEN\n\tmaterial.sheenColor = sheen;\n#endif",lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3 diffuseColor;\n\tfloat specularRoughness;\n\tvec3 specularColor;\n#ifdef CLEARCOAT\n\tfloat clearcoat;\n\tfloat clearcoatRoughness;\n#endif\n#ifdef USE_SHEEN\n\tvec3 sheenColor;\n#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearcoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout R


d)
    it('should support has', function()
        local object = {a={b={c={d}}}}
        assert.is.equal(true, _.has(object, {'a', 'b', 'c'}))
    end)
    it('should support invert', function()
        local inverted = _.invert({a='1', b='2', c='2'}, false)
        assert.are.same({["1"]="a", ["2"]="c"}, inverted)
        inverted = _.invert({a='1', b='2', c='2'}, true)
        assert.are.same({["1"]="a", ["2"]={"b", "c"}}, inverted)
    end)
    it('should support keys', function()
        assert.is.equal('{1, 2, 3, 4}', _.str(_.keys("test")))
        assert.is.equal('{"a", "b", "c"}', _.str(_.keys({a=1, b=2, c=3})))
    end)
    it('should support pairs', function()
        assert.is.equal('{{1, 1}, {2, 2}, {3, "x"}, {"a", "b"}}', _.str(_.pairs({1, 2, 'x', a='b'})))
    end)
    it('should support result', function()
        local object = {a=5, b={c=function(a) return a end}}
        assert.is.equal(5, _.result(object, {'b', 'c'}, nil, 5))
    end)
    it('should support values', function()
        assert.is.equal('{"t", "e", "s", "t"}', _.str(_.values("test")))
        assert.is.equal('{1, 2, 3}', _.str(_.values({a=1, b=2, c=3})))
    end)
end)


),
          if (prInfo.url?.isNotEmpty == true) ...[
            const SizedBox(width: 10),
            Icon(
              Icons.keyboard_arrow_right,
              color: textColor,
            ),
          ],
        ],
      ),
    );
    if (prInfo.url?.isNotEmpty == true) {
      return GestureDetector(
        onTap: () => PageUtils.handleWebview(prInfo.url!),
        child: child,
      );
    }
    return child;
  }

  Column _buildH(ColorScheme colorScheme, bool isLight) => Column(
    mainAxisSize: MainAxisSize.min,
    crossAxisAlignment: CrossAxisAlignment.start,
    children: [
      // _buildHeader(context),
      const SizedBox(height: 56),
      Row(
        children: [
          const SizedBox(width: 20),
          Padding(
            padding: EdgeInsets.only(
              top: 10,
              bottom: card.prInfo?.content?.isNotEmpty == true ? 0 : 10,
            ),
            child: _buildAvatar,
          ),
          const SizedBox(width: 10),
          Expanded(
            flex: 5,
            child: Column(
              mainAxisSize: MainAxisSize.min,
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                const SizedBox(height: 10),
                ..._buildLeft(colorScheme, isLight),
                const SizedBox(height: 5),
              ],
            ),
          ),
          Expanded(
            flex: 3,
            child: _buildRight(colorScheme),
          ),
          const SizedBox(width: 20),
        ],
      ),
      if (card.prInfo?.content?.isNotEmpty == true)
        buildPrInfo(colorScheme, isLight, card.prInfo!),
    ],
  );

  Widget _buildFollowedUp(
    ColorScheme colorScheme,
    FollowingsFollowedUpper item,
  ) {
    var list = item.items!;
    final flag = list.length > 3;
    if (flag) list = list.sublist(0, 3);
    final length = list.length;
    const size = 22.0;
    Widget avatar(String url) => NetworkImgLayer(
      src: url,
      width: size,
      height: size,
      type: ImageType.avatar,
    );
    Widget avatars;
    if (length == 1) {
      avatars = avatar(list.first.face!);
    } else {
      const gap = 4.0;
      const offset = size - gap;
      final decoration = BoxDecoration(
        shape: BoxShape.circle,
        border: Border.all(color: colorScheme.surface),
      );
      avatars = SizedBox(
        width: length * size - (length - 1) * gap,
        height: size + 1.6,
        child: Stack(
          clipBehavior: Clip.none,
          children: List.generate(
            length,
            (index) => Positioned(
              right: index * offset,
              child: DecoratedBox(
                decoration: decoration,
                child: Padding(
                  padding: const EdgeInsets.all(.8),
                  child: avatar(list[length - 1 - index].face!),
                ),
              ),
            ),
          ),
        ),
      );
    }
    Widget child = Row(
      mainAxisSize: MainAxisSize.min,
      children: [
        const SizedBox(width: 20),
        avatars,
        const SizedBox(width: 4),
        Flexible(
          child: Text(
            list.map((e) => e.name).join('、'),
            maxLines: 1,
            overflow: TextOverflow.ellipsis,
            style: TextStyle(
              fontSize: 13,
              color: colorScheme.onSurfaceVariant,
            ),
          ),
        ),
        Text(
          '${flag ? '等${item.items!.length}人' : ''}也关注了TA ',
          style: TextStyle(fontSize: 13, color: colorScheme.outline),
        ),
        Icon(
          Icons.keyboard_arrow_right


* 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.
*/

(function () {

    var PipelineStage = require(EclairJS_Globals.NAMESPACE + '/ml/PipelineStage');
    var Logger = require(EclairJS_Globals.NAMESPACE + '/Logger');
    var Utils = require(EclairJS_Globals.NAMESPACE + '/Utils');

    /**
     * @classdesc
     * Abstract class for estimators that fit models to data.
     * @class
     * @memberof module:eclairjs/ml
     * @extends module:eclairjs/ml.PipelineStage
     */
    var Estimator = function(jvmObject) {
    	 this.logger = Logger.getLogger("ml.Estimator_js");
     	 PipelineStage.call(this, jvmObject);

    };

    Estimator.prototype = Object.create(PipelineStage.prototype);

    Estimator.prototype.constructor = Estimator;

    /**
     * Fits a model to the input data.
     * @param {module:eclairjs/sql.Dataset} dataset
     * @param {module:eclairjs/ml/param.ParamMap} [paramMap]  Parameter map.
     *                 These values override any specified in this Estimator's embedded ParamMap.
     * @returns {module:eclairjs/ml.Estimator | module:eclairjs/ml/feature.Bucketizer} fitted model
     */
    Estimator.prototype.fit = function(dataset, paramMap) {
        var dataset_uw = Utils.unwrapObject(dataset);
        var javaObject;
        if (paramMap) {
            var paramMap_uw = Utils.unwrapObject(paramMap);
            javaObject =  this.getJavaObject().fit(dataset_uw, paramMap_uw);
        } else {
            javaObject =  this.getJavaObject().fit(dataset_uw);
        }

        return Utils.javaToJs(javaObject);
    };

    /**
     * @param {module:eclairjs/ml/param.ParamMap} extra
     * @returns {module:eclairjs/ml.Estimator}
     * @abstract
     */
    Estimator.prototype.copy = function(extra) {
        throw "Abstract class must be implemented in extending class";
    //   var extra_uw = Utils.unwrapObject(extra);
    //   var javaObject =  this.getJavaObject().copy(extra_uw);
    //   return Utils.javaToJs(javaObject);
    };

    /**
     *
     * @returns {module:eclairjs/ml/param.ParamMap}
     */
    Estimator.prototype.extractParamMap = function() {
        var javaObject = this.getJavaObject().extractParamMap();
        return Utils.javaToJs(javaObject);
    };

    module.exports = Estimator;
})();

Home

Modules

eclairjs

eclairjs/broadcast

eclairjs/ml

<a href="m


_numbering: FontFamilyNumbering,
    font_bold: Bold,
    font_italic: Italic,
    font_underline: Underline,
    font_strike: Strike,
    color: Color,
    font_char_set: FontCharSet,
    font_scheme: FontScheme,
}
impl RunProperties {
    // Charset
    pub const CHARSET_ANSI: i32 = 0;
    pub const CHARSET_DEFAULT: i32 = 1;
    pub const CHARSET_SYMBOL: i32 = 2;
    pub const CHARSET_SHIFTJIS: i32 = 128;
    pub const CHARSET_HANGEUL: i32 = 129;
    pub const CHARSET_HANGUL: i32 = 129;
    pub const CHARSET_GB2312: i32 = 134;
    pub const CHARSET_CHINESEBIG5: i32 = 136;
    pub const CHARSET_OEM: i32 = 255;
    pub const CHARSET_JOHAB: i32 = 130;
    pub const CHARSET_HEBREW: i32 = 177;
    pub const CHARSET_ARABIC: i32 = 178;
    pub const CHARSET_GREEK: i32 = 161;
    pub const CHARSET_TURKISH: i32 = 162;
    pub const CHARSET_VIETNAMESE: i32 = 163;
    pub const CHARSET_THAI: i32 = 222;
    pub const CHARSET_EASTEUROPE: i32 = 238;
    pub const CHARSET_RUSSIAN: i32 = 204;
    pub const CHARSET_MAC: i32 = 77;
    pub const CHARSET_BALTIC: i32 = 186;

    // Underline types
    pub const UNDERLINE_NONE: &'static str = "none";
    pub const UNDERLINE_DOUBLE: &'static str = "double";
    pub const UNDERLINE_DOUBLEACCOUNTING: &'static str = "doubleAccounting";
    pub const UNDERLINE_SINGLE: &'static str = "single";
    pub const UNDERLINE_SINGLEACCOUNTING: &'static str = "singleAccounting";

    pub fn get_font_name(&self)-> &FontName {
        &self.font_name
    }

    pub fn get_font_name_mut(&mut self)-> &mut FontName {
        &mut self.font_name
    }

    pub fn set_font_name(&mut self, value:FontName)-> &mut Self {
        self.font_name = value;
        self
    }

    pub fn get_name(&self)-> &str {
        self.font_name.get_val()
    }

    pub fn set_name<S: Into<String>>(&mut self, value:S)-> &mut Self {
        self.font_name.set_val(value);
        self
    }

    pub fn get_font_size(&self)-> &FontSize {
        &self.font_size
    }

    pub fn get_font_size_mut(&mut self)-> &mut FontSize {
        &mut self.font_size
    }

    pub fn set_font_size(&mut self, value:FontSize)-> &mut Self {
        self.font_size = value;
        self
    }

    pub fn get_size(&self)-> &f64 {
        self.font_size.get_val()
    }

    pub fn set_size(&mut self, value:f64)-> &mut Self {
        self.font_size.set_val(value);
        self
    }

    pub fn get_font_family_numbering(&self)-> &FontFamilyNumbering {
        &self.font_family_numbering
    }

    pub fn get_font_family_numbering_mut(&mut self)-> &mut FontFamilyNumbering {
        &mut self.font_family_numbering
    }

    pub fn set_font_family_numbering(&mut self, value:FontFamilyNumbering)-> &mut Self {
        self.font_family_numbering = value;
        self
    }

    pub fn get_family(&self)-> &i32 {
        self.font_family_numbering.get_val()
    }

    pub fn set_family(&mut se


21295a08d9ab7b8675c13840563a6');
  });
}

void _plutusDataFromAddress() {
  test('PlutusDataFromAddress_1', () {
    final ADAShellyAddress addr = ADAShellyAddress.fromAddress(
        'addr1w8wrk560wcsldjpnqjamn8s0gn9pdrplpyetrdfpacqrpfs3xezd8');
    final plutusData = PlutusData.fromAddress(addr);
    expect(
        plutusData.toJsonSchema(
            config: const PlutusSchemaConfig(
                jsonSchema: PlutusJsonSchema.detailedSchema)),
        StringUtils.toJson(
            '{"constructor": 0, "fields": [{"constructor": 1, "fields": [{"bytes": "dc3b534f7621f6c83304bbb99e0f44ca168c3f0932b1b521ee0030a6"}]}, {"constructor": 1, "fields": []}]}'));
  });
  test('PlutusDataFromAddress_2', () {
    final addr = ADAShellyAddress.fromAddress(
        'addr1qxy2c673nsdp0mvgq5d3tpjndngucsytug00k7k6xwlx4lvg434ar8q6zlkcspgmzkr9xmx3e3qghcs7ldad5va7dt7s5efyer');
    final plutusData = PlutusData.fromAddress(addr);
    expect(
        plutusData.toJsonSchema(
            config: const PlutusSchemaConfig(
                jsonSchema: PlutusJsonSchema.detailedSchema)),
        StringUtils.toJson(
            '{"constructor": 0, "fields": [{"constructor": 0, "fields": [{"bytes": "88ac6bd19c1a17ed88051b1586536cd1cc408be21efb7ada33be6afd"}]}, {"constructor": 0, "fields": [{"constructor": 0, "fields": [{"constructor": 0, "fields": [{"bytes": "88ac6bd19c1a17ed88051b1586536cd1cc408be21efb7ada33be6afd"}]}]}]}]}'));
  });
  test('PlutusDataFromAddress_3', () {
    final addr = ADAShellyAddress.fromAddress(
        'addr1x8wrk560wcsldjpnqjamn8s0gn9pdrplpyetrdfpacqrpfku8df57a3p7myrxp9mhx0q73x2z6xr7zfjkx6jrmsqxznqh8u5dz');
    final plutusData = PlutusData.fromAddress(addr);
    expect(
        plutusData.toJsonSchema(
            config: const PlutusSchemaConfig(
                jsonSchema: PlutusJsonSchema.detailedSchema)),
        StringUtils.toJson(
            '{"constructor": 0, "fields": [{"constructor": 1, "fields": [{"bytes": "dc3b534f7621f6c83304bbb99e0f44ca168c3f0932b1b521ee0030a6"}]}, {"constructor": 0, "fields": [{"constructor": 0, "fields": [{"constructor": 1, "fields": [{"bytes": "dc3b534f7621f6c83304bbb99e0f44ca168c3f0932b1b521ee0030a6"}]}]}]}]}'));
  });
  test('PlutusDataFromAddress_4', () {
    final addr = ADAShellyAddress.fromAddress(
        'addr1z8wrk560wcsldjpnqjamn8s0gn9pdrplpyetrdfpacqrpf5g434ar8q6zlkcspgmzkr9xmx3e3qghcs7ldad5va7dt7sqx2wxh');
    final plutusData = PlutusData.fromAddress(addr);
    expect(
        plutusData.toJsonSchema(
            config: const PlutusSchemaConfig(
                jsonSchema: PlutusJsonSchema.detailedSchema)),
        StringUtils.toJson(
            '{"constructor": 0, "fields": [{"constructor": 1, "fields": [{"bytes": "dc3b534f7621f6c83304bbb99e0f44ca168c3f0932b1b521ee0030a6"}]}, {"constructor": 0, "fi


and value out of range
  lw16  $4, 68($17) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  sb16  $3, 64($16) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  sh16  $4, 68($17) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  sw16  $4, 64($17) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  lbu16 $3, -2($16) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  lhu16 $3, 64($16) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  lw16  $4, 68($17) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: immediate operand value out of range
  sb16  $16, 4($16) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  sh16  $16, 8($17) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  sw16  $16, 4($17) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  lbu16 $16, 8($9)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  lhu16 $16, 4($9)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  lw16  $17, 8($10) # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  sb16  $7, 4($9)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  sh16  $7, 8($9)   # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  sw16  $7, 4($10)  # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  cache -1, 8($5)  # CHECK: :[[@LINE]]:9: error: expected 5-bit unsigned immediate
  cache 32, 8($5)  # CHECK: :[[@LINE]]:9: error: expected 5-bit unsigned immediate
  pref -1, 8($5)   # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
  pref 32, 8($5)   # CHECK: :[[@LINE]]:8: error: expected 5-bit unsigned immediate
  beqz16 $9, 20 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction
  bnez16 $9, 20 # CHECK: :[[@LINE]]:{{[0-9]+}}: error: invalid operand for instruction


lePath)
}

func (d *generalSettingsDockable) willClose() bool {
	filePath := languageSettingPath()
	if languageSetting == "" {
		i18n.Language = i18n.Locale()
		if err := os.Remove(filePath); err != nil && !errors.Is(err, os.ErrNotExist) {
			errs.Log(err, "path", filePath)
		}
	} else {
		i18n.Language = languageSetting
		if err := os.WriteFile(filePath, []byte(languageSetting), 0o640); err != nil {
			errs.Log(err, "path", filePath)
		}
	}
	return true
}

// LoadLanguageSetting loads the language setting from disk, if present, and applies it.
func LoadLanguageSetting() {
	if data, err := os.ReadFile(languageSettingPath()); err == nil {
		if s := strings.TrimSpace(strings.SplitN(strings.TrimSpace(string(data)), "\n", 2)[0]); len(s) > 1 && len(s) < 20 {
			i18n.Language = s
			languageSetting = s
		}
	}
}

func languageSettingPath() string {
	return filepath.Join(xos.AppDataDir(true), xos.AppCmdName+"_language.txt")
}
// Copyright (c) 1998-2025 by Richard A. Wilkes. All rights reserved.
//
// This Source Code Form is subject to the terms of the Mozilla Public
// License, version 2.0. If a copy of the MPL was not distributed with
// this file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// This Source Code Form is "Incompatible With Secondary Licenses", as
// defined by the Mozilla Public License, version 2.0.

package colors

import (
	"context"
	"encoding/json"
	"io/fs"
	"log/slog"
	"sync"

	"github.com/richardwilkes/gcs/v5/model/jio"
	"github.com/richardwilkes/toolbox/v2/errs"
	"github.com/richardwilkes/toolbox/v2/xos"
	"github.com/richardwilkes/unison"
)

const (
	minimumVersion = 5
	currentVersion = 5
)

var (
	once    sync.Once
	current []*ThemedColor
	factory []*ThemedColor
)

// Additional theme colors
var (
	Header                  = &unison.ThemeColor{Light: unison.RGB(80, 80, 80), Dark: unison.RGB(64, 64, 64)}
	OnHeader                = Header.DeriveOn()
	TintPortrait            = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintIdentity            = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintMisc                = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintPoints              = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintDescription         = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintPrimaryAttributes   = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintSecondaryAttributes = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintBody                = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintEncumbrance         = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintLifting             = &unison.ThemeColor{Light: unison.Transparent, Dark: unison.Transparent}
	TintDamage              = &unison.Theme


ken Temple|QID|27704|NC|M|69.55,51.85;70.96,45.96;71.41,43.55;54.27,79.02|CN|
C Legends of the Sunken Temple|QID|27704|NC|M|74.26,44.52|
T Legends of the Sunken Temple|QID|27704|M|74.26,44.52|
A Step One: The Priestess|QID|27705|PRE|27704|M|74.26,44.52|
C Step One: The Priestess|QID|27705|M|73.04,46.30;74.79,49.24|CN|
T Step One: The Priestess|QID|27705|M|74.66,49.19|
A Step Two: The Bloodletter|QID|27768|PRE|27705|M|53.99,79.65|N|From Lord Itharius.|
C Step Two: The Bloodletter|QID|27768|M|77.52,46.16|
T Step Two: The Bloodletter|QID|27768|M|77.55,46.26|
A Step Three: Prophet|QID|27773|PRE|27768|M|54.48,79.13|
C Step Three: Prophet|QID|27773|M|76.72,41.57|
T Step Three: Prophet|QID|27773|M|76.64,41.48|
A Blessing of the Green Dragonflight|QID|27914|PRE|27773|M|76.64,41.48|
T Blessing of the Green Dragonflight|QID|27914|M|69.47,54.53|N|To Lord Itharius.|
A The Heart of the Temple|QID|27915|LEAD|27633|PRE|27914|M|69.47,54.53|N|From Lord Itharius.|
A To Stonard|QID|27871|M|69.47,54.53|N|From Lord Itharius.|
T To Stonard|QID|27871|M|49.39,55.39|N|Top of the building.|
A Orcs and Humans|QID|27852|M|49.39,55.39|N|From Dispatch Commander Ruag.|
A Lumbering Oafs|QID|27853|M|49.39,55.39|N|From Dispatch Commander Ruag.|
C Orcs and Humans|QID|27852|M|60.08,43.83|
C Lumbering Oafs|QID|27853|M|60.34,35.85|
T Orcs and Humans|QID|27852|M|49.43,55.40|N|To Dispatch Commander Ruag.|
T Lumbering Oafs|QID|27853|M|49.43,55.40|N|To Dispatch Commander Ruag.|
A Tides of Darkness|QID|27854|M|49.43,55.40|N|From Dispatch Commander Ruag.|
A Reinforcements Denied|QID|27855|M|49.43,55.40|N|From Dispatch Commander Ruag.|
A Marking the Fallen|QID|27856|M|49.43,55.40|N|From Dispatch Commander Ruag.|
C Reinforcements Denied|QID|27855|M|62.65,42.18|
C Tides of Darkness|QID|27854|M|62.88,40.34|
C Marking the Fallen|QID|27856|U|62548|M|62.20,46.79|
T Tides of Darkness|QID|27854|M|49.41,55.40|N|To


37.25 71.875
z
"/></defs><g style=fill:#262626; transform="translate(44.290476 76.431027)scale(0.12381 -0.12381)"><use xlink:href=#ArialMT-49 /><use x=55.615234 xlink:href=#ArialMT-46 /><use x=83.398438 xlink:href=#ArialMT-48 /></g></g></g></g><g id=patch_3><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 90 252
L 126 252
L 126 72
L 90 72
z
"/></g><g id=patch_4><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 162 252
L 198 252
L 198 72
L 162 72
z
"/></g><g id=patch_5><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 234 252
L 270 252
L 270 72
L 234 72
z
"/></g><g id=patch_6><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 306 252
L 342 252
L 342 72
L 306 72
z
"/></g><g id=patch_7><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 378 252
L 414 252
L 414 72
L 378 72
z
"/></g><g id=patch_8><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 450 252
L 486 252
L 486 72
L 450 72
z
"/></g><g id=patch_9><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 522 252
L 558 252
L 558 72
L 522 72
z
"/></g><g id=patch_10><path clip-path=url(#pf2b804e901) style=fill:#337ab7;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.3; d="M 594 252
L 630 252
L 630 72
L 594 72
z
"/></g></g><g id=axes_2><g id=matplotlib.axis_3><g id=ytick_7><g id=text_15><g style=fill:#262626; transform="translate(658.5 256.431027)scale(0.12381 -0.12381)"><use xlink:href=#ArialMT-48 /></g></g></g><g id=ytick_8><g id=text_16><g style=fill:#262626; transform="translate(658.5 220.431027)scale(0.12381 -0.12381)"><use xlink:href=#ArialMT-49 /><use x=55.615234 xlink:href=#ArialMT-52 /></g></g></g><g id=ytick_9><g id=text_17><defs><path id=ArialMT-57 d="M 5.46875 16.546875
L


  This function is the Reset Handler called on controller reset
  * @param  None
  * @retval None
  */
__WEAK __NO_RETURN void Reset_Handler(void)
{
  SystemInit();         /* CMSIS System Initialization */
  __PROGRAM_START();    /* Enter PreMain (C library entry point) */
}

/**
  * @brief  Hard Fault Handler
  * @param  None
  * @retval None
  */
__WEAK void HardFault_Handler(void)
{
  while (1);
}

/**
  * @brief  This function is the default IRQ handler
  *         when the IRQ line is not used by the application
  * @param  None
  * @retval None
  */
__WEAK void Default_IRQHandler(void)
{
  while (1);
}


_input);
        editText.setMaxHeight(PxUtils.getScreenHeight(context) / 3);
        initDayItems();
    }

    /**
     * 初始化上午、下午Item
     */
    private void initDayItems() {
        wvDay.setAdapter(new ArrayWheelAdapter<>(dayList));
        wvDay.setCurrentItem(dayPosition);
        wvDay.setCyclic(false);
        wvDay.setOnItemSelectedListener(index -> {
            dayPosition = index;
            createDayHourMinuteList();
            initHourItems();
        });
        initHourItems();
    }

    /**
     * 初始化小时Item
     */
    private void initHourItems() {
        wvHour.setAdapter(new ArrayWheelAdapter<>(hourList));
        wvHour.setCurrentItem(hourPosition);
        wvHour.setOnItemSelectedListener(index -> {
            hourPosition = index;
            createDayHourMinuteList();
            initMinuteItems();
        });
        wvHour.setCyclic(false);
        initMinuteItems();
    }

    /**
     * 初始化分钟Item
     */
    private void initMinuteItems() {
        wvMinute.setAdapter(new ArrayWheelAdapter<>(minuteList));
        wvMinute.setCurrentItem(minutePosition);
        wvMinute.setOnItemSelectedListener(index -> {
            minutePosition = index;
        });
        wvMinute.setGravity(Gravity.START);
        wvMinute.setCyclic(false);
    }

    /**
     * 创建日期列表
     *
     * @return List<String> c
     */
    @NonNull
    private List<DateItem> createDateList() {
        List<DateItem> list = new ArrayList<>();
        Calendar calender = Calendar.getInstance();
        Date today = new Date();
        calender.setTime(today);
        int start = 0;
        int max = MAX_DAY_COUNT;
        //判断DELAYED_MINUTE分钟以后是不是明天
        if (DateUtils.isTomorrow(DateUtils.getCurrentTimeStamp() / 1000 + DELAYED_MINUTE * 60)) {
            start = 1;
            max = max + 1;
        }
        for (int i = start; i <= max; i++) {
            DateItem dateItem = new DateItem();
            calender.add(Calendar.DATE, i);
            Date time = calender.getTime();
            dateItem.setDate(DateUtils.getFormatDate(time, "yyyy-MM-dd"));
            if (time.getTime() == today.getTime()) {
                //今天
                dateItem.setShowText("今天");
            } else {
                String week = WEEKS[(calender.get(Calendar.DAY_OF_WEEK) - 1)];
                String formatDate = DateUtils.getFormatDate(calender.getTime(), "MM月dd日");
                dateItem.setShowText(String.format("%s %s", formatDate, week));
            }
            list.add(dateItem);
            calender.setTime(today);
        }
        return list;
    }

    /**
     * 创建小时列表
     */
    private void createDayHourMinuteList() {
        //上午、下午
        dayList.clear();
        dayList.add(MORNING);
        dayList.add(AFTERNOON);

        hourList.clear();
        minuteList.clear();
        String date = dateList.get(datePosition).getDate();
        int startHour = 0, startMinute = 0;
        if (DateUtils.isToday(date)) {
            //判断上午、下午
            String afterMinuteTime = DateUtils.getAfterMinuteTime(DELAYED_MINUTE);
            if (DateUtils.isDatePm(a


        public:
            explicit BattlegroundStartLocalizedAnnounceBuilder(int32 textId, Battleground* bg, uint32 minLevel, uint32 maxLevel)
                : i_textId(textId), i_bg(bg), i_minLevel(minLevel), i_maxLevel(maxLevel) { }
            void operator()(std::vector<WorldPacket*>& data_list, LocaleConstant loc_idx)
            {
                char const* text = sObjectMgr->GetTrinityString(i_textId, loc_idx);
                char str[2048];
                sprintf(str, text, i_bg->GetName(loc_idx), i_minLevel, i_maxLevel);
               do_helper(data_list, &str[0]);
            }
        private:
            char* lineFromMessage(char*& pos) { char* start = strtok(pos, "\n"); pos = NULL; return start; }
            void do_helper(std::vector<WorldPacket*>& data_list, char* text)
            {
                char* pos = text;
                while (char* line = lineFromMessage(pos))
                {
                    WorldPacket* data = new WorldPacket();
                    ChatHandler::BuildChatPacket(*data, CHAT_MSG_SYSTEM, LANG_UNIVERSAL, 0, 0, std::string(line));
                    data_list.push_back(data);
                }
            }

            int32 i_textId;
            Battleground* i_bg;
            uint32 i_minLevel, i_maxLevel;
    };
}                                                           // namespace Trinity

template<class Do>
void Battleground::BroadcastWorker(Do& _do)
{
    for (BattlegroundPlayerMap::const_iterator itr = m_Players.begin(); itr != m_Players.end(); ++itr)
        if (Player* player = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER)))
            _do(player);
}

Battleground::Battleground()
{
    m_Guid              = 0;
    m_TypeID            = BATTLEGROUND_TYPE_NONE;
    m_RandomTypeID      = BATTLEGROUND_TYPE_NONE;
    m_InstanceID        = 0;
    m_Status            = STATUS_NONE;
    m_ClientInstanceID  = 0;
    m_EndTime           = 0;
    m_LastResurrectTime = 0;
    m_BracketId         = BG_BRACKET_ID_FIRST;
    m_InvitedAlliance   = 0;
    m_InvitedHorde      = 0;
    m_ArenaType         = 0;
    m_StartTime         = 0;
    m_CountdownTimer    = 0;
    m_ResetStatTimer    = 0;
    m_ValidStartPositionTimer = 0;
    m_Events            = 0;
    m_BuffChange        = false;
    m_IsRandom          = false;
    m_Name              = "";
    m_LevelMin          = 0;
    m_LevelMax          = 0;
    m_InBGFreeSlotQueue = false;
    m_SetDeleteThis     = false;

    m_PlayersPositionsTimer = 5000;

    m_MaxPlayersPerTeam = 0;
    m_MaxPlayers        = 0;
    m_MinPlayersPerTeam = 0;
    m_MinPlayers        = 0;

    m_MapId             = 0;
    m_Map               = NULL;
    m_StartMaxDist      = 0.0f;

    m_TeamStartLocX[TEAM_ALLIANCE]   = 0;
    m_TeamStartLocX[TEAM_HORDE]      = 0;

    m_TeamStartLocY[TEAM_ALLIANCE]   = 0;
    m_TeamStartLocY[TEAM_HORDE]      = 0;

    m_TeamStartLocZ[TEAM_ALLIANCE]   = 0;
    m_TeamStartLocZ[TEAM_HORDE]      = 0;

    m_TeamStartLocO[TEAM_ALLIANCE]   = 0;
    m_TeamStartLocO[TEAM_HORDE]      = 0;

    m_ArenaTeamRatingChanges[TEAM_ALLIANCE]   = 0;
    m


Dark.css";
@import "@radix-ui/colors/mintDark.css";
@import "@radix-ui/colors/limeDark.css";
@import "@radix-ui/colors/yellowDark.css";
@import "@radix-ui/colors/amberDark.css";

// Grays
@import "@radix-ui/colors/grayDark.css";
@import "@radix-ui/colors/mauveDark.css";
@import "@radix-ui/colors/sageDark.css";
@import "@radix-ui/colors/oliveDark.css";
@import "@radix-ui/colors/sandDark.css";
@import "@radix-ui/colors/gray.css";
@import "@radix-ui/colors/mauve.css";
@import "@radix-ui/colors/sage.css";
@import "@radix-ui/colors/olive.css";
@import "@radix-ui/colors/sand.css";

// Metals
@import "@radix-ui/colors/gold.css";
@import "@radix-ui/colors/bronze.css";
@import "@radix-ui/colors/goldDark.css";
@import "@radix-ui/colors/bronzeDark.css";

:root {
    --base: white;
    --base-black: #121212;
}

.dark-theme {
    /* Remap your colors for dark mode */
    --base: #121212;
    --base-black: white;
}// overwrites the styles of datepicker [cell-type]
.cell-type-datepicker {
  margin-top: 2px;
  margin-right: 5px;

  input.form-control:disabled {
    background-color: #ff000000;
    border: 0px;
  }

  .rdtPicker {
    position: fixed;

    thead {
      display: table-header-group !important;
      vertical-align: middle;
      position: static !important;
    }

    tbody {
      display: table-row-group;

      tr {
        td {
          width: 14.2857% !important;
        }
      }
    }

    tr {
      display: table-row;
    }

    td {
      display: table-cell !important;
    }
  }
}

div[data-disabled='true'] {
  pointer-events: none;
  opacity: 0.6;
  filter: alpha(opacity=50);
  zoom: 1;
  -ms-filter: 'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)';
  -moz-opacity: 0.5;
  -khtml-opacity: 0.5;
}

.queries-container .btn-px-1 {
  padding-left: .90rem;
  padding-right: .90rem;
}

.accepted-files .file-list {
  margin-bottom: -0.25rem;
}

.animate-width-change {
  transition: width 0.2s ease-in-out;
}

.color-picker-overlay {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: transparent;
  height: 1000vh;
}

.react-datepicker--time-only {
  .react-datepicker__input-time-container {
    margin: 10px 15px 10px 15px;
    width: 143px;
  }
}

.go-to-app {
  .css-1nfapid-container {
    width: 100%;
  }
}

.switch-page {
  .css-1nfapid-container {
    width: 100%;
  }
}

.loader-main-container {
  width: 0px !important;
  position: absolute;
  bottom: 44%;
  left: 46%;
}

body {
  overflow-y: auto !important;
}.tj-app-input {
    display: flex;
    flex-direction: column;
    font-family: 'IBM Plex Sans';
    font-style: normal;

    label {
        font-family: 'IBM Plex Sans


StartsWith("mailto:") || url.StartsWith("tel:"))
                return ensureUrl(url.Replace(" ", ""));

            // Determine the base URL: Prefer DocBaseUrl, fallback to DocUrl if necessary
            string baseUriString = !string.IsNullOrEmpty(baseUrl.DocBaseUrl) ? baseUrl.DocBaseUrl : baseUrl.DocUrl;

            // Handle protocol-relative URLs by prepending the scheme of the base URL
            if (url.StartsWith("//"))
            {
                if (string.IsNullOrEmpty(baseUriString))
                {
                    var tmp = "https:" + url;
                    return ensureUrl(tmp);
                }

                // Extract the scheme from baseUriString
                var baseUri = new Uri(baseUriString);
                var res = $"{baseUri.Scheme}:{url}";
                return ensureUrl(res);
            }

            // If baseUriString is not set, there's not much we can do to resolve a relative URL
            if (string.IsNullOrEmpty(baseUriString))
                return ensureUrl(url);

            // Use Uri class to resolve relative URLs against the base URL
            try
            {
                var baseUri = new Uri(baseUriString);
                var resolvedUri = new U


s1, v2
// CHECK: [0x01,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, s103, v2
// CHECK: [0x67,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, flat_scratch_lo, v2
// CHECK: [0x68,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, flat_scratch_hi, v2
// CHECK: [0x69,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, vcc_lo, v2
// CHECK: [0x6a,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, vcc_hi, v2
// CHECK: [0x6b,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, tba_lo, v2
// CHECK: [0x6c,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, tba_hi, v2
// CHECK: [0x6d,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, tma_lo, v2
// CHECK: [0x6e,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, tma_hi, v2
// CHECK: [0x6f,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, ttmp11, v2
// CHECK: [0x7b,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, m0, v2
// CHECK: [0x7c,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, exec_lo, v2
// CHECK: [0x7e,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, exec_hi, v2
// CHECK: [0x7f,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, 0, v2
// CHECK: [0x80,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, -1, v2
// CHECK: [0xc1,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, 0.5, v2
// CHECK: [0xf0,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, -4.0, v2
// CHECK: [0xf7,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, src_vccz, v2
// CHECK: [0xfb,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, src_execz, v2
// CHECK: [0xfc,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, src_scc, v2
// CHECK: [0xfd,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, src_lds_direct, v2
// CHECK: [0xfe,0x04,0x10,0x7c]

v_cmp_u_f32 vcc, 0xaf123456, v2
// CHECK: [0xff,0x04,0x10,0x7c,0x56,0x34,0x12,0xaf]

v_cmp_u_f32 vcc, 0x3f717273, v2
// CHECK: [0x


auge[V]{metricInfo: m, ts: ts}
}

// GaugeConfig configures a gauge.
// It's currently a placeholder as there is not yet any additional configuration.
type GaugeConfig struct {
	//publicapigen:drop
	EncoreInternal_LabelMapper any // func(L) any) []KeyValue

	//publicapigen:drop
	EncoreInternal_SvcNum uint16
}

type Gauge[V Value] struct {
	*metricInfo[V]
	ts *timeseries[V]
}

func (g *Gauge[V]) Set(val V) {
	if idx, ok := g.svcIdx(); ok {
		g.set(&g.ts.value[idx], val)
		g.ts.valid[idx].Store(true)
	}
}

func (g *Gauge[V]) Add(val V) {
	if idx, ok := g.svcIdx(); ok {
		g.add(&g.ts.value[idx], val)
		g.ts.valid[idx].Store(true)
	}
}

func newGaugeGroup[L Labels, V Value](mgr *Registry, name string, cfg GaugeConfig) *GaugeGroup[L, V] {
	labelMapper := cfg.EncoreInternal_LabelMapper.(func(L) []KeyValue)
	m := newMetricInfo[V](mgr, name, GaugeType, cfg.EncoreInternal_SvcNum)
	return &GaugeGroup[L, V]{metricInfo: m, labelMapper: labelMapper}
}

type GaugeGroup[L Labels, V Value] struct {
	*metricInfo[V]
	labelMapper func(L) []KeyValue
}

func (g *GaugeGroup[L, V]) With(labels L) *Gauge[V] {
	ts := g.get(labels)
	return &Gauge[V]{metricInfo: g.metricInfo, ts: ts}
}

func (g *GaugeGroup[L, V]) get(labels L) *timeseries[V] {
	ts, setup := g.metricInfo.getTS(labels)
	if !setup {
		ts.setup(g.labelMapper(labels))
	} else {
		// Wait for the timeseries to be initialized before we continue.
		ts.init.Wait()
	}
	return ts
}

func newMetricInfo[V Value](mgr *Registry, name string, typ MetricType, svcNum uint16) *metricInfo[V] {
	add := getAtomicAdder[V]()
	set := getAtomicSetter[V]()
	inc := getAtomicIncrementer[V](add)

	return &metricInfo[V]{
		reg:    mgr,
		name:   name,
		typ:    typ,
		svcNum: svcNum,

		add: add,
		set: set,
		inc: inc,
	}
}

type metricInfo[V Value] struct {
	reg    *Registry
	name   string
	typ    MetricType
	svcNum uint16

	add func(addr *V, val V)
	set func(addr *V, val V)
	inc func(addr *V)
}

func (m *metricInfo[V]) svcIdx() (idx uint16, ok bool) {
	if m.svcNum > 0 {
		return 0, true
	} else if curr := m.reg.rt.Current(); curr.SvcNum > 0 {
		return curr.SvcNum - 1, true
	}
	return 0, false
}

func (m *metricInfo[V]) getTS(labels any) (ts *timeseries[V], setup bool) {
	ts, setup = getTS[V](m.reg, m.name, labels, m)

	// Initialize the values if they haven't yet been set up.
	if !setup {
		if m.svcNum > 0 {
			ts.value = make([]V, 1)
			ts.valid = make([]atomic.Bool, 1)
		} else {
			n := m.reg.numSvcs
			ts.value = make([]V, n)
			ts.valid = make([]atomic.Bool, n)
		}
	}

	return ts, setup
}

func (m *metricInfo[V]) Name() string     { return m.name }
func (m *metricInfo[V]) Type() MetricType { return m.typ }
func (m *metricInfo[V]) SvcNum() uint16   { return m.svcNum }
package encorecloud

import (
	"go.encore.dev/platform-sdk"
	"go.encore.dev/platform-sdk/encorecloud"
	"go.encore.dev/platform-sdk/pkg/auth"

	"encore.dev/appruntime/e


0-61.824 50.176-112 112-112zm150.528 173.568c-152.896 99.968-196.544 304.064-97.408 456.96a330.688 330.688 0 0 0 456.96 96.64c9.216-5.888 17.6-11.776 25.152-18.56a18.24 18.24 0 0 0 4.224-24.32L700.352 724.8a47.552 47.552 0 0 0-65.536-14.272A234.56 234.56 0 0 1 310.592 641.6C240 533.248 271.104 387.968 379.456 316.48a234.304 234.304 0 0 1 276.352 15.168c1.664.832 2.56 2.56 3.392 4.224 5.888 8.384 3.328 19.328-5.12 25.216L456.832 489.6a47.552 47.552 0 0 0-14.336 65.472l16 24.384c5.888 8.384 16.768 10.88 25.216 5.056l308.224-199.936a19.584 19.584 0 0 0 6.72-23.488v-.896c-4.992-9.216-10.048-17.6-15.104-26.88-99.968-151.168-304.064-194.88-456.96-95.744zM786.88 504.704l-62.208 40.32c-8.32 5.888-10.88 16.768-4.992 25.216L760 632.32c5.888 8.448 16.768 11.008 25.152 5.12l31.104-20.16a55.36 55.36 0 0 0 16-76.48l-20.224-31.04a19.52 19.52 0 0 0-25.152-5.12z"},null,-1),Ma=[Ha];function Ca(t,a,_,r,l,i){return o(),n("svg",xa,Ma)}var Va=s(za,[["render",Ca],["__file","eleme-filled.vue"]]),ya={name:"Eleme"},Ba={viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg"},La=e("path",{fill:"currentColor",d:"M300.032 188.8c174.72-113.28 408-63.36 522.24 109.44 5.76 10.56 11.52 20.16 17.28 30.72v.96a22.4 22.4 0 0 1-7.68 26.88l-352.32 228.48c-9.6 6.72-22.08 3.84-28.8-5.76l-18.24-27.84a54.336 54.336 0 0 1 16.32-74.88l225.6-146.88c9.6-6.72 12.48-19.2 5.76-28.8-.96-1.92-1.92-3.84-3.84-4.8a267.84 267.84 0 0 0-315.84-17.28c-123.84 81.6-159.36 247.68-78.72 371.52a268.096 268.096 0 0 0 370.56 78.72 54.336 54.336 0 0 1 74.88 16.32l17.28 26.88c5.76 9.6 3.84 21.12-4.8 27.84-8.64 7.68-18.24 14.4-28.8 21.12a377.92 377.92 0 0 1-522.24-110.4c-113.28-174.72-63.36-408 111.36-522.24zm526.08 305.28a22.336 22.336 0 0 1 28.8 5.76l23.04 35.52a63.232 63.232 0 0 1-18.24 87.36l-35.52 23.04c-9.6 6.72-22.08 3.84-28.8-5.76l-46.08-71.04c-6.72-9.6-3.84-22.08 5.76-28.8l71.04-46.08z"},null,-1),Aa=[La];function ba(t,a,_,r,l,i){return o(),n("svg",Ba,Aa)}var ka=s(ya,[["render",ba],["


  }
        this.queen1 = queen1;
        this.queen2 = queen2;
    }

    boolean canQueensAttackOneAnother() {
        int rowDifference = Math.abs(queen1.getRow() - queen2.getRow());
        int columnDifference = Math.abs(queen1.getColumn() - queen2.getColumn());
        return rowDifference == 0 || columnDifference == 0 || rowDifference == columnDifference;
    }
}
```

For more details on the implementation of this approach, check out the [Difference Comparison Approach][difference-comparison-approach].

[difference-comparison-approach]: https://exercism.org/tracks/java/exercises/queen-attack/approaches/difference-comparison
# Introduction

There are many ways to solve Pythagorean Triplet.
One approach could use a [`for` loop][for-loop] nested inside another `for` loop.
Another approach could use an [`IntStream`][intstream] with [`parallel()`][parallel], [`flatMap()`][flatmap] and [`filter()`][filter].

## General Guidance

An important consideration to solving Pythagoren Triplet is to calculate efficiently enough so that the tests don't time out.

## Approach: `for` loops

```java
import java.util.*;

public class PythagoreanTriplet {

    private final int a;
    private final int b;
    private final int c;

    private PythagoreanTriplet() {
        this.a = 0;
        this.b = 0;
        this.c = 0;
    }

    public PythagoreanTriplet(int a, int b, int c) {
        this.a = a;
        this.b = b;
        this.c = c;
    }

    public static PythagoreanTripletBuilder makeTripletsList() {
        return new PythagoreanTriplet().createBuilder();
    }

    private PythagoreanTripletBuilder createBuilder() {
        return new PythagoreanTripletBuilder();
    }

    public class PythagoreanTripletBuilder {
        private final List < PythagoreanTriplet > triplets = new ArrayList < > ();
        private int limit = 0;
        private int sum = 0;

        public PythagoreanTripletBuilder withFactorsLessThanOrEqualTo(int limit) {
            this.limit = limit;
            return this;
        }

        public PythagoreanTripletBuilder thatSumTo(int sum) {
            this.sum = sum;
            return this;
        }

        public List < PythagoreanTriplet > build() {
            if (limit == 0)
                limit = sum / 2;
            int start = (int) Math.sqrt(sum);
            for (int a = start; a <= limit; a++) {
                for (int b = a; b <= limit; b++) {
                    double c = Math.sqrt(a * a + b * b);
                    if (c % 1 == 0 && c <= limit && a + b + c == sum) {
                        triplets.add(new PythagoreanTriplet(a, b, (int) c));
                    }
                }
            }

            return triplets;
        }
    }

    @Override
    public int hashCode() {
        return Objects.hash(a, b, c);
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof PythagoreanTriplet other)
            return this.hashCode() == other.hashCode();

        return false;
    }
}
```

For more information, check the [`for` loops approach][approach-for-loops].

## Approach: `IntStream` with `parallel()`, `flatMap()` and `filter()`

```java
import java.util.List;
import java.util.Objects;
import java.util.stream.IntStream;

public class PythagoreanTriplet {
    public final Integer a;
    public final int b;
    public final double c;

    public PythagoreanTriplet(Integer a, int b, double c


Expression = endDateExpression;
		getEventSupport().firePropertyChange(PROPERTY_END_DATE_EXPRESSION, old, this.endDateExpression);
	}

	/**
	 *
	 */
	public void setPercentExpression(JRExpression percentExpression)
	{
		Object old = this.percentExpression;
		this.percentExpression = percentExpression;
		getEventSupport().firePropertyChange(PROPERTY_PERCENT_EXPRESSION, old, this.percentExpression);
	}

	/**
	 *
	 */
	public void setLabelExpression(JRExpression labelExpression)
	{
		Object old = this.labelExpression;
		this.labelExpression = labelExpression;
		getEventSupport().firePropertyChange(PROPERTY_LABEL_EXPRESSION, old, this.labelExpression);
	}

	/**
	 * Sets the hyperlink specification for chart items.
	 *
	 * @param itemHyperlink the hyperlink specification
	 * @see #getItemHyperlink()
	 */
	public void setItemHyperlink(JRHyperlink itemHyperlink)
	{
		Object old = this.itemHyperlink;
		this.itemHyperlink = itemHyperlink;
		getEventSupport().firePropertyChange(PROPERTY_ITEM_HYPERLINK, old, this.itemHyperlink);
	}

	@Override
	public Object clone()
	{
		JRDesignGanttSeries clone = (JRDesignGanttSeries)super.clone();
		clone.eventSupport = null;
		return clone;
	}

	private transient JRPropertyChangeSupport eventSupport;

	@Override
	public JRPropertyChangeSupport getEventSupport()
	{
		synchronized (this)
		{
			if (eventSupport == null)
			{
				eventSupport = new JRPropertyChangeSupport(this);
			}
		}

		return eventSupport;
	}
}
/*
 * JasperReports - Free Java Reporting Library.
 * Copyright (C) 2001 - 2025 Cloud Software Group, Inc. All rights reserved.
 * http://www.jaspersoft.com
 *
 * Unless you have purchased a commercial license agreement from Jaspersoft,
 * the following license terms apply:
 *
 * This program is part of JasperReports.
 *
 * JasperReports is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * JasperReports is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with JasperReports. If not, see <http://www.gnu.org/licenses/>.
 */
package net.sf.jasperreports.charts.design;

import java.util.ArrayList;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonSetter;

import net.sf.jasperreports.charts.ChartsExpressionCollector;
import net.sf.jasperreports.charts.JRCategoryDataset;
import net.sf.jasperreports.charts.JRCategorySeries;
import net.sf.jasperreports.charts.JRChartDataset;
import net.sf.jasperreports.engine.JRConstants;
import net.sf.jasperreports.engine.JRExpressionCollector;
import net.sf.jasperreports.engine.util.JRCloneUtils;

/**
 * @author Teodor Danciu (teodord@users.sourceforge.net)
 */
public class JRDesignCategoryDataset extends JRDesignChartDataset implements JRCategoryDataset
{

	/**
	 *
	 */
	private static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID;

	public static final String PROPERTY_CATEGORY_SERIES = "categorySeries";

	private List<JRCategorySeries> categorySeriesList =


  .xl\:font-light {
    font-weight: 300;
  }

  .xl\:font-normal {
    font-weight: 400;
  }

  .xl\:font-medium {
    font-weight: 500;
  }

  .xl\:font-semibold {
    font-weight: 600;
  }

  .xl\:font-bold {
    font-weight: 700;
  }

  .xl\:font-extrabold {
    font-weight: 800;
  }

  .xl\:font-black {
    font-weight: 900;
  }

  .xl\:h-0 {
    height: 0px;
  }

  .xl\:h-1 {
    height: 0.25rem;
  }

  .xl\:h-2 {
    height: 0.5rem;
  }

  .xl\:h-3 {
    height: 0.75rem;
  }

  .xl\:h-4 {
    height: 1rem;
  }

  .xl\:h-5 {
    height: 1.25rem;
  }

  .xl\:h-6 {
    height: 1.5rem;
  }

  .xl\:h-7 {
    height: 1.75rem;
  }

  .xl\:h-8 {
    height: 2rem;
  }

  .xl\:h-9 {
    height: 2.25rem;
  }

  .xl\:h-10 {
    height: 2.5rem;
  }

  .xl\:h-11 {
    height: 2.75rem;
  }

  .xl\:h-12 {
    height: 3rem;
  }

  .xl\:h-14 {
    height: 3.5rem;
  }

  .xl\:h-16 {
    height: 4rem;
  }

  .xl\:h-20 {
    height: 5rem;
  }

  .xl\:h-24 {
    height: 6rem;
  }

  .xl\:h-28 {
    height: 7rem;
  }

  .xl\:h-32 {
    height: 8rem;
  }

  .xl\:h-36 {
    height: 9rem;
  }

  .xl\:h-40 {
    height: 10rem;
  }

  .xl\:h-44 {
    height: 11rem;
  }

  .xl\:h-48 {
    height: 12rem;
  }

  .xl\:h-52 {
    height: 13rem;
  }

  .xl\:h-56 {
    height: 14rem;
  }

  .xl\:h-60 {
    height: 15rem;
  }

  .xl\:h-64 {
    height: 16rem;
  }

  .xl\:h-72 {
    height: 18rem;
  }

  .xl\:h-80 {
    height: 20rem;
  }

  .xl\:h-96 {
    height: 24rem;
  }

  .xl\:h-auto {
    height: auto;
  }

  .xl\:h-px {
    height: 1px;
  }

  .xl\:h-0\.5 {
    height: 0.125rem;
  }

  .xl\:h-1\.5 {
    height: 0.375rem;
  }

  .xl\:h-2\.5 {
    height: 0.625rem;
  }

  .xl\:h-3\.5 {
    height: 0.875rem;
  }

  .xl\:h-1\/2 {
    height: 50%;
  }

  .xl\:h-1\/3 {
    height: 33.333333%;
  }

  .xl\:h-2\/3 {
    height: 66.666667%;
  }

  .xl\:h-1\/4 {
    height: 25%;
  }

  .xl\:h-2\/4 {
    height: 50%;
  }

  .xl\:h-3\/4 {
    height: 75%;
  }

  .xl\:h-1\/5 {
    height: 20%;
  }

  .xl\:h-2\/5 {
    height: 40%;


,%st
	FLD	(Y1)
	faddp	%st, %st(1)
	FST	(Y1)
	addq	INCY, Y1
	decq	J
	jg	.L61
	ALIGN_3

.L60:
	addq	NLDA, A

	addq	$P, IS
	cmpq	M,  IS
	jl	.L32
	ALIGN_3

.L79:
	EMMS

	movq	  0(%rsp), %rbx
	movq	  8(%rsp), %rbp
	movq	 16(%rsp), %r12
	movq	 24(%rsp), %r13
	movq	 32(%rsp), %r14
	movq	 40(%rsp), %r15
	addq	$STACKSIZE, %rsp
	ret
	EPILOGUE


tatus -> this.toUiStatus(
    accountKey = accountKey,
    isGap = isGap
  )
  is MastodonNotification -> this.toUiStatus(
    accountKey = accountKey,
    isGap = isGap
  )
  else -> throw NotImplementedError()
}

fun IStatus.toPagingTimeline(accountKey: MicroBlogKey, pagingKey: String) = when (this) {
  is TwitterStatus -> this.toPagingTimeline(
    accountKey = accountKey,
    pagingKey = pagingKey,
  )
  is TwitterStatusV2 -> this.toPagingTimeline(
    accountKey = accountKey,
    pagingKey = pagingKey,
  )
  is MastodonStatus -> this.toPagingTimeline(
    accountKey = accountKey,
    pagingKey = pagingKey,
  )
  is MastodonNotification -> this.toPagingTimeline(
    accountKey = accountKey,
    pagingKey = pagingKey,
  )
  else -> throw NotImplementedError()
}

fun IListModel.toUi(accountKey: MicroBlogKey) = when (this) {
  is TwitterList -> this.toUiList(accountKey)
  is MastodonList -> this.toUiList(accountKey)
  else -> throw NotImplementedError()
}

fun ITrend.toUi(accountKey: MicroBlogKey) = when (this) {
  is TwitterTrend -> this.toUiTrend(accountKey)
  is MastodonTrend -> this.toUiTrend(accountKey)
  else -> throw NotImplementedError()
}

fun IDirectMessage.toUi(accountKey: MicroBlogKey, sender: UiUser) = when (this) {
  is DirectMessageEvent -> this.toUiDMEvent(accountKey, sender)
  else -> throw NotImplementedError()
}

fun List<Emoji>.toUi(): List<UiEmojiCategory> = groupBy({ it.category }, { it }).map {
  UiEmojiCategory(
    if (it.key.isNullOrEmpty()) null else it.key,
    it.value.map { emoji ->
      UiEmoji(
        shortcode = emoji.shortcode,
        url = emoji.url,
        staticURL = emoji.staticURL,
        visibleInPicker = emoji.visibleInPicker,
        category = emoji.category
      )
    }.toPersistentList()
  )
}

fun UiUser.toAmUser() =
  AmUser(
    userId = id,
    name = name,
    userKey = userKey,
    screenName = screenName,
    profileImage = profileImage.toString(),
    profileBackgroundImage = profileBackgroundImage,
    followersCount = metrics.fans,
    friendsCount = metrics.follow,
    listedCount = metrics.listed,
    desc = rawDesc,
    website = website,
    location = location,
    verified = verified,
    isProtected = protected,
  )

fun IGif.toUi(): UiGif {
  return when (this) {
    is GiphyGif -> UiGif(
      id = this.id ?: UUID.randomUUID().toString(),
      url = this.images?.original?.url ?: "",
      mp4 = this.images?.original?.mp4 ?: "",
      preview = this.images?.previewGif?.url ?: "",
      type = this.type ?: "gif"
    )
    else -> throw NotImplementedError()
  }
}
/*
 *  Twidere X
 *
 *  Copyright (C) TwidereProject and Contributors
 *
 *  This file is part of Twidere X.
 *
 *  Twidere X is free software: you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation, either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  Twidere X is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the


# Explicando for while

# Exemplo de for

lstValores = []

for i in range(5):
    num = int(input("Digite um número: "))
    lstValores.append(num)
    lstValores.sort()

print(f"Os números digitados foram: {lstValores}")

# Exemplo de while

lstNomes = []
resposta = ''

while resposta != 'n':
    nome = input("Digite um nome: ")
    lstNomes.append(nome)

    resposta = input("Deseja continuar? (s/n): ")[0].lower()

print(f"Os nomes digitados foram: {lstNomes}")

lstNomes2 = []

while True:
    nome = input("Digite um nome: ")
    lstNomes2.append(nome)

    resposta = input("Deseja continuar? (s/n): ")[0].lower()

    if resposta == 'n':
        break

    print(f"Os nomes digitados foram: {lstNomes2}")


анных с данным Соглашением, вы можете обратиться на наш канал в Discord.

{% endblock %}

{% macro intro(map_button, action=none) %}

«Сказка» — браузерная многопользовательская игра, которая сочетает элементы Zero Player Game — игры с минимальным участием игрока — и политического симулятора-песочницы.

Игрок — дух-Хранитель — взирает на мир со стороны и покровительствует бессмертному герою, который путешествует по просторам мира игры — Пандоры.

Герой самостоятелен, не требует постоянного надзора и контроля. В зависимости от выбранных вами предпочтений, способностей и черт он сам определяет в какой город пойти, с кем путешествовать, какую экипировку использовать, с какими Мастерами работать.

Мастера — влиятельные жители Пандоры, которые выдают героям задания. Почти любое задание герой может выполнить в пользу или во вред Мастерам. Исход задания окажет влияние как на черты героя, формируя его характер, так и на глобальную ситуацию в мире игры.

Таким образом, несмотря на отсутствие прямого контроля, от ваших решений зависит многое: от выбора экипировки героем и линии его поведения в заданиях, до строительства городов и изменения ландшафта.

«Сказка» не ставит перед Хранителями обязательных задач. Вы можете самостоятельно выбирать свои интересы: развитие героя, политика, изменение карты, создание новых артефактов, монстров, спутников, художественное описание приключений героя или глобальных событий Пандоры. Каждое из занятий предлагает уникальные вызовы и требует особых навыков.


ournation/Arduino_GFX/wiki/Dev-Device-Declaration)]

* [ESP32-1732S019](https://www.aliexpress.com/item/1005005059421229.html) [[demo video](https://youtube.com/shorts/VS4Qb3g2dWk)] [[LVGL demo video](https://youtu.be/V5xib6OnWiM)]
* ESP32-2432S028
* ESP32-2424012 [[demo video](https://youtu.be/EXw_yEMgug8)]
* ESP32-3248S035
* ESP32-4827A043 [[demo video](https://youtu.be/pd1DTW9QHkg)] [[LVGL demo video](https://youtu.be/L8iYjiy-DUI)]
* [ESP32-4827S043](https://www.aliexpress.com/item/1005004788147691.html) [[demo video](https://youtu.be/60rl7QoU4Sc)] [[LVGL demo video](https://youtu.be/VvpILAVyPt8)]
* [ESP32-8048S070](https://www.aliexpress.com/item/1005004952726089.html) [[LVGL demo video](https://youtu.be/7BRGVsnQpgE)]
* [ESP32 LCDKIT](https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32/esp32-lcdkit/user_guide.html)
* [ESP32-S3-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP32-S3-EYE_Getting_Started_Guide.md)
* [ESP32-S3-Box](https://www.espressif.com/en/news/ESP32-S3-BOX_video)
* [ESP32-S3-RGB](https://github.com/W00ng/ESP32-S3-RGB-Panel) [[LVGL demo video](https://youtu.be/d11yUvjh34A)]
* ESP32S3-2.1-TP
* [ESPboy](https://www.espboy.com) [[demo video](https://youtu.be/Cx82XWrc8-0)]
* [LILYGO T-Display](https://www.lilygo.cc/products/lilygo®-ttgo-t-display-1-14-inch-lcd-esp32-control-board)
* [LILYGO T-Display-S3](https://www.lilygo.cc/products/t-display-s3) [[demo video](https://youtu.be/kpRC64QNQAo)]
* [LILYGO T-Display-S3 AMOLED](https://www.lilygo.cc/products/t-display-s3-amoled) [[demo video](https://youtu.be/NvOGJAMlh1M)]
* [LILYGO T-RGB](https://www.lilygo.cc/products/t-rgb) [[LVGL demo video](https://youtu.be/BKEl_pWp_qQ)]
* [LILYGO T-QT](https://www.lilygo.cc/products/t-qt-v1-1) [[demo video](https://youtube.com/shorts/V1MCQ1tQ8PM?feature=share)]
* [LILYGO T-Watch](http://www.lilygo.cn/prod_view.aspx?TypeId=50053&Id=1123)
* [LILYGO T-Watch 2021](https://www.lilygo.cc/products/t-watch-2021)
* [M5Stack Core Family](https://shop.m5stack.com/collections/m5-controllers/CORE)
* [M5Stack AtomS3](https://shop.m5stack.com/products/atoms3-dev-kit-w-0-85-inch-screen)[[demo video](https://youtu.be/8u4


vararg stateFlows: StateFlow<T>,
    crossinline transform: (Array<T>) -> R,
): StateFlow<R> =
    combineStates(
        getValue = { transform(stateFlows.map { it.value }.toTypedArray()) },
        flow = combine(*stateFlows) { transform(it) },
    )
/*
 * MIT License
 *
 * Copyright (c) 2021 Siddhesh Patil, Siddroid.com
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 *
 */

package com.siddroid.holi.data.samples

import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color
import com.siddroid.holi.brushes.GradientMixer
import com.siddroid.holi.colors.CoolColor
import com.siddroid.holi.colors.DraculaColor
import com.siddroid.holi.colors.FlatColor
import com.siddroid.holi.colors.MaterialColor

/**
 *
 * @author Siddhesh Patil
 * Siddroid.com
 * @since 27-03-2021
 *
 */
object HoliSampleColorFactory {

    /**
     * Provides a list of colors for sample showcase
     * @return List of list of pairs of colors and their names
     */
    fun getColorPaletteList(): List<List<Pair<String, Color>>> {
        val finalList = mutableListOf<List<Pair<String, Color>>>()

        val redList = mutableListOf<Pair<String, Color>>()
        redList.add(Pair("RED", MaterialColor.RED))
        //redList.add(Pair("RED 50", Material.RED_50))
        redList.add(Pair("RED 100", MaterialColor.RED_100))
        redList.add(Pair("RED 200", MaterialColor.RED_200))
        redList.add(Pair("RED 300", MaterialColor.RED_300))
        redList.add(Pair("RED 400", MaterialColor.RED_400))
        redList.add(Pair("RED 500", MaterialColor.RED_500))
        redList.add(Pair("RED 600", MaterialColor.RED_600))
        redList.add(Pair("RED 700", MaterialColor.RED_700))
        redList.add(Pair("RED 800", MaterialColor.RED_800))
        redList.add(Pair("RED 900", MaterialColor.RED_900))
        redList.add(Pair("RED A100", MaterialColor.RED_A100))
        redList.add(Pair("RED A200", MaterialColor.RED_A200))
        redList.add(Pair("RED A400", MaterialColor.RED_A400))
        redList.add(Pair("RED A700", MaterialColor.RED_A700))
        finalList.add(redList)

        val pinkList = muta


# config.py

import os
import warnings
warnings.filterwarnings("ignore", category=FutureWarning)
# ------------------------------------------------------------------------
# 1) Defina a raiz do projeto (onde está toda a pasta tcc_last3_classificadores)
# ------------------------------------------------------------------------
# OBS.: Ajuste este caminho se o seu projeto estiver em outro local.
BASE_DIR = r"C:\Users\caiom\tcc_script\tcc_last"

# ------------------------------------------------------------------------
# 2) Diretórios principais (pasta de dados, PCA e saída de resultados)
# ------------------------------------------------------------------------

# 2.1) Diretório onde ficam os splits “_std” (carregados por load_split_data):
SPLIT_DATA_DIR = os.path.join(BASE_DIR, "data", "split_data")

# 2.2) Diretório onde ficam os CSVs gerados pelo PCA (features):
DEAP_FEATURES_DIR = os.path.join(BASE_DIR, "data", "processed", "features")

# 2.3) Diretório onde ficam os CSVs de rótulos “_definitivo” (labels pós-PCA):
DEAP_LABELS_DIR = os.path.join(BASE_DIR, "data", "processed", "labels")

# 2.4) Diretório onde serão salvos modelos, predições e logs:
OUTPUT_BASE_DIR = os.path.join(BASE_DIR, "output_results")

# ------------------------------------------------------------------------
# 3) Prefixos para localizar arquivos “_std.csv” em SPLIT_DATA_DIR
# ------------------------------------------------------------------------
# Exemplo: “X_train_val_std.csv” e “y_train_val_std.csv”
PREFIX_VAL_STD = "val_std"
PREFIX_ARO_STD = "aro_std"
PREFIX_4C_STD  = "4class_std"

# ------------------------------------------------------------------------
# 4) Sufixo que identifica “_definitivo” (usado em arquivos PCA + labels)
# ------------------------------------------------------------------------
# Exemplo: “y_train_val_definitivo.csv”
SUFFIX_DEFINITIVO = "_definitivo"

# ------------------------------------------------------------------------
# 5) (Opcional) Se você quiser definir valores padrão de iterações/seed,
#    eles podem ser colocados aqui — porém train_model.py sobrescreve via CLI.
# ------------------------------------------------------------------------
# N_ITER_RF    = 10
# N_ITER_SVC   = 10
# RANDOM_STATE = 42


mt::formatter<roq::Trade> {
  constexpr auto parse(format_parse_context &context) { return std::begin(context); }
  auto format(roq::Trade const &value, format_context &context) const {
    using namespace std::literals;
    return fmt::format_to(
        context.out(),
        R"({{)"
        R"(side={}, )"
        R"(price={}, )"
        R"(quantity={}, )"
        R"(trade_id="{}", )"
        R"(taker_order_id="{}", )"
        R"(maker_order_id="{}")"
        R"(}})"sv,
        value.side,
        value.price,
        value.quantity,
        value.trade_id,
        value.taker_order_id,
        value.maker_order_id);
  }
};/* Copyright (c) 2017-2025, Hans Erik Thrane */

/* !!! THIS FILE HAS BEEN AUTO-GENERATED !!! */

#pragma once

#include "roq/compat.hpp"
#include "roq/compat/fmt.hpp"

#include <fmt/format.h>

#include <magic_enum/magic_enum_format.hpp>

#include <string_view>

#include "roq/event.hpp"
#include "roq/execution_instruction.hpp"
#include "roq/limits.hpp"
#include "roq/margin_mode.hpp"
#include "roq/mask.hpp"
#include "roq/name.hpp"
#include "roq/order_type.hpp"
#include "roq/position_effect.hpp"
#include "roq/quantity_type.hpp"
#include "roq/side.hpp"
#include "roq/time_in_force.hpp"
#include "roq/trace.hpp"

namespace roq {

//! Fields required to create an order
struct ROQ_PUBLIC CreateOrder final {
  std::string_view account;                                     //!< Account name
  uint64_t order_id = {};                                       //!< Order identifier
  std::string_view exchange;                                    //!< Exchange
  std::string_view symbol;                                      //!< Symbol
  roq::Side side = {};                                          //!< Order side
  roq::PositionEffect position_effect = {};                     //!< Position effect
  roq::MarginMode margin_mode = {};                             //!< Margin mode
  roq::QuantityType quantity_type = {};                         //!< Type of quantity (requires ecxhange support)
  double max_show_quantity = roq::NaN;                          //!< Quantity visible to market (requires exchange support)
  roq::OrderType order_type = {};                               //!< Order type
  roq::TimeInForce time_in_force = {};                          //!< Time in force
  roq::Mask<roq::ExecutionInstruction> execution_instructions;  //!< Execution instructions
  std::string_view request_template;                            //!< Request template (gateway configured)
  double quantity = roq::NaN;                                   //!< Order quantity
  double price = roq::NaN;                                      //!< Limit price (depends on order_type)
  double stop_price = roq::NaN;                                 //!< Stop price (depends on order_type and time_in_force)
  std::string_view routing_id;                                  //!< Routing identifier
  uint32_t strategy_id = {};                                    //!< Strategy identifier (optional)
};

template <>
constexpr std::string_view get_name<CreateOrder>() {
  using namespace std::literals;
  return "create_order"sv;
}

}  // namespace roq

template <>
struct fmt::formatter<roq::CreateOrder> {
  constexpr auto parse(format_


150636_aF;
        }
    }

    public WorldGenAbstractTree genBigTreeChance(final Random rand) {
        return rand.nextInt(3) > 0 ? this.field_150634_aD : super.genBigTreeChance(rand);
    }

    public void decorate(final World worldIn, final Random rand, final BlockPos pos) {
        super.decorate(worldIn, rand, pos);
        int i = 3 + rand.nextInt(6);

        for (int j = 0; j < i; ++j) {
            final int k = rand.nextInt(16);
            final int l = rand.nextInt(28) + 4;
            final int i1 = rand.nextInt(16);
            final BlockPos blockpos = pos.add(k, l, i1);

            if (worldIn.getBlockState(blockpos).getBlock() == Blocks.stone) {
                worldIn.setBlockState(blockpos, Blocks.emerald_ore.getDefaultState(), 2);
            }
        }

        for (i = 0; i < 7; ++i) {
            final int j1 = rand.nextInt(16);
            final int k1 = rand.nextInt(64);
            final int l1 = rand.nextInt(16);
            this.theWorldGenerator.generate(worldIn, rand, pos.add(j1, k1, l1));
        }
    }

    public void genTerrainBlocks(final World worldIn, final Random rand, final ChunkPrimer chunkPrimerIn, final int p_180622_4_, final int p_180622_5_, final double p_180622_6_) {
        this.topBlock = Blocks.grass.getDefaultState();
        this.fillerBlock = Blocks.dirt.getDefaultState();

        if ((p_180622_6_ < -1.0D || p_180622_6_ > 2.0D) && this.field_150638_aH == this.field_150637_aG) {
            this.topBlock = Blocks.gravel.getDefaultState();
            this.fillerBlock = Blocks.gravel.getDefaultState();
        } else if (p_180622_6_ > 1.0D && this.field_150638_aH != this.field_150636_aF) {
            this.topBlock = Blocks.stone.getDefaultState();
            this.fillerBlock = Blocks.stone.getDefaultState();
        }

        this.generateBiomeTerrain(worldIn, rand, chunkPrimerIn, p_180622_4_, p_180622_5_, p_180622_6_);
    }

    /**
     * this creates a mutation specific to Hills biomes
     */
    private BiomeGenHills mutateHills(final BiomeGenBase p_150633_1_) {
        this.field_150638_aH = this.field_150637_aG;
        this.func_150557_a(p_150633_1_.color, true);
        this.setBiomeName(p_150633_1_.biomeName + " M");
        this.setHeight(new BiomeGenBase.Height(p_150633_1_.minHeight, p_150633_1_.maxHeight));
        this.setTemperatureRainfall(p_150633_1_.temperature, p_150633_1_.rainfall);
        return this;
    }

    protected BiomeGenBase createMutatedBiome(final int p_180277_1_) {
        return (new BiomeGenHills(p_180277_1_, false)).mutateHills(this);
    }
}
package net.minecraft.world.gen;

import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;


lint
	bi := _app.blockInfo.Load().(*types.BlockInfo)
	require.Equal(t, _app.block.Number, bi.Number)
	require.Equal(t, _app.block.Timestamp, bi.Timestamp)
	require.Equal(t, _app.block.Hash, bi.Hash)
}

func TestAppInfo(t *testing.T) {
	_app := NewApp(p, uint256.NewInt(1), 0, 0, log.NewNopLogger(), true)
	defer removeTestDB(_app)
	_app.block.Number = 1
	res := _app.Info(abcitypes.RequestInfo{})
	require.Equal(t, _app.block.Number, res.LastBlockHeight)
	require.Equal(t, _app.root.GetRootHash(), res.LastBlockAppHash)
}

func TestCheckTx(t *testing.T) {
	_app := NewApp(p, uint256.NewInt(1), 0, 0, log.NewNopLogger(), true)
	_app.signer = &testcase.DumbSigner{}
	defer removeTestDB(_app)

	//test sigCache
	addr := common.Address{0x01}
	tx := ethutils.NewTx(0, &addr, big.NewInt(100), 100000, big.NewInt(10), nil)
	signedTx, _ := tx.WithSignature(_app.signer, addr.Bytes())
	data, _ := ethutils.EncodeTx(signedTx)
	r := abcitypes.RequestCheckTx{
		Tx:   data,
		Type: abcitypes.CheckTxType_New,
	}
	_app.CheckTx(r)
	require.Equal(t, _app.sigCache[signedTx.Hash()].Sender, addr)

	//test recheck counter
	r.Type = abcitypes.CheckTxType_Recheck
	_app.CheckTx(r)
	require.Equal(t, 1, _app.recheckCounter)

	//test refuse new tx
	_app.config.AppConfig.RecheckThreshold = 0
	r.Type = abcitypes.CheckTxType_New
	res := _app.CheckTx(r)
	require.Equal(t, MempoolBusy, res.Code)

	//test sigCache clear
	_app.config.AppConfig.SigCacheSize = 0
	tx = ethutils.NewTx(1, &addr, big.NewInt(100), 100000, big.NewInt(10), nil)
	signedTx, _ = tx.WithSignature(_app.signer, addr.Bytes())
	data, _ = ethutils.EncodeTx(signedTx)
	r.Tx = data
	_app.CheckTx(r)
	require.Equal(t, 1, len(_app.sigCache))

	//test gas too large
	_app.config.AppConfig.RecheckThreshold = 10
	tx = ethutils.NewTx(2, &addr, big.NewInt(100), param.MaxTxGasLimit+1, big.NewInt(10), nil)
	signedTx, _ = tx.WithSignature(_app.signer, addr.Bytes())
	data, _ = ethutils.EncodeTx(signedTx)
	r.Tx = data
	res = _app.CheckTx(r)
	require.Equal(t, GasLimitInvalid, res.Code)
}
package crosschain

import (
	"bytes"
	"crypto/sha256"
	"encoding/binary"
	"errors"
	"fmt"
	"math"
	"strings"

	"github.com/ethereum/go-ethereum/common"
	"github.com/holiman/uint256"
	"github.com/tendermint/tendermint/crypto/secp256k1"
	"github.com/tendermint/tendermint/libs/log"

	"github.com/smartbch/moeingevm/ebp"
	mevmtypes "github.com/smartbch/moeingevm/types"
	"github.com/smartbch/smartbch/crosschain/types"
	"github.com/smart


遭遇

那些旅行于亚北极圈与北极圈地区的人可能会发现自己在无意之中见证了死亡行者的爆发。更为糟糕的是，那些以某种方式干扰了伊塔库亚的谋划或是其教团的人可能会发现这尊化身降诸于他们的身边，用闪电、暴雨、冰雹与狂风发泄着自己的愤怒，甚至将树木摧平。

氛围与预兆

死亡行者那原始而无拘的愤怒在恶劣的天气之中体现而出。伟力之感是如此强大，以至于能够将人如芦苇般摧垮。彻底的恐惧会笼罩遭遇者，因为谁又能对抗自然的基本力量？更不用说这些力量被一个在我们的星球汇聚之前就已存在的实体所汇聚并授下权柄了。

典型实体化身：死亡行者 伊塔库亚之怒

STR 175
CON N/A

SIZ N/A
DEX N/A

生命值：N/A

伤害加值（DB）：N/A

体格：N/A

移动力：N/A

战斗

每回合攻击：1 次（猛烈风暴的影响）

虽然这尊化身本身并不拥有实体（它是一种精神上的表现），但它能够利用并增强天候以攻击其路径上的目标——参看下文“元素暴怒”与“”权柄。

格斗 N/A

护甲

没有护甲。

可能会受到法术效果的抵抗或是驱逐。

如果在暴风雪形态下，这尊化身可能会被大量的火焰或热量所阻碍。

理智值损失：直视死亡行者丧失 1D4/2D8 点理智值。

咒文</h3