	a1,10(a4)
   106a0:	00b704a3          	sb	a1,9(a4)
   106a4:	00b70423          	sb	a1,8(a4)
   106a8:	00b703a3          	sb	a1,7(a4)
   106ac:	00b70323          	sb	a1,6(a4)
   106b0:	00b702a3          	sb	a1,5(a4)
   106b4:	00b70223          	sb	a1,4(a4)
   106b8:	00b701a3          	sb	a1,3(a4)
   106bc:	00b70123          	sb	a1,2(a4)
   106c0:	00b700a3          	sb	a1,1(a4)
   106c4:	00b70023          	sb	a1,0(a4)
   106c8:	00008067          	ret
   106cc:	0ff5f593          	andi	a1,a1,255
   106d0:	00859693          	slli	a3,a1,0x8
   106d4:	00d5e5b3          	or	a1,a1,a3
   106d8:	01059693          	slli	a3,a1,0x10
   106dc:	00d5e5b3          	or	a1,a1,a3
   106e0:	02059693          	slli	a3,a1,0x20
   106e4:	00d5e5b3          	or	a1,a1,a3
   106e8:	f6dff06f          	j	10654 <memset+0x18>
   106ec:	00279693          	slli	a3,a5,0x2
   106f0:	00000297          	auipc	t0,0x0
   106f4:	005686b3          	add	a3,a3,t0
   106f8:	00008293          	mv	t0,ra
   106fc:	f98680e7          	jalr	-104(a3)
   10700:	00028093          	mv	ra,t0
   10704:	ff078793          	addi	a5,a5,-16
   10708:	40f70733          	sub	a4,a4,a5
   1070c:	00f60633          	add	a2,a2,a5
   10710:	f6c874e3          	bleu	a2,a6,10678 <memset+0x3c>
   10714:	f3dff06f          	j	10650 <memset+0x14>

0000000000010718 <__register_exitproc>:
   10718:	000117b7          	lui	a5,0x11
   1071c:	7607b703          	ld	a4,1888(a5) # 11760 <_global_impure_ptr>
   10720:	00050313          	mv	t1,a0
   10724:	1f873783          	ld	a5,504(a4)
   10728:	00079663          	bnez	a5,10734 <__register_exitproc+0x1c>
   1072c:	20070793          	addi	a5,a4,512
   10730:	1ef73c23          	sd	a5,504(a4)
   10734:	0087a703          	lw	a4,8(a5)
   10738:	01f00813          	li	a6,31
   1073c:	fff00513          	li	a0,-1
   10740:	04e84e63          	blt	a6,a4,1079c <__register_exitproc+0x84>
   10744:	02030e63          	beqz	t1,10780 <__register_exitproc+0x68>
   10748:	00371813


// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

using System;

namespace Iot.Device.Ssd13xx.Commands.Ssd1327Commands
{
    /// <summary>
    /// Represents SetSecondPreChargePeriod command
    /// </summary>
    public class SetSecondPreChargePeriod : ISsd1327Command
    {
        /// <summary>
        /// This command is used to set the phase 3 second pre-charge period.
        /// </summary>
        /// <param name="period">Second pre-charge period.</param>
        public SetSecondPreChargePeriod(byte period = 0x04)
        {
            if (period > 0x0F)


by active char
		if atk.Info.ActorIndex != c.Core.Player.Active() {
			return false
		}

		// apply icd
		c.AddStatus(c4ICDKey, c4ICD, true) // applied to chiori

		c.Core.Log.NewEvent("c4 spawning kinu", glog.LogCharacterEvent, c.Index())

		// spawn kinu
		c.createKinu(c.Core.F, c4CenterOffset, c4MinRandom, c4MaxRandom)()

		// increment attack count and delete c4 if reached limit
		c.c4AttackCount++
		if c.c4AttackCount == c4AttackLimit {
			c.DeleteStatus(c4Key)
		}

		return false
	}, "chiori-c4")
}

// After triggering a follow-up effect of the Passive Talent "Tailor-Made,"
// Chiori's own Fluttering Hasode's CD is decreased by 12s. Must unlock the
// Passive "Tailor-Made" first.
func (c *char) c6CooldownReduction() {
	if c.Base.Ascension < 1 {
		return
	}
	if c.Base.Cons < 6 {
		return
	}
	c.ReduceActionCooldown(action.ActionSkill, 12*60)
}

// In addition, the DMG dealt by Chiori's own Normal Attacks is increased by an
// amount equal to 235% of her own DEF.
func (c *char) c6NAIncrease(ai *info.AttackInfo, snap *info.Snapshot) {
	if c.Base.Ascension < 1 {
		return
	}
	if c.Base.Cons < 6 {
		return
	}
	ai.FlatDmg = snap.Stats.TotalDEF()
	ai.FlatDmg *= 2.35
}
package lynette

import (
	"fmt"

	"github.com/genshinsim/gcsim/pkg/core/attacks"
	"github.com/genshinsim/gcsim/pkg/core/attributes"
	"github.com/genshinsim/gcsim/pkg/core/combat"
	"github.com/genshinsim/gcsim/pkg/core/event"
	"github.com/genshinsim/gcsim/pkg/core/glog"
	"github.com/genshinsim/gcsim/pkg/core/info"
	"github.com/genshinsim/gcsim/pkg/gadget"
)

type BogglecatBox struct {
	*gadget.Gadget
	char        *char
	pos         info.Point
	vividTravel int
}

func (c *char) newBogglecatBox(vividTravel int) *BogglecatBox {
	b := &BogglecatBox{}

	player := c.Core.Combat.Player()
	b.pos = info.CalcOffsetPoint(
		player.Pos(),
		info.Point{Y: 1.8},
		player.Direction(),
	)

	// TODO: double check estimation of hitbox
	b.Gadget = gadget.New(c.Core, b.pos, 1, info.GadgetTypBogglecatBox)
	b.char = c
	b.vividTravel = vividTravel

	b.Duration = burstDuration
	b.char.AddStatus(burstKey, b.Duration, false)

	// initial hit
	initialAI := info.AttackInfo{
		ActorIndex: c.Index(),
		Abil:       "Magic Trick: Astonishing Shift",
		AttackTag:  attacks.AttackTagElementalBurst,
		ICDTag:     attacks.ICDTagElementalBurst,
		ICDGroup:   attacks.ICDGroupDefault,
		StrikeType: attacks.StrikeTypeDefault,
		Element:    attributes.Anemo,
		Durability: 25,
		Mult:       burst[c.TalentLvlBurst()],
	}
	c.Core.QueueAttack(initialAI, combat.NewCircleHitOnTarget(player, info.Point{Y: 1.5}, 4.5), burstHitmark-burstSpawn, burstHitmark-burstSpawn)

	// bogglecat ticks
	bogglecatAI


180);
  text-decoration: none;
  border-bottom: 1px solid rgb(123, 42, 144);
  border-radius: 3px;
}

.caption_name {
  font-weight: bold;
  font-style: italic;
}

.caption_description {
  float: right;
}

.name {
  font-weight: bold;
  min-width: 350px;
}

.property_name {
  min-width: 350px;
}

.property_value {
  min-width: 250px;
}

.right {
  text-align: right;
}

.description {
  min-width: 450px;
}

.spacer {
  min-width: 20px;
}

.minwidth {
  min-width: 150px;
}

.definition {
  word-break: normal;
  word-wrap: break-word;
  white-space: pre;
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
  white-space: pre\9;

  font-family: 'Lucida Console', Monaco, 'Courier New', monospace;
  font-size: 1rem;
  font-weight: 100;

  line-height: 1.2rem;
  color: rgb(16, 16, 16);
}

.remarks {
  word-break: normal;
  word-wrap: break-word;
  white-space: pre;
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
  white-space: pre\9;
}

td:nth-of-type(1) {
  width: 30px;
}

td.section {
  font-family: "Palatino Linotype", Georgia, "Times New Roman", serif;
  padding-top: 1.5rem;
  padding-bottom: 1rem;
  font-weight: bold;
  font-size: 1.2rem;
  line-height: 1.2rem;
  color: rgb(100, 100, 100);
}

.data_binary {
  font-style: italic;
  color: rgb(64, 64, 64);
}

.data_null {
  font-style: italic;
  color: rgb(64, 64, 64);
  background-color: rgb(240, 240, 240);
}

.data_number {
  text-align: right;
  padding-right: 5px;
}

  </style>

System Information

		generated by
		SchemaCrawler 16.27.1

		generated on
		2025-08-13 23:15:33

		database version
		HSQL Database Engine 2.7.4

		driver version
		HSQL Database Engine Driver 2.7.4

Tables

		PUBLIC.BOOKS.AUTHORS
		[table]

		Contact details for book authors

		PUBLIC.B


@return 'green';
	}
	@if $color == #969696 {
		@return 'grey';
	}
	@return $color;
}

/**
 * SVG COLOR API
 *
 * @param string $icon the icon filename
 * @param string $dir the icon folder within /core/img if $core or app name
 * @param string $color the desired color in hexadecimal
 * @param int $version the version of the file
 * @param bool [$core] search icon in core
 *
 * @returns A background image with the url to the set to the requested icon.
 */
@mixin icon-color($icon, $dir, $color, $version: 1, $core: false) {
	$color: match-color-string($color);
	/* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
	$varName: "--icon-#{$icon}-#{$color}";
	background-image: var(#{$varName});
}
/*!
 * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 *//*!
 * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */@media only screen and (width < 1024px){#dropdown{margin-inline-end:10% !important;width:80% !important}.ui-autocomplete{z-index:1000 !important}.error-wide{width:100%;margin-inline-start:0 !important;box-sizing:border-box}#app-navigation:not(.vue){position:fixed;height:var(--body-height);transform:translateX(-300px)}.snapjs-left #app-navigation,.snapjs-right #app-navigation{transform:translateX(0)}#app-navigation:not(.hidden)+#app-content{margin-inline-start:0}.skip-navigation.skip-content{inset-inline-start:3px;margin-inline-start:0}.app-content-list{background:var(--color-main-background);flex:1 1 100%;max-height:unset;max-width:100%}.app-content-list+.app-content-details{display:none}.app-content-list.showdetails{display:none}.app-content-list.showdetails+.app-content-details{display:initial}#app-content.showdetails #app-navigation-toggle{transform:translateX(-44px)}#app-content.showdetails #app-navigation-toggle-back{position:fixed;display:inline-block !important;top:50px;inset-inline-start:0;width:44px;height:44px;z-index:1050;background-color:hsla(0,0%,100%,.7);cursor:pointer;opacity:.6;transform:rotate(90deg)}#app-content.showdetails .app-content-list{transform:translateX(-100%)}#app-navigation-toggle{position:fixed;display:inline-block !important;inset-inline-start:0;width:44px;height:44px;z-index:1050;cursor:pointer;opacity:.6}#app-navigation-toggle:hover,#app-navigation-toggle:focus{opacity:1}#app-navigation+#app-content .files-controls{padding-inline-start:44px}#body-user .app-files.viewer-mode .files-controls{padding-inline-start:0 !important}.app-files.viewer-mode #app-navigation-toggle{display:none !important}table.multiselect thead{inset-inline-start:0 !important}#usersearchform{display:none}#body-settings .files-controls{min-width:1024px !important}}@media only screen and (max-width: 480px){#header .header-end>div>.menu{max-width:calc(100vw - 10px);position:fixed}#header .header-end>div>.menu::after{display:none !important}#header .header-end>div.openedMenu::after


from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import (
    NumericProperty, ReferenceListProperty, ObjectProperty
)
from kivy.vector import Vector
from kivy.clock import Clock

class PongPaddle(Widget):
    score = NumericProperty(0)

    def bounce_ball(self, ball):
        if self.collide_widget(ball):
            vx, vy = ball.velocity
            offset = (ball.center_y - self.center_y) / (self.height / 2)
            bounced = Vector(-1 * vx, vy)
            vel = bounced * 1.1
            ball.velocity = vel.x, vel.y + offset

class PongBall(Widget):
    velocity_x = NumericProperty(0)
    velocity_y = NumericProperty(0)
    velocity = ReferenceListProperty(velocity_x, velocity_y)

    def move(self):
        self.pos = Vector(*self.velocity) + self.pos

class PongGame(Widget):
    ball = ObjectProperty(None)
    player1 = ObjectProperty(None)
    player2 = ObjectProperty(None)

    def serve_ball(self, vel=(4, 0)):
        self.ball.center = self.center
        self.ball.velocity = vel

    def update(self, dt):
        self.ball.move()

        # bounce off paddles
        self.player1.bounce_ball(self.ball)
        self.player2.bounce_ball(self.ball)

        # bounce ball off bottom or top
        if (self.ball.y < self.y) or (self.ball.top > self.top):
            self.ball.velocity_y *= -1

        # went off to a side to score point?
        if self.ball.x < self.x:
            self.player2.score += 1
            self.serve_ball(vel=(4, 0))
        if self.ball.right > self.width:
            self.player1.score += 1
            self.serve_ball(vel=(-4, 0))

    def on_touch_move(self, touch):
        if touch.x < self.width / 3:
            self.player1.center_y = touch.y
        if touch.x > self.width - self.width / 3:
            self.player2.center_y = touch.y

class PongApp(App):
    def build(self):
        game = PongGame()
        game.serve_ball()
        Clock.schedule_interval(game.update, 1.0 / 60.0)
        return game

if __name__ == '__main__':
    PongApp().run()


,0.201 0.89144,0.498 0.27456,0.242 0.40828,0.489"},"48469":{"name":"Victoria, TX","path":"m 503.58584,517.50514 0.75415,0.938 2.00216,0.884 0.1355,0.1 1.44591,2.86 2.29812,4.268 -0.11945,0.06 -1.08399,0.602 -3.05405,1.045 -1.56715,1.093 0.49029,1.246 0.29596,0.58 -5.46271,-1.118 -0.0891,-5.295 -0.3851,-0.997 -0.29061,-0.588 -0.58656,-0.271 -1.49404,0 6.71072,-5.406"},"48123":{"name":"DeWitt, TX","path":"m 498.36203,511.01014 5.22381,6.495 -6.71072,5.406 -0.40828,-0.489 -0.27456,-0.242 -0.89144,-0.498 -0.53129,-0.201 -0.12659,0 -3.21451,2.512 -3.56931,-4.497 2.90073,-2.298 7.60216,-6.188"},"48255":{"name":"Karnes, TX","path":"m 488.48671,514.58614 2.27316,2.612 -2.90073,2.298 3.56931,4.497 -4.18796,3.25 -0.96275,-0.13 -0.63649,-0.264 -0.71493,-0.396 -0.16046,-0.28 -0.26386,-0.16 -1.84171,0.635 -1.831,-2.259 -1.82388,-2.225 9.4813,-7.578"},"48493":{"name":"Wilson, TX","path":"m 486.30091,510.99414 -0.47591,0.59633 2.66171,2.99567 -9.4813,7.578 -4.2361,-5.417 5.68914,-7.377 0.12123,1.182 0.0713,0.289 0.16937,0.306 0.57765,-0.321 4.90289,0.168"},"48013":{"name":"Atascosa, TX","path":"m 466.86407,513.41314 7.90524,3.334 4.2361,5.417 1.82388,2.225 -4.88685,3.874 0.0178,-0.708 -9.44208,-0.128 0.0143,-0.209 0.2193,-10.141 0.11232,-3.664"},"48325":{"name":"Medina, TX","path":"m 467.1208,503.32914 -0.25673,10.084 -0.11232,3.664 -12.2715,-0.417 0.48138,-12.281 8.5649,0.378 0.13728,0.213 0.0161,0.11 -0.0642,0.25 -0.17472,0.264 0.007,0.46 0.11945,0.272 0.0802,0.07 0.0731,0.01 0.90035,-0.211 2.49958,-2.867"},"48019":{"name":"Bandera, TX","path":"m 451.38697,497.82614 6.16338,0.288 2.31417,0.296 1.05189,0.546 4.05068,2.218 2.72423,1.494 -0.57052,0.661 -2.49958,2.867 -0.90035,0.211 -0.0731,-0.01 -0.0802,-0.07 -0.11945,-0.272 -0.007,-0.46 0.17472,-0.264 0.0642,-0.25 -0.0161,-0.11 -0.13728,-0.213 -8.5649,-0.377 -3.82426,-0.136 0.2496,-6.418"},"48265":{"


  23,
    62,
    60,
    51,
    49,
    57,
    34,
    88,
    6,
    67,
    101,
    34,
    84,
    19,
    100,
    75,
    20,
    3,
    47,
    71,
    23,
    48,
    47,
    28,
    87,
    58,
    96,
    36,
    42,
  ]),
);
console.log(maximumUniqueSubarray([4, 2, 4, 5, 6]), 17);
console.log(maximumUniqueSubarray([5, 2, 1, 2, 5, 2, 1, 2, 5]), 8);
const testArr = new Array(100000)
  .fill(0)
  .map(() => Math.ceil(Math.random() * 10000 + 1));
console.log(maximumUniqueSubarray(testArr));
const testArr1 = new Array(100000).fill(0).map((_, i) => i);
console.log(maximumUniqueSubarray(testArr1));
const testArr2 = new Array(100000).fill(0).map((_, i) => i % 10000);
console.log(maximumUniqueSubarray(testArr2));
import { HttpClient } from '@angular/common/http';
import { Component, ElementRef, OnInit, ViewChild } from '@angular/core';
import { CalendarOptions } from '@fullcalendar/angular'; // useful for typechecking
@Component({
  selector: 'app-schedule',
  templateUrl: './schedule.component.html',
  styleUrls: ['./schedule.component.css']
})
export class ScheduleComponent implements OnInit {

  constructor(
    private httpClient: HttpClient,
  ) { }

  ngOnInit(): void {}
  calendarEvents: any[] = [
    {
      title: 'Event Now',
      date: '2022-07-15',
    },
    {
      title: 'Event Later',
      date: '2022-07-21',
    }
  ];
  eventForm: any = {};
  selectedDate = {
    currentDate: new Date(),

  }
  @ViewChild('modalButton', { static: true }) modalButton!: ElementRef;
  calendarOptions: CalendarOptions = {
    initialView: 'dayGridMonth',
    weekends: false, // initial value
    selectable: true,
    dateClick: this.handleDateClickEvent.bind(this),
    events: this.calendarEvents,
  };

  toggleWeekends() {
    this.calendarOptions.weekends = !this.calendarOptions.weekends // toggle the boolean!
  }

  addEvent(dateStr: any) {
    console.log(dateStr);
    this.calendarEvents.push(
      {
        title: 'New Event',
        date: dateStr,
      }
    )
  }

  handleDateClickEvent (event: any) {
    this.selectedDate = event.date;
    this.modalButton.nativeElement.click();
    this.addEvent(event.dateStr);
    console.log(event);
  }

  onSubmit(form: any) {
    console.log(this.eventForm, form);  // eventForm is the form object
    // Send to backend server
    this.httpClient.post('/api/events', this.eventForm).subscribe( (res) => {
      console.log('Event added', res);
    } );
  }
}
import { useCallback, useState } from 'react';
import { AlbumData } from '../interfaces/album';
import { albumServices } from '../services/album';
import useCustomToast from './useCustomToast';

interface albumFormSchema {
    rows: AlbumData[];
    handleGetRows(): Promise<void>;
    handleCreate(values: AlbumData): Promise<void>;
    handleUpdate(id: number, values: AlbumData): Promise<void>;
    handleDelete(id: number): Promise<void>;


))
		}
		else if (name=='tetr') {
			if (hasElement(211)) start = start.mul(elemEffect(211))
		}
		else if (name=="prestige0") {
			start = start.mul(exoticAEff(0,1))
			if (hasAscension(1,4)) start = start.mul(2)
			if (hasBeyondRank(14,1)) start = start.mul(beyondRankEffect(14,1))
		}
		else if (name=="fTier") {
			if (hasAscension(0,2)) start = start.pow(2)
		}
	} else if (type==4) {
		if (name=="rank") {
			start = start.mul(glyphUpgEff(3))
			if (hasElement(178)) start = start.mul(elemEffect(178))
			if (hasElement(193)) start = start.mul(elemEffect(193))
		}
		else if (name=="supernova") {
			if (hasPrestige(0,552)) start = start.mul(1.25)
			if (hasPrestige(3,2)) start = start.mul(prestigeEff(3,2))
			if (hasBeyondRank(2,17)) start = start.mul(beyondRankEffect(2,17)[1])
		}
	} else if (type==5) {
		if (name=="rank") {
			if (tmp.chal && hasBeyondRank(2,20)) start = start.mul(tmp.chal.eff[1].scrank)
		}
		else if (name=="supernova") {
			if (hasBeyondRank(4,1)) start = start.add(beyondRankEffect(4,1,0))
		}
	} else if (type==6) {
		if (name=="rank") {
			if (hasUpgrade('br',24)) start = start.mul(tmp.bd.upgs[4].eff)
		}
	}

	if (name=='supernova' && type < 4 && !hasUpgrade('br',22)) {
		start = start.add(tmp.prim.eff[7])
	}
	if (name=="fTier" && type < 4) {
		if (tmp.chal && hasBeyondRank(2,20)) start = start.mul(tmp.chal.eff[1].scrank)
	}
	if ((name=="bh_condenser" || name=="gamma_ray" || name=="tickspeed") && hasUpgrade('atom',14)) start = start.mul(10)
	if (QCs.active() && QCM8_SCALES.includes(name)) if (!tmp.scaling_qc8.includes(name)) start = start.pow(tmp.qu.qc_eff[7][0])
	if (hasUpgrade('br',14) && name=="fTier" && type==0) start = start.add(10)
	if (hasElement(88) && name == "tickspeed") start = start.mul(player.qu.rip.active?100:10)
	return start.floor()
}

function getScalingPower(type, name) {
	if (tmp.c18active && C18_SCALING.includes(name)) return E(1)

	let power = E(1)
	if (name == "supernova" && (hasCharger(3)?type<5:type<3)) {
		power = power.mul(tmp.fermions.effs[1][4])
	}
	if (name == "fTier" && type<4) {
		if (hasTree("fn12")) power = power.mul(0.9)
	}
	if (name == "massUpg" && type<2 && hasElement(84)) power = power.mul(tmp.elements.effect[84])
	if (type==0) {
		if (name=="rank") {
			if (player.mainUpg.rp.includes(10)) power = power.mul(0.8)
			if (player.ranks.t


	lpTo,
		iTolen,
		lpOverlapped,
		lpCompletionRoutine
	);
}

//
// Hooks https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsarecvfrom
//
int WINAPI my_WSARecvFrom(
	SOCKET s,
	LPWSABUF lpBuffers,
	DWORD dwBufferCount,
	LPDWORD lpNumberOfBytesRecvd,
	LPDWORD lpFlags,
	sockaddr* lpFrom,
	LPINT lpFromlen,
	LPWSAOVERLAPPED lpOverlapped,
	LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
)
{
	const auto logger = spdlog::get("socksifier")->clone("socksifier.udp.WSARecvFrom");

	const struct sockaddr_in* dest = (const struct sockaddr_in*)lpFrom;

	char addr[INET_ADDRSTRLEN];
	inet_ntop(AF_INET, &(dest->sin_addr), addr, INET_ADDRSTRLEN);
	const auto dest_port = ntohs(dest->sin_port);

	logger->debug("Received UDP packet from {}:{}", addr, dest_port);

	//
	// TODO: better error checking, works with CEF (as of now)
	//
	const auto ret = real_WSARecvFrom(
		s,
		lpBuffers,
		dwBufferCount,
		lpNumberOfBytesRecvd,
		lpFlags,
		lpFrom,
		lpFromlen,
		lpOverlapped,
		lpCompletionRoutine
	);

	do
	{
		if (!g_UdpRoutingMap.count(s))
			break;

		logger->debug("Relayed socket, stripping UDP header");

#ifdef _DEBUG
		const std::vector<char> aBuffer(lpBuffers->buf, lpBuffers->buf + *lpNumberOfBytesRecvd);
		logger->debug("({:04d}) -> {:Xpn}",
			*lpNumberOfBytesRecvd,
			spdlog::to_hex(aBuffer)
		);
#endif

		SOCKADDR_IN originEndpoint;
		originEndpoint.sin_addr.s_addr = (
			lpBuffers->buf[4] << 0 |
			lpBuffers->buf[5] << 8 |
			lpBuffers->buf[6] << 16 |
			lpBuffers->buf[7] << 24
		);
		originEndpoint.sin_port = (lpBuffers->buf[8] << 0 | lpBuffers->buf[9] << 8);

		char originAddress[INET_ADDRSTRLEN];
		inet_ntop(AF_INET, &(originEndpoint.sin_addr), originAddress, INET_ADDRSTRLEN);
		const auto originPort = ntohs(originEndpoint.sin_port);

		logger->debug("Received UDP packet from origin endpoint {}:{}",
		              originAddress, originPort);

		//
		// Skip the UDP encapsulation header and adjust packet size
		//
		memmove(lpBuffers->buf, &lpBuffers->buf[10], *lpNumberOfBytesRecvd -= 10);

#ifdef _DEBUG
		const std::vector<char> bBuffer(lpBuffers->buf, lpBuffers->buf + *lpNumberOfBytesRecvd);
		logger->debug("({:04d}) -> {:Xpn}",
			*lpNumberOfBytesRecvd,
			spdlog::to_hex(bBuffer)
		);
#endif
	}
	while (FALSE);

	return ret;
}

//
// Hooks https://docs.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-closesocket
//
int WINAPI my_closesocket(
	SOCKET s
)
{
	const auto logger = spdlog::get("socksifier")->clone("socksifier.closesocket");

	logger->debug("my_closesocket called");

	//
	// Clean up invalidated handle
	//
	g_UdpRoutingMap.erase(s);

	return real_closesocket(s);
}

//
// Finds and kills existing TCP connections within this process
//
DWORD WINAPI SocketEnumMainThread(LPVOID Params)
{
	UNREFERENCED_PARAMETER


he range 1-7. Otherwise behavior is undefined.
                 */
                int user_wday = (data & 7) - 1;
                s->wday_offset = (user_wday - now.tm_wday + 7) % 7;
            }
            break;
        case 4:
            now.tm_mday = from_bcd(data & 0x3f);
            break;
        case 5:
            now.tm_mon = from_bcd(data & 0x1f) - 1;
            break;
        case 6:
            now.tm_year = from_bcd(data) + 100;
            break;
        }
        s->offset = qemu_timedate_diff(&now);
    } else if (s->ptr == 7) {
        /* Control register. */

        /* Ensure bits 2, 3 and 6 will read back as zero. */
        data &= 0xB3;

        /* Attempting to write the OSF flag to logic 1 leaves the
           value unchanged. */
        data = (data & ~CTRL_OSF) | (data & s->nvram[s->ptr] & CTRL_OSF);

        s->nvram[s->ptr] = data;
    } else {
        s->nvram[s->ptr] = data;
    }
    inc_regptr(s);
    return 0;
}

static void ds1338_reset(DeviceState *dev)
{
    DS1338State *s = DS1338(dev);

    /* The clock is running and synchronized with the host */
    s->offset = 0;
    s->wday_offset = 0;
    memset(s->nvram, 0, NVRAM_SIZE);
    s->ptr = 0;
    s->addr_byte = false;
}

static void ds1338_class_init(ObjectClass *klass, void *data)
{
    DeviceClass *dc = DEVICE_CLASS(klass);
    I2CSlaveClass *k = I2C_SLAVE_CLASS(klass);

    k->event = ds1338_event;
    k->recv = ds1338_recv;
    k->send = ds1338_send;
    dc->reset = ds1338_reset;
    dc->vmsd = &vmstate_ds1338;
}

static const TypeInfo ds1338_info = {
    .name          = TYPE_DS1338,
    .parent        = TYPE_I2C_SLAVE,
    .instance_size = sizeof(DS1338State),
    .class_init    = ds1338_class_init,
};

static void ds1338_register_types(void)
{
    type_register_static(&ds1338_info);
}

type_init(ds1338_register_types)


    { eTradePartnerList,       3,     partnerTradeWnd },
        { eTradePartnerBagList,    1,     partnerBagWnd },
    };
    for (auto [id, index, parent] : inventory_lists)
    {
        m_pLists[id] = UIHelper::CreateDragDropListEx(uiXml, "dragdrop_list", index, parent);
    }

    CUIStatic* descWnd = UIHelper::CreateStatic(uiXml, "desc_static", m_pTradeWnd);
    m_ItemInfoTradeMode = xr_new<CUIItemInfo>();
    m_ItemInfoTradeMode->SetAutoDelete(true);
    descWnd->AttachChild(m_ItemInfoTradeMode);
    m_ItemInfoTradeMode->InitItemInfo({ 0.f, 0.f }, descWnd->GetWndSize(), TRADE_ITEM_XML);

    m_trade_button = UIHelper::Create3tButton(uiXml, "button", 0, m_pTradeWnd);
    CUI3tButton* toTalkBtn = UIHelper::Create3tButton(uiXml, "button", 1, m_pTradeWnd);
    RegisterCallback(toTalkBtn, BUTTON_CLICKED,
        CUIWndCallback::void_function(this, &CUIActorMenu::OnBtnExitClicked));
}

void CUIActorMenu::InitializeSearchLootMode(CUIXml& uiXml)
{
    using namespace ::detail::actor_menu;

    m_pSearchLootWnd = UIHelper::CreateNormalWindow(uiXml, "main", this);

    UIHelper::CreateStatic(uiXml, "top_background", m_pSearchLootWnd);
    UIHelper::CreateStatic(uiXml, "bottom_background", m_pSearchLootWnd);

    CUIStatic* actorIcon = UIHelper::CreateStatic(uiXml, "static_icon", 0, m_pSearchLootWnd);
    CUIStatic* partnerIcon = UIHelper::CreateStatic(uiXml, "static_icon", 1, m_pSearchLootWnd);

    m_SearchLootActorCharacterInfo = xr_new<CUICharacterInfo>();
    m_SearchLootPartnerCharacterInfo = xr_new<CUICharacterInfo>();

    actorIcon->AttachChild(m_SearchLootActorCharacterInfo);
    m_SearchLootActorCharacterInfo->SetAutoDelete(true);
    m_SearchLootActorCharacterInfo->InitCharacterInfo({ 0.f, 0.f }, actorIcon->GetWndSize(), TRADE_CHARACTER_XML);

    partnerIcon->AttachChild(m_SearchLootPartnerCharacterInfo);
    m_SearchLootPartnerCharacterInfo->SetAutoDelete(true);
    m_SearchLootPartnerCharacterInfo->InitCharacterInfo({ 0.f, 0.f }, partnerIcon->GetWndSize(), TRADE_CHARACTER_XML);

    m_ActorWeightBar->m_BagWnd2 = UIHelper::CreateStatic(uiXml, "our_bag_static", m_pSearchLootWnd);
    CUIStatic* partnerBagWnd = UIHelper::CreateStatic(uiXml, "others_bag_static", m_pSearchLootWnd);

    m_pLists[eSearchLootActorBagList] = UIHelper::CreateDragDropListEx(uiXml, "dragdrop_list_our", m_ActorWeightBar->m_BagWnd2);
    m_pLists[eSearchLootBagList] = UIHelper::CreateDragDropListEx(uiXml, "dragdrop_list_other", partnerBagWnd);

    // Item info
    CUIFrameWindow* descWnd = UIHelper::CreateFrameWindow(uiXml, "frame_window", m_pSearchLootWnd);
    UIHelper::CreateStatic(uiXml, "descr_static", descWnd);
    m_ItemInfoSearchLootMode = xr_new<CUIItemInfo>();
    m_ItemInfoSearchLootMode->SetAutoDelete(true);
    descWnd->AttachChild(m_ItemInfoSearchLootMode);
    m_ItemInfoSearchLootMode->InitItemInfo({ 0.f, 0.f }, descWnd->GetWndSize(), CAR


4f1a\u6597\u4e89\u4e86\u4e00\u4e2a\u8001\u5934\u5b50\uff0c\u8fd9\u4e2a\u8001\u5934\u5b50\u53eb\u5434\u5174\u53d1\uff08\u4ed6\u51e0\u987f\u6ca1\u6709\u5403\u996d\uff0c\u540c\u4f19\u98df\u56e2\u957f\u8bb2\u597d\u540e\u9000\u56de\u53bb\u716e\u4e86\u4e00\u987f\u5e72\u996d\u5403\uff09\uff0c\u6c14\u4e0d\u8fc7\u53bb\u540a\u6b7b\u4e86\uff0c\u8fd9\u4e9b\u4e8b\u60c5\u7fa4\u4f17\u5f88\u6124\u6012\uff0c\u628a\u76d6\u5b50\u63ed\u5f00\u4e86\uff0c\u64a4\u6362\u4e86\u9886\u5bfc\u4ee5\u540e\uff0c\u7fa4\u4f17\u7684\u60c5\u7eea\u5f88\u9ad8\uff0c\u65b0\u627e\u51fa\u7684\u4ee3\u7406\u4eba\u4e5f\u5f88\u79ef\u6781\uff0c\u51e1\u5e03\u7f6e\u4e00\u4e2a\u5de5\u4f5c\u4e0b\u9762\u5c31\u79ef\u6781\u7684\u5e72\uff0c\u5e72\u90e8\u4e0b\u961f\u7fa4\u4f17\u4e0d\u662f\u4e71\u9a82\u4e86\uff0c\u5230\u5904\u90fd\u627e\u5e72\u90e8\u53cd\u6620\u60c5\u51b5\uff0c\u5173\u7cfb\u66f4\u2026\u2026\uff08\u4e0b\u7f3a\uff09", "type": "paragraph"}, {"text": "\u6765\u6e90\uff1a", "type": "source"}, {"text": "\u56db\u5ddd\u7701\u67d0\u6863\u6848\u9986", "type": "paragraph"}]}
  </script>

    [返回索引页面]

   四川省自贡市委关于算账情况的简报

   日期：1959-5-28 作者：[待确定]

   ……（上缺）目公布后群众说：还是要把生产搞好才是正经事，今后不要再去抬树子了，出勤率也比过去增多了。账目公布较清楚的有这样几种好的作法：

   1·加强对干部和财务人员的思想教育，批判克服怕麻烦思想和畏难情绪；


Floating-Point Value With Less Than 2^-28 Relative Error

VRSQRT28SS	Approximation to the Reciprocal Square Root of Scalar Single Precision Floating-Point Value With Less Than 2^-28 Relative Error

VSCATTERPF0DPD	Sparse PrefetchPacked SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint With Intentto Write

VSCATTERPF0DPS	Sparse PrefetchPacked SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint With Intentto Write

VSCATTERPF0QPD	Sparse PrefetchPacked SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint With Intentto Write

VSCATTERPF0QPS	Sparse PrefetchPacked SP/DP Data Values with Signed Dword, Signed Qword Indices Using T0 Hint With Intentto Write

VSCATTERPF1DPD	Sparse PrefetchPacked SP/DP Data Values With Signed Dword, Signed Qword Indices Using T1 Hint With Intentto Write

VSCATTERPF1DPS	Sparse PrefetchPacked SP/DP Data Values With Signed Dword, Signed Qword Indices Using T1 Hint With Intentto Write

VSCATTERPF1QPD	Sparse PrefetchPacked SP/DP Data Values With Signed Dword, Signed Qword Indices Using T1 Hint With Intentto Write

VSCATTERPF1QPS	Sparse PrefetchPacked SP/DP Data Values With Signed Dword, Signed Qword Indices Using T1 Hint With Intentto Write

		This UNOFFICIAL, mechanically-separated, non-verified reference is provided for convenience, but it may be
		incomplete or broken in various obvious or non-obvious
		ways. Refer to Intel® 64 and IA-32 Architectures Software Developer’s Manual for anything serious.

<!DOCTYPE html>
<h


as AuthState,
    ));
  }
}

/// @nodoc

class _$_SplashState implements _SplashState {
  const _$_SplashState({required this.auth});

  @override
  final AuthState auth;

  @override
  String toString() {
    return 'SplashState(auth: $auth)';
  }

  @override
  bool operator ==(dynamic other) {
    return identical(this, other) ||
        (other is _SplashState &&
            (identical(other.auth, auth) ||
                const DeepCollectionEquality().equals(other.auth, auth)));
  }

  @override
  int get hashCode =>
      runtimeType.hashCode ^ const DeepCollectionEquality().hash(auth);

  @JsonKey(ignore: true)
  @override
  _$SplashStateCopyWith<_SplashState> get copyWith =>
      __$SplashStateCopyWithImpl<_SplashState>(this, _$identity);
}

abstract class _SplashState implements SplashState {
  const factory _SplashState({required AuthState auth}) = _$_SplashState;

  @override
  AuthState get auth => throw _privateConstructorUsedError;
  @override
  @JsonKey(ignore: true)
  _$SplashStateCopyWith<_SplashState> get copyWith =>
      throw _privateConstructorUsedError;
}
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/app_create.pb.dart';
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/view_create.pb.dart';
import 'package:flowy_sdk/protobuf/flowy-workspace-infra/protobuf.dart';
import 'package:dartz/dartz.dart';
import 'package:flowy_sdk/protobuf/flowy-workspace/errors.pb.dart';

typedef AppUpdatedCallback = void Function(App app);
typedef AppViewsChangeCallback = void Function(Either<List<View>, WorkspaceError> viewsOrFailed);

abstract class IApp {
  Future<Either<List<View>, WorkspaceError>> getViews();

  Future<Either<View, WorkspaceError>> createView({required String name, String? desc, required ViewType viewType});

  Future<Either<Unit, WorkspaceError>> delete();

  Future<Either<Unit, WorkspaceError>> rename(String newName);
}

abstract class IAppListenr {
  void start({AppViewsChangeCallback? viewsChangeCallback, AppUpdatedCallback? updatedCallback});

  Future<void> stop();
}
import 'dart:collection';
import 'dart:convert';

import 'package:flutter_quill/models/documents/attribute.dart';
import 'package:flutter_quill/models/quill_delta.dart';

import 'ast.dart' as ast;
import 'document.dart';

class DeltaMarkdownDecoder extends Converter<String, String> {
  @override
  String convert(String input) {
    final lines = input.replaceAll('\r\n', '\n').split('\n');

    final markdownDocument = Document().parseLines(lines);

    return jsonEncode(_DeltaVisitor().convert(markdownDocument).toJson());
  }
}

class _DeltaVisitor implements ast.NodeVisitor {
  static final _blockTags =
      RegExp('h1|h2|h3|h4|h5|h6|hr|pre|ul|ol|blockquote|p|pre');

  static final _embedTags = RegExp('hr|img');

  late Delta delta;

  late Queue<Attribute> activeInlineAttributes;
  Attribute? activeBlockAttribute;
  late Set<String> uniqueIds;

  ast.Element? previousElement;
  late ast.Element previousToplevelElement;

  Delta convert(List<ast.Node> nodes) {
    delta = Delta();
    activeInlineAttributes = Queue<Attribute>();
    uniqueIds = <String>{};

    for (final node in nodes) {
      node.accept(this);
    }

    // Ensure the delta ends with a newline.
    if (delta.length > 0 && delta.last.value != '\n') {
      delta.insert('\n', activeBlockAttribute?.toJson());
    }

    return delta;
  }

  @override
  void visitText(ast.Text text) {
    // Re


(data.length * BufferUtils.SIZEOF_INT);
          dest.order(ByteOrder.nativeOrder());
          dest.asIntBuffer().put(data, 0, data.length);
          break;
        }
        default:
          throw new RuntimeException("Unsupported image type " + img.getType());
      }

      if (mipmapped)
      {
        glu.gluBuild2DMipmaps(target, GL.GL_RGB8, img.getWidth(), img.getHeight(), GL.GL_RGB, GL.GL_UNSIGNED_BYTE, dest);
      }
      else
      {
        gl.glTexImage2D(target, 0, GL.GL_RGB, img.getWidth(), img.getHeight(), 0, GL.GL_RGB, GL.GL_UNSIGNED_BYTE, dest);
      }
    }
  }

  /** Retrieve a URL resource from the jar.  If the resource is not found, then
   * the local disk is also checked.
   * @param filename Complete filename, including parent path
   * @return a URL object if resource is found, otherwise null.
   */
  public final static URL getResource(final String filename)
  {
    // Try to load resource from jar
    URL url = ClassLoader.getSystemResource(filename);
    // If not found in jar, then load from disk
    if (url == null)
    {
      try
      {
        url = new URL("file", "localhost", filename);
      }
      catch (Exception urlException){} // ignore
    }
    return url;
  }

  /** Program's main entry point
   * @param args command line arguments.
   */
  public static void main(String[] args)
  {
    Frame frame = new Frame("Lesson 7: Texture Filters, Lighting & Keyboard Control");
    GLCanvas canvas = GLDrawableFactory.getFactory().createGLCanvas(new GLCapabilities());
    canvas.addGLEventListener(new Renderer());
    frame.add(canvas);
    frame.setSize(640, 480);
    animator = new Animator(canvas);
    frame.addWindowListener(new WindowAdapter()
    {
      public void windowClosing(WindowEvent e)
      {
        animator.stop();
        System.exit(0);
      }
    });
    frame.show();
    animator.start();
    canvas.requestFocus();
  }
}
/*
 * Created on Mar 7, 2004
 *
 * @author Irene Kam  (kaminc@cox.net)
 */

// Import classes needed to process key events.
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

/**
 * This class provides key pressed/released events handling for NeHe's
 * Lesson19.
 *
 * @author Irene Kam
 */
public class KeyHandler implements KeyListener {

   // Reference to parent object.
   private Lesson19 m_oParent;

   /**
    * Creates an instance of this class.
    *
    * @param parent The parent object which employs this KeyListener.
    */
   public KeyHandler(Lesson19 parent) {
      m_oParent = parent;
   }

   /**
    * Handles all key pressed events. Depending on the key pressed,
    * different actions will take place.
    *
    * @param e The KeyEvent that just took place. We can find out which key
    *        was pressed form this KeyEvent and take actions appropriately.
    */
   public void keyPressed(KeyEvent e) {
      // Retrieve the key released.
      int keyCode = e.getKeyCode();

      // Depending on the key pressed, take appropriate actions.
      switch (keyCode) {
         case KeyEvent.VK_ESCAPE :
            // The key pressed is the "Esc" key. Close window and
            // exit program.
            m_oParent.exitProgram();
            break;
         case KeyEvent.VK_F1 :
            // Key pressed is the "F1" key. Toggle between full
            // and windowed mode.
            m_oParent.toggleWindowMode();
            break;
         case KeyEvent.VK_PAGE_UP :
            // The page up key is pressed: Zoom in objects on display.
            m_oParent.m_fZoom += .5f;
            break;
         case KeyEvent.VK


${e.toString()}');
      rethrow;
    }
  }

  Future<Room> createRoom({
    required String url,
    required String token,
  }) async {
    try {
      final roomOptions = RoomOptions(
        adaptiveStream: true,
        dynacast: true,
      );

      final room = Room(
        roomOptions: roomOptions,
      );

      await room.prepareConnection(url, token);

      await room.connect(url, token);

      return room;
    } on Exception catch (e) {
      debugPrint(
          '[LiveStreamRepository - createRoom() ERROR]: ${e.toString()}');
      rethrow;
    }
  }
}
/* AUTOMATICALLY GENERATED CODE DO NOT MODIFY */
/*   To generate run: "serverpod generate"    */

// ignore_for_file: implementation_imports
// ignore_for_file: library_private_types_in_public_api
// ignore_for_file: non_constant_identifier_names
// ignore_for_file: public_member_api_docs
// ignore_for_file: type_literal_in_constant_pattern
// ignore_for_file: use_super_parameters

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:serverpod_client/serverpod_client.dart' as _i1;
import 'enums/group_type.dart' as _i2;

abstract class DiscordChannel implements _i1.SerializableModel {
  DiscordChannel._({
    this.id,
    required this.name,
    required this.icon,
    required this.groupId,
    required this.discordServerId,
    required this.type,
  });

  factory DiscordChannel({
    int? id,
    required String name,
    required String icon,
    required int groupId,
    required int discordServerId,
    required _i2.GroupType type,
  }) = _DiscordChannelImpl;

  factory DiscordChannel.fromJson(Map<String, dynamic> jsonSerialization) {
    return DiscordChannel(
      id: jsonSerialization['id'] as int?,
      name: jsonSerialization['name'] as String,
      icon: jsonSerialization['icon'] as String,
      groupId: jsonSerialization['groupId'] as int,
      discordServerId: jsonSerialization['discordServerId'] as int,
      type: _i2.GroupType.fromJson((jsonSerialization['type'] as int)),
    );
  }

  /// The database id, set if the object has been inserted into the
  /// database or if it has been fetched from the database. Otherwise,
  /// the id will be null.
  int? id;

  String name;

  String icon;

  int groupId;

  int discordServerId;

  _i2.GroupType type;

  /// Returns a shallow copy of this [DiscordChannel]
  /// with some or all fields replaced by the given arguments.
  @_i1.useResult
  DiscordChannel copyWith({
    int? id,
    String? name,
    String? icon,
    int? groupId,
    int? discordServerId,
    _i2.GroupType? type,
  });
  @override
  Map<String, dynamic> toJson() {
    return {
      if (id != null) 'id': id,
      'name': name,
      'icon': icon,
      'groupId': groupId,
      'discordServerId': discordServerId,
      'type': type.toJson(),
    };
  }

  @override
  String toString() {
    return _i1.SerializationManager.encode(this);
  }
}

class _Undefined {}

class _DiscordChannelImpl extends DiscordChannel {
  _DiscordChannelImpl({
    int? id,
    required String name,
    required String icon,
    required int groupId,
    required int discordServerId,
    required _i2.GroupType type,
  }) : super._(
          id: id,
          name: name,
          icon: icon,
          groupId: groupId,
          discordServerId: discordServerId,
          type: type,
        );

  /// Returns a shallow copy of this [DiscordChannel]
  /// with some or all fields replaced by the given arguments.
  @_i1.useResult
  @override
  DiscordChannel copyWith({
    Object? id = _Undefined,


	if ( label->unit != UT_RAW ) {
				if ( item->widget()->areScaledValuesShown() ) {
					for ( int i = 0; i < 3; ++i )
						item->widget()->setRecordLabel(i, tr("n%1").arg(Units[_currentUnitMode-UT_ACC]));
				}
				else {
					for ( int i = 0; i < 3; ++i )
						item->widget()->setRecordLabel(i, tr("counts"));
				}
			}
			else {
				for ( int i = 0; i < 3; ++i )
					item->widget()->setRecordLabel(i, QString());
			}
			break;
		default:
			if ( item->widget()->areScaledValuesShown() ) {
				for ( int i = 0; i < 3; ++i ) {
					if ( label->gainUnit[i].isEmpty() )
						item->widget()->setRecordLabel(i, tr("-"));
					else
						item->widget()->setRecordLabel(i, tr("%1 * 1E9").arg(label->gainUnit[i]));
				}
			}
			else {
				for ( int i = 0; i < 3; ++i )
					item->widget()->setRecordLabel(i, tr("counts"));
			}
	}
}
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bool PickerView::applyFilter(RecordViewItem *item) {
	if ( item == NULL ) {
		for ( int i = 0; i < _recordView->rowCount(); ++i )
			applyFilter(_recordView->itemAt(i));
	}
	else {
		PickerRecordLabel *label = static_cast<PickerRecordLabel*>(item->label());
		int integrationSteps = 0;
		switch ( _currentUnitMode ) {
			case UT_DISP:
			case UT_VEL:
			case UT_ACC:
				if ( label->unit != UT_RAW ) {
					integrationSteps = _currentUnitMode - label->unit;
				}
				else {
					Math::Filtering::ConstFilter<float> constFilter(0);
					label->data.setFilter(&constFilter);
					return true;
				}
				break;
			case UT_RAW:
			default:
				break;
		}

		updateRecordAxisLabel(item);

		if ( integrationSteps == 0 )
			label->data.setFilter(_currentFilter);
		else {
			Math::Filtering::ChainFilter<float> chainFilter;

			if ( integrationSteps < 0  ) {
				// Derivation
				for ( int s = 0; s < -integrationSteps; ++s )
					chainFilter.add(new Math::Filtering::IIRDifferentiate<float>());
			}
			else {
				Math::Filtering::InPlaceFilter<float> *preFilter = NULL;

				for ( int s = 0; s < integrationSteps; ++s ) {
					if ( !_config.onlyApplyIntegrationFilterOnce || (s == 0) ) {
						if ( preFilter != NULL )
							chainFilter.add(preFilter->clone());
						else if ( !_config.integrationFilter.isEmpty() ) {
							preFilter = Math::Filtering::InPlaceFilter<float>::Create(_config.integrationFilter.toStdString().c_str());
							if ( preFilter == NULL ) {
								// ERROR
							}
							else
								chainFilter.add(preFilter->clone());
						}
					}

					chainFilter.add(new Math::Filtering::IIRIntegrate<float>());
				}

				if ( preFilter != NULL )
					delete preFilter;
			}

			if ( _currentFilter )
				chainFilter.add(_currentFilter->clone());

			if ( chainFilter.filterCount() > 0 )
				label->data.setFilter(&chainFilter);
			else
				label->data.setFilter(NULL);
		}
	}

	return true;
}
// <<<<


### 1.1 数学基础

**核心理论框架**：

- **线性逻辑**：所有权系统和资源管理的理论基础
- **类型理论**：静态类型系统和类型安全的数学基础
- **范畴论**：函子、自然变换等抽象概念的数学框架
- **霍尔逻辑**：程序正确性验证的逻辑基础

**形式化定义**：

```text
理论基础 ::= 线性逻辑 | 类型理论 | 范畴论 | 霍尔逻辑
线性逻辑 ::= 线性类型 | 指数类型 | 张量积 | 线性蕴含
类型理论 ::= λ演算 | System F | 多态类型 | 依赖类型
范畴论 ::= 范畴 | 函子 | 自然变换 | 极限
霍尔逻辑 ::= 前置条件 | 程序 | 后置条件
```

### 1.2 设计哲学

**Rust设计哲学**：

1. **零成本抽象**：高级抽象不引入运行时开销
2. **内存安全**：编译时保证内存安全
3. **并发安全**：编译时防止数据竞争
4. **系统编程**：适合底层系统开发

**理论导向**：

- 实用性优先，理论服务于实践
- 解决实际系统编程问题
- 平衡安全和性能

---

## 2. 类型系统深度分析

### 2.1 类型系统架构

**类型系统层次**：

```text
TypeSystem ::= BaseTypes | FunctionTypes | ReferenceTypes | GenericTypes
BaseTypes ::= i32 | f64 | bool | char | String
FunctionTypes ::= fn(Args) -> ReturnType
ReferenceTypes ::= &'a T | &'a mut T
GenericTypes ::= Vec<T> | Option<T> | Result<T, E>
```

**类型推导系统**：

```text
类型推导规则：
(Var)     Γ, x: τ ⊢ x: τ
(App)     Γ ⊢ e₁: τ₁ → τ₂    Γ ⊢ e₂: τ₁
          ──────────────────────────────
          Γ ⊢ e₁ e₂: τ₂
(Abs)     Γ, x: τ₁ ⊢ e: τ₂
          ─────────────────
          Γ ⊢ λx.e: τ₁ → τ₂
```

### 2.2 类型安全定理

**定理 2.2.1 (类型保持性)**
如果 $\Gamma \vdash e: \tau$ 且 $e \rightarrow e'$，则 $\Gamma \vdash e': \tau$

**定理 2.2.2 (进展性)**
如果 $\emptyset \vdash e: \tau$ 且 $e$ 不是值，则存在 $e'$ 使得 $e \rightarrow e'$

**证明**：
通过结构体体体归纳法证明，利用类型推导规则确保表达式可以求值。

### 2.3 多态类型系统

**参数化多态**：

```rust
fn identity<T>(x: T) -> T {
    x
}
// 类型：∀α.α → α
```

**特质系


 [CmdletController(typeof(Models.Team), Client=typeof(ITeamHttpClient))]
    partial class RenameTeamController
    {
        protected override IEnumerable Run()
        {
            var team = Data.GetItem<Models.Team>();

            if (!PowerShell.ShouldProcess(Project, $"Rename team '{team.Name}' to '{NewName}'")) yield break;

            yield return Client.UpdateTeamAsync(new WebApiTeam() { Name = NewName }, Project.Id.ToString(), team.Id.ToString())
                .GetResult($"Error renaming team '{team.Name}' to '{NewName}'");
        }
    }
}


Bytes));

        assertEquals(state1, x.partialIsValidUtf8(Utf8.COMPLETE, 0, i));
        assertEquals(state1, x.substring(0, i).partialIsValidUtf8(Utf8.COMPLETE, 0, i));
        assertEquals(state2, x.partialIsValidUtf8(state1, i, j - i));
        assertEquals(state2, x.substring(i, j).partialIsValidUtf8(state1, 0, j - i));
        assertEquals(state3, x.partialIsValidUtf8(state2, j, numBytes - j));
        assertEquals(state3, x.substring(j, numBytes).partialIsValidUtf8(state2, 0, numBytes - j));
      }

      // ByteString reduplication should not affect its UTF-8 validity.
      ByteString ropeADope = RopeByteString.newInstanceForTest(bs, bs.substring(0, numBytes));
      assertEquals(isRoundTrippable, ropeADope.isValidUtf8());

      if (isRoundTrippable) {
        countRoundTripped++;
      }
      count++;
      if (byteChar != 0 && byteChar % 1000000L == 0) {
        logger.info("Processed " + (byteChar / 1000000L) + " million characters");
      }
    }
    logger.info("Round tripped " + countRoundTripped + " of " + count);
    assertEquals(expectedCount, countRoundTripped);
  }

  /**
   * Variation of {@link #testBytes} that does less allocation using the low-level encoders/decoders
   * directly. Checked in because it's useful for debugging when trying to process bytes faster, but
   * since it doesn't use the actual String class, it's possible for incompatibilities to develop
   * (although unlikely).
   *
   * @param factory the factory for {@link ByteString} instances.
   * @param numBytes the number of bytes in the byte array
   * @param expectedCount the expected number of roundtrippable permutations
   * @param start the starting bytes encoded as a long as big-endian
   * @param lim the limit of bytes to process encoded as a long as big-endian, or -1 to mean the max
   *     limit for numBytes
   */
  static void testBytesUsingByteBuffers(
      ByteStringFactory factory, int numBytes, long expectedCount, long start, long lim) {
    CharsetDecoder decoder =
        Internal.UTF_8
            .newDecoder()
            .onMalformedInput(CodingErrorAction.REPLACE)
            .onUnmappableCharacter(CodingErrorAction.REPLACE);
    CharsetEncoder encoder =
        Internal.UTF_8
            .newEncoder()
            .onMalformedInput(CodingErrorAction.REPLACE)
            .onUnmappableCharacter(CodingErrorAction.REPLACE);
    byte[] bytes = new byte[numBytes];
    int maxChars = (int) (decoder.maxCharsPerByte() * numBytes) + 1;
    char[] charsDecoded = new char[(int) (decoder.maxCharsPerByte() * numBytes) + 1];
    int maxBytes = (int) (encoder.maxBytesPerChar() * maxChars) + 1;
    byte[] bytesReencoded = new byte[maxBytes];

    ByteBuffer bb = ByteBuffer.wrap(bytes);
    CharBuffer cb = CharBuffer.wrap(charsDecoded);
    ByteBuffer bbReencoded = ByteBuffer.wrap(bytesReencoded);
    if (lim == -1) {
      lim = 1L << (numBytes * 8);
    }
    long count = 0;
    long countRoundTripped = 0;
    for (long byteChar = start; byteChar < lim; byteChar++) {
      bb.rewind();
      bb.limit(bytes.length);
      cb.rewind();
      cb.limit(charsDecoded.length);
      bbReencoded.rewind();
      bbReencoded.limit(bytesReencoded.length);
      encoder.reset();
      decoder.reset();
      long tmpByteChar = byteChar;
      for (int i = 0; i < bytes.length; i++) {
        bytes[bytes.length - i - 1] = (byte) tmpByteChar;
        tmpByteChar = tmpByteChar >> 8;
      }
      boolean isRoundTrippable = factory.newByteString(bytes).isValidUtf8();
      CoderRe


ft.com/en-us/openspecs/windows_protocols/ms-nlmp/5e550938-91d4-459f-b67d-75d70009e3f3

// ntlm对象标识符
const NTLMSSPMECHTYPEOID = "1.3.6.1.4.1.311.2.2.10"

// ntlm协议头类型
const (
	NTLMNegotiate    = 0x00000001
	NTLMChallenge    = 0x00000002
	NTLMAuthenticate = 0x00000003
)

const (
	FlgNegUnicode uint32 = 1 << iota
	FlgNegOEM
	FlgNegRequestTarget
	FlgNegReserved10
	FlgNegSign
	FlgNegSeal
	FlgNegDatagram
	FlgNegLmKey
	FlgNegReserved9
	FlgNegNTLM
	FlgNegReserved8
	FlgNegAnonymous
	FlgNegOEMDomainSupplied
	FlgNegOEMWorkstationSupplied
	FlgNegReserved7
	FlgNegAlwaysSign
	FlgNegTargetTypeDomain
	FlgNegTargetTypeServer
	FlgNegReserved6
	FlgNegExtendedSessionSecurity
	FlgNegIdentify
	FlgNegReserved5
	FlgNegRequestNonNtSessionKey
	FlgNegTargetInfo
	FlgNegReserved4
	FlgNegVersion
	FlgNegReserved3
	FlgNegReserved2
	FlgNegReserved1
	FlgNeg128
	FlgNegKeyExch
	FlgNeg56
)

const (
	MsvAvEOL uint16 = iota
	MsvAvNbComputerName
	MsvAvNbDomainName
	MsvAvDnsComputerName
	MsvAvDnsDomainName
	MsvAvDnsTreeName
	MsvAvFlags
	MsvAvTimestamp
	MsvAvSingleHost
	MsvAvTargetName
	MsvChannelBindings
)

// https://docs.microsoft.com/zh-cn/openspecs/windows_protocols/ms-nlmp/464551a8-9fc4-428e-b3d3-bc5bfb2e73a5

// NTLMv1 认证
// Define NTOWFv1(Passwd, User, UserDom) as MD4(UNICODE(Passwd))
func NTOWFv1(pass string) []byte {
	hash := md4.New()
	hash.Write(encoder.ToUnicode(pass))
	return hash.Sum(nil)
}

// https://docs.microsoft.com/zh-cn/openspecs/windows_protocols/ms-nlmp/5e550938-91d4-459f-b67d-75d70009e3f3

// NTLMv2 认证
// Define NTOWFv2(Passwd, User, UserDom) as HMAC_MD5(
// MD4(UNICODE(Passwd)), UNICODE(ConcatenationOf( Uppercase(User),
// UserDom ) ) )
func NTOWFv2(password, user, userDomain string) []byte {
	h := hmac.New(md5.New, NTOWFv1(password))
	h.Write(encoder.ToUnicode(strings.ToUpper(user) + userDomain))
	return h.Sum(nil)
}

// NTLMv2 hash认证
func NTOWFv2Hash(hash, user, userDomain string) []byte {
	Hash, _ := hex.DecodeString(hash)
	hm := hmac.New(md5.New, Hash)
	hm.Write(encoder.ToUnicode(strings.ToUpper(user) + userDomain))
	return hm.Sum(nil)
}

// Define LMOWFv2(Passwd, User, UserDom) as NTOWFv2(Passwd, User,
// UserDom)
func LMOWFv2(password, user, userDomain string) []byte {
	return NTOWFv2(password, user, userDomain)
}

// 计算ntlmv2响应
// Set temp to ConcatenationOf(Responserversion, HiResponserversion,
//     Z(6), Time, ClientChallenge, Z(4), ServerName, Z(4))
// Set NTProofStr to HMAC_MD5(ResponseKeyNT,
//     ConcatenationOf(CHALLEN


-- WoWPro Guides by "The WoW-Pro Community" are licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.
-- Based on a work at github.com.
-- Permissions beyond the scope of this license may be available at http://github.com/Ludovicus-Maior/WoW-Pro-Guides/blob/main/License.md.

local guide = WoWPro:RegisterGuide("LudoLoveH",'WorldEvents',"Love is in the Air", "Ludovicus", "Horde",3)
WoWPro:GuideLevels(guide)
WoWPro.WorldEvents:GuideHoliday(guide,"LoveInTheAir")
WoWPro:GuideSteps(guide, function()
return [[

N Start at any capital city EXCEPT Orgrimmar|QID|24805|LEAD|24536|N|The starter quests are at Silvermoon, Undercity, Thunder Bluff.|

A Uncommon Scents|QID|24805|LEAD|24536|M|64.42,70.31|Z|Silvermoon City|N|From Junior Detective|IZ|Silvermoon City|
A Uncommon Scents|QID|24805|LEAD|24536|M|64.30,37.55|Z|Undercity|N|From Junior Detective|IZ|Undercity|
A Uncommon Scents|QID|24805|LEAD|24536|M|44.22,55.86|Z|Thunder Bluff|N|From Junior Detective|IZ|Thunder Bluff|
T Uncommon Scents|QID|24805|LEAD|24536|M|50.79,75.29|Z|Orgrimmar|N|To Detective Snap Snagglebolt|

A Something Stinks|QID|24536|M|50.79,75.29|Z|Orgrimmar|N|From Detective Snap Snagglebolt, Orgrimmar|
C Heavily Perfumed Guards|QID|24536|Z|Orgrimmar|U|50131|N|Find the guards with the clouds and use the analyzer|
T Something Stinks|QID|24536|M|50.79,75.29|Z|Orgrimmar|N|To Detective Snap Snagglebolt|

A Pilfering Perfume|QID|24541|PRE|24536|M|50.79,75.29|Z|Orgrimmar|N|From Detective Snap Snagglebolt|
C Pilfering Perfume|QID|24541|M|47.73,11.80|Z|Durotar|N|Run outside of Orgrimmar Gates|
T Pilfering Perfume|QID|24541|M|50.79,75.29|Z|Orgrimmar|N|To Detective Snap Snagglebolt|

A Snivel's Sweetheart|QID|24850|PRE|24541|M|50.79,75.29|Z|Orgrimmar|N|From Detective Snap Snagglebolt|
T Snivel's Sweetheart|QID|24850|M|57.6,60.78|Z|Orgrimmar|N|To Roka, at the Bag Shop, in The Drag|

A Hot On The Trail|QID|24851|PRE|24850|M|57.6,60.78|Z|Orgrimmar|N|From Roka|
C Hot On The Trail|QID|24851|M|48.8,83.0|Z|Orgrimmar|N|Look for him at the Bank|QO|1|
C Hot On The Trail|QID|24851|M|53.7,73.7|Z|Orgrimmar|N|Look for him at the Auction House|QO|2|
C Hot On The Trail|QID|24851|M|40.1,60.5|Z|Orgrimmar|N|Look for him at the Barber Shop|QO|3|
T Hot On The Trail|QID|24851|M|57.6,60.78|Z|Orgrimmar|N|To Roka|

A A Friendly Chat...|QID|24576|PRE|24851|M|57.6,60.78|Z|Orgrimmar|N|F


> DELETE  2  @  2 : 6

> DELETE  1  @  1 : 2

> CHANGE  2 : 3  @  2 : 6

~ import java.util.LinkedList;

> DELETE  1  @  1 : 4

> CHANGE  1 : 61  @  1 : 4

~
~ import net.eaglerforge.EaglerForge;
~ import net.eaglerforge.api.BaseData;
~ import net.eaglerforge.api.ModAPI;
~ import net.eaglerforge.api.ModData;
~ import net.eaglerforge.api.ModLoader;
~ import net.lax1dude.eaglercraft.v1_8.internal.PlatformInput;
~
~ import org.apache.commons.lang3.Validate;
~
~ import com.google.common.collect.Lists;
~
~ import net.lax1dude.eaglercraft.v1_8.Display;
~ import net.lax1dude.eaglercraft.v1_8.EagRuntime;
~ import net.lax1dude.eaglercraft.v1_8.EagUtils;
~ import net.lax1dude.eaglercraft.v1_8.EaglerXBungeeVersion;
~ import net.lax1dude.eaglercraft.v1_8.HString;
~ import net.lax1dude.eaglercraft.v1_8.IOUtils;
~ import net.lax1dude.eaglercraft.v1_8.Keyboard;
~ import net.lax1dude.eaglercraft.v1_8.Mouse;
~ import net.lax1dude.eaglercraft.v1_8.futures.Executors;
~ import net.lax1dude.eaglercraft.v1_8.futures.FutureTask;
~ import net.lax1dude.eaglercraft.v1_8.futures.ListenableFuture;
~ import net.lax1dude.eaglercraft.v1_8.futures.ListenableFutureTask;
~ import net.lax1dude.eaglercraft.v1_8.internal.EnumPlatformType;
~ import net.lax1dude.eaglercraft.v1_8.internal.PlatformRuntime;
~ import net.lax1dude.eaglercraft.v1_8.log4j.LogManager;
~ import net.lax1dude.eaglercraft.v1_8.log4j.Logger;
~ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerFolderResourcePack;
~ import net.lax1dude.eaglercraft.v1_8.minecraft.EaglerFontRenderer;
~ import net.lax1dude.eaglercraft.v1_8.opengl.EaglerMeshLoader;
~ import net.lax1dude.eaglercraft.v1_8.opengl.EaglercraftGPU;
~ import net.lax1dude.eaglercraft.v1_8.opengl.GlStateManager;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ImageData;
~ import net.lax1dude.eaglercraft.v1_8.opengl.WorldRenderer;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ext.deferred.BlockVertexIDs;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ext.deferred.DebugFramebufferView;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ext.deferred.EaglerDeferredPipeline;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ext.deferred.ShaderPackInfoReloadListener;
~ import net.lax1dude.eaglercraft.v1_8.opengl.ext.deferred.program.Sha


withCommonButtonStyle(
      appColorScheme: appColorScheme,
      normalButtonTextColor: normalButtonTextColor,
    ).copyWith(
      foregroundColor: WidgetStateProperty.resolveWith((states) {
        return foregroundColor?.resolve(states) ??
            appColorScheme.onPrimary.withOpacity(0.38);
      }),
      side: WidgetStateProperty.resolveWith((states) {
        return BorderSide(
          width: 1.0,
          color: foregroundColor?.resolve(states) ??
              appColorScheme.onPrimary.withOpacity(0.38),
        );
      }),
    );
  }

  ButtonStyle withCommonTextButtonStyle({
    required ColorScheme appColorScheme,
    Color? normalButtonTextColor,
  }) {
    return withCommonButtonStyle(
      appColorScheme: appColorScheme,
      normalButtonTextColor: normalButtonTextColor,
    ).copyWith(
      foregroundColor: WidgetStateProperty.resolveWith((states) {
        return foregroundColor?.resolve(states) ??
            appColorScheme.onPrimary.withOpacity(0.38);
      }),
    );
  }
}
import 'dart:io';

import 'package:gin_vue_admin_web/exports.dart';
import 'package:retrofit/retrofit.dart';

import '../remote/app_dio.dart';

part 'user_data_source.g.dart';

final userSourceProvider = Provider((ref) => UserDataSource(ref));

///http://106.38.204.135/ef-api/api/news?limit=1&page=1&type=0
@RestApi()
abstract class UserDataSource {
  factory UserDataSource(Ref ref) => _UserDataSource(ref.read(dioProvider));

  @POST('logReg/captcha')
  Future<ResponseBodyMt> captcha({@CancelRequest() CancelToken? cancelToken});

  @POST('logReg/login')
  Future<ResponseBodyMt> login(@Body() Map<String, dynamic> loginInfo,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/addUser')
  Future<ResponseBodyMt> addUser(@Body() Map<String, dynamic> registerInfo,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/changePassword')
  Future<ResponseBodyMt> changePassword(
      @Body() Map<String, dynamic> passwordInfo,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/getUsers')
  Future<ResponseBodyMt> getUserList(@Body() Map<String, dynamic> pageInfo,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/editUser')
  Future<ResponseBodyMt> editUser(@Body() Map<String, dynamic> userAuthority,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/deleteUser')
  Future<ResponseBodyMt> deleteUser(@Body() Map<String, dynamic> userData,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/switchActive')
  Future<ResponseBodyMt> switchActive(@Body() Map<String, dynamic> userInfo,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/modifyPass')
  Future<ResponseBodyMt> modifyPass(@Body() Map<String, dynamic> userInfo,
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/setUserAuthorities')
  Future<ResponseBodyMt> setUserAuthorities(
      @Body() Map<String, dynamic> userAuthorities,
      {@CancelRequest() CancelToken? cancelToken});

  @GET('user/getUserInfo')
  Future<ResponseBodyMt> getUserInfo(
      {@CancelRequest() CancelToken? cancelToken});

  @POST('user/resetPassword')
  Future<ResponseBodyMt> resetPassword(
      @Body() Map<String, dynamic> passwordInfo,
      {@CancelRequest() CancelToken? cancelToken});
}
// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'system_data_source.dart';

// **************************************************************************
// RetrofitGenerator
// **************************************************************************

// ignore_for_file: unnecessary_brace_in_string_interps,no_leading_underscores_for


ignored-bg: #023b95;
    --color-prettylights-syntax-meta-diff-range: #622cbc;
    --color-prettylights-syntax-sublimelinter-gutter-mark: #88929d;
    --shadow-inset: inset 0px 1px 0px 0px #0104090a;
    --shadow-resting-xsmall: 0px 1px 0px 0px #0104091a;
    --shadow-resting-small: 0px 1px 0px 0px #0104090a;
    --shadow-resting-medium: 0px 3px 6px 0px #343b431f;
    --shadow-floating-small: 0px 0px 0px 1px #88929d80, 0px 6px 12px -3px #343b430a, 0px 6px 18px 0px #343b431f;
    --shadow-floating-medium: 0px 0px 0px 1px #88929d, 0px 8px 16px -4px #343b4314, 0px 4px 32px -4px #343b4314, 0px 24px 48px -12px #343b4314, 0px 48px 96px -24px #343b4314;
    --shadow-floating-large: 0px 0px 0px 1px #88929d, 0px 40px 80px 0px #343b433d;
    --shadow-floating-xlarge: 0px 0px 0px 1px #88929d, 0px 56px 112px 0px #343b4352;
    --shadow-floating-legacy: 0px 6px 12px -3px #343b430a, 0px 6px 18px 0px #343b431f;
  }
}

/*# sourceMappingURL=light_high_contrast-d0e839a9ffb8.css.map*/
    [data-color-mode="light"][data-light-theme="light_tritanopia"],
[data-color-mode="light"][data-light-theme="light_tritanopia"] ::backdrop,
[data-color-mode="auto"][data-light-theme="light_tritanopia"],
[data-color-mode="auto"][data-light-theme="light_tritanopia"] ::backdrop {
  --topicTag-borderColor: #ffffff00;
  --highlight-neutral-bgColor: #fff8c5;
  --page-header-bgColor: #f6f8fa;
  --diffBlob-addition-fgColor-text: #1f2328;
  --diffBlob-addition-fgColor-num: #1f2328;
  --diffBlob-addition-bgColor-num: #d5f1ff;
  --diffBlob-addition-bgColor-line: #ddf4ff;
  --diffBlob-addition-bgColor-word: #b6e3ff;
  --diffBlob-deletion-fgColor-text: #1f2328;
  --diffBlob-deletion-fgColor-num: #1f2328;
  --diffBlob-deletion-bgColor-num: #ffcecb;
  --diffBlob-deletion-bgColor-line: #ffebe9;
  --diffBlob-deletion-bgColor-word: #ff818266;
  --diffBlob-hunk-bgColor-num: #54aeff66;
  --diffBlob-expander-iconColor: #636c76;
  --codeMirror-fgColor: #1f2328;
  --codeMirror-bgColor: #ffffff;
  --codeMirror-gutters-bgColor: #ffffff;
  --codeMirror-gutterMarker-fgColor-default: #ffffff;
  --codeMirror-gutterMarker-fgColor-muted: #636c76;
  --codeMirror-lineNumber-fgColor: #636c76;
  --codeMirror-cursor-fgColor: #1f2328;
  --codeMirror-selection-bgColor: #54aeff66;
  --codeMirror-activeline-bgColor: #afb8c133;
  --codeMirror-matchingBracket-fgColor: #1f2328


app>
  {% if (o.webpackConfig.metadata.ENV === 'development') { %}

  {% } %}

  {% for (var chunk in o.htmlWebpackPlugin.files.chunks) { %}

  {% } %}

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

		<meta http-equiv="content-type" content="text/html; charset=utf-8"><title>Preferences</title>

		<link rel="stylesheet" type="text/css" href="../main.css" media="all">

 Preferenze

				Generale
				Descrizione

				Sfondo
				Il colore e il tema mostrato dietro le immagini.

				Schermo pieno su

				Il monitor da usare in modalità a schermo pieno.

				Oscura altri schermi

				Oscura gli altri monitori in modalità a schermo pieno.

				Antialias in ingrandimento

				Ripulisce le immagini quando vengono ingrandite. Le immagini vengono sempre ripulite quando vengono rimpicciolite.

				Il tasto Esc

				Il comportamento del tasto Esc.

				Navigazione
				Descrizione

				Il clic primario del mouse va

				Determina il comportamento dei clic del mouse primari e
secondari. “pagina successiva” può essere sinistra o destra a seconda
della direzione di lettura, mentre “sinistra” o “destra” può essere la
pagina precedente o successiva.

				Andando indietro iniziare a

				Con quale angolo dell'immagine iniziare quando ci si sposta verso l'immagine precedente.

				Profondità massima

				Il numero di livelli di sott


const& tieOffValue, QString parsedTieOff,
        QString formattedTieOff, int tieOffBase) const;

    //-----------------------------------------------------------------------------
    // Data.
    //-----------------------------------------------------------------------------

    //! The design diagram containing the related ad hoc port item.
    HWDesignDiagram* containingDiagram_;

    //! The old value for the tie off.
    QString oldTieOff_;

    //! Parsed value of the old tie off.
    QString parsedOldTieOff_;

    //! Old tie off with the referenced parameter UUIDs changed to parameter names.
    QString formattedOldTieOff_;

    //! The base number of the old tie off.
    int oldBase_;

    //! A new value for tie off.
    QString newTieOff_;

    //! Parsed value of the new tie off.
    QString parsedNewTieOff_;

    //! New tie off with the referenced parameter UUIDs changed to parameter names.
    QString formattedNewTieOff_;

    //! The base number of the new tie off.
    int newBase_;

    //! Formats values to the base number of the expression.
    ValueFormatter valueFormatter_;
};

#endif // ADHOCTIEOFFCHANGECOMMAND_H


tadataExt for Metadata {
    #[inline]
    fn file_attributes(&self) -> u32 {
        self.ext.file_attributes()
    }

    #[inline]
    fn creation_time(&self) -> u64 {
        self.ext.creation_time()
    }

    #[inline]
    fn last_access_time(&self) -> u64 {
        self.ext.last_access_time()
    }

    #[inline]
    fn last_write_time(&self) -> u64 {
        self.ext.last_write_time()
    }

    #[inline]
    fn file_size(&self) -> u64 {
        self.ext.file_size()
    }

    #[inline]
    fn volume_serial_number(&self) -> Option<u32> {
        self.ext.volume_serial_number()
    }

    #[inline]
    fn number_of_links(&self) -> Option<u32> {
        self.ext.number_of_links()
    }

    #[inline]
    fn file_index(&self) -> Option<u64> {
        self.ext.file_index()
    }
}

/// Extension trait to allow `volume_serial_number` etc. to be exposed by
/// the `cap-fs-ext` crate.
///
/// This is hidden from the main API since this functionality isn't present in `std`.
/// Use `cap_fs_ext::MetadataExt` instead of calling this directly.
#[cfg(windows)]
#[doc(hidden)]
pub trait _WindowsByHandle {
    fn file_attributes(&self) -> u32;
    fn volume_serial_number(&self) -> Option<u32>;
    fn number_of_links(&self) -> Option<u32>;
    fn file_index(&self) -> Option<u64>;
}
//! 一些可能用到，而又不好找库的数据结构
//!
//! 以及有多种实现，会留作业的数据结构
#![no_std]
#![feature(drain_filter)]

extern crate alloc;

mod allocator;
mod scheduler;

pub use allocator::*;
pub use scheduler::*;
//! Lowest level crate of `rafx`. Includes some basic memory management and other utilities

mod decimal;
pub use decimal::DecimalF32;
pub use decimal::DecimalF64;

pub mod slab;

pub mod memory;

pub mod offsetof;

pub mod resource_map;
pub mod resource_ref_map;

pub mod trust_cell;

pub mod atomic_once_cell;
pub mod atomic_once_cell_array;
pub mod atomic_once_cell_stack;

pub mod owned_pool;

pub use instant::Instant;
<reponame>fossabot/RusTiny
fn main() {
    let a: int = 0;

    a = 'a';  //! ERROR(4:9): type mismatch: expected int, got char
}<filename>src/preprocessor.rs
use std::{collections::{HashMap, hash_map::Entry}, io::Error};

pub const TOK_INCLUDE: &str = "%include";
pub const TOK_DEFINE: &str = "%define";

#[derive(Debug)]
pub enum PreprocessingError {
    FailedInclude {
        name: String,
        inner: Error,
    },
    DuplicateDefine {
        name: String,
        original_value: String,
        new_value: String,
    },
    EmptyDefine,
    DefineWithoutValue(String),
}

/// Scan through the input string looking for a line starting with some
/// directive, using a callback to figure out what to replace the directive line
/// with.
fn process_directive_line<F>(


import pygame
import sys

pygame.init()

# Initialisiere das Pygame-Fenster
screen_size = (800, 600)
screen = pygame.display.set_mode(screen_size)
pygame.display.set_caption("Hauptfenster")

# Initialisiere das Einstellungsfenster
settings_screen_size = (400, 300)
settings_screen = pygame.Surface(settings_screen_size)
settings_screen.fill((200, 200, 200))  # Hintergrundfarbe des Einstellungsfensters

# Schaltflächen für Einstellungen
button_width, button_height = 100, 40
button_x, button_y = (settings_screen_size[0] - button_width) // 2, 50

button_font = pygame.font.Font(None, 36)
button_text_color = (0, 0, 0)
button_hover_color = (100, 100, 100)
button_normal_color = (150, 150, 150)

buttons = [
    {"text": "Option 1", "rect": pygame.Rect(button_x, button_y, button_width, button_height)},
    {"text": "Option 2", "rect": pygame.Rect(button_x, button_y + 60, button_width, button_height)},
]

def draw_buttons():
    for button in buttons:
        pygame.draw.rect(settings_screen, button_normal_color, button["rect"])
        pygame.draw.rect(settings_screen, button_text_color, button["rect"], 2)

        text_surface = button_font.render(button["text"], True, button_text_color)
        text_rect = text_surface.get_rect(center=button["rect"].center)
        settings_screen.blit(text_surface, text_rect)

def handle_button_click(mouse_pos):
    for button in buttons:
        if button["rect"].collidepoint(mouse_pos):
            print(f"Button '{button['text']}' wurde geklickt!")

clock = pygame.time.Clock()

running = True
while running:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            if event.button == 1:
                mouse_pos = pygame.mouse.get_pos()
                handle_button_click(mouse_pos)

    # Zeichne den Inhalt des Einstellungsfensters auf den Hauptbildschirm
    screen.blit(settings_screen, ((screen_size[0] - settings_screen_size[0]) // 2, (screen_size[1] - settings_screen_size[1]) // 2))

    draw_buttons()

    pygame.display.flip()
    clock.tick(60)

pygame.quit()
sys.exit()


(true) === true');
}

//CHECK#5
if (true >= new String("1") !== true) {
  $ERROR('#5: true >= new String("1") === true');
}

//CHECK#6
if (new String("1") >= true !== true) {
  $ERROR('#6: new String("1") >= true === true');
}

//CHECK#7
if (new Boolean(true) >= new String("1") !== true) {
  $ERROR('#7: new Boolean(true) >= new String("1") === true');
}

//CHECK#8
if (new String("1") >= new Boolean(true) !== true) {
  $ERROR('#8: new String("1") >= new Boolean(true) === true');
}
// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/**
* @name: S12.2_A1;
* @section: 12.2;
* @assertion: Variables are created when the program is entered. Variables are initialised to "undefined"
* when created. A variable with an Initialiser is assigned the value of its AssignmentExpression when the
* VariableStatement is executed, not when the variable is created;
* @description: Creating variables after entering the execution scope;
*/

//////////////////////////////////////////////////////////////////////////////
//CHECK#1
try {
	__x = __x;
    __y = __x ? "good fellow" : "liar"; // __y assigned to "liar" since __x undefined
    __z = __z === __x ? 1 : 0; // __z assigned to 1 since both __x and __z are undefined
} catch (e) {
	$ERROR('#1: Using declarated variable before it declaration is admitted');
}
//
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
//CHECK#2
try{
    __something__undefined = __something__undefined;
    $ERROR('#2: "__something__undefined = __something__undefined" lead to throwing exception');
} catch(e){
    $PRINT(e.message);
}
//
//////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////
//CHECK#3
if ((__y !== "liar")&(__z !== 1)) {
	$ERROR('#3: (__y === "liar") and (__z === 1). Actual:  __y ==='+__y+' and __z ==='+__z  );
}
//
//////////////////////////////////////////////////////////////////////////////

var __x, __y = true, __z = __y ? "smeagol" : "golum";

//////////////////////////////////////////////////////////////////////////////
//CHECK#4
if (!__y&!(__z = "smeagol")) {
	$ERROR('#4: A variable with an Initialiser is assigned the value of its AssignmentExpression when the VariableStatement is executed');
}
//
//////////////////////////////////////////////////////////////////////////////
// Copyright 2009 the Sputnik authors.  All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.

/**
 * @name: S12.14_A11_T4;
 * @section: 12.14;
 * @assertion: Using "try"


pos_x;
            msg.pos_y = pos_y;
            msg.pos_z = pos_z;
            msg.vel_x = vel_x;
            msg.vel_y = vel_y;
            msg.vel_z = vel_z;
            msg.acc_x = acc_x;
            msg.acc_y = acc_y;
            msg.acc_z = acc_z;
            msg.pos_yaw = pos_yaw;
            msg.vel_yaw = vel_yaw;
            msg.command = command;

            return msg;
        }

        /// <summary>Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.  [us] </summary>
        [Units("[us]")]
        [Description("Timestamp (UNIX Epoch time or time since system boot). The receiving end can infer timestamp format (since 1.1.1970 or since system boot) by checking for the magnitude of the number.")]
        //[FieldOffset(0)]
        public  ulong time_usec;

        /// <summary>X-coordinate of waypoint, set to NaN if not being used  [m] </summary>
        [Units("[m]")]
        [Description("X-coordinate of waypoint, set to NaN if not being used")]
        //[FieldOffset(8)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] pos_x;

        /// <summary>Y-coordinate of waypoint, set to NaN if not being used  [m] </summary>
        [Units("[m]")]
        [Description("Y-coordinate of waypoint, set to NaN if not being used")]
        //[FieldOffset(28)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] pos_y;

        /// <summary>Z-coordinate of waypoint, set to NaN if not being used  [m] </summary>
        [Units("[m]")]
        [Description("Z-coordinate of waypoint, set to NaN if not being used")]
        //[FieldOffset(48)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] pos_z;

        /// <summary>X-velocity of waypoint, set to NaN if not being used  [m/s] </summary>
        [Units("[m/s]")]
        [Description("X-velocity of waypoint, set to NaN if not being used")]
        //[FieldOffset(68)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] vel_x;

        /// <summary>Y-velocity of waypoint, set to NaN if not being used  [m/s] </summary>
        [Units("[m/s]")]
        [Description("Y-velocity of waypoint, set to NaN if not being used")]
        //[FieldOffset(88)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] vel_y;

        /// <summary>Z-velocity of waypoint, set to NaN if not being used  [m/s] </summary>
        [Units("[m/s]")]
        [Description("Z-velocity of waypoint, set to NaN if not being used")]
        //[FieldOffset(108)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] vel_z;

        /// <summary>X-acceleration of waypoint, set to NaN if not being used  [m/s/s] </summary>
        [Units("[m/s/s]")]
        [Description("X-acceleration of waypoint, set to NaN if not being used")]
        //[FieldOffset(128)]
        [MarshalAs(UnmanagedType.ByValArray,SizeConst=5)]
		public float[] acc_x;

        /// <summary>Y-acceleration of waypoint, set to NaN if not being used  [m/s/s] </summary>
        [Units("[m/s/s]")]


stof (wstring_ref str, size_t* idx=0) {
        return std::stof ( std::wstring(str), idx );
        }

    inline double stod (wstring_ref str, size_t* idx=0) {
        return std::stod ( std::wstring(str), idx );
        }

    inline long double stold (wstring_ref str, size_t* idx=0) {
        return std::stold ( std::wstring(str), idx );
        }
#endif

}

#if 0
namespace std {
    // Hashing
    template<> struct hash<boost::string_ref>;
    template<> struct hash<boost::u16string_ref>;
    template<> struct hash<boost::u32string_ref>;
    template<> struct hash<boost::wstring_ref>;
}
#endif

#endif
/* $Id$ */
# ifndef CPPAD_AD_CTOR_INCLUDED
# define CPPAD_AD_CTOR_INCLUDED

/* --------------------------------------------------------------------------
CppAD: C++ Algorithmic Differentiation: Copyright (C) 2003-15 Bradley M. Bell

CppAD is distributed under multiple licenses. This distribution is under
the terms of the
                    Eclipse Public License Version 1.0.

A copy of this license is included in the COPYING file of this distribution.
Please visit http://www.coin-or.org/CppAD/ for information on other licenses.
-------------------------------------------------------------------------- */

/*
------------------------------------------------------------------------------

$begin ad_ctor$$
$spell
	cppad
	ctor
	initializes
	Vec
	const
$$

$index AD, constructor$$
$index constructor, AD$$
$index convert, to AD$$
$index Base, convert to AD$$
$index VecAD, convert to AD$$

$section AD Constructors $$

$head Syntax$$
$codei%AD<%Base%> %y%()
%$$
$codei%AD<%Base%> %y%(%x%)
%$$

$head Purpose$$
creates a new $codei%AD<%Base%>%$$ object $icode y$$
and initializes its value as equal to $icode x$$.

$head x$$

$subhead implicit$$
There is an implicit constructor where $icode x$$ has one of the following
prototypes:
$codei%
	const %Base%&        %x%
	const VecAD<%Base%>& %x%
%$$

$subhead explicit$$
There is an explicit constructor where $icode x$$ has prototype
$codei%
	const %Type%&        %x%
%$$
for any type that has an explicit constructor of the form
$icode%Base%(%x%)%$$.

$subhead deprecated$$
$index deprecated, constructor$$
$index constructor, deprecated$$
If you set
$cref/cppad_implicit_ctor_from_any_type
	/cmake
	/cppad_implicit_ctor_from_any_type
/$$
to be $code YES$$ during the install procedure,
you will get an implicit constructor with prototype
$codei%
	const %Type%&        %x%
%$$
for any type that has an explicit constructor of the form
$icode%Base%(%x%)%$$.

$head y$$
The target $icode y$$ has prototype
$codei%
	AD<%Base%> %y%
%$$

$head Example$$
$children%
	example/ad_ctor.cpp
%$$
The files $cref ad_ctor.cpp$$ contain examples and tests of these operations.
It test returns true if it succeeds and false otherwise.

$end
------------------------------------------------------------------------------
*/

namespace CppAD { // BEGIN_CPPAD_NAMESPACE

/*!
\file ad_ctor.hpp
AD<Base> constructors and and copy operations.
*/

/*!
\page AD_default_ctor
Use default copy constructor
because they may be optimized better than the code below:
\code
template <class Base>
inline AD<Base>::AD(const AD &x)
{
	value_    = x.value_;
	tape_id_  = x.tape_id_;
	taddr_    = x.taddr_;

	return;
}
\endcode
*/

/*!
Default Constructor.

\tparam Base
Base type


fill-color-8: #1c1d1f;--el-empty-fill-color-9: #18181a}.course-detail-dialog[data-v-a72d946a] .el-dialog{border-radius:12px;overflow:hidden;box-shadow:0 20px 60px #0000001a,0 6px 12px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.course-detail-dialog[data-v-a72d946a] .el-dialog .el-dialog__header{padding:16px 24px;border-bottom:1px solid rgba(0,0,0,.05);background:linear-gradient(135deg,rgba(var(--el-color-primary-rgb),.03),rgba(var(--el-color-primary-rgb),.01))}.course-detail-dialog[data-v-a72d946a] .el-dialog .el-dialog__header .el-dialog__title{font-size:18px;font-weight:600;color:#1d1d1f;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif}.course-detail-dialog[data-v-a72d946a] .el-dialog .el-dialog__body{padding:0}.course-detail-dialog[data-v-a72d946a] .el-dialog .el-dialog__footer{padding:16px 24px;border-top:1px solid rgba(0,0,0,.05)}.course-detail-container[data-v-a72d946a]{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;color:#1d1d1f}.course-detail-container .course-header[data-v-a72d946a]{display:flex;justify-content:flex-end;padding:16px 24px 0}.course-detail-container .course-header .course-status .status-badge[data-v-a72d946a]{display:inline-flex;align-items:center;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600}.course-detail-container .course-header .course-status .status-badge[data-v-a72d946a]:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.course-detail-container .course-header .course-status .status-badge.status-upcoming[data-v-a72d946a]{background-color:#ff95001a;color:#ff9500}.course-detail-container .course-header .course-status .status-badge.status-upcoming[data-v-a72d946a]:before{background-color:#ff9500;animation:pulse-a72d946a 1.5s infinite}.course-detail-container .course-header .course-status .status-badge.status-ongoing[data-v-a72d946a]{background-color:#34c7591a;color:#34c759}.course-detail-container .course-header .course-status .status-badge.status-ongoing[data-v-a72d946a]:before{background-color:#34c759}.course-detail-container .course-header .course-status .status-badge.status-ended[data-v-a72d946a],.course-detail-container .course-header .course-status .status-badge.status-unknown[data-v-a72d946a]{background-color:#8e8e931a;color:#8e8e93}.course-detail-container .course-header .course-status .status-badge.status-ended[data-v-a72d946a]:before,.course-detail-container .course-header .course-status .status-badge.status-unknown[data-v-a72d946a]:before{background-color:#8e8e93}.course-detail-container .course-info-section[data-v-a72d946a]{padding


inesDebugVersion: String,
    ): Path {
        val path = targetDir.resolve(fileName)

        val wrapperText = javaClass.classLoader.getResourceAsStream(resourceName)!!
            .use { it.readAllBytes() }
            .decodeToString()

        substituteTemplatePlaceholders(
            input = wrapperText,
            outputFile = path,
            replacementRules = listOf(
                "@AMPER_VERSION@" to amperVersion,
                "@AMPER_DIST_TGZ_SHA256@" to amperDistTgzSha256,
                "@COROUTINES_DEBUG_VERSION@" to coroutinesDebugVersion,
            ),
        )

        if (executable) {
            val rc = path.toFile().setExecutable(true)
            check(rc) {
                "Unable to make file executable: $rc"
            }
        }
        return path
    }
}
/*
 * Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
 */

package org.jetbrains.amper.frontend

import org.jetbrains.amper.frontend.Platform.Companion.naturalHierarchy
import org.jetbrains.amper.frontend.api.EnumValueFilter
import org.jetbrains.amper.frontend.api.TraceableEnum

/**
 * Enum, that describes the concrete platform the sources are built for.
 *
 * [parent] — Parent of the platform in natural KMP hierarchy.
 * [isLeaf] — Helper flag to indicate that the platform is a leaf in the hierarchy.
 */
@EnumValueFilter("isLeaf")
enum class Platform(
    override val parent: Platform? = null,
    override val isLeaf: Boolean = false,
    override val outdated: Boolean = false
) : SchemaEnum, Context {
    COMMON,

    JVM(COMMON, isLeaf = true),
    ANDROID(COMMON, isLeaf = true),

    WEB(COMMON),
    JS(WEB, isLeaf = true),
    WASM_JS(WEB, isLeaf = true),

    WASM_WASI(COMMON, isLeaf = true),

    NATIVE(COMMON),

    LINUX(NATIVE),
    LINUX_X64(LINUX, isLeaf = true),
    LINUX_ARM64(LINUX, isLeaf = true),

    APPLE(NATIVE),

    TVOS(APPLE),
    TVOS_ARM64(TVOS, isLeaf = true),
    TVOS_X64(TVOS, isLeaf = true),
    TVOS_SIMULATOR_ARM64(TVOS, isLeaf = true),

    MACOS(APPLE),
    MACOS_X64(MACOS, isLeaf = true),
    MACOS_ARM64(MACOS, isLeaf = true),

    IOS(APPLE),
    IOS_ARM64(IOS, isLeaf = true),
    IOS_SIMULATOR_ARM64(IOS, isLeaf = true),
    IOS_X64(IOS, isLeaf = true),

    WATCHOS(APPLE),
    WATCHOS_ARM64(WATCHOS, isLeaf = true),
    WATCHOS_ARM32(WATCHOS, isLeaf = true),
    WATCHOS_DEVICE_ARM64(WATCHOS, isLeaf = true),
    WATCHOS_SIMULATOR_ARM64(WATCHOS, isLeaf = true),

    MINGW(NATIVE),
    MINGW_X64(MINGW, isLeaf = true),

    ANDROID_NATIVE(NATIVE),
    ANDROID_NATIVE_ARM32(ANDROID_NATIVE, isLeaf = true),
    ANDROID_NATIVE_ARM64(ANDROID_NATIVE, isLeaf = true),
    ANDROID_NATIVE_X64(ANDROID_NATIVE, isLeaf = true),
    ANDROID_NATIVE_X86(ANDROID_NATIVE, isLeaf = true),;

    // TODO Copy pasted. Check why NoSuchMethodError arises when using outer method.
    private val prettyRegex = "_.".toRegex()
    private fun String.doCamelCase() = this.lowercase().replace(prettyRegex) { it.value.removePrefix("_").uppercase() }
    override val pretty get() = name.doCamelCase()

    override val schemaValu


"""APScheduler task that aggregates nightly stat lines into weekly team scores.

It is registered by ``app.main`` alongside the ingest job so that the full
pipeline runs automatically every night once the stat lines have been pulled.

Story Reference: FANTASY-4C – Cron Trigger (nightly recompute).
"""
from __future__ import annotations

import datetime as dt

from app.services.scoring import update_weekly_team_scores

async def run_engine() -> None:  # noqa: D401
    """Coroutine wrapper so APScheduler can run function in async context."""
    target_date = (dt.datetime.utcnow() - dt.timedelta(days=1)).date()
    update_weekly_team_scores(target_date)


ures.getGaianNodes'"

//		+ ";" // Example Table Function equivalent of a GaianTable VTI call against LT0 (with limitations)
//		+ "!DROP FUNCTION LT0;!CREATE FUNCTION LT0(TABNAME "+XSTR+") RETURNS TABLE(LOCATION "+TSTR+", NUMBER INTEGER, MISC "+TSTR+", BF2_PLAYER INTEGER)"
//		+ " PARAMETER STYLE DERBY_JDBC_RESULT_SET LANGUAGE JAVA NOT DETERMINISTIC READS SQL DATA EXTERNAL NAME 'com.ibm.db2j.GaianTable.queryGaianTable'"

		+ ";" // Procedure to get the last N lines from the log files of a set of GaianDB nodes
		+ "!DROP PROCEDURE LOGTAIL;!CREATE PROCEDURE LOGTAIL(NODELIST "+XSTR+", NUMLINES INT)"
		+ " PARAMETER STYLE JAVA LANGUAGE JAVA READS SQL DATA DYNAMIC RESULT SETS 1"
		+ " EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.logTail'"

//		+ ";"
//		+ "!DROP PROCEDURE "+setuser+";!CREATE PROCEDURE"
//		+ " "+setuser+"(usr "+XSTR+", affiliation "+XSTR+", clearance "+XSTR+", pwd "+XSTR+")"
//		+ " PARAMETER STYLE JAVA LANGUAGE JAVA NO SQL EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.setUser'"
//		+ ";"
//		+ "!DROP PROCEDURE "+removeuser+";!CREATE PROCEDURE "+removeuser+"(usr "+XSTR+")"
//		+ " PARAMETER STYLE JAVA LANGUAGE JAVA NO SQL EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.removeUser'"
//		+ ";" // Function that gets the current public key for this server
//		+ "!DROP FUNCTION "+gpublickey+";!CREATE FUNCTION "+gpublickey+"() RETURNS VARCHAR(1024) FOR BIT DATA PARAMETER STYLE JAVA LANGUAGE JAVA NO SQL"
//		+ " EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.getPublicKey'"

		+ ";"
		+ "!DROP PROCEDURE "+addgateway+";!CREATE PROCEDURE "+addgateway+"(ipaddress "+XSTR+")"
		+ " PARAMETER STYLE JAVA LANGUAGE JAVA NO SQL EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.addGateway'"
		+ ";"
		+ "!DROP PROCEDURE "+removegateway+";!CREATE PROCEDURE "+removegateway+"(ipaddress "+XSTR+")"
		+ " PARAMETER STYLE JAVA LANGUAGE JAVA NO SQL EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.removeGateway'"

		+ ";"
		+ "!DROP PROCEDURE "+setrdbc+";!CREATE PROCEDURE"
		+ " "+setrdbc+"(connectionID "+XSTR+", driver "+XSTR+", url "+XSTR+", usr "+XSTR+", pwd "+XSTR+")"
		+ " PARAMETER STYLE JAVA LANGUAGE JAVA NO SQL EXTERNAL NAME 'com.ibm.gaiandb.GaianDBConfigProcedures.setRDBConnection'"
		+ ";"
		+ "!DROP PROCEDURE "+setlt+";!CREATE PROCEDURE "+setlt+"(LTNAME "+XSTR+", DEFINITION "+XSTR+", CONSTANTS "+XSTR+")"
		+ " PARAMETER STYLE JAVA LANGUAGE JAVA MODIFIES SQL DATA"
		+ " EXTERNAL NAME 'com.ibm.g


   o = self.offset
            draw_line(s, (255, 255, 0), (look_ahead, o), (look_ahead, 9.4 * LANE_W))
            draw_line(s, (255, 255, 0), (sw - 1.75 * look_ahead, o), (sw - 1.75 * look_ahead, bottom))
            draw_line(s, (255, 255, 0), (sw - 0.75 * look_ahead, o), (sw - 0.75 * look_ahead, bottom), 5)

        if mode == 'machine':
            s = surface  # screen
            draw_line = pygame.draw.line  # shortcut
            w = colours['r']  # colour white
            sw = self.screen_size[0]  # screen width
            m = offset

            for lane in lanes:
                draw_line(s, w, (0, lane['min'] + m), (sw + 2 * m, lane['min'] + m), 1)

            draw_line(s, w, (0, lanes[-1]['max'] + m), (sw + 2 * m, lanes[-1]['max'] + m), 1)
            bottom = lanes[-1]['max'] + m
            draw_line(s, w, (0, bottom), (28 * LANE_W, bottom), 1)
            draw_line(s, w, (28 * LANE_W, bottom), (86 * LANE_W, bottom), 1)
            draw_line(s, w, (86 * LANE_W, bottom), (sw, bottom), 1)
            draw_line(s, w, (22 * LANE_W, bottom + LANE_W), (90 * LANE_W, bottom + LANE_W), 1)

            # Tilted lanes and lines
            x0, x1, y = 0 * LANE_W, 20 * LANE_W, bottom + 35
            draw_line(s, w, (x0, y), (x1, y - slope * (x1 - x0)), 1)
            x0, x1, y = 15 * LANE_W, 22 * LANE_W, bottom + 35
            draw_line(s, w, (x0, y), (x1, y - slope * (x1 - x0)), 1)
            x0, x1, y = 92 * LANE_W, 112 * LANE_W, bottom
            draw_line(s, w, (x0, y), (x1, y + slope * (x1 - x0)), 1)
            x0, x1, y = 90 * LANE_W, 97 * LANE_W, bottom + LANE_W
            draw_line(s, w, (x0, y), (x1, y + slope * (x1 - x0)), 1)

            self._lane_surfaces[mode] = surface.copy()
            # pygame.image.save(surface, "us101-machine.png")


� 가능 연령기준을 확인해 주세요",description:(0,eL.jsx)("div",{className:"whitespace-pre-wrap",children:(0,eL.jsxs)("p",{children:["ChatGPT를 이용해주셔서 감사합니다. 대한민국의 법령상 요건을 준수하기 위해, OpenAI는 귀하가 OpenAI 서비스를 이용할 수 있는 나이인지 확인하여야 합니다. ChatGPT를 계속 이용하시려면, 귀하가 18세 이상이거나, 14세 이상이고 부모 또는 보호자의 허락을 받았음을 확인해 주세요.",(0,eL.jsx)("br",{}),(0,eL.jsx)("br",{}),"OpenAI의 연령기준 미달시"," ",(0,eL.jsx)("a",{href:"https://privacy.openai.com/policies?action=ERASURE&modal=log-in",className:"underline",target:"_blank",rel:"noreferrer",children:"이 페이지에서 계정을 삭제해 주세요."})]})}),actionButton:(0,eL.jsx)(t5.z,{color:"primary",onClick:(0,eV.Z)(e$().mark(function Y(){return e$().wrap(function(Y){for(;;)switch(Y.prev=Y.next){case 0:return Y.next=2,eG.ZP.updateAgeVerification();case 2:et();case 3:case"end":return Y.stop()}},Y)})),children:"저는 OpenAI의 연령기준을 충족합니다"}),cancelButton:(0,eL.jsx)(t5.z,{as:"link",color:"neutral",to:"/auth/logout",children:"로그아웃"})})},ni=function(Y){var et=Y.onClose,en=Y.ageVerificationDeadline,ei=null!=en?Math.floor(en/60/60/24):0;return(0,eS.useEffect)(function(){tk.m9.logEvent("chatgpt_compliance_age_verification_seen"),eN.A.logEvent(eI.M.complianceAgeVerificationSeen)},[]),(0,eL.jsxs)(t4.Z,{children:[(0,eL.jsx)(tg.Dx,{className:"text-sm font-medium [grid-area:_title]",children:(0,eL.jsx)(e0.Z,t6(t6({},na.ageVerificationTitle),{},{values:{deadline:ei,learnMoreLink:function(Y){return(0,eL.jsx)("a",{href:"https://help.openai.com/en/articles/8411987-why-am-i-being-asked-to-verify-my-age",target:"_blank",rel:"noreferrer",className:"cursor-pointer font-normal underline",children:Y})}}}))}),(0,eL.jsx)(tg.aU,{altText:"Dismiss notification",asChild:!0,children:(0,eL.jsx)(t5.z,{color:"primary",size:"small",onClick:function(){tk.m9.logEvent("chatgpt_compliance_age_verification_clicked"),eN.A.logEvent(eI.M.complianceAgeVerificationClicked),tv.bX.setCookie(tv.cn.AgeVerification,"true",{maxAge:t7,path:"/"}),et(),ek.vm.openModal(ek.B.AgeVerificationInterstitial)},children:(0,eL.jsx)(e0.Z,t6({},na.startVerification))})}),(0,eL.jsx)(tg.x8,{})]})},na=(0,eR.vU)({ageVerificationTitle:{id:"ageVerificationBanner.title-v1",defaultMessage:"Please verify your age in the next {deadline, plural, =0 {# days} one {# day} other {# days}}. We are required to check if you're old enough to use ChatGPT. <learnMoreLink>Learn more</learnMoreLink>."},dismiss:{id:"ageVerificationBanner.dismiss",defaultMe


)

- [图片](54-图片.md)
- [视频和音频内容](55-视频和音频内容.md)
- [对象和iframe](56-对象和iframe.md)
- [矢量图](57-矢量图.md)
- [响应式图片](58-响应式图片.md)

- [表格](59-表格.md)
- [表格进阶](60-表格进阶.md)

### CSS

- [什么是CSS](61-什么是CSS.md)
- [如何构建CSS](62-如何构建CSS.md)
- [CSS如何运行](63-CSS如何运行.md)
- [层叠与继承](64-层叠与继承.md)
- [CSS选择器](65-CSS选择器.md)
- [盒模型](66-盒模型.md)
- [背景与边框](67-背景与边框.md)
- [内容溢出](68-内容溢出.md)
- [值和单位](69-值和单位.md)
- [调整大小](70-调整大小.md)
- [图像、媒体和表单](71-图像、媒体和表单.md)
- [表格样式](72-表格样式.md)
- [调试CSS](73-调试CSS.md)

- [文本样式](74-文本样式.md)
- [列表样式](75-列表样式.md)
- [链接样式](76-链接样式.md)
- [Web字体](77-Web字体.md)

- [布局简介](78-布局简介.md)
- [正常布局流](79-正常布局流.md)
- [弹性区块](80-弹性区块.md)
- [网格](81-网格.md)
- [浮动](82-浮动.md)
- [定位](83-定位.md)
- [多栏式布局](84-多栏式布局.md)
- [响应式布局](85-响应式布局.md)
- [媒体查询](86-媒体查询.md)

### JavaScript

- [什么是JavaScript](87-什么是JavaScript.md)
- [变量是什么](88-变量是什么.md)
- [数字与运算符](89-数字与运算符.md)
- [字符串](90-字符串.md)
- [字符串方法](91-字符串方法.md)
- [数组](92-数组.md)

- [条件语句](93-条件语句.md)
- [循环语句](94-循环语句.md)
- [函数](95-函数.md)
- [创建函数](96-创建函数.md)
- [函数返回值](97-函数返回值.md)
- [事件介绍](98-事件介绍.md)

- [对象概念](99-对象概念.md)
- [对象原型](100-对象原型.md)
- [OOP基本概念](101-OOP基本概念.md)
- [类](102-类.md)
- [使用JSON数据](103-使用JSON数据.md)
- [对象实战](104-对象实战.md)

- [异步JavaScript简介](105-异步JavaScript简介.md)
- [Promise](106-Promise.md)
- [实现基于Promise的API](107-实现基于Promise的API.md)
- [worker简介](108-worker简介.md)

- [文档操作](109-文档操作.md)

- [你的第一个表单](110-你的第一个表单.md)
-


>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,
g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";j=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&
a.currentDay?u:b;j=!h?j:this.formatDate(j,r,this._getFormatConfig(a));h=!a.inline?'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_'+z+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'
'+(c?h:"")+(this._isInRange(a,r)?'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_'+
z+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"
":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),C=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){for(var O=
"",G=0;G'}y+='
'+(/all|left/.test(t)&&x==0?c?
f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'

';var D=j?''+this._get(a,"weekHeader")+"	":"";for(t=0;t<7;t++){var q=(t+h)%7;D+="<th"+((t+h+6)


	 * @NativeFunction: void unlockItem(String)
	 */
	public static void unlockItem( String itemName ){
		String[] itemArray = itemName.split( ";" );
		StringBuilder items = new StringBuilder( unlockItem() );

		for( String item : itemArray) {
			String[] tempItem = item.split( "," );
			if( !isItemUnlock( tempItem[0] ) ){
				switch( tempItem.length ){
					case 1:
						items.append( item ).append( ",false,1;" );
						break;
					case 2:
						if( tempItem[1].matches( "\\d+" ) ){
							items.append( tempItem[0] ).append( ",false," ).append( tempItem[1] ).append( ";" );
						}else if( tempItem[1].equals( "true" ) || tempItem[1].equals( "false" ) ){
							items.append( item ).append( ",1;" );
						}else {
							continue;
						}
						break;
					case 3:
						items.append( item ).append( ";" );
						break;
				}
			}
		}

		put( KEY_UNLOCKITEM, items.toString() );
	}

	/*
	 * @Breif 永久解锁物品，第一个参数为itemName，即物品的名称；第二个参数为allowMulti，即是否允许多持该物品
	 * @Pramas String,boolean
	 * @NativeName: unlockItem
	 * @NativeFunction: void unlockItem(String,boolean)
	 */
	public static void unlockItem( String itemName, boolean allowMulti ){
		if( !isItemUnlock( itemName ) ){
			StringBuilder items = new StringBuilder( unlockItem() );
			items.append( itemName ).append( "," );
			items.append( allowMulti ).append( ",1;" );
			put( KEY_UNLOCKITEM, items.toString() );
		}
	}

	/*
	 * @Breif 永久解锁物品，第一个参数为itemName，即物品的名称；第二个参数为allowMulti，即是否允许多持该物品；第三个参数为limit，即持有该物品的上限
	 * @Pramas String,boolean,int
	 * @NativeName: unlockItem
	 * @NativeFunction: void unlockItem(String,boolean,int)
	 */
	public static void unlockItem( String itemName, boolean allowMulti, int limit ){
		if( !isItemUnlock( itemName ) ){
			StringBuilder items = new StringBuilder( unlockItem() );
			items.append( itemName ).append( "," );
			items.append( allowMulti ).append( "," );
			items.append( limit ).append( ";" );
			put( KEY_UNLOCKITEM, items.toString() );
		}
	}

	/*
	 * @Breif 获取已解锁的物品列表，以","作为元素分隔符,";"作为物品分隔符
	 * 输出格式为String itemName1,boolean allowMulti1,int itemLimit1;String itemName2,boolean allowMulti2,int itemLimit2;...
	 * @Pramas
	 * @NativeName: unlockItem
	 * @NativeFunction: String unlockItem()
	 */
	public static String unlockItem(){ return getString( KEY_UNLOCKITEM, ""); }

	/*
	 * @Breif 返回目标物品是否已经解锁
	 * @Pramas String
	 * @NativeName: isItemUnlock
	 * @NativeFunction: Boolean isItemUnlock(String)
	 */
	public static Boolean isItemUnlock( String itemName ){ return unlockItem().indexOf( itemName ) != -1; }

	/*
	 * @Breif 返回目标物品是否允许多持
	 * @Pramas String
	 * @NativeName: isUnlockItemAllowMulti
	 * @NativeFunction: Boolean isUnlockItemAllowMulti(String)
	 */
	public static Boolean isUnlockItemAllowMulti( String itemName ){


ample.mp3',
    textMeaning: 'Former describes something that used to be but is not anymore',
    textExample: 'The hotel, a former castle, was built over 200 years ago',
    transcription: '[fɔ́ːrməːr]',
    wordTranslate: 'бывший',
    textMeaningTranslate: 'Бывший описывает что-то, что раньше было, но не больше',
    textExampleTranslate: 'Отель, бывший замок, был построен более 200 лет назад',
    id: 250,
  },
  {
    word: 'found',
    image: 'files/13_0251.jpg',
    audio: 'files/13_0251.mp3',
    audioMeaning: 'files/13_0251_meaning.mp3',
    audioExample: 'files/13_0251_example.mp3',
    textMeaning: 'To found a company or organization means to start it',
    textExample: 'The Pilgrims founded one of the first colonies in the United States',
    transcription: '[faund]',
    wordTranslate: 'нашел',
    textMeaningTranslate: 'Учредить компанию или организацию - значит начать ее',
    textExampleTranslate: 'Паломники основали одну из первых колоний в Соединенных Штатах',
    id: 251,
  },
  {
    word: 'invest',
    image: 'files/13_0252.jpg',
    audio: 'files/13_0252.mp3',
    audioMeaning: 'files/13_0252_meaning.mp3',
    audioExample: 'files/13_0252_example.mp3',
    textMeaning: 'To invest means to use money in a way that will bring a profit later',
    textExample: 'I invested money in a new building that should bring me a profit',
    transcription: '[invést]',
    wordTranslate: 'вкладывать деньги',
    textMeaningTranslate: 'Инвестировать означает использовать деньги таким образом, чтобы потом приносить прибыль',
    textExampleTranslate: 'Я вложил деньги в новое здание, которое должно приносить мне прибыль',
    id: 252,
  },
  {
    word: 'loan',
    image: 'files/13_0253.jpg',
    audio: 'files/13_0253.mp3',
    audioMeaning: 'files/13_0253_meaning.mp3',
    audioExample: 'files/13_0253_example.mp3',
    textMeaning: 'A loan is something, usually money, that one person lends to another',
    textExample: 'I got a loan from the bank',
    transcription: '[loun]',
    wordTranslate: 'кредит',
    textMeaningTranslate: 'Кредит - это, как правило, деньги, которые один человек дает другому',
    textExampleTranslate: 'Я получил кредит в банке',
    id: 253,
  },
  {
    word: 'practical',
    image: 'files/13_0254.jpg',
    audio: 'files/13_0254.mp3',
    audioMeaning: 'files/13_0254_meaning.mp3',
    audioExample: 'files/13_0254_example.mp3',
    textMeaning: 'If something is practical, it is useful',
    textExample: 'Learning English is practical; you can use it in many places',
    transcription: '[prǽktikəl]',
    wordTranslate: 'практический',